summaryrefslogtreecommitdiff
path: root/libs/giflib
diff options
context:
space:
mode:
Diffstat (limited to 'libs/giflib')
-rw-r--r--libs/giflib/.footprint25
-rw-r--r--libs/giflib/.signature6
-rw-r--r--libs/giflib/MAKEPKG43
-rw-r--r--libs/giflib/MAKEPKG.old45
-rw-r--r--libs/giflib/giflib-5.2.2-cve-2025-31344.patch15
5 files changed, 134 insertions, 0 deletions
diff --git a/libs/giflib/.footprint b/libs/giflib/.footprint
new file mode 100644
index 0000000..5d8d4db
--- /dev/null
+++ b/libs/giflib/.footprint
@@ -0,0 +1,25 @@
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/bin/
+-rwxr-xr-x root/root usr/bin/gif2rgb
+-rwxr-xr-x root/root usr/bin/gifbuild
+-rwxr-xr-x root/root usr/bin/gifclrmp
+-rwxr-xr-x root/root usr/bin/giffix
+-rwxr-xr-x root/root usr/bin/giftext
+-rwxr-xr-x root/root usr/bin/giftool
+drwxr-xr-x root/root usr/include/
+-rw-r--r-- root/root usr/include/gif_lib.h
+drwxr-xr-x root/root usr/lib/
+-rwxr-xr-x root/root usr/lib/libgif.so.7.2.0
+lrwxrwxrwx root/root usr/lib/libgif.so -> libgif.so.7
+lrwxrwxrwx root/root usr/lib/libgif.so.7 -> libgif.so.7.2.0
+drwxr-xr-x root/root usr/share/
+drwxr-xr-x root/root usr/share/man/
+drwxr-xr-x root/root usr/share/man/man1/
+-rw-r--r-- root/root usr/share/man/man1/gif2rgb.1.gz
+-rw-r--r-- root/root usr/share/man/man1/gifbuild.1.gz
+-rw-r--r-- root/root usr/share/man/man1/gifclrmp.1.gz
+-rw-r--r-- root/root usr/share/man/man1/giffix.1.gz
+-rw-r--r-- root/root usr/share/man/man1/giftext.1.gz
+-rw-r--r-- root/root usr/share/man/man1/giftool.1.gz
+drwxr-xr-x root/root usr/share/man/man7/
+-rw-r--r-- root/root usr/share/man/man7/giflib.7.gz
diff --git a/libs/giflib/.signature b/libs/giflib/.signature
new file mode 100644
index 0000000..11ccea8
--- /dev/null
+++ b/libs/giflib/.signature
@@ -0,0 +1,6 @@
+RWTZ9IduCSQ/mLCCQGAEMtr8Z8YApay27wpUIflkZx1zE8jTjLOGY2YOjWqXWfKYQclulc1+IsvyRGDAObRAYE5qldQhbovAiwI=
+
+SHA256 (MAKEPKG) = 7108d63f88fa6d823660a298add14c5d785add4cd8c0771457fb8cf4a6897d10
+SHA256 (.footprint) = 75c2c1e13f2810205cfb054598ca73fa58a0f1896a27beafbc3d5e2c472454d2
+SHA256 (giflib-6.1.3.tar.gz) = b65b66b99f0424b93525f987386f22fc5efb9da2bfc92ad4a532249aaffbab0e
+SHA256 (giflib#6.1.3-1.pkg.tar.gz) = 25869871d4dc43ef4f75a75a769985ae862229732ef7614b499ba6a293777316
diff --git a/libs/giflib/MAKEPKG b/libs/giflib/MAKEPKG
new file mode 100644
index 0000000..c087d41
--- /dev/null
+++ b/libs/giflib/MAKEPKG
@@ -0,0 +1,43 @@
+#!/bin/mkpkg
+# description: Library for reading and writing GIF images
+# url: https://giflib.sourceforge.net
+
+name=giflib
+version=6.1.3
+release=1
+source=(https://downloads.sourceforge.net/project/giflib/giflib-6.x/$name-$version.tar.gz)
+
+sha256sums=(
+ "b65b66b99f0424b93525f987386f22fc5efb9da2bfc92ad4a532249aaffbab0e"
+)
+
+build() {
+ cd ${name}-${version}
+
+ # Remove doc build from all target (needs xmlto/ImageMagick)
+ sed -i '/-C doc/d' Makefile
+
+ # Remove install-doc from install target (builds and installs HTML docs)
+ sed -i 's/ install-doc//' Makefile
+
+ # Install prebuilt man pages instead of xml sources
+ sed -e 's|giflib.xml|giflib.7|' \
+ -re 's|doc/(.*).xml|doc/\1.1|g' \
+ -i Makefile
+
+ make CC=cc PREFIX=/usr
+ make PREFIX=/usr DESTDIR=$PKG install
+
+ # gif2rgb dropped from install target in 6.x
+ install -m755 gif2rgb $PKG/usr/bin/
+ install -m644 doc/gif2rgb.1 $PKG/usr/share/man/man1/
+
+ rm -f $PKG/usr/lib/libgif.a
+}
+
+signify() {
+ untrusted comment: public key
+ RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
+}
+
+# vim: filetype=sh
diff --git a/libs/giflib/MAKEPKG.old b/libs/giflib/MAKEPKG.old
new file mode 100644
index 0000000..47cdf1c
--- /dev/null
+++ b/libs/giflib/MAKEPKG.old
@@ -0,0 +1,45 @@
+#!/bin/mkpkg
+# description: Library for reading and writing GIF images
+# url: https://giflib.sourceforge.net
+
+name=giflib
+version=5.2.2
+release=1
+source=(https://downloads.sourceforge.net/sourceforge/giflib/giflib-5.2.2.tar.gz
+ giflib-5.2.2-cve-2025-31344.patch)
+
+sha256sums=(
+ "be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb"
+ "7afc208059dd0860953ce246c6af7b0617b85fd41f273d9c3a4974acaa90bec2"
+)
+
+build() {
+ cd ${name}-${version}
+
+ # CVE-2025-31344: heap overflow in gif2rgb
+ patch -Np1 -i $SRC/giflib-5.2.2-cve-2025-31344.patch
+
+ # Remove doc build from all target (needs ImageMagick convert)
+ sed -i '/-C doc/d' Makefile
+
+ # Install prebuilt man pages instead of xml sources
+ sed -e 's|giflib.xml|giflib.7|' \
+ -re 's|doc/(.*).xml|doc/\1.1|g' \
+ -i Makefile
+
+ make CC=cc PREFIX=/usr
+ make PREFIX=/usr DESTDIR=$PKG install
+
+ install -d $PKG/usr/share/man/man7
+ mv $PKG/usr/share/man/man1/giflib.7 $PKG/usr/share/man/man7/
+
+ rm -f $PKG/usr/lib/libgif.a
+}
+
+signify() {
+ untrusted comment: public key
+ RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
+}
+
+# vim: filetype=sh
+
diff --git a/libs/giflib/giflib-5.2.2-cve-2025-31344.patch b/libs/giflib/giflib-5.2.2-cve-2025-31344.patch
new file mode 100644
index 0000000..04ef6c3
--- /dev/null
+++ b/libs/giflib/giflib-5.2.2-cve-2025-31344.patch
@@ -0,0 +1,15 @@
+diff -up giflib-5.2.2/gif2rgb.c.omv~ giflib-5.2.2/gif2rgb.c
+--- giflib-5.2.2/gif2rgb.c.omv~ 2025-04-07 21:44:54.956355983 +0200
++++ giflib-5.2.2/gif2rgb.c 2025-04-07 21:45:29.630769589 +0200
+@@ -329,6 +329,11 @@ static void DumpScreen2RGB(char *FileNam
+ GifRow = ScreenBuffer[i];
+ GifQprintf("\b\b\b\b%-4d", ScreenHeight - i);
+ for (j = 0; j < ScreenWidth; j++) {
++ /* Check if color is within color palete */
++ if (GifRow[j] >= ColorMap->ColorCount) {
++ GIF_EXIT(GifErrorString(
++ D_GIF_ERR_IMAGE_DEFECT));
++ }
+ ColorMapEntry = &ColorMap->Colors[GifRow[j]];
+ Buffers[0][j] = ColorMapEntry->Red;
+ Buffers[1][j] = ColorMapEntry->Green;