Name giflib
Description Library for reading and writing gif images
Version 5.2.2-2
Package Base giflib
Homepage http://giflib.sourceforge.net/
Maintainers ['Levente Polyak <anthraxx[at]archlinux[dot]org>', 'T.J. Townsend <blakkheim@archlinux.org>']
Contributors ['Baptiste Daroussin <baptiste.daroussin@gmail.com>', 'Grigorios Bouzakis <grbzks[at]gmail[dot]com>', 'Jan de Groot <jgc@archlinux.org>', 'mightyjaym <jm.ambrosino@free.fr>']
Distro-repo https://gitlab.archlinux.org/archlinux/packaging/packages/giflib
Sources ['giflib-5.1.9-fix-missing-quantize-API-symbols.patch', 'giflib-5.1.9-make-flags.patch', 'giflib-5.2.2-CVE-2025-31344.patch', 'giflib::git+https://git.code.sf.net/p/giflib/code#tag=5.2.2']
Dependencies ['glibc']
Optional-Dependencies []
Build-Dependencies ['git', 'xmlto', 'docbook-xml', 'docbook-xsl', 'imagemagick']
Provides ['libgif.so']
Builddate 14-04-2025 22:01:48
Architecture x86_64
Distro-Version
Licenses ['MIT']
Hash 58dd692947afd3cee8f873828809b87a18c280cc3bafa7f2a4bbe15a0d017fca
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Baptiste Daroussin <baptiste.daroussin@gmail.com>
# Contributor: Grigorios Bouzakis <grbzks[at]gmail[dot]com>
# Contributor: mightyjaym <jm.ambrosino@free.fr>

pkgname=giflib
pkgver=5.2.2
pkgrel=2
pkgdesc='Library for reading and writing gif images'
url='http://giflib.sourceforge.net/'
arch=('x86_64')
license=('MIT')
depends=('glibc')
provides=('libgif.so')
makedepends=('git' 'xmlto' 'docbook-xml' 'docbook-xsl' 'imagemagick')
source=(${pkgname}::git+https://git.code.sf.net/p/giflib/code#tag=${pkgver}
        giflib-5.2.2-CVE-2025-31344.patch
        giflib-5.1.9-fix-missing-quantize-API-symbols.patch
        giflib-5.1.9-make-flags.patch)
sha512sums=('c20555e2997b9cb410a8454036779f733311870afcdec4e852f03f90da668f84b37f999d6d4be8213319b184cb7060279fc658193ce0b23d44ea945cc226412d'
            'b7539de202f5e4a21e79eeb2b7d52cc0aa421fd3a6fd272246f64ba5e1dcb9a5ec5690cf0699b72200a1edc6cef960d2327ec342912607dee6074395dea7e588'
            '5de1e8724f5221fa3637b4e6a482f650f7608673e2c9200233290018ec8a0bf1beea049b3979b5f57dbf2b2a5fda409324e636e9af10582fd01c71d92d4de3b3'
            '8b8d6f483a18467bf6ad169fec04f9ef61534d3e25e1714d39231620142e64672dc336b347b02c8f74172b30e94b104edc83619b8e156ad18a4af521f65d1e31')
options=(!zipman)

prepare() {
  cd ${pkgname}
  patch -Np1 < ../giflib-5.1.9-fix-missing-quantize-API-symbols.patch
  patch -Np1 < ../giflib-5.1.9-make-flags.patch
  # https://seclists.org/oss-sec/2025/q2/21
  patch -Np1 < ../giflib-5.2.2-CVE-2025-31344.patch
  # Install the actual man pages instead of the sources
  sed -e 's|giflib.xml|giflib.7|' \
      -re 's|doc/(.*).xml|doc/\1.1|g' \
      -i Makefile
}

build() {
  cd ${pkgname}
  CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
  make
}

check() {
  cd ${pkgname}
  make check
}

package() {
  cd ${pkgname}
  make PREFIX=/usr DESTDIR="${pkgdir}" install
  # Fix giflib man page installation
  install -d "$pkgdir"/usr/share/man/man7
  mv "$pkgdir"/usr/share/man/man{1/giflib.7,7} 
  install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

# vim: ts=2 sw=2 et: