diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2012-05-21 17:02:43 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2012-05-21 17:02:43 +0000 |
commit | 559e3fa0459d3a28a6e92a344f4978cdc49e63c3 (patch) | |
tree | a2ed78de03ad0bbc0751a932e10cebce742d74ac /gnome-extra | |
parent | whitespace (diff) | |
download | historical-559e3fa0459d3a28a6e92a344f4978cdc49e63c3.tar.gz historical-559e3fa0459d3a28a6e92a344f4978cdc49e63c3.tar.bz2 historical-559e3fa0459d3a28a6e92a344f4978cdc49e63c3.zip |
Fix USE="lzma" and app-arch/xz-utils support. Port from net-libs/xulrunner to net-libs/webkit-gtk:2 wrt #416843 by Pacho Ramos.
Package-Manager: portage-2.2.0_alpha107/cvs/Linux x86_64
Diffstat (limited to 'gnome-extra')
-rw-r--r-- | gnome-extra/yelp/ChangeLog | 9 | ||||
-rw-r--r-- | gnome-extra/yelp/Manifest | 19 | ||||
-rw-r--r-- | gnome-extra/yelp/files/yelp-2.30.2-xz-support.patch | 229 | ||||
-rw-r--r-- | gnome-extra/yelp/yelp-2.30.2-r200.ebuild | 68 |
4 files changed, 316 insertions, 9 deletions
diff --git a/gnome-extra/yelp/ChangeLog b/gnome-extra/yelp/ChangeLog index 4cb844468f26..09aa4fd2797b 100644 --- a/gnome-extra/yelp/ChangeLog +++ b/gnome-extra/yelp/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for gnome-extra/yelp # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-extra/yelp/ChangeLog,v 1.284 2012/05/20 21:39:27 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/yelp/ChangeLog,v 1.285 2012/05/21 17:02:43 ssuominen Exp $ + +*yelp-2.30.2-r200 (21 May 2012) + + 21 May 2012; Samuli Suominen <ssuominen@gentoo.org> +yelp-2.30.2-r200.ebuild, + +files/yelp-2.30.2-xz-support.patch: + Fix USE="lzma" and app-arch/xz-utils support. Port from net-libs/xulrunner to + net-libs/webkit-gtk:2 wrt #416843 by Pacho Ramos. 20 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> yelp-3.2.1.ebuild, yelp-3.4.1.ebuild, yelp-3.4.2.ebuild: diff --git a/gnome-extra/yelp/Manifest b/gnome-extra/yelp/Manifest index b22817dce7c3..df0df91f484e 100644 --- a/gnome-extra/yelp/Manifest +++ b/gnome-extra/yelp/Manifest @@ -12,26 +12,29 @@ AUX yelp-2.30.2-mozilla-glue-libs.patch 2317 RMD160 340a22987fd300a4bf5aa2802a0f AUX yelp-2.30.2-port-to-xulrunner-2-r2.patch 7982 RMD160 30dd6ce4ef79e537915bcfdc7868aa60f2a35330 SHA1 0a6f471fc9638132d7ff76c6e1d68178a2b70597 SHA256 3d251544d4c0c931551bb331a03031cd8f1f1928886fccfbd038be2c611f768d AUX yelp-2.30.2-print-crash.patch 1528 RMD160 9d3d298d5a1f8652f21b712b36793e3da37244df SHA1 f1a583b03d39ee2dd5691929ecd6b4d89e10a942 SHA256 e09129d48fae34be923be82e3c880c14ff6ad79112c1fbc8760b431caf501dd3 AUX yelp-2.30.2-uri-handler.patch 860 RMD160 4b9d9bf1d2e666094e2b287d54bd99c952c179c0 SHA1 1e034f014f8d7976505a75c2b90b578dc53b0454 SHA256 91e05fc3c5eb36c12e28cd7d2c058baf7395105f56826e1012a50e0b7882af65 +AUX yelp-2.30.2-xz-support.patch 6328 RMD160 8cf29bffd50cc4a7466f6e08b53e770bf36b9971 SHA1 1fef8499292ea8554d4a5152e88d0ab6c491c454 SHA256 b32e6c4169c4c7d5b0498605d4aa4de1817cd5655cbc70b88db04aff3fdf8aa6 AUX yelp-3.0.3-man-compatibility.patch 4226 RMD160 6620b4a546f3be6fa7bde62a3757eafca6a80f9f SHA1 4772bce1e30f14aeb7c5f5ab53bd68a4bb9fb8bd SHA256 9b76f13236170ccbfa24060a18bdfaaad9bfe3490dc42abd9a1dee106f82c1f1 +DIST yelp-2.30.2+webkit.tar.xz 739928 RMD160 a10b3108b1cc18b086165d8fe49f2dd31792ed13 SHA1 4c5b3b855c417ab521ed33142e25fcc9fb649f77 SHA256 00d84338e3975174a5735deb39e2b4b49816cbedae8130ccba64abc72ae85cd5 DIST yelp-2.30.2.tar.bz2 1159521 RMD160 a92fde9f64489c5dee6a249964245b087aab5981 SHA1 b36d36449ff19844a429b4e2bd5eaad0a7537281 SHA256 5f8c35847bdae654e21cbba66865d6b582d9fc80a059ad29081bb87e146bb165 DIST yelp-3.2.1.tar.xz 855804 RMD160 69a17688daf6303cc2a20d5f144a44dd04d4043c SHA1 2cd1d68b36f7944ab8f840e8beccb8ba0d42d5d5 SHA256 f22cc5e24df4349bffc42a75844615d86924f6b3f4a1951e0240a03a1a40981d DIST yelp-3.4.1.tar.xz 847976 RMD160 5505efffd98b6776e0ab28ad70f2e2ed3ab665fc SHA1 4f34d3467a4f185728546549ed21acef71ab3843 SHA256 0485c170210b681a07b709fad7c43010cd683f33f7cb5a62eb05fcccf2507184 DIST yelp-3.4.2.tar.xz 846168 RMD160 f01375c3df4b5abbd5333fb0beac1bc32089734b SHA1 94cb2d26fe7f3b13618795ddaa7b9a2acc2c3344 SHA256 33f573da4d0b766aba7ebfab14470694e3245dffb2b63153f34bf8240b13c3a3 +EBUILD yelp-2.30.2-r200.ebuild 1656 RMD160 a6b4cb88e5d982ffa9e937af7bffdcfd66558ce8 SHA1 c8fa0266461a16b9a1eacb290c0060f325038e26 SHA256 e376e0050e81a4d286c8fb6cbb3b61b0fc9175c4b164c8bc9f40cdd13f7e00bc EBUILD yelp-2.30.2-r5.ebuild 2393 RMD160 841c656f2b5cf879cfe081c8b8965d7aef333787 SHA1 914c9acdbdcfa89868c6f9bc50d774994aa5d0fb SHA256 7ff7e65f50e2c62a1113b206562f1a6e83c044d4dc7d0aa6981b0e25764c9a75 EBUILD yelp-2.30.2-r6.ebuild 2507 RMD160 1f9cf21f22aafd65d3420277f909b9825f8dc2df SHA1 e79a3bea5a00771943b5d632a5091b45f2f11ebd SHA256 38c77a11c4254087833a3e6c7af2c85faf15a61be6a15f91541e84d8676f3a9c EBUILD yelp-3.2.1.ebuild 1564 RMD160 b52f8df9411292b4cd0ae1264defdd269ff8a40e SHA1 9bbeb8cf6b57af7ff2875edbc1ac1927a3f5f78e SHA256 42080f0503e4e6cfdc446ce364a4cb992ece5b9ed5d874a4e9fc4c00001a8b38 EBUILD yelp-3.4.1.ebuild 1582 RMD160 7b12f6d95a5e1d21cb634800023ab16b5d64a77d SHA1 4af8915b8ee4f4b29839e9ed630421b7f9a841fb SHA256 c493a3bd57b5df82ad35793130d5bba02018c7a677a6b7f531a29765d4d39b70 EBUILD yelp-3.4.2.ebuild 1582 RMD160 1b953762a18ce09422799530a3c613e7fac7497b SHA1 670bce0f511d4f3ed46d6a9cc56756759f1d1910 SHA256 82042377a590996c467feeed77789a0a262036ebb1257cb6fd2afd709b87fcfa -MISC ChangeLog 36593 RMD160 5a9bd58054a775ff533ec43e51209f3f73229304 SHA1 32132cfef3e4e7e0d69329f4fbe2fabfb017a173 SHA256 d30c7f3ff5ac1c07335aa0c61aa409a420bca48c906143d307a568cb969bf2b2 +MISC ChangeLog 36878 RMD160 b1fa225dee60894a5190142af6a4f28b242fc90b SHA1 327560cd507148680031f3aed296e1ef636b46d1 SHA256 01f2b047c022fc7eb30fdc54713d2e5e95d69db0750bf2e670d34e98b04b72b1 MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iQEcBAEBAgAGBQJPuWSUAAoJEJ0WA1zPCt1hFV8H/2bgH3cbYhAC//HHm9wpD0ZC -7vhXH5qgh4Xfijuj6q75X8YOySPlevtT83AwwsRFWBGAj+PQ+k+N0mowKFduQu4u -zQ+kRekvSlhrRXbn+mkuZBwjlEF11SczbMGgVqwoScyMXaXmwSuj1z5FPPnpzqg8 -tZd14rURWdkj71yQFKFuGYDY1bDFD3B33kTynWPoj5hyGnYzrhS5lFD4Z9ToKX29 -pzVCP+zf5X91LnMMuLHcvVicGUvwry+qEStgOIIONaT+gL0ZKxmIyI5idNAJo3MX -Ne6bnPXLqlvaw1zsotJEmQlvUorhmTG3D0VgX7xlREKneh4XgZxp3FWftAgA8WQ= -=doaF +iQEcBAEBAgAGBQJPunR+AAoJEEdUh39IaPFNAOMH/18yXmRgeA3hgSDR+MukPp5D +NeIIeczuvZBkCdRjwQiluAzffzP1i6FMjZJNzTMav0Gepeed6PXxW+jvIE4wgf4R +7Nzd/c7vpa61nly2FHLqpR+84dB9/3g7/d4dKKMeGN8jCAioQNUO0mYfEvLBBDGO +NnblHrauzxXc8r76zQ2YxRlwm2tujG84PMVq4unmVaUOdEIaY4CMJvzNJDxwe9np +dtgwpupt4edc6gq7Zp4Qq+R9/Ds2r/7dnymT1uPw1QdzwnYizrKX1y42yqBFeFRk +HkLMqj9M7P2wlGg+VELbJrt6LJDZ7ZZSOS7MsUhjoukdupRmubLsiOF5gNQZMsg= +=zj/Z -----END PGP SIGNATURE----- diff --git a/gnome-extra/yelp/files/yelp-2.30.2-xz-support.patch b/gnome-extra/yelp/files/yelp-2.30.2-xz-support.patch new file mode 100644 index 000000000000..d2103f264182 --- /dev/null +++ b/gnome-extra/yelp/files/yelp-2.30.2-xz-support.patch @@ -0,0 +1,229 @@ +http://svnweb.mageia.org/packages/cauldron/yelp/releases/2.30.2/4.mga1/SOURCES/ + +--- configure.in ++++ configure.in +@@ -180,10 +180,10 @@ + dnl ==================================== + dnl = lzmadec for help converters + dnl ==================================== +-LZMADEC_LIBS= +-AC_CHECK_LIB(lzmadec, lzmadec_open, [LZMADEC_LIBS=-llzmadec +- AC_DEFINE(HAVE_LIBLZMADEC, 1, [Compile with liblzmadec support])]) +-AC_SUBST(LZMADEC_LIBS) ++LZMA_LIBS= ++AC_CHECK_LIB(lzma, [lzma_code, lzma_auto_decoder, lzma_end], [LZMA_LIBS=-llzma ++ AC_DEFINE(HAVE_LIBLZMA, 1, [Compile with liblzma support])]) ++AC_SUBST(LZMA_LIBS) + + dnl ==================================== + dnl = Bzip2, for the help converters +--- src/Makefile.am ++++ src/Makefile.am +@@ -58,7 +58,7 @@ + $(POPT_LIBS) \ + $(Z_LIBS) \ + $(BZ_LIBS) \ +- $(LZMADEC_LIBS) \ ++ $(LZMA_LIBS) \ + $(YELP_WEBKIT_LIBS) \ + $(X_LIBS) + +@@ -108,7 +108,7 @@ + yelp-transform.c yelp-transform.h \ + test-document.c + test_document_CFLAGS = $(YELP_CFLAGS) $(AM_CFLAGS) $(YELP_DEFINES) +-test_document_LDADD = $(YELP_LIBS) $(Z_LIBS) $(BZ_LIBS) $(LZMADEC_LIBS) ++test_document_LDADD = $(YELP_LIBS) $(Z_LIBS) $(BZ_LIBS) $(LZMA_LIBS) + test_document_LDFLAGS = $(AM_LDFLAGS) + + test_man_parser_SOURCES = \ +@@ -119,7 +119,7 @@ + test-man-parser.c + test_man_parser_CPPFLAGS = $(YELP_DEFINES) $(AM_CPPFLAGS) + test_man_parser_CFLAGS = $(YELP_CFLAGS) $(AM_CFLAGS) +-test_man_parser_LDADD = $(YELP_LIBS) $(Z_LIBS) $(BZ_LIBS) $(LZMADEC_LIBS) ++test_man_parser_LDADD = $(YELP_LIBS) $(Z_LIBS) $(BZ_LIBS) $(LZMA_LIBS) + test_man_parser_LDFLAGS = $(AM_LDFLAGS) + + test_page_SOURCES = \ +--- src/yelp-io-channel.c ++++ src/yelp-io-channel.c +@@ -26,6 +26,7 @@ + + + #include <stdio.h> ++#include <stdlib.h> + #include <glib.h> + #include <glib/gi18n.h> + +@@ -36,11 +37,80 @@ + #ifdef HAVE_LIBBZ2 + #include <bzlib.h> + #endif +-#ifdef HAVE_LIBLZMADEC +-#include <lzmadec.h> ++#ifdef HAVE_LIBLZMA ++#include <lzma.h> + #endif + #include <string.h> + ++#ifdef HAVE_LIBLZMA ++typedef struct lzma_file { ++ uint8_t buf[1<<15]; ++ lzma_stream strm; ++ FILE *fp; ++ lzma_bool eof; ++} lzma_FILE; ++ ++static lzma_FILE *lzma_open (const char *path) ++{ ++ lzma_ret ret; ++ lzma_FILE *lzma_file; ++ lzma_stream tmp = (lzma_stream)LZMA_STREAM_INIT; ++ ++ lzma_file = calloc (1, sizeof (*lzma_file)); ++ lzma_file->fp = fopen(path, "r"); ++ lzma_file->eof = 0; ++ lzma_file->strm = tmp; ++ ++ ret = lzma_auto_decoder (&lzma_file->strm, -1, 0); ++ ++ if (ret != LZMA_OK) { ++ fclose (lzma_file->fp); ++ free (lzma_file); ++ return NULL; ++ } ++ return lzma_file; ++} ++ ++static ssize_t lzma_read(lzma_FILE *lzma_file, void *buf, size_t len) ++{ ++ lzma_ret ret; ++ lzma_bool eof = 0; ++ ++ if (!lzma_file) ++ return -1; ++ if (lzma_file->eof) ++ return 0; ++ ++ lzma_file->strm.next_out = buf; ++ lzma_file->strm.avail_out = len; ++ for (;;) { ++ if (!lzma_file->strm.avail_in) { ++ lzma_file->strm.next_in = (uint8_t *)lzma_file->buf; ++ lzma_file->strm.avail_in = fread (lzma_file->buf, 1, sizeof (lzma_file->buf), lzma_file->fp); ++ if (!lzma_file->strm.avail_in) ++ eof = 1; ++ } ++ ret = lzma_code(&lzma_file->strm, LZMA_RUN); ++ if (ret == LZMA_STREAM_END) { ++ lzma_file->eof = 1; ++ return len - lzma_file->strm.avail_out; ++ } ++ if (ret != LZMA_OK) ++ return -1; ++ if (!lzma_file->strm.avail_out) ++ return len; ++ if (eof) ++ return -1; ++ } ++} ++ ++static void lzma_close(lzma_FILE *lzma_file) ++{ ++ lzma_end (&lzma_file->strm); ++ fclose (lzma_file->fp); ++} ++#endif ++ + typedef struct _YelpIOChannel YelpIOChannel; + struct _YelpIOChannel { + GIOChannel channel; +@@ -48,8 +118,8 @@ + BZFILE *bzin; + #endif + gzFile gzin; +-#ifdef HAVE_LIBLZMADEC +- lzmadec_FILE *lzin; ++#ifdef HAVE_LIBLZMA ++ lzma_FILE *lzin; + #endif + }; + +@@ -99,9 +169,9 @@ + channel->bzin = bzopen (file, "r"); + else + #endif +-#ifdef HAVE_LIBLZMADEC +- if (g_str_has_suffix (file, ".lzma")) +- channel->lzin = lzmadec_open(file); ++#ifdef HAVE_LIBLZMA ++ if (g_str_has_suffix (file, ".lzma") || g_str_has_suffix (file, ".xz")) ++ channel->lzin = lzma_open (file); + else + #endif + +@@ -111,7 +181,7 @@ + #ifdef HAVE_LIBBZ2 + !channel->bzin && + #endif +-#ifdef HAVE_LIBLZMADEC ++#ifdef HAVE_LIBLZMA + !channel->lzin && + #endif + !channel->gzin) { +@@ -159,9 +229,10 @@ + bytes = bzread (yelp_channel->bzin, buffer, count); + else + #endif +-#if HAVE_LIBLZMADEC +- if (yelp_channel->lzin) +- bytes = lzmadec_read (yelp_channel->lzin, buffer, count); ++#if HAVE_LIBLZMA ++ if (yelp_channel->lzin) { ++ bytes = lzma_read (yelp_channel->lzin, buffer, count); ++ } + else + #endif + bytes = gzread (yelp_channel->gzin, buffer, count); +@@ -186,9 +257,9 @@ + if (yelp_channel->bzin) + bzclose (yelp_channel->bzin); + #endif +-#ifdef HAVE_LIBLZMADEC ++#ifdef HAVE_LIBLZMA + if (yelp_channel->lzin) +- lzmadec_close (yelp_channel->lzin); ++ lzma_close (yelp_channel->lzin); + #endif + if (yelp_channel->gzin) + gzclose (yelp_channel->gzin); +--- src/yelp-uri.c ++++ src/yelp-uri.c +@@ -404,6 +404,13 @@ + NULL); + if (g_file_test (fullpath, G_FILE_TEST_IS_REGULAR)) + goto gotit; ++ ++ fullpath = g_strconcat (langdir, "/", sectiondir, ++ "/", name, ".", sectiondir + 3, ".xz", ++ NULL); ++ if (g_file_test (fullpath, G_FILE_TEST_IS_REGULAR)) ++ goto gotit; ++ + g_free (fullpath); + + fullpath = NULL; +@@ -532,6 +539,12 @@ + else if (is_man_path (basename, "lzma")) + ret->priv->doctype = YELP_URI_DOCUMENT_TYPE_MAN; + } ++ else if (g_str_equal (mime_type, "application/x-xz")) { ++ if (g_str_has_suffix (basename, ".info.xz")) ++ ret->priv->doctype = YELP_URI_DOCUMENT_TYPE_INFO; ++ else if (is_man_path (basename, "xz")) ++ ret->priv->doctype = YELP_URI_DOCUMENT_TYPE_MAN; ++ } + else if (g_str_equal (mime_type, "application/octet-stream")) { + if (g_str_has_suffix (basename, ".info")) + ret->priv->doctype = YELP_URI_DOCUMENT_TYPE_INFO; diff --git a/gnome-extra/yelp/yelp-2.30.2-r200.ebuild b/gnome-extra/yelp/yelp-2.30.2-r200.ebuild new file mode 100644 index 000000000000..e28b042caee4 --- /dev/null +++ b/gnome-extra/yelp/yelp-2.30.2-r200.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/yelp/yelp-2.30.2-r200.ebuild,v 1.1 2012/05/21 17:02:43 ssuominen Exp $ + +EAPI=4 +GCONF_DEBUG=yes +inherit autotools eutils gnome2 + +MY_P=${P}+webkit + +DESCRIPTION="Help browser for GNOME" +HOMEPAGE="http://projects.gnome.org/yelp/" +SRC_URI="http://dev.gentoo.org/~ssuominen/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="lzma" + +RDEPEND="app-arch/bzip2 + >=app-text/gnome-doc-utils-0.20.6 + >=app-text/rarian-0.8.1 + >=dev-libs/dbus-glib-0.98 + >=dev-libs/glib-2.16 + dev-libs/libxml2 + dev-libs/libxslt + >=gnome-base/gconf-2 + sys-libs/zlib + >=x11-libs/gtk+-2.18:2 + x11-libs/libSM + x11-libs/libICE + x11-libs/libX11 + x11-libs/startup-notification + net-libs/webkit-gtk:2 + lzma? ( app-arch/xz-utils )" +DEPEND="${RDEPEND} + dev-util/intltool + gnome-base/gnome-common + sys-devel/gettext + virtual/pkgconfig" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + DOCS="AUTHORS ChangeLog NEWS README TODO" + G2CONF="--enable-maintainer-mode --with-search=basic" +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-uri-handler.patch \ + "${FILESDIR}"/${P}-print-crash.patch \ + "${FILESDIR}"/${P}-freeze-move.patch \ + "${FILESDIR}"/${P}-xz-support.patch + + sed -i -e '/CFLAGS/s:-pedantic -ansi::' configure.in || die #196621 + + intltoolize --force --copy --automake || die + eautoreconf + + gnome2_src_prepare +} + +src_configure() { + export ac_cv_lib_lzma_lzma_code__lzma_auto_decoder__lzma_end=$(usex lzma) + + gnome2_src_configure +} |