summaryrefslogtreecommitdiff
path: root/graphics/giflib
AgeCommit message (Collapse)AuthorFilesLines
2015-01-16Update giflib* to 5.1.1:wiz2-6/+6
Version 5.1.1 ============= Code Fixes ---------- * Numerous minor fixes in getarg.c. Affects only the utilities, not the core library. * Fix SourceForge bug #59 DGifOpen can segfault if DGifGetScreenDesc fails. * SourceForge patch #20: In gifalloc, fix usage of realloc() in case of failure. * Fix SourceForge bug #61 Leak in gifsponge. Build Fixes ---------- * glibtoolize port fix for OS X.
2014-05-31Remove mk/giflib reference.wiz1-5/+1
2014-05-165.1.0 introduce API changes.obache1-2/+2
2014-05-15Version 5.1.0adam2-7/+6
============= Changes to the API require a library major-version bump. Code Fixes ---------- * A small change to the API: DGifClose() and EGifClose() now take a pointer-to-int second argument (like the corresponding openers) where a diagnostic code will be deposited when they return GIF_ERROR. This replaces the old behavior in which the GifFile structure was left unfreed so the Error member in it could be filled and remain available. The change was was required because it's not always possible to free the struct afterwards. Case in point is a C# wrapper for giflib (or any language/environment where you can't just free objects allocated in a foreign shared library.) * Minor fix for SF bug 56; BitsPerPixel may be left as uninitialized value when reading (truncated) gif. * Applied SF patch 17: Use a fallback on Windows where mkstemp is not available. * Applied SF patch 15: Code hardening, preventing spurious defective-image messages. Retirements ----------- * Removed gif2raw from utils. Its blithe assumption that the EGA16 palette is a reliable default is now about 20 years obsolete. Format conversion is better done with convert(1) from the ImageMagick suite, anyway.
2014-04-01Changes 5.0.6:adam2-6/+6
This release adds a minor fix for a rare memory leak and MinGW port fixes.
2013-08-31Changes 5.0.5:adam4-28/+11
This release sets the error return properly when a screen descriptor read fails, and fixes minor API documentation bugs.
2013-08-13Add missing include to make gif_lib.h self-contained.joerg3-2/+18
2013-07-05Update to 5.0.4ryoon4-12/+10
Changelog: Version 5.0.4 ============= Fix for a rare misrendering bug when a GIF overruns the decompression-code table. The image on which this was spotted was a relatively long-running animated GIF; still images of ordinary size should have been immune. Version 5.0.3 ============= Fix a build-system glitch so it will install manpages. Version 5.0.2 ============= Documentation and polish ------------------------ * Partial build is now possible on systems without xmlto. Code Fixes ---------- * Change unused return of EGifSetGifVersion() to void. * Buffer overrun prevention in gifinto. Version 5.0.1 ============= Documentation and polish ------------------------ * There is now an installable manual page for the GIFLIB utility kit. Retirements ----------- * gifinter is gone. Use convert -interlace from the ImageMagic suite. Code Fixes ---------- * In 5.0.0 the private gif89 bit wasn't being guaranteed cleared at the beginning of EGifGetGifVersion(); this occasionally led to an incorrect version prefix being issued dependent on the state of malloced memory. * An EGifSetGifVersion() function taking a GifFile argument has been added for use with the low-level sequential API. This change requires a bump of the library revision number. Version 5.0.0 ============= Changes to the API require a library major-version bump. Certain initialization functions have acquired an integer address argument for passing back an error code, in order to avoid thread-unsafe static storage. Application code using extension blocks will require minor changes. A few functions have been renamed. Code Fixes ---------- * Fixes applied for CVE-2005-2974 and CVE-2005-3350 This closes Debian bug #337972. New API Features ---------------- Thread Safety ~~~~~~~~~~~~~ The library is now completely re-entrant and thread-safe. * Library error handling no longer uses a static cell to store the last error code registered; that made the library thread-unsafe. For functions other than GIF file openers, the code is now put in an Error member of the GifFileType structure. The GifError() amd GifLastError() functions that referenced that static cell are gone, and the GifErrorString() function introduced in the 4.2 release now takes an explicit error code argument. * GIF file openers - DGifOpenFileName(), DGifOpenFileHandle(), DGifOpen(), EGifOpenFileName(), EGifOpenFileHandle(), and EGifOpen() - all now take a final integer address argument. If non-null, this is used to pass back an error code when the function returns NULL. Extensions ~~~~~~~~~~ The ExtensionBlock API has been repaired, solving some problems with GIF89 extension handling in earlier versions. * DGifSlurp() and EGifSpew() now preserve trailing extension blocks with no following image file. * Three documented functions - EGifPutExtensionFirst(), EGifPutExtensionNext(), and EGifPutExtensionLast() - have been relaced by new functions EGifPutExtensionLeader(), EGifPutExtensionBlock(), and EGifPutExtensionTrailer(). See the Compatibility section of the library API documentation for details. * New functions DGifSavedExtensionToGCB() and EGifGCBToSavedExtension() make it easy to read and edit GIF89 graphics control blocks in saved images. Namespacing ~~~~~~~~~~~ All functions exported by giflib now have DGif, EGif, or Gif as a name prefix. * Three documented functions - MakeMapObject(), FreeMapObject(), and UnionColorMap() - have been renamed to GifMakeMapObject(), GifFreeMapObject(), and GifUnionColorMap() respectively. * The library Draw* functions are now prefixed GifDraw*, and the text-drawing ones are suffixed with "8x8". This fixes a conflict with the Windows API and leaves the door open for more general text-drawing functions with different font sizes. Other changes ~~~~~~~~~~~~~ * DGifSlurp() and EGifSpew() now read and write interlaced images properly. * The amazingly obscure colormap sort flag and pixel aspect ratio features of GIF are now read and preserved, for whatever good that may do. * Six undocumented functions have been renamed; five of these take additional or slightly different argument types. See the Compatibility section of the library API documentation for details. * There's now an EGifGetGifVersion() that computes the version EGifSpew() will write. * QuantizeBuffer() has been returned to the core library as GifQuantizeBuffer() - turns out some important applications (notably mplayer) were using it. * TRUE and FALSE macros are gone, also VoidPtr. No more namespace pollution. * Various arguments have been made const where possible. Retirements ----------- * The (undocumented) gifinfo utility is gone. Use giftool -f instead. * The gifburst utility is gone. Everybody has image viewers that can pan now, and removing it gets rid of a dependency on Perl. * gifcompose is gone. It was a decent idea when I wrote it in 1989, but I did the same thing better and cleaner a decade later with PILdriver in the PIL package. Removing it gets rid of a dependency on shell. * gif2x11 gifasm, gifcomb, gifflip, gifovly, gifpos, gifresize, and gifrotate are all gone. The ImageMagick display(1)/convert(1) utilities and PILdriver do these things better and in a format-independent way. * Lennie Araki's Windows C++ wrapper is gone. It's eight years old, unmaintained, he has dropped out of sight, and a better one needs to be written to use the high-level GIFLIB API and GIF89 graphics control extension support. We'll carry such a wrapper when we have a maintainer for it. * EGifSetVersion(), introduced in 4.2, is gone. The library always writes GIF87 or GIF89 as required by the data. This change helps with thread safety. Utilities --------- * Several utilities have been renamed to (a) fix last-century's habit of arbitarily smashing vowels out of names to make them just one or two characters shorter, (b) ensure that every utility in this set has 'gif' as a name prefix. Here's the list: giffiltr -> giffilter gifspnge -> gifsponge icon2gif -> gifbuild text2gif -> gifecho raw2gif -> gif2raw * To go with its new name, gif2raw now dumps raw pixels from a GIF if the (previously required) size option is missing. * Standalone rgb2gif is gone; the same capability is now a mode of gif2rgb. * giftext displays the parsed contents of GIF89 graphics control blocks. * gifbuild handles GIF89 graphics control blocks and Netscape animation loop blocks; it can can display and update either. * gifrotate and other filter utilities now preserve extension blocks, including the graphics control information for transparency and delay time. * A new utility, giftool, supports a wide variety of filtering operations on GIFs, including: setting background and transparency colors, changing interlacing, setting image delays, setting the user-input flag, and setting the aspect-ratio byte. It can sequence multiple operations. * The test-pattern generators gifbg, gifcolor, gihisto and gifwedge and the code templates giffilter and gifsponge are no longer installed by default. Documentation and polish ------------------------ * The history.txt and build.txt and files from 4.2.0 now have .asc extensions to indicate that they use asciidoc markup, contrasting with the txt standards files from CompuServe. * The documentation now includes "What's In A GIF", a very detailed narrative description of the file format. * The -A option of gifasm (for inserting a loop control block) is documented. * The documentation directory includes a copy of the original GIF87 specification as well as GIF89's. * The project now has a logo. Version 4.2.0 ============= Now maintained by ESR again after handoff by Toshio Kuratomi. Code Fixes ---------- * Code updated internally to C99 to enable more correctness checks by the compiler. Compiles under GCC 4.6.1 without errors or warnings. * A rare resource leak in the colormap-object maker was found with Coverity and fixed. * The code now audits clean under Coverity and cppcheck. * splint cleanup begun, there's a lot of work still to do on this. New API Features ---------------- * The default GIF version to write is now computed at write time from the types of an image's extension blocks, but can be overridden with EGifSetGifVersion(). * EGifSpew() is now thread-safe. * Two new functions, GifError() and GifErrorString(), return the error state in a form that can be used by programs. * Two library functions - EGifOpenFileName() and EGifPutImageDesc() - now have bool rather than int flag arguments. Since bool is a typedef of int and TRUE/FALSE have been redefined to true/false, both source and object compatibility with older library versions should be preserved. * GAGetArgs(), used only in the utilities, now returns bool rather than int. * The undocumented GIF_LIB_VERSION symbol is gone from the library header. It has been replaced with three documented symbols: GIFLIB_MAJOR, GIFLIB_MINOR, and GIFLIB_RELEASE. Retirements ----------- * The gif2epsn and gif2iris utilities are gone. They were full of platform dependencies for platforms long dead. There are enough platform-independent GIF viewers in the world that these weren't adding any value. Removing these gets rid of a dependency on GL. * The rle2gif, gif2rle, and gif2ps utilities are also gone. There are enough multiformat image converters in the world that these weren't adding any value either. Removing them reduces the codebase's dependencies. * The undocumented DumpScreen2Gif() is gone from the library. The only non-obsolete capture mode it supported was through X, and that probably hasn't been used in years and is replaceable by any number of capture utilities. Dropping this code makes the library's portability issues go away. * QuantizeBuffer(), GifQprintf(), PrintGifError(), GIF_ERROR() and GIF_MESSAGE() have been removed from the core library. They were used only by the utilities. QuantizeBuffer() has been inlined where it was used and the latter three are now part of the utility support library. * The Game Boy Advanced test code is gone. The platform was discontinued in 2008; more to the point, nobody ever documented the code's assumptions or expected results. * The Changelog file is now retained for archival purposes only, and because autotools throws a hissy fit if there isn't one. The single point of truth about changes and the reasons for them is the repository history. Behavior changes ---------------- * The -q option of the utilities is replaced by an opposite -v (verbose) option; the default is now quiet for all platforms. Defaulting to chattiness on MSDOS made sense in a world of slow text consoles, but not today. Testing ------- * There is now a proper regression-test suite; run 'make' in tests/. The old test-unx script is now tests/visual-check and can be run occasionally for a check with the Mark One Eyeball. Documentation ------------- * Build instructions now live in build.txt * An overview of the giflib API now lives in api.txt. * Documentation is now in DocBook-XML, so either HTML or man pages can be generated from it.
2012-10-20Replace patch with SUBST_SED.wiz3-161/+8
2012-10-06Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.asau1-2/+1
2012-02-15Exactly disable rle, x11 and gl to avoid hidden dependency.obache1-1/+5
fixes PR 46016.
2012-02-15Move common settings for giflib to Makefile.commonobache2-12/+22
2011-09-06split giflib into 2 pkgs: one for the lib, one for cmd line utilsdrochner4-86/+165
2011-09-03Install utils and docs.obache4-18/+88
Based on PR pkg/45321 by Uwe Klaus. While here, set LICENSE=mit. Bump PKGREVISION.
2011-03-09disallow direct use of {giflib,libungif}/bl3.mk so that mk/giflib.bl3.mkdrochner1-1/+5
can implement the global policy
2011-01-18resolve conflictsdrochner6-1/+47
2011-01-18(re)add giflib-4.1.6, a library for the GIF image format which isdrochner1-0/+12
API compatible with the libungif currently used in pkgsrc (libungif was used due to patents which are expired now)
2005-03-08Removed giflib - no package depends on it, obsoleted by libungifadam7-212/+0
2005-02-24Add RMD160 digestsagc1-1/+2
2004-11-13USE_BUILDLINK3 is a yes/no variable.jlam1-2/+2
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv1-1/+2
in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
2004-09-22Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.jlam1-5/+1
All library names listed by *.la files no longer need to be listed in the PLIST, e.g., instead of: lib/libfoo.a lib/libfoo.la lib/libfoo.so lib/libfoo.so.0 lib/libfoo.so.0.1 one simply needs: lib/libfoo.la and bsd.pkg.mk will automatically ensure that the additional library names are listed in the installed package +CONTENTS file. Also make LIBTOOLIZE_PLIST default to "yes".
2004-04-24Convert to bl3. Remove some cruft.wiz1-8/+3
2003-07-17s/netbsd.org/NetBSD.org/grant1-2/+2
2003-06-02Use tech-pkg@ in favor of packages@ as MAINTAINER for orphaned packages.jschauma1-2/+2
Should anybody feel like they could be the maintainer for any of thewe packages, please adjust.
2002-11-14buildlink1 -> buildlink2jlam1-6/+2
2002-03-05Remove pre-build target that does the same thing as AUTOMAKE_OVERRIDEskrll1-8/+1
2001-10-31Move pkg/ files into package's toplevel directoryzuntum2-1/+1
2001-09-27Mechanical changes to 375 files to change dependency patterns of the formjlam1-2/+2
foo-* to foo-[0-9]*. This is to cause the dependencies to match only the packages whose base package name is "foo", and not those named "foo-bar". A concrete example is p5-Net-* matching p5-Net-DNS as well as p5-Net. Also change dependency examples in Packages.txt to reflect this.
2001-07-14Don't use find ... -print0 | xargs -0 ... as -0 isn't an acceptable optionjlam1-2/+2
on Solaris' xargs.
2001-06-19Mirror changes in libungif/Makefilejlam1-2/+4
2001-05-02Patch configure instead of configure.in so we don't need autoconf as ajlam3-6/+64
build dependency. Also minimize diffs between giflib/Makefile and libungif/Makefile.
2001-04-21Move to sha1 digests, and/or add distfile sizes.wiz1-2/+3
2001-04-17+ move the distfile digest/checksum value from files/md5 to distinfoagc3-7/+5
+ move the patch digest/checksum values from files/patch-sum to distinfo
2001-03-27Change BUILD_DEPENDS semantics:hubertf1-2/+2
first component is now a package name+version/pattern, no more executable/patchname/whatnot. While there, introduce BUILD_USES_MSGFMT as shorthand to pull in devel/gettext unless /usr/bin/msgfmt exists (i.e. on post-1.5 -current). Patch by Alistair Crooks <agc@netbsd.org>
2001-02-16Update to new COMMENT style: COMMENT var in Makefile instead of pkg/COMMENT.wiz2-2/+2
2001-02-06Make that "autoreconf" -- there is no "autoremake".fredb1-3/+3
2001-02-05Use full pathname "${LOCALBASE}/bin/auto..." in dependences and maketron1-3/+3
targets. This includes a fix for PR pkg/12125 by Tomasz Luchowski.
2001-01-04The way that shared objects were handled in the PLISTs and bsd.pkg.mk wasagc1-1/+3
out of date - it was based on a.out OBJECT_FMT, and added entries in the generated PLISTs to reflect the symlinks that ELF packages uses. It also tried to be clever, and removed and recreated any symbolic links that were created, which has resulted in some fun, especially with packages which use dlopen(3) to load modules. Some recent changes to our ld.so to bring it more into line with other Operating Systems also exposed some cracks. + Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain the ELF symlinks. + Don't mess about with file system entries when handling shared objects in bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will have got it right, and have a much better idea than we do. + Modify PLISTs to contain "ELF symlinks" + On a.out platforms, delete any "ELF symlinks" from the generated PLISTs + On ELF platforms, no extra processing needs to be done in bsd.pkg.mk + Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on a.out platforms + Update the documentation in Packages.txt With many thanks to Thomas Klausner for keeping me honest with this.
2000-12-06We have a ${PREFIX}/share/doc/html directory for HTML documentation, sojlam2-42/+45
use it.
2000-07-25Analogous change to Makefile in libungif: use autoreconf instead ofjlam1-3/+3
autoconf.
2000-07-14Don't pick up stray librle.so if it exists. We don't want to buildjlam3-2/+25
translation support to/from GIF and RLE format. Closes PR#10172.
2000-06-09USE_LIBTOOL and LTCONFIG_OVERRIDE instead of pkglibtool and patchingjlam4-35/+16
configure.
2000-06-01s/USE_LIBTOOL/USE_PKGLIBTOOL/rh1-2/+2
Add a new USE_LIBTOOL definition that uses the libtool package instead of pkglibtool which is now considered outdated. USE_PKGLIBTOOL is available for backwards compatibility with old packages but is deprecated for new packages.
2000-02-14correct HOMEPAGE URL to latest oneitojun1-2/+2
2000-01-05Strip trailing '.', and/or leading '(a|an) 'abs1-1/+1
1999-10-25correct ftp distribution directorydrochner1-2/+2
1999-10-09Update giflib to 4.1.0. Note that installed headers are in a new location.jlam10-243/+66
Changes from version 3.0: Version 4.1.0 ============ * Several minor memory leaks in error conditions have been plugged. * New Function EGifOpen(void *userData, OutputFunc writeFunc) allows user specified gif writing functions. * Old copyright notices in a few source files have been updated. All library copyrights should now reflect the copyright notice in the COPYING file. Version 4.0.0 -- giflib ======================= This version of the giflib library merges Eric Raymond's giflib-3.0 release with the libungif-4.0 release to give people a binary compatible choice between the two libraries and gives me the chance to add bugfixes to giflib that have been incorporated in libungif. PLEASE READ THE FILE PATENT_PROBLEMS BEFORE USING THIS LIBRARY! Version 4.0.0 ============= Major fixes have been made to the code that handles Extensions. Unfortunately, this causes binary incompatibility with giflib-3.0 and libungif-3.x. However, the API is still intact. I am, however, deprecating the use of saveImage[x].Function. Use saveImage[x].ExtensionBlocks[y].Function instead. Version 3.1.1 ============= The following bugs which caused SegFaults have been fixed: * When reading gif files with extensions, DGifSlurp would violate memory. * When closing a gif that had a local colormap, DGifCloseFile would attempt to free the colormap twice. * Fix a potential memory leak in DGifSlurp. The following enhancements have been made: * New function DGifOpen to allow specifying a user definable gif reading function. Version 3.1.0 ============= * Add a new function: GifFileType *DGifOpen(void * userData, InputFunc readFunc) to read the gif image from a user defined input function. * A few bugfixes. Version 3.0 =========== Changes from Eric Raymond's libgif: * A new gif encoder that makes uncompressed gifs rather than standard, LZW-compressed gifs. This is actually the major motivating factor behind libungif; to provide third-party distributors a means to provide a gif library without the patented LZW encoder. * A new configure script to make compilation of the library on multiple platforms easier. The package should now build shared libraries on all platforms supported by GNU libtool. * Removed the getarg functions from libgif. These were not part of the public API and only used by the tools in the utils directory so I separated them from the rest of the library. * Fixed a few bugs in the tools in the utils directory.
1999-09-30Make this package work on Solaris.agc4-10/+66
1999-07-09Add package patch-sum filesagc1-0/+6