diff options
author | 2014-11-27 01:53:32 +0000 | |
---|---|---|
committer | 2014-11-27 01:53:32 +0000 | |
commit | b57c81687f2660bcca7eac55636f3ad0dfbe8406 (patch) | |
tree | 60175680d75b6fd527fe7435859a59c1e2200775 /media-gfx | |
parent | avoid warning from autotools.eclass re: configure.in (diff) | |
download | gentoo-2-b57c81687f2660bcca7eac55636f3ad0dfbe8406.tar.gz gentoo-2-b57c81687f2660bcca7eac55636f3ad0dfbe8406.tar.bz2 gentoo-2-b57c81687f2660bcca7eac55636f3ad0dfbe8406.zip |
Use a single patch for every giflib version.
(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key A792A613)
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/fbida/ChangeLog | 8 | ||||
-rw-r--r-- | media-gfx/fbida/fbida-2.09-r4.ebuild | 122 | ||||
-rw-r--r-- | media-gfx/fbida/files/fbida-2.09-giflib.patch | 97 |
3 files changed, 226 insertions, 1 deletions
diff --git a/media-gfx/fbida/ChangeLog b/media-gfx/fbida/ChangeLog index 235977bf9b5c..485d2de0d35a 100644 --- a/media-gfx/fbida/ChangeLog +++ b/media-gfx/fbida/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-gfx/fbida # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/fbida/ChangeLog,v 1.114 2014/09/25 10:09:28 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/fbida/ChangeLog,v 1.115 2014/11/27 01:53:32 jer Exp $ + +*fbida-2.09-r4 (27 Nov 2014) + + 27 Nov 2014; Jeroen Roovers <jer@gentoo.org> +fbida-2.09-r4.ebuild, + +files/fbida-2.09-giflib.patch: + Use a single patch for every giflib version. *fbida-2.09-r3 (25 Sep 2014) diff --git a/media-gfx/fbida/fbida-2.09-r4.ebuild b/media-gfx/fbida/fbida-2.09-r4.ebuild new file mode 100644 index 000000000000..4fd7bd7062b5 --- /dev/null +++ b/media-gfx/fbida/fbida-2.09-r4.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/fbida/fbida-2.09-r4.ebuild,v 1.1 2014/11/27 01:53:32 jer Exp $ + +EAPI=5 +inherit eutils toolchain-funcs + +DESCRIPTION="Image viewers for the framebuffer console (fbi) and X11 (ida)" +HOMEPAGE="http://www.kraxel.org/blog/linux/fbida/" +SRC_URI=" + http://www.kraxel.org/releases/${PN}/${P}.tar.gz + http://dev.gentoo.org/~jer/${P}-jpeg-9a.patch.bz2 + mirror://gentoo/ida.png.bz2 +" +LICENSE="GPL-2 IJG" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="curl fbcon +gif lirc pdf +png scanner +tiff X +webp" +REQUIRED_USE=" + pdf? ( tiff ) +" + +RDEPEND=" + !media-gfx/fbi + >=media-libs/fontconfig-2.2 + >=media-libs/freetype-2.0 + media-libs/libexif + curl? ( net-misc/curl ) + gif? ( media-libs/giflib:= ) + lirc? ( app-misc/lirc ) + png? ( media-libs/libpng ) + scanner? ( media-gfx/sane-backends ) + tiff? ( media-libs/tiff ) + virtual/jpeg + virtual/ttf-fonts + webp? ( media-libs/libwebp ) + X? ( + >=x11-libs/motif-2.3:0 + x11-libs/libX11 + x11-libs/libXpm + x11-libs/libXt + ) +" + +DEPEND=" + ${RDEPEND} + X? ( x11-proto/xextproto x11-proto/xproto ) + pdf? ( app-text/ghostscript-gpl ) +" + +src_prepare() { + epatch "${FILESDIR}"/ida-desktop.patch + epatch "${FILESDIR}"/${P}-make.patch + epatch "${FILESDIR}"/${P}-giflib.patch + + pushd jpeg/ >/dev/null + epatch -p2 "${WORKDIR}"/${P}-jpeg-9a.patch + popd >/dev/null + + sed -i \ + -e 's:DGifOpenFileName,ungif:DGifOpenFileName,gif:' \ + -e 's:-lungif:-lgif:' \ + "${S}"/GNUmakefile || die + + if [[ $(gcc-major-version) -lt 4 ]]; then + sed -i-e 's:-Wno-pointer-sign::' "${S}"/GNUmakefile || die + fi + + tc-export CC CPP +} + +src_configure() { + # Let autoconf do its job and then fix things to build fbida + # according to our specifications + emake Make.config + + gentoo_fbida() { + local useflag=${1} + local config=${2} + + local option="no" + use ${useflag} && option="yes" + + sed -i \ + -e "s|HAVE_${config}.*|HAVE_${config} := ${option}|" \ + "${S}/Make.config" || die + } + + gentoo_fbida X MOTIF + gentoo_fbida curl LIBCURL + gentoo_fbida fbcon LINUX_FB_H + gentoo_fbida gif LIBUNGIF + gentoo_fbida lirc LIBLIRC + gentoo_fbida pdf LIBTIFF + gentoo_fbida png LIBPNG + gentoo_fbida scanner LIBSANE + gentoo_fbida tiff LIBTIFF + gentoo_fbida webp LIBWEBP +} + +src_compile() { + emake verbose=yes +} + +src_install() { + emake \ + DESTDIR="${D}" \ + STRIP="" \ + prefix=/usr \ + install + + dodoc README + + if ! use pdf; then + rm "${D}"/usr/bin/fbgs "${D}"/usr/share/man/man1/fbgs.1 || die + fi + + if use X ; then + doicon "${WORKDIR}"/ida.png + domenu desktop/ida.desktop + fi +} diff --git a/media-gfx/fbida/files/fbida-2.09-giflib.patch b/media-gfx/fbida/files/fbida-2.09-giflib.patch new file mode 100644 index 000000000000..50c005589974 --- /dev/null +++ b/media-gfx/fbida/files/fbida-2.09-giflib.patch @@ -0,0 +1,97 @@ +--- a/rd/read-gif.c ++++ b/rd/read-gif.c +@@ -25,7 +25,13 @@ + if (GIF_ERROR == DGifGetRecordType(h->gif,&RecordType)) { + if (debug) + fprintf(stderr,"gif: DGifGetRecordType failed\n"); +- PrintGifError(); ++#if GIFLIB_MAJOR >= 5 ++ GifErrorString(D_GIF_ERR_NOT_GIF_FILE); ++#elif (GIFLIB_MAJOR >= 4 && GIFLIB_MINOR >=2) ++ GifErrorString(); ++#else ++ PrintGifError(); ++#endif + return -1; + } + switch (RecordType) { +@@ -42,7 +48,13 @@ + if (rc == GIF_ERROR) { + if (debug) + fprintf(stderr,"gif: DGifGetExtension failed\n"); ++#if GIFLIB_MAJOR >= 5 ++ GifErrorString(D_GIF_ERR_NOT_GIF_FILE); ++#elif (GIFLIB_MAJOR >= 4 && GIFLIB_MINOR >=2) ++ GifErrorString(); ++#else + PrintGifError(); ++#endif + return -1; + } + if (debug) { +@@ -93,12 +105,19 @@ + struct gif_state *h; + GifRecordType RecordType; + int i, image = 0; ++#if (GIFLIB_MAJOR >=5 && GIFLIB_MINOR >= 1) ++ int ErrorCode; ++#endif + + h = malloc(sizeof(*h)); + memset(h,0,sizeof(*h)); + + h->infile = fp; ++#if GIFLIB_MAJOR >= 5 ++ h->gif = DGifOpenFileHandle(fileno(fp), NULL); ++#else + h->gif = DGifOpenFileHandle(fileno(fp)); ++#endif + h->row = malloc(h->gif->SWidth * sizeof(GifPixelType)); + + while (0 == image) { +@@ -108,7 +127,15 @@ + if (GIF_ERROR == DGifGetImageDesc(h->gif)) { + if (debug) + fprintf(stderr,"gif: DGifGetImageDesc failed\n"); ++#if (GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1) ++ GifErrorString(D_GIF_ERR_NO_IMAG_DSCR); ++#elif GIFLIB_MAJOR >= 5 ++ GifErrorString(NULL); ++#elif (GIFLIB_MAJOR >= 4 && GIFLIB_MINOR >=2) ++ GifErrorString(); ++#else + PrintGifError(); ++#endif + } + if (NULL == h->gif->SColorMap && + NULL == h->gif->Image.ColorMap) { +@@ -156,7 +183,11 @@ + oops: + if (debug) + fprintf(stderr,"gif: fatal error, aborting\n"); ++#if (GIFLIB_MAJOR >=5 && GIFLIB_MINOR >= 1) ++ DGifCloseFile(h->gif, &ErrorCode); ++#else + DGifCloseFile(h->gif); ++#endif + fclose(h->infile); + free(h->row); + free(h); +@@ -193,10 +224,17 @@ + gif_done(void *data) + { + struct gif_state *h = data; ++#if (GIFLIB_MAJOR >=5 && GIFLIB_MINOR >= 1) ++ int ErrorCode; ++#endif + + if (debug) + fprintf(stderr,"gif: done, cleaning up\n"); ++#if (GIFLIB_MAJOR >=5 && GIFLIB_MINOR >= 1) ++ DGifCloseFile(h->gif, &ErrorCode); ++#else + DGifCloseFile(h->gif); ++#endif + fclose(h->infile); + if (h->il) + free(h->il); |