Compare commits
65 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
23eb07266e | ||
|
|
421662abf7 | ||
|
|
f73f39798e | ||
|
|
c22b8e9757 | ||
|
|
cb8a423c41 | ||
|
|
a4acb22cd1 | ||
|
|
8e1d361c1b | ||
|
|
880d895e67 | ||
|
|
d98866cb09 | ||
|
|
c6d4a9e4fb | ||
|
|
33951725b3 | ||
|
|
4eea5ef82f | ||
|
|
8fe0587570 | ||
|
|
273f1a15ca | ||
|
|
2e9917bf13 | ||
|
|
763a35cb09 | ||
|
|
3395452f7e | ||
|
|
8493e8a24a | ||
|
|
67fb7bb617 | ||
|
|
9f2b9319d7 | ||
|
|
0a8d631a31 | ||
|
|
f4dde61417 | ||
|
|
9cfef479ca | ||
|
|
0fbe9930a5 | ||
|
|
df94d26a07 | ||
|
|
f871055c01 | ||
|
|
109bf038d7 | ||
|
|
48fc3cfe92 | ||
|
|
8be59c6ecd | ||
|
|
40f920d176 | ||
|
|
e04ff20350 | ||
|
|
f811572386 | ||
|
|
db1305a891 | ||
|
|
cec422d17e | ||
|
|
3eeb518ee3 | ||
|
|
1e69d64a07 | ||
|
|
8c00511f55 | ||
|
|
2dabc51474 | ||
|
|
393fc07217 | ||
|
|
e18cb39348 |
||
|
|
fe469abbbc | ||
|
|
d7c7ef4d19 | ||
|
|
c6d6d71b3a |
||
|
|
ce1fbdd3ab | ||
|
|
23d3c726c3 | ||
|
|
8e717b75e2 | ||
|
|
97e35a0fe0 | ||
|
|
c63c004224 | ||
|
|
e25f4c1508 | ||
|
|
ccb61e4bbc | ||
|
|
62ac16a9ce | ||
|
|
2d3809225d | ||
|
|
48f0569c4a | ||
|
|
cb4be3da23 | ||
|
|
d325b17853 | ||
|
|
4baa85dbd3 | ||
|
|
c82d5017f6 | ||
|
|
55db1fc6de | ||
|
|
29385aed7f | ||
|
|
ed66fd6f59 | ||
|
|
d4fe0ec521 | ||
|
|
80331e36a6 | ||
|
|
5a479e0356 | ||
|
|
0e624fa610 | ||
|
|
f2aef96132 |
12 changed files with 842 additions and 190 deletions
|
|
@ -1 +0,0 @@
|
||||||
giflib-4.1.3.tar.bz2
|
|
||||||
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
giflib-4.1.6.tar.bz2
|
||||||
|
/giflib-5.1.4.tar.bz2
|
||||||
|
/giflib-5.1.6.tar.gz
|
||||||
|
/giflib-5.1.7.tar.gz
|
||||||
|
/giflib-5.1.8.tar.gz
|
||||||
|
/giflib-5.1.9.tar.gz
|
||||||
|
/giflib-5.2.1.tar.gz
|
||||||
|
/giflib-5.2.2.tar.gz
|
||||||
142
CMakeLists.txt
Normal file
142
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,142 @@
|
||||||
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
|
project(giflib C)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
SET(BUILD_STATIC_LIBS OFF CACHE BOOL "Whether to also build static libs")
|
||||||
|
|
||||||
|
execute_process(COMMAND ./getversion
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
OUTPUT_VARIABLE VERSION
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
set(LIBMAJOR 7)
|
||||||
|
set(LIBMINOR 1)
|
||||||
|
set(LIBPOINT 0)
|
||||||
|
set(LIBVER "${LIBMAJOR}.${LIBMINOR}.${LIBPOINT}")
|
||||||
|
|
||||||
|
set(giflib_SRC
|
||||||
|
dgif_lib.c
|
||||||
|
egif_lib.c
|
||||||
|
getarg.c
|
||||||
|
gifalloc.c
|
||||||
|
gif_err.c
|
||||||
|
gif_font.c
|
||||||
|
gif_hash.c
|
||||||
|
openbsd-reallocarray.c
|
||||||
|
qprintf.c
|
||||||
|
quantize.c
|
||||||
|
)
|
||||||
|
|
||||||
|
# Some utilities are installed
|
||||||
|
set(giflib_INSTALLABLE
|
||||||
|
gif2rgb
|
||||||
|
gifbuild
|
||||||
|
giffix
|
||||||
|
giftext
|
||||||
|
giftool
|
||||||
|
gifclrmp
|
||||||
|
)
|
||||||
|
|
||||||
|
# Some utilities are only used internally for testing.
|
||||||
|
# There is a parallel list in doc/Makefile.
|
||||||
|
# These are all candidates for removal in future releases.
|
||||||
|
set(giflib_UTILS
|
||||||
|
${giflib_INSTALLABLE}
|
||||||
|
gifbg
|
||||||
|
gifcolor
|
||||||
|
gifecho
|
||||||
|
giffilter
|
||||||
|
gifhisto
|
||||||
|
gifinto
|
||||||
|
gifwedge
|
||||||
|
)
|
||||||
|
|
||||||
|
file(GLOB giflib_MAN doc/*.1)
|
||||||
|
|
||||||
|
### Build library / tools
|
||||||
|
|
||||||
|
add_library(gif SHARED ${giflib_SRC})
|
||||||
|
target_link_libraries(gif m)
|
||||||
|
set_target_properties(gif PROPERTIES VERSION ${LIBVER} SOVERSION ${LIBMAJOR})
|
||||||
|
if(WIN32)
|
||||||
|
set_target_properties(gif PROPERTIES SUFFIX "-${LIBMAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
if(${BUILD_STATIC_LIBS})
|
||||||
|
add_library(gif_static STATIC ${giflib_SRC})
|
||||||
|
set_target_properties(gif_static PROPERTIES OUTPUT_NAME gif)
|
||||||
|
endif(${BUILD_STATIC_LIBS})
|
||||||
|
|
||||||
|
|
||||||
|
foreach(UTILITY ${giflib_UTILS})
|
||||||
|
add_executable(${UTILITY} ${UTILITY}.c)
|
||||||
|
target_link_libraries(${UTILITY} gif)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
install(TARGETS gif
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
if(${BUILD_STATIC_LIBS})
|
||||||
|
install(TARGETS gif_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
endif(${BUILD_STATIC_LIBS})
|
||||||
|
|
||||||
|
foreach(UTILITY ${giflib_UTILS})
|
||||||
|
install(TARGETS ${UTILITY} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
install(FILES gif_lib.h gif_getarg.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
install(FILES ${giflib_MAN} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||||
|
|
||||||
|
|
||||||
|
### Distribution tarball
|
||||||
|
set(giflib_DIST
|
||||||
|
*.c
|
||||||
|
*.h
|
||||||
|
README
|
||||||
|
NEWS
|
||||||
|
TODO
|
||||||
|
COPYING
|
||||||
|
getversion
|
||||||
|
ChangeLog
|
||||||
|
CMakeLists.txt
|
||||||
|
build.adoc
|
||||||
|
history.adoc
|
||||||
|
control
|
||||||
|
doc/whatsinagif
|
||||||
|
doc/*.1
|
||||||
|
doc/*.xml
|
||||||
|
doc/*.txt
|
||||||
|
doc/index.html.in
|
||||||
|
doc/00README
|
||||||
|
doc/Makefile
|
||||||
|
tests
|
||||||
|
pic
|
||||||
|
)
|
||||||
|
# We include all of the XML, and also generated manual pages
|
||||||
|
# so people working from the distribution tarball won't need xmlto.
|
||||||
|
add_custom_target(dist-gz
|
||||||
|
COMMAND tar --transform='s:^:giflib-${VERSION}/:' -czf giflib-${VERSION}.tar.gz ${giflib_DIST}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(dist-bz2
|
||||||
|
COMMAND tar --transform='s:^:giflib-${VERSION}/:' -cjf giflib-${VERSION}.tar.bz2 ${giflib_DIST}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(dist DEPENDS dist-gz DEPENDS dist-bz2)
|
||||||
|
|
||||||
|
|
||||||
|
### Auditing tools
|
||||||
|
|
||||||
|
# cppcheck should run clean
|
||||||
|
add_custom_target(cppcheck
|
||||||
|
COMMAND cppcheck --inline-suppr --template gcc --enable=all --suppress=unusedFunction --force *.[ch]
|
||||||
|
)
|
||||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
||||||
# Makefile for source rpm: giflib
|
|
||||||
# $Id: Makefile,v 1.1 2005/10/06 19:18:05 wtogami Exp $
|
|
||||||
NAME := giflib
|
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
|
||||||
|
|
||||||
define find-makefile-common
|
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
|
||||||
|
|
||||||
ifeq ($(MAKEFILE_COMMON),)
|
|
||||||
# attempt a checkout
|
|
||||||
define checkout-makefile-common
|
|
||||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(MAKEFILE_COMMON)
|
|
||||||
308
getarg.patch
Normal file
308
getarg.patch
Normal file
|
|
@ -0,0 +1,308 @@
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/getarg.c giflib-5.2.2-new/getarg.c
|
||||||
|
--- giflib-5.2.2/getarg.c 2024-02-19 04:01:27.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/getarg.c 2025-04-15 16:56:27.276152030 +0200
|
||||||
|
@@ -112,7 +112,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
|
||||||
|
#define MAX_PARAM 100 /* maximum number of parameters allowed. */
|
||||||
|
#define CTRL_STR_MAX_LEN 1024
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/getarg.h giflib-5.2.2-new/getarg.h
|
||||||
|
--- giflib-5.2.2/getarg.h 2024-02-19 03:20:00.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/getarg.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
@@ -1,54 +0,0 @@
|
||||||
|
-/***************************************************************************
|
||||||
|
-
|
||||||
|
-getarg.h - Support routines for the giflib utilities
|
||||||
|
-
|
||||||
|
-SPDX-License-Identifier: MIT
|
||||||
|
-
|
||||||
|
- **************************************************************************/
|
||||||
|
-
|
||||||
|
-#ifndef _GETARG_H
|
||||||
|
-#define _GETARG_H
|
||||||
|
-
|
||||||
|
-#include "gif_lib.h"
|
||||||
|
-#include <stdbool.h>
|
||||||
|
-
|
||||||
|
-#define VERSION_COOKIE " Version %d.%d, "
|
||||||
|
-
|
||||||
|
-/***************************************************************************
|
||||||
|
- Error numbers as returned by GAGetArg routine:
|
||||||
|
-***************************************************************************/
|
||||||
|
-#define CMD_ERR_NotAnOpt 1 /* None Option found. */
|
||||||
|
-#define CMD_ERR_NoSuchOpt 2 /* Undefined Option Found. */
|
||||||
|
-#define CMD_ERR_WildEmpty 3 /* Empty input for !*? seq. */
|
||||||
|
-#define CMD_ERR_NumRead 4 /* Failed on reading number. */
|
||||||
|
-#define CMD_ERR_AllSatis 5 /* Fail to satisfy (must-'!') option. */
|
||||||
|
-
|
||||||
|
-bool GAGetArgs(int argc, char **argv, char *CtrlStr, ...);
|
||||||
|
-void GAPrintErrMsg(int Error);
|
||||||
|
-void GAPrintHowTo(char *CtrlStr);
|
||||||
|
-
|
||||||
|
-/******************************************************************************
|
||||||
|
- From qprintf.c
|
||||||
|
-******************************************************************************/
|
||||||
|
-extern void GifQprintf(char *Format, ...);
|
||||||
|
-extern void PrintGifError(int ErrorCode);
|
||||||
|
-
|
||||||
|
-/******************************************************************************
|
||||||
|
- Color table quantization
|
||||||
|
-******************************************************************************/
|
||||||
|
-int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
|
||||||
|
- int *ColorMapSize, GifByteType *RedInput,
|
||||||
|
- GifByteType *GreenInput, GifByteType *BlueInput,
|
||||||
|
- GifByteType *OutputBuffer, GifColorType *OutputColorMap);
|
||||||
|
-
|
||||||
|
-/* These used to live in the library header */
|
||||||
|
-#define GIF_MESSAGE(Msg) fprintf(stderr, "\n%s: %s\n", PROGRAM_NAME, Msg)
|
||||||
|
-#define GIF_EXIT(Msg) \
|
||||||
|
- { \
|
||||||
|
- GIF_MESSAGE(Msg); \
|
||||||
|
- exit(-3); \
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-#endif /* _GETARG_H */
|
||||||
|
-
|
||||||
|
-/* end */
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gif2rgb.c giflib-5.2.2-new/gif2rgb.c
|
||||||
|
--- giflib-5.2.2/gif2rgb.c 2025-04-15 16:56:27.247167987 +0200
|
||||||
|
+++ giflib-5.2.2-new/gif2rgb.c 2025-04-15 16:56:27.276617411 +0200
|
||||||
|
@@ -34,7 +34,7 @@ with our utilities mainly interesting as
|
||||||
|
#include <io.h>
|
||||||
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gif2rgb"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifbg.c giflib-5.2.2-new/gifbg.c
|
||||||
|
--- giflib-5.2.2/gifbg.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifbg.c 2025-04-15 16:56:27.276870781 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifbg"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifbuild.c giflib-5.2.2-new/gifbuild.c
|
||||||
|
--- giflib-5.2.2/gifbuild.c 2024-02-19 04:05:16.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifbuild.c 2025-04-15 16:56:27.277111740 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifbuild"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifclrmp.c giflib-5.2.2-new/gifclrmp.c
|
||||||
|
--- giflib-5.2.2/gifclrmp.c 2024-02-19 04:01:27.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifclrmp.c 2025-04-15 16:56:27.277368098 +0200
|
||||||
|
@@ -14,7 +14,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifclrmp"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifcolor.c giflib-5.2.2-new/gifcolor.c
|
||||||
|
--- giflib-5.2.2/gifcolor.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifcolor.c 2025-04-15 16:56:27.277585194 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifcolor"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifecho.c giflib-5.2.2-new/gifecho.c
|
||||||
|
--- giflib-5.2.2/gifecho.c 2024-02-19 04:01:27.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifecho.c 2025-04-15 16:56:27.277769355 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifecho"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/giffilter.c giflib-5.2.2-new/giffilter.c
|
||||||
|
--- giflib-5.2.2/giffilter.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/giffilter.c 2025-04-15 16:56:27.277955467 +0200
|
||||||
|
@@ -25,7 +25,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "giffilter"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/giffix.c giflib-5.2.2-new/giffix.c
|
||||||
|
--- giflib-5.2.2/giffix.c 2024-02-19 04:01:27.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/giffix.c 2025-04-15 16:56:27.278150152 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "giffix"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gif_getarg.h giflib-5.2.2-new/gif_getarg.h
|
||||||
|
--- giflib-5.2.2/gif_getarg.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gif_getarg.h 2025-04-15 16:56:27.278343984 +0200
|
||||||
|
@@ -0,0 +1,54 @@
|
||||||
|
+/***************************************************************************
|
||||||
|
+
|
||||||
|
+getarg.h - Support routines for the giflib utilities
|
||||||
|
+
|
||||||
|
+SPDX-License-Identifier: MIT
|
||||||
|
+
|
||||||
|
+ **************************************************************************/
|
||||||
|
+
|
||||||
|
+#ifndef _GETARG_H
|
||||||
|
+#define _GETARG_H
|
||||||
|
+
|
||||||
|
+#include "gif_lib.h"
|
||||||
|
+#include <stdbool.h>
|
||||||
|
+
|
||||||
|
+#define VERSION_COOKIE " Version %d.%d, "
|
||||||
|
+
|
||||||
|
+/***************************************************************************
|
||||||
|
+ Error numbers as returned by GAGetArg routine:
|
||||||
|
+***************************************************************************/
|
||||||
|
+#define CMD_ERR_NotAnOpt 1 /* None Option found. */
|
||||||
|
+#define CMD_ERR_NoSuchOpt 2 /* Undefined Option Found. */
|
||||||
|
+#define CMD_ERR_WildEmpty 3 /* Empty input for !*? seq. */
|
||||||
|
+#define CMD_ERR_NumRead 4 /* Failed on reading number. */
|
||||||
|
+#define CMD_ERR_AllSatis 5 /* Fail to satisfy (must-'!') option. */
|
||||||
|
+
|
||||||
|
+bool GAGetArgs(int argc, char **argv, char *CtrlStr, ...);
|
||||||
|
+void GAPrintErrMsg(int Error);
|
||||||
|
+void GAPrintHowTo(char *CtrlStr);
|
||||||
|
+
|
||||||
|
+/******************************************************************************
|
||||||
|
+ From qprintf.c
|
||||||
|
+******************************************************************************/
|
||||||
|
+extern void GifQprintf(char *Format, ...);
|
||||||
|
+extern void PrintGifError(int ErrorCode);
|
||||||
|
+
|
||||||
|
+/******************************************************************************
|
||||||
|
+ Color table quantization
|
||||||
|
+******************************************************************************/
|
||||||
|
+int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
|
||||||
|
+ int *ColorMapSize, GifByteType *RedInput,
|
||||||
|
+ GifByteType *GreenInput, GifByteType *BlueInput,
|
||||||
|
+ GifByteType *OutputBuffer, GifColorType *OutputColorMap);
|
||||||
|
+
|
||||||
|
+/* These used to live in the library header */
|
||||||
|
+#define GIF_MESSAGE(Msg) fprintf(stderr, "\n%s: %s\n", PROGRAM_NAME, Msg)
|
||||||
|
+#define GIF_EXIT(Msg) \
|
||||||
|
+ { \
|
||||||
|
+ GIF_MESSAGE(Msg); \
|
||||||
|
+ exit(-3); \
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+#endif /* _GETARG_H */
|
||||||
|
+
|
||||||
|
+/* end */
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifhisto.c giflib-5.2.2-new/gifhisto.c
|
||||||
|
--- giflib-5.2.2/gifhisto.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifhisto.c 2025-04-15 16:56:27.278489203 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifhisto"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifinto.c giflib-5.2.2-new/gifinto.c
|
||||||
|
--- giflib-5.2.2/gifinto.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifinto.c 2025-04-15 16:56:27.278753624 +0200
|
||||||
|
@@ -19,7 +19,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifinto"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifsponge.c giflib-5.2.2-new/gifsponge.c
|
||||||
|
--- giflib-5.2.2/gifsponge.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifsponge.c 2025-04-15 16:56:27.278945283 +0200
|
||||||
|
@@ -25,7 +25,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifsponge"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/giftext.c giflib-5.2.2-new/giftext.c
|
||||||
|
--- giflib-5.2.2/giftext.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/giftext.c 2025-04-15 16:56:27.279142751 +0200
|
||||||
|
@@ -16,7 +16,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <io.h>
|
||||||
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "giftext"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/giftool.c giflib-5.2.2-new/giftool.c
|
||||||
|
--- giflib-5.2.2/giftool.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/giftool.c 2025-04-15 16:56:27.279376975 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "getopt.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gifwedge.c giflib-5.2.2-new/gifwedge.c
|
||||||
|
--- giflib-5.2.2/gifwedge.c 2024-02-19 04:01:27.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gifwedge.c 2025-04-15 16:56:27.279666309 +0200
|
||||||
|
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#include "getarg.h"
|
||||||
|
+#include "gif_getarg.h"
|
||||||
|
#include "gif_lib.h"
|
||||||
|
|
||||||
|
#define PROGRAM_NAME "gifwedge"
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/Makefile giflib-5.2.2-new/Makefile
|
||||||
|
--- giflib-5.2.2/Makefile 2025-04-15 16:56:27.223615747 +0200
|
||||||
|
+++ giflib-5.2.2-new/Makefile 2025-04-15 16:56:27.279870038 +0200
|
||||||
|
@@ -34,7 +34,7 @@ HEADERS = gif_hash.h gif_lib.h gif_lib
|
||||||
|
OBJECTS = $(SOURCES:.c=.o)
|
||||||
|
|
||||||
|
USOURCES = qprintf.c getarg.c
|
||||||
|
-UHEADERS = getarg.h
|
||||||
|
+UHEADERS = gif_getarg.h
|
||||||
|
UOBJECTS = $(USOURCES:.c=.o)
|
||||||
|
|
||||||
|
UNAME:=$(shell uname)
|
||||||
15
giflib-5.2.2-cve-2025-31344.patch
Normal file
15
giflib-5.2.2-cve-2025-31344.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gif2rgb.c giflib-5.2.2-new/gif2rgb.c
|
||||||
|
--- giflib-5.2.2/gif2rgb.c 2025-04-15 16:56:27.300766548 +0200
|
||||||
|
+++ giflib-5.2.2-new/gif2rgb.c 2025-04-15 16:56:27.308678722 +0200
|
||||||
|
@@ -337,6 +337,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;
|
||||||
|
|
@ -1,96 +0,0 @@
|
||||||
--- giflib-4.1.3/lib/gif_hash.c.64 2005-09-20 13:39:32.000000000 -0700
|
|
||||||
+++ giflib-4.1.3/lib/gif_hash.c 2005-09-20 13:41:40.000000000 -0700
|
|
||||||
@@ -45,7 +45,7 @@
|
|
||||||
NumberOfMisses = 0;
|
|
||||||
#endif /* DEBUG_HIT_RATE */
|
|
||||||
|
|
||||||
-static int KeyItem(unsigned long Item);
|
|
||||||
+static int KeyItem(unsigned int Item);
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* Initialize HashTable - allocate the memory needed and clear it. *
|
|
||||||
@@ -69,17 +69,17 @@
|
|
||||||
******************************************************************************/
|
|
||||||
void _ClearHashTable(GifHashTableType *HashTable)
|
|
||||||
{
|
|
||||||
- memset(HashTable -> HTable, 0xFF, HT_SIZE * sizeof(long));
|
|
||||||
+ memset(HashTable -> HTable, 0xFF, HT_SIZE * sizeof(int));
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* Routine to insert a new Item into the HashTable. The data is assumed to be *
|
|
||||||
* new one. *
|
|
||||||
******************************************************************************/
|
|
||||||
-void _InsertHashTable(GifHashTableType *HashTable, unsigned long Key, int Code)
|
|
||||||
+void _InsertHashTable(GifHashTableType *HashTable, unsigned int Key, int Code)
|
|
||||||
{
|
|
||||||
int HKey = KeyItem(Key);
|
|
||||||
- unsigned long *HTable = HashTable -> HTable;
|
|
||||||
+ unsigned int *HTable = HashTable -> HTable;
|
|
||||||
|
|
||||||
#ifdef DEBUG_HIT_RATE
|
|
||||||
NumberOfTests++;
|
|
||||||
@@ -99,10 +99,10 @@
|
|
||||||
* Routine to test if given Key exists in HashTable and if so returns its code *
|
|
||||||
* Returns the Code if key was found, -1 if not. *
|
|
||||||
******************************************************************************/
|
|
||||||
-int _ExistsHashTable(GifHashTableType *HashTable, unsigned long Key)
|
|
||||||
+int _ExistsHashTable(GifHashTableType *HashTable, unsigned int Key)
|
|
||||||
{
|
|
||||||
int HKey = KeyItem(Key);
|
|
||||||
- unsigned long *HTable = HashTable -> HTable, HTKey;
|
|
||||||
+ unsigned int *HTable = HashTable -> HTable, HTKey;
|
|
||||||
|
|
||||||
#ifdef DEBUG_HIT_RATE
|
|
||||||
NumberOfTests++;
|
|
||||||
@@ -127,7 +127,7 @@
|
|
||||||
* Because the average hit ratio is only 2 (2 hash references per entry), *
|
|
||||||
* evaluating more complex keys (such as twin prime keys) does not worth it! *
|
|
||||||
******************************************************************************/
|
|
||||||
-static int KeyItem(unsigned long Item)
|
|
||||||
+static int KeyItem(unsigned int Item)
|
|
||||||
{
|
|
||||||
return ((Item >> 12) ^ Item) & HT_KEY_MASK;
|
|
||||||
}
|
|
||||||
--- giflib-4.1.3/lib/gif_hash.h.64 2005-09-20 13:39:42.000000000 -0700
|
|
||||||
+++ giflib-4.1.3/lib/gif_hash.h 2005-09-20 13:42:08.000000000 -0700
|
|
||||||
@@ -25,12 +25,12 @@
|
|
||||||
#define HT_PUT_CODE(l) (l & 0x0FFF)
|
|
||||||
|
|
||||||
typedef struct GifHashTableType {
|
|
||||||
- unsigned long HTable[HT_SIZE];
|
|
||||||
+ unsigned int HTable[HT_SIZE];
|
|
||||||
} GifHashTableType;
|
|
||||||
|
|
||||||
GifHashTableType *_InitHashTable(void);
|
|
||||||
void _ClearHashTable(GifHashTableType *HashTable);
|
|
||||||
-void _InsertHashTable(GifHashTableType *HashTable, unsigned long Key, int Code);
|
|
||||||
-int _ExistsHashTable(GifHashTableType *HashTable, unsigned long Key);
|
|
||||||
+void _InsertHashTable(GifHashTableType *HashTable, unsigned int Key, int Code);
|
|
||||||
+int _ExistsHashTable(GifHashTableType *HashTable, unsigned int Key);
|
|
||||||
|
|
||||||
#endif /* _GIF_HASH_H_ */
|
|
||||||
--- giflib-4.1.3/lib/egif_lib.c.64 2005-09-20 13:45:28.000000000 -0700
|
|
||||||
+++ giflib-4.1.3/lib/egif_lib.c 2005-09-20 13:43:39.000000000 -0700
|
|
||||||
@@ -188,6 +188,12 @@
|
|
||||||
_GifError = E_GIF_ERR_NOT_ENOUGH_MEM;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
+ if ((Private->HashTable = _InitHashTable()) == NULL) {
|
|
||||||
+ free(GifFile);
|
|
||||||
+ free(Private);
|
|
||||||
+ _GifError = E_GIF_ERR_NOT_ENOUGH_MEM;
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
GifFile->Private = (VoidPtr) Private;
|
|
||||||
Private->FileHandle = 0;
|
|
||||||
@@ -832,7 +838,7 @@
|
|
||||||
/* Form a new unique key to search hash table for the code combines
|
|
||||||
* CrntCode as Prefix string with Pixel as postfix char.
|
|
||||||
*/
|
|
||||||
- NewKey = (((unsigned long) CrntCode) << 8) + Pixel;
|
|
||||||
+ NewKey = (((unsigned int) CrntCode) << 8) + Pixel;
|
|
||||||
if ((NewCode = _ExistsHashTable(HashTable, NewKey)) >= 0) {
|
|
||||||
/* This Key is already there, or the string is old one, so
|
|
||||||
* simple take new code as our CrntCode:
|
|
||||||
371
giflib.spec
371
giflib.spec
|
|
@ -1,105 +1,334 @@
|
||||||
Summary: Library for manipulating GIF format image files
|
Name: giflib
|
||||||
Name: giflib
|
Summary: A library and utilities for processing GIFs
|
||||||
Version: 4.1.3
|
Version: 5.2.2
|
||||||
Release: 9
|
Release: 8%{?dist}
|
||||||
License: MIT
|
|
||||||
URL: http://www.sf.net/projects/libungif/
|
License: MIT
|
||||||
Source0: http://dl.sf.net/libungif/%{name}-%{version}.tar.bz2
|
URL: http://www.sourceforge.net/projects/%{name}/
|
||||||
Patch0: giflib-hash64.patch
|
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
||||||
Group: System Environment/Libraries
|
# Downstream cmake support
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
Source1: CMakeLists.txt
|
||||||
BuildRequires: libX11-devel, libICE-devel, libSM-devel, libXt-devel
|
# Move quantize.c back into libgif.so (#1750122)
|
||||||
|
Patch0: giflib_quantize.patch
|
||||||
|
# Fix several defects found by Coverity scan
|
||||||
|
Patch1: giflib_coverity.patch
|
||||||
|
# Generate HTML docs with consistent section IDs to avoid multilib difference
|
||||||
|
Patch2: giflib_html-docs-consistent-ids.patch
|
||||||
|
# Rename getarg.h to gif_getarg.h
|
||||||
|
# https://sourceforge.net/p/giflib/code/merge-requests/18/
|
||||||
|
Patch3: getarg.patch
|
||||||
|
# Proposed patch for CVE-2025-31344
|
||||||
|
Patch4: https://raw.githubusercontent.com/OpenMandrivaAssociation/giflib/refs/heads/master/giflib-5.2.2-cve-2025-31344.patch
|
||||||
|
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: xmlto
|
||||||
|
|
||||||
|
BuildRequires: mingw32-filesystem
|
||||||
|
BuildRequires: mingw32-gcc
|
||||||
|
|
||||||
|
BuildRequires: mingw64-filesystem
|
||||||
|
BuildRequires: mingw64-gcc
|
||||||
|
|
||||||
Obsoletes: libungif <= %{version}-%{release}
|
|
||||||
Provides: libungif <= %{version}-%{release}
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The giflib package contains a shared library of functions for
|
giflib is a library for reading and writing gif images.
|
||||||
loading and saving GIF format image files. It is API and ABI compatible
|
|
||||||
with libungif, the library which supported uncompressed GIFs while the
|
|
||||||
Unisys LZW patent was in effect.
|
|
||||||
|
|
||||||
Install the giflib package if you need to write programs that use GIF files.
|
|
||||||
You should also install the giflib-utils package if you need some simple
|
|
||||||
utilities to manipulate GIFs.
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development tools for programs which will use the libungif library
|
Summary: Development files for programs using the giflib library
|
||||||
Group: Development/Libraries
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Provides: libungif-devel <= %{version}-%{release}
|
|
||||||
Obsoletes: libungif-devel <= %{version}-%{release}
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
This package contains the static libraries, header files and
|
The giflib-devel package includes header files, libraries necessary for
|
||||||
documentation necessary for development of programs that will use the
|
developing programs which use the giflib library.
|
||||||
giflib library to load and save GIF format image files.
|
|
||||||
|
|
||||||
You should install this package if you need to develop programs which
|
|
||||||
will use giflib library functions. You'll also need to install the
|
|
||||||
giflib package.
|
|
||||||
|
|
||||||
%package utils
|
%package utils
|
||||||
Summary: Programs for manipulating GIF format image files
|
Summary: Programs for manipulating GIF format image files
|
||||||
Group: Applications/Multimedia
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Obsoletes: libungif-progs <= %{version}-%{release}
|
|
||||||
|
|
||||||
%description utils
|
%description utils
|
||||||
The giflib-utils package contains various programs for manipulating
|
The giflib-utils package contains various programs for manipulating GIF
|
||||||
GIF format image files.
|
format image files.
|
||||||
|
|
||||||
|
%package -n mingw32-%{name}
|
||||||
|
Summary: MinGW Windows %{name} library
|
||||||
|
Obsoletes: mingw32-%{name}-static
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n mingw32-%{name}
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n mingw32-%{name}-tools
|
||||||
|
Summary: Tools for the MinGW Windows %{name} library
|
||||||
|
Requires: mingw32-%{name} = %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n mingw32-%{name}-tools
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n mingw64-%{name}
|
||||||
|
Summary: MinGW Windows %{name} library
|
||||||
|
Obsoletes: mingw64-%{name}-static
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n mingw64-%{name}
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n mingw64-%{name}-tools
|
||||||
|
Summary: Tools for the MinGW Windows %{name} library
|
||||||
|
Requires: mingw64-%{name} = %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n mingw64-%{name}-tools
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
|
%{?mingw_debug_package}
|
||||||
|
|
||||||
Install this package if you need to manipulate GIF format image files.
|
|
||||||
You'll also need to install the giflib package.
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
%patch0 -p1 -b .amd64
|
cp -a %{SOURCE1} .
|
||||||
%{__sed} -i 's/\r//' doc/lzgif.txt
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
# Native build
|
||||||
make %{?_smp_mflags} all
|
%cmake
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
|
# MinGW build
|
||||||
|
%mingw_cmake
|
||||||
|
%mingw_make_build
|
||||||
|
|
||||||
MAJOR=`echo '%{version}' | sed 's/\([0-9]\+\)\..*/\1/'`
|
|
||||||
%{__cc} $RPM_OPT_FLAGS -shared -Wl,-soname,libungif.so.$MAJOR -Llib/.libs -lgif -o libungif.so.%{version}
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf ${RPM_BUILD_ROOT}
|
%cmake_install
|
||||||
|
%mingw_make_install
|
||||||
|
rm -rf %{buildroot}%{mingw32_mandir}
|
||||||
|
rm -rf %{buildroot}%{mingw64_mandir}
|
||||||
|
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
install -m 0755 -p libungif.so.%{version} $RPM_BUILD_ROOT%{_libdir}
|
%mingw_debug_install_post
|
||||||
ln -sf libungif.so.%{version} ${RPM_BUILD_ROOT}%{_libdir}/libungif.so.4
|
|
||||||
ln -sf libungif.so.4 ${RPM_BUILD_ROOT}%{_libdir}/libungif.so
|
|
||||||
|
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
|
||||||
|
|
||||||
%clean
|
%files
|
||||||
rm -rf ${RPM_BUILD_ROOT}
|
%doc ChangeLog NEWS README
|
||||||
|
%license COPYING
|
||||||
%post -p /sbin/ldconfig
|
%{_libdir}/libgif.so.7*
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc COPYING README NEWS ONEWS
|
|
||||||
%doc ChangeLog TODO BUGS AUTHORS
|
|
||||||
%{_libdir}/lib*.so.*
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%doc doc/*
|
||||||
%doc doc/* util/giffiltr.c util/gifspnge.c
|
%{_libdir}/libgif.so
|
||||||
%{_libdir}/lib*.a
|
%{_includedir}/gif_lib.h
|
||||||
%{_libdir}/lib*.so
|
%{_includedir}/gif_getarg.h
|
||||||
%{_includedir}/*.h
|
|
||||||
|
|
||||||
%files utils
|
%files utils
|
||||||
%defattr(-,root,root,-)
|
%{_bindir}/gif*
|
||||||
%{_bindir}/*
|
%{_mandir}/man1/*.1*
|
||||||
|
|
||||||
|
%files -n mingw32-%{name}
|
||||||
|
%license COPYING
|
||||||
|
%{mingw32_bindir}/libgif-7.dll
|
||||||
|
%{mingw32_includedir}/gif_lib.h
|
||||||
|
%{mingw32_includedir}/gif_getarg.h
|
||||||
|
%{mingw32_libdir}/libgif.dll.a
|
||||||
|
|
||||||
|
%files -n mingw32-%{name}-tools
|
||||||
|
%{mingw32_bindir}/*.exe
|
||||||
|
|
||||||
|
%files -n mingw64-%{name}
|
||||||
|
%license COPYING
|
||||||
|
%{mingw64_bindir}/libgif-7.dll
|
||||||
|
%{mingw64_includedir}/gif_lib.h
|
||||||
|
%{mingw64_includedir}/gif_getarg.h
|
||||||
|
%{mingw64_libdir}/libgif.dll.a
|
||||||
|
|
||||||
|
%files -n mingw64-%{name}-tools
|
||||||
|
%{mingw64_bindir}/*.exe
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 16 2025 Sandro Mani <manisandro@gmail.com> - 5.2.2-7
|
||||||
|
- Increase minimum cmake version to 3.5
|
||||||
|
- Use GnuInstallDirs
|
||||||
|
|
||||||
|
* Tue Apr 15 2025 Sandro Mani <manisandro@gmail.com> - 5.2.2-6
|
||||||
|
- Add proposed patch for CVE-2025-31334
|
||||||
|
|
||||||
|
* Wed Apr 02 2025 Benson Muite <fed500@fedoraproject.org> - 5.2.2-5
|
||||||
|
- Rename getarg.h to gif_getarg.h
|
||||||
|
|
||||||
|
* Wed Apr 02 2025 Benson Muite <fed500@fedoraproject.org> - 5.2.2-4
|
||||||
|
- Install getarg.h header file
|
||||||
|
|
||||||
|
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Feb 19 2024 Sandro Mani <manisandro@gmail.com> - 5.2.2-1
|
||||||
|
- Update to 5.2.2
|
||||||
|
|
||||||
|
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-19
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-18
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Sep 14 2023 Sandro Mani <manisandro@gmail.com> - 5.2.1-17
|
||||||
|
- Add patch for CVE-2023-39742
|
||||||
|
|
||||||
|
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-16
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-15
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 21 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-14
|
||||||
|
- Backport fix for CVE-2022-28506
|
||||||
|
|
||||||
|
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-13
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Mar 25 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-12
|
||||||
|
- Rebuild with mingw-gcc-12
|
||||||
|
|
||||||
|
* Thu Feb 24 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-11
|
||||||
|
- Make mingw subpackages noarch
|
||||||
|
|
||||||
|
* Sat Feb 19 2022 Sandro Mani <manisandro@gmail.com> - 5.2.1-10
|
||||||
|
- Add mingw subpackage
|
||||||
|
|
||||||
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Feb 17 2020 Sandro Mani <manisandro@gmail.com> - 5.2.1-5
|
||||||
|
- Fix several defects found by Coverity scan
|
||||||
|
- Generate HTML docs with consistent section IDs to avoid multilib difference
|
||||||
|
|
||||||
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Oct 01 2019 Sandro Mani <manisandro@gmail.com> - 5.2.1-3
|
||||||
|
- Move quantize.c back into libgif.so (#1750122)
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 28 2019 Sandro Mani <manisandro@gmail.com> - 5.2.1-1
|
||||||
|
- Update to 5.2.1
|
||||||
|
|
||||||
|
* Mon Apr 01 2019 Sandro Mani <manisandro@gmail.com> - 5.1.9-1
|
||||||
|
- Update to 5.1.9
|
||||||
|
|
||||||
|
* Wed Mar 20 2019 Sandro Mani <manisandro@gmail.com> - 5.1.8-1
|
||||||
|
- Update to 5.1.8
|
||||||
|
|
||||||
|
* Mon Mar 11 2019 Sandro Mani <manisandro@gmail.com> - 5.1.7-1
|
||||||
|
- Update to 5.1.7
|
||||||
|
|
||||||
|
* Sat Feb 23 2019 Sandro Mani <manisandro@gmail.com> - 5.1.6-2
|
||||||
|
- Fix broken soname
|
||||||
|
|
||||||
|
* Mon Feb 18 2019 Sandro Mani <manisandro@gmail.com> - 5.1.6-1
|
||||||
|
- Update to 5.1.6
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.4-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Feb 11 2018 Sandro Mani <manisandro@gmail.com> - 5.1.4-1
|
||||||
|
- Update to 5.1.4
|
||||||
|
|
||||||
|
* Thu Feb 8 2018 Florian Weimer <fweimer@redhat.com> - 4.1.6-22
|
||||||
|
- Build libungif with linker flags from redhat-rpm-config
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-21
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.1.6-20
|
||||||
|
- Switch to %%ldconfig_scriptlets
|
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-19
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-18
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Mar 29 2017 Stephen Gallagher <sgallagh@redhat.com> - 4.1.6-17
|
||||||
|
- Fix compilation errors when -Werror=format-security
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-16
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.6-15
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Aug 14 2015 Adam Jackson <ajax@redhat.com> 4.1.6-14
|
||||||
|
- Link libungif with -z now too
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-13
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Dec 18 2013 Peter Robinson <pbrobinson@fedoraproject.org> 4.1.6-10
|
||||||
|
- Rebuild
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 4.1.6-8
|
||||||
|
- Perl 5.18 rebuild
|
||||||
|
|
||||||
|
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.6-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat May 09 2009 Robert Scheck <robert@fedoraproject.org> 4.1.6-2
|
||||||
|
- Solved multilib problems with documentation (#465208, #474538)
|
||||||
|
- Removed static library from giflib-devel package (#225796 #c1)
|
||||||
|
|
||||||
|
* Mon Apr 13 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 4.1.6-1
|
||||||
|
- update to 4.1.6
|
||||||
|
|
||||||
|
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.3-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 4.1.3-9
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 4.1.3-9
|
||||||
- Autorebuild for GCC 4.3
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
|
|
||||||
39
giflib_coverity.patch
Normal file
39
giflib_coverity.patch
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/gif2rgb.c giflib-5.2.2-new/gif2rgb.c
|
||||||
|
--- giflib-5.2.2/gif2rgb.c 2024-02-19 04:01:28.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/gif2rgb.c 2025-04-15 16:56:27.228197561 +0200
|
||||||
|
@@ -165,6 +165,8 @@ static void SaveGif(GifByteType *OutputB
|
||||||
|
/* Open stdout for the output file: */
|
||||||
|
if ((GifFile = EGifOpenFileHandle(1, &Error)) == NULL) {
|
||||||
|
PrintGifError(Error);
|
||||||
|
+ free(OutputBuffer);
|
||||||
|
+ GifFreeMapObject(OutputColorMap);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -173,6 +175,8 @@ static void SaveGif(GifByteType *OutputB
|
||||||
|
EGifPutImageDesc(GifFile, 0, 0, Width, Height, false, NULL) ==
|
||||||
|
GIF_ERROR) {
|
||||||
|
PrintGifError(Error);
|
||||||
|
+ free(OutputBuffer);
|
||||||
|
+ GifFreeMapObject(OutputColorMap);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -182,6 +186,8 @@ static void SaveGif(GifByteType *OutputB
|
||||||
|
|
||||||
|
for (i = 0; i < Height; i++) {
|
||||||
|
if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR) {
|
||||||
|
+ free(OutputBuffer);
|
||||||
|
+ GifFreeMapObject(OutputColorMap);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
GifQprintf("\b\b\b\b%-4d", Height - i - 1);
|
||||||
|
@@ -191,6 +197,8 @@ static void SaveGif(GifByteType *OutputB
|
||||||
|
|
||||||
|
if (EGifCloseFile(GifFile, &Error) == GIF_ERROR) {
|
||||||
|
PrintGifError(Error);
|
||||||
|
+ free(OutputBuffer);
|
||||||
|
+ GifFreeMapObject(OutputColorMap);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
}
|
||||||
12
giflib_html-docs-consistent-ids.patch
Normal file
12
giflib_html-docs-consistent-ids.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/doc/Makefile giflib-5.2.2-new/doc/Makefile
|
||||||
|
--- giflib-5.2.2/doc/Makefile 2024-02-18 19:15:05.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/doc/Makefile 2025-04-15 16:56:27.252074979 +0200
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
.SUFFIXES: .xml .html .txt .adoc .1 .7
|
||||||
|
|
||||||
|
.xml.html:
|
||||||
|
- xmlto xhtml-nochunks $<
|
||||||
|
+ xmlto --stringparam generate.consistent.ids=1 xhtml-nochunks $<
|
||||||
|
|
||||||
|
.xml.1:
|
||||||
|
xmlto man $<
|
||||||
17
giflib_quantize.patch
Normal file
17
giflib_quantize.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
diff -rupN --no-dereference giflib-5.2.2/Makefile giflib-5.2.2-new/Makefile
|
||||||
|
--- giflib-5.2.2/Makefile 2024-02-19 02:01:50.000000000 +0100
|
||||||
|
+++ giflib-5.2.2-new/Makefile 2025-04-15 16:56:27.204960961 +0200
|
||||||
|
@@ -29,11 +29,11 @@ LIBPOINT=0
|
||||||
|
LIBVER=$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT)
|
||||||
|
|
||||||
|
SOURCES = dgif_lib.c egif_lib.c gifalloc.c gif_err.c gif_font.c \
|
||||||
|
- gif_hash.c openbsd-reallocarray.c
|
||||||
|
+ gif_hash.c openbsd-reallocarray.c quantize.c
|
||||||
|
HEADERS = gif_hash.h gif_lib.h gif_lib_private.h
|
||||||
|
OBJECTS = $(SOURCES:.c=.o)
|
||||||
|
|
||||||
|
-USOURCES = qprintf.c quantize.c getarg.c
|
||||||
|
+USOURCES = qprintf.c getarg.c
|
||||||
|
UHEADERS = getarg.h
|
||||||
|
UOBJECTS = $(USOURCES:.c=.o)
|
||||||
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
22efc9599ccf91d288374dcf0679abf1 giflib-4.1.3.tar.bz2
|
SHA512 (giflib-5.2.2.tar.gz) = 0865ab2b1904fa14640c655fdb14bb54244ad18a66e358565c00287875d00912343f9be8bfac7658cc0146200d626f7ec9160d7a339f20ba3be6b9941d73975f
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue