gnu: giflib: Update to 5.2.1.
* gnu/packages/patches/giflib-make-reallocarray-private.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/image.scm (giflib): Update to 5.2.1. [source](uri): Adjust for new file name. [source](patches): Remove. [inputs]: Remove, as they were already unused. [arguments]: Add #:make-flags. Adjust substitution. Delete configure phase.
This commit is contained in:
parent
922ed1db45
commit
c9d4e14ab4
3 changed files with 11 additions and 132 deletions
|
@ -889,7 +889,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/ghostscript-no-header-id.patch \
|
%D%/packages/patches/ghostscript-no-header-id.patch \
|
||||||
%D%/packages/patches/ghostscript-no-header-uuid.patch \
|
%D%/packages/patches/ghostscript-no-header-uuid.patch \
|
||||||
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
|
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
|
||||||
%D%/packages/patches/giflib-make-reallocarray-private.patch \
|
|
||||||
%D%/packages/patches/glib-tests-timer.patch \
|
%D%/packages/patches/glib-tests-timer.patch \
|
||||||
%D%/packages/patches/glibc-CVE-2015-5180.patch \
|
%D%/packages/patches/glibc-CVE-2015-5180.patch \
|
||||||
%D%/packages/patches/glibc-CVE-2015-7547.patch \
|
%D%/packages/patches/glibc-CVE-2015-7547.patch \
|
||||||
|
|
|
@ -782,31 +782,31 @@ error-resilience, a Java-viewer for j2k-images, ...")
|
||||||
(define-public giflib
|
(define-public giflib
|
||||||
(package
|
(package
|
||||||
(name "giflib")
|
(name "giflib")
|
||||||
(version "5.1.4")
|
(version "5.2.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/giflib/giflib-"
|
(uri (string-append "mirror://sourceforge/giflib/giflib-"
|
||||||
version ".tar.bz2"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))
|
"1gbrg03z1b6rlrvjyc6d41bc8j1bsr7rm8206gb1apscyii5bnii"))))
|
||||||
(patches (search-patches
|
|
||||||
"giflib-make-reallocarray-private.patch"))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(outputs '("bin" ; utility programs
|
(outputs '("bin" ; utility programs
|
||||||
"out")) ; library
|
"out")) ; library
|
||||||
(inputs `(("libx11" ,libx11)
|
|
||||||
("libice" ,libice)
|
|
||||||
("libsm" ,libsm)
|
|
||||||
("perl" ,perl)))
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
'(#:make-flags (list "CC=gcc"
|
||||||
|
(string-append "PREFIX="
|
||||||
|
(assoc-ref %outputs "out"))
|
||||||
|
(string-append "BINDIR="
|
||||||
|
(assoc-ref %outputs "bin") "/bin"))
|
||||||
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'disable-html-doc-gen
|
(add-after 'unpack 'disable-html-doc-gen
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "doc/Makefile.in"
|
(substitute* "doc/Makefile"
|
||||||
(("^all: allhtml manpages") ""))
|
(("^all: allhtml manpages") ""))
|
||||||
#t))
|
#t))
|
||||||
|
(delete 'configure)
|
||||||
(add-after 'install 'install-manpages
|
(add-after 'install 'install-manpages
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((bin (assoc-ref outputs "bin"))
|
(let* ((bin (assoc-ref outputs "bin"))
|
||||||
|
|
|
@ -1,120 +0,0 @@
|
||||||
Move the declaration from gif_lib.h to gif_lib_private.h to solve
|
|
||||||
conflicts when some .c-file #includes both stdlib.h and gif_lib.h.
|
|
||||||
See also https://sourceforge.net/p/giflib/bugs/110/
|
|
||||||
|
|
||||||
diff -ur giflib-5.1.4.orig/lib/dgif_lib.c giflib-5.1.4/lib/dgif_lib.c
|
|
||||||
--- giflib-5.1.4.orig/lib/dgif_lib.c 2018-02-28 20:31:02.294682673 +0100
|
|
||||||
+++ giflib-5.1.4/lib/dgif_lib.c 2018-02-28 22:38:11.659126414 +0100
|
|
||||||
@@ -396,7 +396,7 @@
|
|
||||||
|
|
||||||
if (GifFile->SavedImages) {
|
|
||||||
SavedImage* new_saved_images =
|
|
||||||
- (SavedImage *)reallocarray(GifFile->SavedImages,
|
|
||||||
+ (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
|
|
||||||
(GifFile->ImageCount + 1), sizeof(SavedImage));
|
|
||||||
if (new_saved_images == NULL) {
|
|
||||||
GifFile->Error = D_GIF_ERR_NOT_ENOUGH_MEM;
|
|
||||||
@@ -1108,7 +1108,7 @@
|
|
||||||
if (ImageSize > (SIZE_MAX / sizeof(GifPixelType))) {
|
|
||||||
return GIF_ERROR;
|
|
||||||
}
|
|
||||||
- sp->RasterBits = (unsigned char *)reallocarray(NULL, ImageSize,
|
|
||||||
+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, ImageSize,
|
|
||||||
sizeof(GifPixelType));
|
|
||||||
|
|
||||||
if (sp->RasterBits == NULL) {
|
|
||||||
diff -ur giflib-5.1.4.orig/lib/gifalloc.c giflib-5.1.4/lib/gifalloc.c
|
|
||||||
--- giflib-5.1.4.orig/lib/gifalloc.c 2018-02-28 20:31:02.294682673 +0100
|
|
||||||
+++ giflib-5.1.4/lib/gifalloc.c 2018-02-28 22:38:11.657126423 +0100
|
|
||||||
@@ -8,7 +8,7 @@
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
-#include "gif_lib.h"
|
|
||||||
+#include "gif_lib_private.h"
|
|
||||||
|
|
||||||
#define MAX(x, y) (((x) > (y)) ? (x) : (y))
|
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@
|
|
||||||
|
|
||||||
/* perhaps we can shrink the map? */
|
|
||||||
if (RoundUpTo < ColorUnion->ColorCount) {
|
|
||||||
- GifColorType *new_map = (GifColorType *)reallocarray(Map,
|
|
||||||
+ GifColorType *new_map = (GifColorType *)giflib_private_reallocarray(Map,
|
|
||||||
RoundUpTo, sizeof(GifColorType));
|
|
||||||
if( new_map == NULL ) {
|
|
||||||
GifFreeMapObject(ColorUnion);
|
|
||||||
@@ -232,7 +232,7 @@
|
|
||||||
if (*ExtensionBlocks == NULL)
|
|
||||||
*ExtensionBlocks=(ExtensionBlock *)malloc(sizeof(ExtensionBlock));
|
|
||||||
else {
|
|
||||||
- ExtensionBlock* ep_new = (ExtensionBlock *)reallocarray
|
|
||||||
+ ExtensionBlock* ep_new = (ExtensionBlock *)giflib_private_reallocarray
|
|
||||||
(*ExtensionBlocks, (*ExtensionBlockCount + 1),
|
|
||||||
sizeof(ExtensionBlock));
|
|
||||||
if( ep_new == NULL )
|
|
||||||
@@ -325,7 +325,7 @@
|
|
||||||
if (GifFile->SavedImages == NULL)
|
|
||||||
GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage));
|
|
||||||
else
|
|
||||||
- GifFile->SavedImages = (SavedImage *)reallocarray(GifFile->SavedImages,
|
|
||||||
+ GifFile->SavedImages = (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
|
|
||||||
(GifFile->ImageCount + 1), sizeof(SavedImage));
|
|
||||||
|
|
||||||
if (GifFile->SavedImages == NULL)
|
|
||||||
@@ -355,7 +355,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
/* next, the raster */
|
|
||||||
- sp->RasterBits = (unsigned char *)reallocarray(NULL,
|
|
||||||
+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL,
|
|
||||||
(CopyFrom->ImageDesc.Height *
|
|
||||||
CopyFrom->ImageDesc.Width),
|
|
||||||
sizeof(GifPixelType));
|
|
||||||
@@ -369,7 +369,7 @@
|
|
||||||
|
|
||||||
/* finally, the extension blocks */
|
|
||||||
if (sp->ExtensionBlocks != NULL) {
|
|
||||||
- sp->ExtensionBlocks = (ExtensionBlock *)reallocarray(NULL,
|
|
||||||
+ sp->ExtensionBlocks = (ExtensionBlock *)giflib_private_reallocarray(NULL,
|
|
||||||
CopyFrom->ExtensionBlockCount,
|
|
||||||
sizeof(ExtensionBlock));
|
|
||||||
if (sp->ExtensionBlocks == NULL) {
|
|
||||||
diff -ur giflib-5.1.4.orig/lib/gif_lib.h giflib-5.1.4/lib/gif_lib.h
|
|
||||||
--- giflib-5.1.4.orig/lib/gif_lib.h 2018-02-28 20:31:02.294682673 +0100
|
|
||||||
+++ giflib-5.1.4/lib/gif_lib.h 2018-02-28 20:31:43.135716712 +0100
|
|
||||||
@@ -244,9 +244,6 @@
|
|
||||||
GifPixelType ColorTransIn2[]);
|
|
||||||
extern int GifBitSize(int n);
|
|
||||||
|
|
||||||
-extern void *
|
|
||||||
-reallocarray(void *optr, size_t nmemb, size_t size);
|
|
||||||
-
|
|
||||||
/******************************************************************************
|
|
||||||
Support for the in-core structures allocation (slurp mode).
|
|
||||||
******************************************************************************/
|
|
||||||
diff -ur giflib-5.1.4.orig/lib/gif_lib_private.h giflib-5.1.4/lib/gif_lib_private.h
|
|
||||||
--- giflib-5.1.4.orig/lib/gif_lib_private.h 2018-02-28 20:31:02.294682673 +0100
|
|
||||||
+++ giflib-5.1.4/lib/gif_lib_private.h 2018-02-28 22:38:11.657126423 +0100
|
|
||||||
@@ -54,6 +54,9 @@
|
|
||||||
bool gif89;
|
|
||||||
} GifFilePrivateType;
|
|
||||||
|
|
||||||
+extern void *
|
|
||||||
+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size);
|
|
||||||
+
|
|
||||||
#endif /* _GIF_LIB_PRIVATE_H */
|
|
||||||
|
|
||||||
/* end */
|
|
||||||
diff -ur giflib-5.1.4.orig/lib/openbsd-reallocarray.c giflib-5.1.4/lib/openbsd-reallocarray.c
|
|
||||||
--- giflib-5.1.4.orig/lib/openbsd-reallocarray.c 2018-02-28 20:31:02.295682659 +0100
|
|
||||||
+++ giflib-5.1.4/lib/openbsd-reallocarray.c 2018-02-28 22:38:11.656126428 +0100
|
|
||||||
@@ -27,7 +27,7 @@
|
|
||||||
#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
|
|
||||||
|
|
||||||
void *
|
|
||||||
-reallocarray(void *optr, size_t nmemb, size_t size)
|
|
||||||
+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size)
|
|
||||||
{
|
|
||||||
if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
|
|
||||||
nmemb > 0 && SIZE_MAX / nmemb < size) {
|
|
Reference in a new issue