diff options
41 files changed, 1980 insertions, 0 deletions
diff --git a/app-emulation/wine/files/corefonts-optional.ebuild.patch b/app-emulation/wine/files/corefonts-optional.ebuild.patch new file mode 100644 index 0000000..3edcffa --- /dev/null +++ b/app-emulation/wine/files/corefonts-optional.ebuild.patch @@ -0,0 +1,11 @@ +--- wine-1.1.12.ebuild 2009-04-27 07:05:32.000000000 +0100 ++++ wine-1.1.12.ebuild 2009-06-13 03:03:57.000000000 +0100 +@@ -29,7 +29,7 @@ IUSE="alsa cups dbus esd +gecko gnutls h + RESTRICT="test" #72375 + + RDEPEND=">=media-libs/freetype-2.0.0 +- media-fonts/corefonts ++ || ( media-fonts/liberation-fonts media-fonts/corefonts ) + dev-lang/perl + dev-perl/XML-Simple + ncurses? ( >=sys-libs/ncurses-5.2 ) diff --git a/app-emulation/wine/files/wine-0.9.51-valgrind.patch b/app-emulation/wine/files/wine-0.9.51-valgrind.patch new file mode 100644 index 0000000..acd0bb1 --- /dev/null +++ b/app-emulation/wine/files/wine-0.9.51-valgrind.patch @@ -0,0 +1,56 @@ +http://bugs.gentoo.org/202542 + +fix from Rafal Muzylo building with newer versions of valgrind + +--- dlls/ntdll/heap.c ++++ dlls/ntdll/heap.c +@@ -142,6 +142,8 @@ + if (TRACE_ON(heap) || WARN_ON(heap)) memset( ptr, ARENA_FREE_FILLER, size ); + #ifdef VALGRIND_MAKE_NOACCESS + VALGRIND_DISCARD( VALGRIND_MAKE_NOACCESS( ptr, size )); ++#elif defined(VALGRIND_MAKE_MEM_NOACCESS) ++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_NOACCESS( ptr, size )); + #endif + } + +@@ -150,6 +152,8 @@ + { + #ifdef VALGRIND_MAKE_READABLE + VALGRIND_DISCARD( VALGRIND_MAKE_READABLE( ptr, size )); ++#elif defined(VALGRIND_MAKE_MEM_DEFINED) ++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_DEFINED( ptr, size )); + #endif + } + +@@ -158,6 +162,8 @@ + { + #ifdef VALGRIND_MAKE_WRITABLE + VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size )); ++#elif defined(VALGRIND_MAKE_MEM_UNDEFINED) ++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size )); + #endif + if (TRACE_ON(heap) || WARN_ON(heap)) + { +@@ -165,6 +171,8 @@ + #ifdef VALGRIND_MAKE_WRITABLE + /* make it uninitialized to valgrind again */ + VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size )); ++#elif defined(VALGRIND_MAKE_MEM_UNDEFINED) ++ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size )); + #endif + } + } +--- dlls/ntdll/signal_i386.c ++++ dlls/ntdll/signal_i386.c +@@ -936,8 +936,10 @@ + } + + stack--; /* push the stack_layout structure */ +-#ifdef HAVE_VALGRIND_MEMCHECK_H ++#ifdef VALGRIND_MAKE_WRITABLE + VALGRIND_MAKE_WRITABLE(stack, sizeof(*stack)); ++#elif defined(VALGRIND_MAKE_MEM_UNDEFINED) ++ VALGRIND_MAKE_MEM_UNDEFINED(stack, sizeof(*stack)); + #endif + stack->ret_addr = (void *)0xdeadbabe; /* raise_func must not return */ + stack->rec_ptr = &stack->rec; diff --git a/app-emulation/wine/files/wine-1.0_rc3-openssl.patch b/app-emulation/wine/files/wine-1.0_rc3-openssl.patch new file mode 100644 index 0000000..b0ef483 --- /dev/null +++ b/app-emulation/wine/files/wine-1.0_rc3-openssl.patch @@ -0,0 +1,81 @@ +http://bugs.winehq.org/show_bug.cgi?id=13561 +http://bugs.gentoo.org/224049 + +commit 7c616799894faa48ee3277bc276a39bed55780e0 +Author: Alexandre Julliard <julliard@winehq.org> +Date: Mon Jun 2 12:14:37 2008 +0200 + + wininet: Include openssl/ssl.h before Windows headers. + +diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h +index 2645686..43b8d8e 100644 +--- a/dlls/wininet/internet.h ++++ b/dlls/wininet/internet.h +@@ -38,18 +38,6 @@ + # include <sys/types.h> + # include <netinet/in.h> + #endif +-#ifdef HAVE_OPENSSL_SSL_H +-#define DSA __ssl_DSA /* avoid conflict with commctrl.h */ +-#undef FAR +-/* avoid conflict with wincrypt.h */ +-#undef PKCS7_SIGNER_INFO +-#undef X509_NAME +-#undef X509_CERT_PAIR +-# include <openssl/ssl.h> +-#undef FAR +-#define FAR do_not_use_this_in_wine +-#undef DSA +-#endif + #ifdef HAVE_SYS_SOCKET_H + # include <sys/socket.h> + #endif +@@ -69,12 +57,10 @@ typedef struct + { + BOOL useSSL; + int socketFD; +-#ifdef HAVE_OPENSSL_SSL_H +- SSL *ssl_s; ++ void *ssl_s; + char *peek_msg; + char *peek_msg_mem; + size_t peek_len; +-#endif + } WININET_NETCONNECTION; + + static inline LPWSTR WININET_strdupW( LPCWSTR str ) +diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c +index 9cd7917..f55fbf2 100644 +--- a/dlls/wininet/netconnection.c ++++ b/dlls/wininet/netconnection.c +@@ -23,6 +23,7 @@ + #include "config.h" + #include "wine/port.h" + ++#include <sys/types.h> + #ifdef HAVE_POLL_H + #include <poll.h> + #endif +@@ -42,6 +43,22 @@ + #ifdef HAVE_SYS_IOCTL_H + # include <sys/ioctl.h> + #endif ++#include <time.h> ++#ifdef HAVE_NETDB_H ++# include <netdb.h> ++#endif ++#ifdef HAVE_NETINET_IN_H ++# include <netinet/in.h> ++#endif ++#ifdef HAVE_OPENSSL_SSL_H ++# include <openssl/ssl.h> ++#undef FAR ++#undef DSA ++#endif ++#ifdef HAVE_SYS_SOCKET_H ++# include <sys/socket.h> ++#endif ++ + #include <stdarg.h> + #include <stdlib.h> + #include <string.h> diff --git a/app-emulation/wine/files/wine-1.1.15-configure-host.patch b/app-emulation/wine/files/wine-1.1.15-configure-host.patch new file mode 100644 index 0000000..47628f6 --- /dev/null +++ b/app-emulation/wine/files/wine-1.1.15-configure-host.patch @@ -0,0 +1,13 @@ +http://bugs.gentoo.org/260726 + +--- wine-1.1.15/configure ++++ wine-1.1.15/configure +@@ -3943,7 +3943,7 @@ + $as_echo "$wine_cv_toolsdir" >&6; } + TOOLSDIR=$wine_cv_toolsdir + +-if test -n "$host_alias" ++if test -n "$host_alias" -a "$host_alias" != "$build_alias" + then + TARGETFLAGS="-b $host_alias $TARGETFLAGS" + diff --git a/app-emulation/wine/files/wine-1.1.15-winegcc.patch b/app-emulation/wine/files/wine-1.1.15-winegcc.patch new file mode 100644 index 0000000..6e5bb22 --- /dev/null +++ b/app-emulation/wine/files/wine-1.1.15-winegcc.patch @@ -0,0 +1,55 @@ +http://bugs.gentoo.org/260726 + +--- wine-1.1.15/tools/winegcc/winegcc.c ++++ wine-1.1.15/tools/winegcc/winegcc.c +@@ -215,10 +215,13 @@ + strarray* files; + }; + ++#undef FORCE_POINTER_SIZE + #ifdef __i386__ + static const enum target_cpu build_cpu = CPU_x86; ++#define FORCE_POINTER_SIZE + #elif defined(__x86_64__) + static const enum target_cpu build_cpu = CPU_x86_64; ++#define FORCE_POINTER_SIZE + #elif defined(__sparc__) + static const enum target_cpu build_cpu = CPU_SPARC; + #elif defined(__ALPHA__) +@@ -968,6 +971,9 @@ + opts.linker_args = strarray_alloc(); + opts.compiler_args = strarray_alloc(); + opts.winebuild_args = strarray_alloc(); ++#ifdef FORCE_POINTER_SIZE ++ opts.force_pointer_size = sizeof(size_t); ++#endif + + /* determine the processor type */ + if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp; +--- wine-1.1.15/tools/winebuild/main.c ++++ wine-1.1.15/tools/winebuild/main.c +@@ -50,10 +50,13 @@ + int link_ext_symbols = 0; + int force_pointer_size = 0; + ++#undef FORCE_POINTER_SIZE + #ifdef __i386__ + enum target_cpu target_cpu = CPU_x86; ++#define FORCE_POINTER_SIZE + #elif defined(__x86_64__) + enum target_cpu target_cpu = CPU_x86_64; ++#define FORCE_POINTER_SIZE + #elif defined(__sparc__) + enum target_cpu target_cpu = CPU_SPARC; + #elif defined(__ALPHA__) +@@ -574,6 +577,10 @@ + signal( SIGTERM, exit_on_signal ); + signal( SIGINT, exit_on_signal ); + ++#ifdef FORCE_POINTER_SIZE ++ force_pointer_size = sizeof(size_t); ++#endif ++ + output_file = stdout; + argv = parse_options( argc, argv, spec ); + diff --git a/app-emulation/wine/files/wine-1.1.4-install-fix.patch b/app-emulation/wine/files/wine-1.1.4-install-fix.patch new file mode 100644 index 0000000..7ff5771 --- /dev/null +++ b/app-emulation/wine/files/wine-1.1.4-install-fix.patch @@ -0,0 +1,22 @@ +From: Alexandre Julliard <julliard@winehq.org> +Date: Mon, 8 Sep 2008 10:37:56 +0000 (+0200) +Subject: makefile: Fix dependency for programs install. +X-Git-Url: http://source.winehq.org/git/wine.git/?a=commitdiff_plain;h=78c79ba349deea39 + +makefile: Fix dependency for programs install. +--- + +diff --git a/Makefile.in b/Makefile.in +index 0b2c6c0..1dd8ef1 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -96,7 +96,8 @@ include/__install__ include/__install-dev__: include libs tools + libs/__install__ libs/__install-lib__ libs/__install-dev__: libs + loader/__install__ loader/__install-lib__: libs tools + server/__install__ server/__install-lib__: libs tools +-programs/__install__ programs/__install-lib__: libs tools include dlls/__install-lib__ ++programs/__install__: libs tools include dlls/__install__ ++programs/__install-lib__: libs tools include dlls/__install-lib__ + tools/__install__ tools/__install-lib__ tools/__install-dev__: tools + + RECURSE_TARGETS = \ diff --git a/app-emulation/wine/files/wine-gentoo-no-ssp.patch b/app-emulation/wine/files/wine-gentoo-no-ssp.patch new file mode 100644 index 0000000..ee33c4b --- /dev/null +++ b/app-emulation/wine/files/wine-gentoo-no-ssp.patch @@ -0,0 +1,16 @@ +support older ssp (gcc-3.4.x). this ssp was never in mainline gcc, thus +upstream wine wont accept it. can drop once hardened gets a stable gcc-4.x. + +http://bugs.gentoo.org/66002 + +--- loader/preloader.c ++++ loader/preloader.c +@@ -155,6 +155,8 @@ struct wld_link_map { + + /* similar to the above but for -fstack-protector */ + void *__stack_chk_guard = 0; ++void *__guard = 0; ++void __stack_smash_handler(void) { return; } + void __stack_chk_fail(void) { return; } + + * The _start function is the entry and exit point of this program diff --git a/app-emulation/wine/wine-1.1.12.ebuild b/app-emulation/wine/wine-1.1.12.ebuild new file mode 100644 index 0000000..2671e52 --- /dev/null +++ b/app-emulation/wine/wine-1.1.12.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.1.12.ebuild,v 1.3 2009/04/27 05:59:22 vapier Exp $ + +EAPI="1" + +inherit eutils flag-o-matic multilib + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://source.winehq.org/git/wine.git" + inherit git + SRC_URI="" +else + MY_P="${PN}-${PV/_/-}" + SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2" + S=${WORKDIR}/${MY_P} +fi + +GV="0.9.0" +DESCRIPTION="free implementation of Windows(tm) on Unix" +HOMEPAGE="http://www.winehq.org/" +SRC_URI="${SRC_URI} + gecko? ( mirror://sourceforge/wine/wine_gecko-${GV}.cab )" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="-* amd64 x86 ~x86-fbsd" +IUSE="alsa cups dbus esd +gecko gnutls hal jack jpeg lcms ldap nas ncurses +opengl oss samba scanner xml +X" +RESTRICT="test" #72375 + +RDEPEND=">=media-libs/freetype-2.0.0 + || ( media-fonts/liberation-fonts media-fonts/corefonts ) + dev-lang/perl + dev-perl/XML-Simple + ncurses? ( >=sys-libs/ncurses-5.2 ) + jack? ( media-sound/jack-audio-connection-kit ) + dbus? ( sys-apps/dbus ) + gnutls? ( net-libs/gnutls ) + hal? ( sys-apps/hal ) + X? ( + x11-libs/libXcursor + x11-libs/libXrandr + x11-libs/libXi + x11-libs/libXmu + x11-libs/libXxf86vm + x11-apps/xmessage + ) + alsa? ( media-libs/alsa-lib ) + esd? ( media-sound/esound ) + nas? ( media-libs/nas ) + cups? ( net-print/cups ) + opengl? ( virtual/opengl ) + jpeg? ( media-libs/jpeg ) + ldap? ( net-nds/openldap ) + lcms? ( media-libs/lcms ) + samba? ( >=net-fs/samba-3.0.25 ) + xml? ( dev-libs/libxml2 dev-libs/libxslt ) + scanner? ( media-gfx/sane-backends ) + amd64? ( + X? ( + >=app-emulation/emul-linux-x86-xlibs-2.1 + >=app-emulation/emul-linux-x86-soundlibs-2.1 + ) + >=sys-kernel/linux-headers-2.6 + )" +DEPEND="${RDEPEND} + X? ( + x11-proto/inputproto + x11-proto/xextproto + x11-proto/xf86vidmodeproto + ) + sys-devel/bison + sys-devel/flex" + +pkg_setup() { + use alsa || return 0 + if ! built_with_use --missing true media-libs/alsa-lib midi ; then + eerror "You must build media-libs/alsa-lib with USE=midi" + die "please re-emerge media-libs/alsa-lib with USE=midi" + fi +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + git_src_unpack + else + unpack ${MY_P}.tar.bz2 + fi + cd "${S}" + + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + epatch "${FILESDIR}"/wine-gentoo-no-ssp.patch #66002 + sed -i '/^MimeType/d' tools/wine.desktop || die #117785 +} + +config_cache() { + local h ans="no" + use $1 && ans="yes" + shift + for h in "$@" ; do + [[ ${h} == *.h ]] \ + && h=header_${h} \ + || h=lib_${h} + export ac_cv_${h//[:\/.]/_}=${ans} + done +} + +src_compile() { + export LDCONFIG=/bin/true + use esd || export ac_cv_path_ESDCONFIG="" + use scanner || export ac_cv_path_sane_devel="no" + config_cache jack jack/jack.h + config_cache cups cups/cups.h + config_cache alsa alsa/asoundlib.h sys/asoundlib.h asound:snd_pcm_open + config_cache nas audio/audiolib.h audio/soundlib.h + config_cache xml libxml/parser.h libxslt/pattern.h libxslt/transform.h + config_cache ldap ldap.h lber.h + config_cache dbus dbus/dbus.h + config_cache hal hal/libhal.h + config_cache jpeg jpeglib.h + config_cache oss sys/soundcard.h machine/soundcard.h soundcard.h + config_cache lcms lcms.h + + strip-flags + + use amd64 && multilib_toolchain_setup x86 + + # $(use_enable amd64 win64) + econf \ + --sysconfdir=/etc/wine \ + $(use_with gnutls) \ + $(use_with ncurses curses) \ + $(use_with opengl) \ + $(use_with X x) \ + || die "configure failed" + + emake -j1 depend || die "depend" + emake all || die "all" +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc ANNOUNCE AUTHORS README + if use gecko ; then + insinto /usr/share/wine/gecko + doins "${DISTDIR}"/wine_gecko-${GV}.cab || die + fi +} + +pkg_postinst() { + elog "~/.wine/config is now deprecated. For configuration either use" + elog "winecfg or regedit HKCU\\Software\\Wine" +} diff --git a/app-office/odftools/odftools-0.1.ebuild b/app-office/odftools/odftools-0.1.ebuild new file mode 100644 index 0000000..c6eda2b --- /dev/null +++ b/app-office/odftools/odftools-0.1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="A collection of command-line tools for processing ODF documents" +HOMEPAGE="http://opendocumentfellowship.com/development/projects/odftools" +SRC_URI="http://opendocumentfellowship.com/~daniel/${P}.tgz" + +LICENSE="Apache-2.0 LGPL-2.1" +SLOT="0" +KEYWORDS="~x86" +IUSE="" + +DEPEND="dev-lang/perl + dev-libs/libxslt" +RDEPEND="${DEPEND}" + +src_install() { + dobin odfread odf2html + doman doc/odfread.1 doc/odf2html.1 + insinto "/usr/share/${PN}" + doins odt2html.xsl odt2html-fast.xsl elinks.conf +} diff --git a/app-text/epdfview/epdfview-0.1.6-r1.ebuild b/app-text/epdfview/epdfview-0.1.6-r1.ebuild new file mode 100644 index 0000000..05528b3 --- /dev/null +++ b/app-text/epdfview/epdfview-0.1.6-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/epdfview/epdfview-0.1.6-r1.ebuild,v 1.13 2009/04/10 23:20:31 loki_val Exp $ + +EAPI="2" +inherit eutils + +DESCRIPTION="Lightweight PDF viewer using Poppler and GTK+ libraries." +HOMEPAGE="http://trac.emma-soft.com/epdfview/" +SRC_URI="http://trac.emma-soft.com/epdfview/chrome/site/releases/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa ppc ppc64 sparc x86 ~x86-fbsd" +IUSE="cups nls test" + +COMMON_DEPEND=">=virtual/poppler-glib-0.5.0[cairo] + >=x11-libs/gtk+-2.6 + cups? ( >=net-print/cups-1.1 )" +DEPEND="${COMMON_DEPEND} + >=dev-util/pkgconfig-0.9 + nls? ( sys-devel/gettext ) + test? ( dev-util/cppunit )" +RDEPEND="${COMMON_DEPEND} + nls? ( virtual/libintl )" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${P}-gcc-4.3.patch" + epatch "${FILESDIR}/${P}-print-segfault.patch" + + # other useful patches + epatch "${FILESDIR}/vikeybindings.patch" + # my patches + epatch "${FILESDIR}/nofitfullscreen.patch" +} + +src_configure() { + econf \ + $(use_enable cups) \ + $(use_with nls) +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc AUTHORS NEWS README THANKS +} diff --git a/app-text/epdfview/files/applymypatches.ebuild.patch b/app-text/epdfview/files/applymypatches.ebuild.patch new file mode 100644 index 0000000..12905c1 --- /dev/null +++ b/app-text/epdfview/files/applymypatches.ebuild.patch @@ -0,0 +1,14 @@ +--- epdfview-0.1.6-r1.ebuild 2009-04-11 00:40:27.000000000 +0100 ++++ epdfview-0.1.6-r1.ebuild 2009-06-12 14:03:18.000000000 +0100 +@@ -30,6 +30,11 @@ src_unpack() { + + epatch "${FILESDIR}/${P}-gcc-4.3.patch" + epatch "${FILESDIR}/${P}-print-segfault.patch" ++ ++ # other useful patches ++ epatch "${FILESDIR}/vikeybindings.patch" ++ # my patches ++ epatch "${FILESDIR}/nofitfullscreen.patch" + } + + src_configure() { diff --git a/app-text/epdfview/files/epdfview-0.1.6-gcc-4.3.patch b/app-text/epdfview/files/epdfview-0.1.6-gcc-4.3.patch new file mode 100644 index 0000000..a8835a9 --- /dev/null +++ b/app-text/epdfview/files/epdfview-0.1.6-gcc-4.3.patch @@ -0,0 +1,11 @@ +--- IDocumentLink.h 2008-03-20 19:16:03.000000000 +0100 ++++ epdfview-1.6-r1/src/IDocumentLink.h 2008-03-20 19:16:43.000000000 +0100 +@@ -33,7 +33,7 @@ + class IDocumentLink + { + public: +- IDocumentLink (gdouble x1, gdouble y1, gdouble x2, gdouble y1); ++ IDocumentLink (gdouble x1, gdouble y1, gdouble x2, gdouble y2); + virtual ~IDocumentLink (void); + + virtual void activate (IDocument *document) = 0; diff --git a/app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch b/app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch new file mode 100644 index 0000000..498febb --- /dev/null +++ b/app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch @@ -0,0 +1,95 @@ +--- src/PrintPter.cxx (revision 262) ++++ src/PrintPter.cxx (revision 281) +@@ -231,17 +231,24 @@ + view.clearPageSizeList (); + int pageSizeToSelect = 0; +- ppd_choice_t *pageSizeChoice = pageSizeOption->choices; +- for ( int currentSize = 0 ; +- currentSize < pageSizeOption->num_choices ; +- ++currentSize, ++pageSizeChoice ) +- { +- const gchar *sizeName = pageSizeChoice->text; +- const gchar *sizeValue = pageSizeChoice->choice; +- +- view.addPageSize (_(sizeName), sizeValue); +- if ( pageSizeChoice->marked ) ++ if ( 0 != pageSizeOption ) ++ { ++ ppd_choice_t *pageSizeChoice = pageSizeOption->choices; ++ for ( int currentSize = 0 ; ++ currentSize < pageSizeOption->num_choices ; ++ ++currentSize, ++pageSizeChoice ) + { +- pageSizeToSelect = currentSize; ++ const gchar *sizeName = pageSizeChoice->text; ++ const gchar *sizeValue = pageSizeChoice->choice; ++ ++ view.addPageSize (_(sizeName), sizeValue); ++ if ( pageSizeChoice->marked ) ++ { ++ pageSizeToSelect = currentSize; ++ } + } ++ } ++ else ++ { ++ view.addPageSize (_("A4"), "A4"); + } + view.selectPageSize (pageSizeToSelect); +@@ -252,17 +259,24 @@ + view.clearResolutionList (); + int resolutionToSelect = 0; +- ppd_choice_t *resolutionChoice = resolutionOption->choices; +- for ( int currentRes = 0 ; +- currentRes < resolutionOption->num_choices ; +- ++currentRes, ++resolutionChoice ) +- { +- const gchar *resName = resolutionChoice->text; +- const gchar *resValue = resolutionChoice->choice; +- +- view.addResolution (_(resName), resValue); +- if ( resolutionChoice->marked ) ++ if ( 0 != resolutionOption ) ++ { ++ ppd_choice_t *resolutionChoice = resolutionOption->choices; ++ for ( int currentRes = 0 ; ++ currentRes < resolutionOption->num_choices ; ++ ++currentRes, ++resolutionChoice ) + { +- resolutionToSelect = currentRes; ++ const gchar *resName = resolutionChoice->text; ++ const gchar *resValue = resolutionChoice->choice; ++ ++ view.addResolution (_(resName), resValue); ++ if ( resolutionChoice->marked ) ++ { ++ resolutionToSelect = currentRes; ++ } + } ++ } ++ else ++ { ++ view.addResolution (_("300 DPI"), "300x300dpi"); + } + view.selectResolution (resolutionToSelect); +@@ -272,7 +286,7 @@ + ppdFindOption (printerPPD, "ColorModel"); + view.clearColorModelList (); ++ int colorModelToSelect = 0; + if ( NULL != colorModelOption ) + { +- int colorModelToSelect = 0; + ppd_choice_t *colorModelChoice = colorModelOption->choices; + for ( int currentColor = 0 ; +@@ -289,5 +303,4 @@ + } + } +- view.selectColorModel (colorModelToSelect); + } + else +@@ -295,4 +308,5 @@ + view.addColorModel (_("Grayscale"), "Gray"); + } ++ view.selectColorModel (colorModelToSelect); + ppdClose (printerPPD); + } diff --git a/app-text/epdfview/files/nofitfullscreen.patch b/app-text/epdfview/files/nofitfullscreen.patch new file mode 100644 index 0000000..72540e4 --- /dev/null +++ b/app-text/epdfview/files/nofitfullscreen.patch @@ -0,0 +1,14 @@ +Index: src/gtk/MainView.cxx +=================================================================== +--- src/gtk/MainView.cxx (revision 312) ++++ src/gtk/MainView.cxx (working copy) +@@ -699,9 +699,6 @@ + gtk_widget_hide (toolBar); + gtk_widget_hide (m_StatusBar); + gtk_widget_hide (m_Sidebar); +- gtk_toggle_action_set_active ( +- GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager, +- "/MenuBar/ViewMenu/ZoomFit")), TRUE); + } + else + { diff --git a/app-text/epdfview/files/vikeybindings.patch b/app-text/epdfview/files/vikeybindings.patch new file mode 100644 index 0000000..2e4b4d4 --- /dev/null +++ b/app-text/epdfview/files/vikeybindings.patch @@ -0,0 +1,42 @@ +Index: src/gtk/PageView.cxx +=================================================================== +--- src/gtk/PageView.cxx (revision 296) ++++ src/gtk/PageView.cxx (revision 300) +@@ -572,23 +572,37 @@ + { + case GDK_Left: + case GDK_KP_Left: ++ case GDK_h: + direction = GTK_SCROLL_STEP_LEFT; + horizontal = TRUE; + break; + + case GDK_Right: + case GDK_KP_Right: ++ case GDK_l: + horizontal = TRUE; + direction = GTK_SCROLL_STEP_RIGHT; + break; + + case GDK_Up: + case GDK_KP_Up: ++ case GDK_k: ++ if ( position == adjustment->lower ) ++ { ++ pter->scrollToPreviousPage (); ++ return TRUE; ++ } + direction = GTK_SCROLL_STEP_UP; + break; + + case GDK_Down: + case GDK_KP_Down: ++ case GDK_j: ++ if ( position == ( adjustment->upper - adjustment->page_size) ) ++ { ++ pter->scrollToNextPage (); ++ return TRUE; ++ } + direction = GTK_SCROLL_STEP_DOWN; + break; + diff --git a/games-engines/gemrb/files/GemRB.cfg.sample b/games-engines/gemrb/files/GemRB.cfg.sample new file mode 100644 index 0000000..cb8b9e4 --- /dev/null +++ b/games-engines/gemrb/files/GemRB.cfg.sample @@ -0,0 +1,228 @@ +##################################################### +# # +# This is the GemRB Configuration file. # +# Here are defined some default parameters for # +# basic configuration and paths definition. # +# # +# Parameters are defined as a Name=Value pair # +# The Value can be of three types: # +# - String # +# - Integer # +# - Boolean # +# # +# The String value is represented as follows # +# i.e. H:\GemRB\plugins # +# Integers are defined as follows # +# i.e. 12723 # +# Booleans are represented as 1 or 0 in this file # +# # +# Lines starting with # are ignored # +# # +##################################################### + +##################################################### +# # +# Game Type [String] Use one of the following # +# values: # +# # +# bg1 Baldur's Gate # +# bg2 Baldur's Gate 2 : SoA # +# tob Baldur's Gate 2 : ToB # +# iwd IceWind Dale # +# how IceWind Dale : HoW or ToTL # +# iwd2 IceWind Dale 2 # +# pst Planescape Torment # +# (More will come) # +# # +##################################################### + +GameType=bg2 + +##################################################### +# Game Name [String] Title for GemRB window, use # +# anything you wish, e.g. Baldur's Gate 3: RotFL # +##################################################### + +GameName=Baldur's Gate 2 + +##################################################### +# Video Parameters # +##################################################### + +#Screen width +Width=640 + +#Screen height +Height=480 + +#Bits per pixel [Integer:16,24,32] +Bpp=32 + +#Fullscreen [Boolean] +Fullscreen=1 + +# Delay before tooltips appear [milliseconds] +TooltipDelay=500 + +##################################################### +# Audio Parameters # +##################################################### +# # +# All volume options are in percents, with 100 # +# being the normal and default volume # +# # +##################################################### + +# Volume of ambient sounds +VolumeAmbients = 100 + +# Volume during movie playback +VolumeMovie = 100 + +# Volume of background music +VolumeMusic = 100 + +# Volume of sound effects +VolumeSFX = 100 + +# Volume of PC or NPC voices +VolumeVoices = 100 + +##################################################### +# Case Sensitive Filesystem [Boolean] # +# # +# If your installed game files are residing on a # +# case sensitive filesystem (ext2 on Linux) then # +# you need to set this value to 1, it has no # +# effect on Windows # +##################################################### + +CaseSensitive=1 + +#GameOnCD=0 + +##################################################### +# Debug # +##################################################### + +# Do not play intro videos [Boolean], useful for development +SkipIntroVideos=0 + +# Draw Frames per Second info [Boolean] +DrawFPS=0 + +# Hide unexplored parts of a map +FogOfWar=1 + +# Enable debug and cheat keystrokes, see docs/en/CheatKeys.txt +# full listing +EnableCheatKeys=0 + +##################################################### +# Paths # +##################################################### +# # +# Note: You have to terminate all paths with the # +# path separator character ('\' for Windows users, # +# '/' for Linux users) # +# # +##################################################### + +##################################################### +# Game Paths [String] # +# # +# These are the paths where the Game you want to # +# play is installed. # +# Enter the full path to the directory. # +##################################################### + +GamePath=/usr/local/share/games/bg2/ +CD1=/usr/local/share/games/bg2/ +CD2=/usr/local/share/games/bg2/ +CD3=/usr/local/share/games/bg2/ +CD4=/usr/local/share/games/bg2/ +CD5=/usr/local/share/games/bg2/ + +##################################################### +# GemRB Path [String] # +# # +# This is the path where GemRB is stored, just # +# enter the full path to the GemRB executable # +##################################################### + +GemRBPath=/usr/share/games/gemrb/ + +##################################################### +# GemRB Cache Path [String] # +# # +# This is the path where GemRB will store the # +# cached files, enter the full path to the GemRB # +# Cache directory. # +##################################################### + +CachePath=/var/cache/gemrb/ + +##################################################### +# GemRB GUI Scripts Path [String] # +# # +# This is the path where GemRB GUI scripts are # +# stored, usually these are in the GemRB directory # +# Enter the full path to the directory containing # +# the 'GUIScript' subdirectory. # +##################################################### + +GUIScriptsPath=/usr/share/games/gemrb/ + +##################################################### +# GemRB Plugins Path [String] # +# # +# This is the path containing GemRB plugins # +# - shared libraries (.so) on Unixes, or # +# DLLs (.dll) on windows. # +# Enter the full path to the directory. # +# # +# You may need to specify this path if running # +# GemRB from source directory on Linux. # +##################################################### + +PluginsPath=/usr/games/lib/gemrb/plugins/ + +##################################################### +# GemRB Save Path [String] # +# # +# This is the path where GemRB looks for saved # +# games. # +# Enter the full path to the directory containing # +# e.g. the 'save' subdirectory. # +# # +# You do not have to specify this if you use save # +# subdir in the GamePath directory. # +##################################################### + +SavePath=~/.bg2/ + +##################################################### +# Game Data Path [String] # +# # +# This is the subdirectory under GamePath where # +# game data files are stored. # +# # +# You probably do NOT want to specify this! # +##################################################### + +#GameDataPath=data + +##################################################### +# Game Data Override Path [String] # +# # +# This is the subdirectory under GamePath where # +# game data override files are stored. # +# # +# You probably do NOT want to specify this! # +##################################################### + +#GameOverridePath=override + +##################################################### +# END # +##################################################### diff --git a/games-engines/gemrb/files/digest-gemrb-0.2.9 b/games-engines/gemrb/files/digest-gemrb-0.2.9 new file mode 100644 index 0000000..7ed9405 --- /dev/null +++ b/games-engines/gemrb/files/digest-gemrb-0.2.9 @@ -0,0 +1,3 @@ +MD5 0dda8e19fe8ed4ce95497a774c1525c8 gemrb-0.2.9.tar.gz 1972265 +RMD160 8f9a5770cc7ee2455687dc34f3951c6c9b3b7a81 gemrb-0.2.9.tar.gz 1972265 +SHA256 0046f692d119026235d153e3e24ad995606479f463ec367551077516c98bcf57 gemrb-0.2.9.tar.gz 1972265 diff --git a/games-engines/gemrb/files/fix_endian.patch b/games-engines/gemrb/files/fix_endian.patch new file mode 100644 index 0000000..f7592a2 --- /dev/null +++ b/games-engines/gemrb/files/fix_endian.patch @@ -0,0 +1,32 @@ +--- gemrb/plugins/ACMImporter/readers.cpp 2007/11/02 15:43:25 4806 ++++ gemrb/plugins/ACMImporter/readers.cpp 2007/11/03 18:57:46 4807 +@@ -277,21 +277,21 @@ + inline void fix_endian(ieDword &dest) + { + unsigned char tmp; +- tmp=((unsigned char *) dest)[0]; +- ((unsigned char *) dest)[0]=((unsigned char *) dest)[3]; +- ((unsigned char *) dest)[3]=tmp; ++ tmp=((unsigned char *) &dest)[0]; ++ ((unsigned char *) &dest)[0]=((unsigned char *) &dest)[3]; ++ ((unsigned char *) &dest)[3]=tmp; + tmp=((unsigned char *) dest)[1]; +- ((unsigned char *) dest)[1]=((unsigned char *) dest)[2]; +- ((unsigned char *) dest)[2]=tmp; ++ ((unsigned char *) &dest)[1]=((unsigned char *) &dest)[2]; ++ ((unsigned char *) &dest)[2]=tmp; + + } + + inline void fix_endian(ieWord &dest) + { + unsigned char tmp; +- tmp=((unsigned char *) dest)[0]; +- ((unsigned char *) dest)[0]=((unsigned char *) dest)[1]; +- ((unsigned char *) dest)[1]=tmp; ++ tmp=((unsigned char *) &dest)[0]; ++ ((unsigned char *) &dest)[0]=((unsigned char *) &dest)[1]; ++ ((unsigned char *) &dest)[1]=tmp; + } + + int CWavPCMReader::init_reader() diff --git a/games-engines/gemrb/files/multiplecfgs.patch b/games-engines/gemrb/files/multiplecfgs.patch new file mode 100644 index 0000000..7aa16be --- /dev/null +++ b/games-engines/gemrb/files/multiplecfgs.patch @@ -0,0 +1,91 @@ +Index: gemrb/plugins/Core/Interface.cpp +=================================================================== +--- gemrb/plugins/Core/Interface.cpp (revision 5876) ++++ gemrb/plugins/Core/Interface.cpp (working copy) +@@ -1813,59 +1813,51 @@ + //if (!name[0]) // FIXME: could this happen? + // strcpy (name, PACKAGE); // ugly hack + +- // If we were called as $0 -c <filename>, load config from filename +- if (argc > 2 && ! strcmp("-c", argv[1])) { +- if (LoadConfig( argv[2] )) { +- return true; +- } else { +- // Explicitly specified cfg file HAS to be present +- return false; +- } +- } +- + // FIXME: temporary hack, to be deleted?? + if (LoadConfig( "GemRB.cfg" )) { + return true; + } + +- PathJoin( path, UserDir, name, NULL ); +- strcat( path, ".cfg" ); +- +- if (LoadConfig( path )) { +- return true; +- } +- ++ // Read gemrb.cfg + #ifdef SYSCONFDIR +- PathJoin( path, SYSCONFDIR, name, NULL ); ++ PathJoin( path, SYSCONFDIR, PACKAGE, NULL ); + strcat( path, ".cfg" ); + +- if (LoadConfig( path )) { +- return true; +- } ++ LoadConfig( path ); + #endif + +- // Don't try with default binary name if we have tried it already +- if (!strcmp( name, PACKAGE )) { +- return false; +- } +- + PathJoin( path, UserDir, PACKAGE, NULL ); + strcat( path, ".cfg" ); + +- if (LoadConfig( path )) { +- return true; +- } ++ LoadConfig( path ); + ++ // Read binary name config ++ // Don't try with default binary name if we have tried it already ++ if (strcmp( name, PACKAGE )) { + #ifdef SYSCONFDIR +- PathJoin( path, SYSCONFDIR, PACKAGE, NULL ); +- strcat( path, ".cfg" ); ++ PathJoin( path, SYSCONFDIR, name, NULL ); ++ strcat( path, ".cfg" ); + +- if (LoadConfig( path )) { +- return true; +- } ++ LoadConfig( path ); + #endif + +- return false; ++ PathJoin( path, UserDir, name, NULL ); ++ strcat( path, ".cfg" ); ++ LoadConfig( path ); ++ } ++ ++ // If we were called as $0 -c <filename>, load config from filename ++ if (argc > 2 && ! strcmp("-c", argv[1])) { ++ if (LoadConfig( argv[2] )) { ++ return true; ++ } else { ++ // Explicitly specified cfg file HAS to be present ++ return false; ++ } ++ } ++ ++ return true; ++ + #else // WIN32 + // If we were called as $0 -c <filename>, load config from filename + if (argc > 2 && ! strcmp("-c", argv[1])) { diff --git a/games-engines/gemrb/files/openal-fix.patch b/games-engines/gemrb/files/openal-fix.patch new file mode 100644 index 0000000..78d2101 --- /dev/null +++ b/games-engines/gemrb/files/openal-fix.patch @@ -0,0 +1,13 @@ +Index: configure.in +=================================================================== +--- configure.in (revision 5511) ++++ configure.in (working copy) +@@ -126,7 +126,7 @@ AM_PATH_SDL(1.2.0, [], [AC_MSG_ERROR([ + + dnl Check for OpenAL, fail if not found. + dnl Check for libSDL Version 1.2 or greater, fail if not found. +-AM_PATH_OPENAL([], [AC_MSG_ERROR([ ++AC_CHECK_HEADER(AL/al.h,,[AC_MSG_ERROR]([ + + *** You need OpenAL (www.openal.org) to compile GemRB + ])]) diff --git a/games-engines/gemrb/files/override-resolution.patch b/games-engines/gemrb/files/override-resolution.patch new file mode 100644 index 0000000..aa1447d --- /dev/null +++ b/games-engines/gemrb/files/override-resolution.patch @@ -0,0 +1,12 @@ +Index: gemrb/plugins/Core/Interface.cpp +=================================================================== +--- gemrb/plugins/Core/Interface.cpp (revision 5788) ++++ gemrb/plugins/Core/Interface.cpp (working copy) +@@ -1944,6 +1944,7 @@ + strncpy( GameDataPath, value, sizeof(GameDataPath) ); + } else if (stricmp( name, "GameOverridePath" ) == 0) { + strncpy( GameOverridePath, value, sizeof(GameOverridePath) ); ++ ResolveFilePath( GameOverridePath ); + } else if (stricmp( name, "GemRBOverridePath" ) == 0) { + strncpy( GemRBOverridePath, value, sizeof(GemRBOverridePath) ); + } else if (stricmp( name, "GameScriptsPath" ) == 0) { diff --git a/games-engines/gemrb/files/pstquitfix.patch b/games-engines/gemrb/files/pstquitfix.patch new file mode 100644 index 0000000..cb2a40c --- /dev/null +++ b/games-engines/gemrb/files/pstquitfix.patch @@ -0,0 +1,12 @@ +Index: gemrb/GUIScripts/pst/GUIOPT.py +=================================================================== +--- gemrb/GUIScripts/pst/GUIOPT.py (revision 5878) ++++ gemrb/GUIScripts/pst/GUIOPT.py (working copy) +@@ -590,7 +590,6 @@ + QuitMsgWindow.Unload () + QuitMsgWindow = None + GemRB.SetVar ("FloatWindow", -1) +- GemRB.GetVar.SetVisible (("OtherWindow"), 1) + + GemRB.UnhideGUI () + return diff --git a/games-engines/gemrb/gemrb-0.2.9.ebuild b/games-engines/gemrb/gemrb-0.2.9.ebuild new file mode 100644 index 0000000..82e199b --- /dev/null +++ b/games-engines/gemrb/gemrb-0.2.9.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils games + +DESCRIPTION="Reimplementation of the Infinity engine" +HOMEPAGE="http://gemrb.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="doc" + +DEPEND=">=media-libs/libsdl-1.2 + media-libs/openal + >=dev-lang/python-2.3" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/fix_endian.patch" # r4807 upstream + sed -i 's|\$(bindir)/plugins/|\$(libdir)/|' \ + Makefile.am || die "move plugindir failed" + sed -i 's|\$(bindir)/Cache|var/cache/gemrb|' \ + Makefile.am || die "move cache failed" + sed -i '/NullSound/d' \ + gemrb/plugins/Makefile.am || die "enable sound failed" + sed -i '/sysconf_DATA = GemRB.cfg.sample/d' \ + gemrb/Makefile.am || die "remove default config failed" + if ! use doc ; then + sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \ + gemrb/Makefile.am || die "don't install docs failed" + fi +} + +src_compile() { + eautoreconf || die "eautoreconf failed" + egamesconf \ + --docdir="/usr/share/doc/${PF}" \ + || die "egamesconf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + libtool --finish "${GAMES_LIBDIR}" + chgrp ${GAMES_GROUP} "${D}/var/cache/gemrb" + chmod g+w "${D}/var/cache/gemrb/" + prepgamesdirs + dodoc "${FILESDIR}/GemRB.cfg.sample" + dodoc README AUTHORS + prepalldocs +} diff --git a/games-engines/gemrb/gemrb-0.3.0.ebuild b/games-engines/gemrb/gemrb-0.3.0.ebuild new file mode 100644 index 0000000..463c913 --- /dev/null +++ b/games-engines/gemrb/gemrb-0.3.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils games + +DESCRIPTION="Reimplementation of the Infinity engine" +HOMEPAGE="http://gemrb.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +DEPEND=">=media-libs/libsdl-1.2 + media-libs/openal + >=dev-lang/python-2.3" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i 's|\$(bindir)/plugins/|\$(libdir)/|' \ + Makefile.am || die "move plugindir failed" + sed -i '/NullSound/d' \ + gemrb/plugins/Makefile.am || die "enable sound failed" + sed -i '/sysconf_DATA = GemRB.cfg.sample GemRB.cfg.subdir.sample/d' \ + gemrb/Makefile.am || die "remove default config failed" + if ! use doc ; then + sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \ + gemrb/Makefile.am || die "don't install docs failed" + fi + eautoreconf || die "eautoreconf failed" +} + +src_compile() { + egamesconf \ + --docdir="/usr/share/doc/${PF}" \ + || die "egamesconf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + libtool --finish "${GAMES_LIBDIR}" + diropts -m0775 -g ${GAMES_GROUP} + keepdir "/var/cache/gemrb" + dodoc "${FILESDIR}/GemRB.cfg.sample" + dodoc README AUTHORS + prepgamesdirs +} diff --git a/games-engines/gemrb/gemrb-0.3.1.ebuild b/games-engines/gemrb/gemrb-0.3.1.ebuild new file mode 100644 index 0000000..d70ae34 --- /dev/null +++ b/games-engines/gemrb/gemrb-0.3.1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils games + +DESCRIPTION="Reimplementation of the Infinity engine" +HOMEPAGE="http://gemrb.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +DEPEND=">=media-libs/libsdl-1.2 + media-libs/openal + >=dev-lang/python-2.3" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i 's/AM_PATH_OPENAL(\[\], /AC_CHECK_HEADER(AL\/al.h,,/' \ + configure.in || die "fix openal detection failed" + sed -i "s/OPENAL_LIBS=\"\`openal-config --libs\`\"/OPENAL_LIBS=\"-lopenal\"/" \ + configure.in || die "fix openal detection failed" + sed -i 's|\$(bindir)/plugins/|\$(libdir)/|' \ + Makefile.am || die "move plugindir failed" + sed -i '/sysconf_DATA = GemRB.cfg.sample GemRB.cfg.subdir.sample/d' \ + gemrb/Makefile.am || die "remove default config failed" + if ! use doc ; then + sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \ + gemrb/Makefile.am || die "don't install docs failed" + fi + eautoreconf || die "eautoreconf failed" +} + +src_compile() { + egamesconf \ + --docdir="/usr/share/doc/${PF}" \ + || die "egamesconf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + libtool --finish "${GAMES_LIBDIR}" + diropts -m0775 -g ${GAMES_GROUP} + keepdir "/var/cache/gemrb" + dodoc "${FILESDIR}/GemRB.cfg.sample" + dodoc README AUTHORS + prepgamesdirs +} diff --git a/games-engines/gemrb/gemrb-0.3.2.ebuild b/games-engines/gemrb/gemrb-0.3.2.ebuild new file mode 100644 index 0000000..7a600f2 --- /dev/null +++ b/games-engines/gemrb/gemrb-0.3.2.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils games + +DESCRIPTION="Reimplementation of the Infinity engine" +HOMEPAGE="http://gemrb.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +DEPEND=">=media-libs/libsdl-1.2 + media-libs/openal + >=dev-lang/python-2.3" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i '/sysconf_DATA = GemRB.cfg.sample GemRB.cfg.subdir.sample/d' \ + gemrb/Makefile.am || die "remove default config failed" + if ! use doc ; then + sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \ + gemrb/Makefile.am || die "don't install docs failed" + fi + epatch "${FILESDIR}/override-resolution.patch" # resolve override dir + epatch "${FILESDIR}/multiplecfgs.patch" # allow multiple cfg files + epatch "${FILESDIR}/pstquitfix.patch" # fix fatal pst guiscript bug + eautoreconf || die "eautoreconf failed" +} + +src_compile() { + egamesconf \ + --docdir="/usr/share/doc/${PF}" \ + || die "egamesconf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + libtool --finish "${GAMES_LIBDIR}" + diropts -m0775 -g ${GAMES_GROUP} + keepdir "/var/cache/gemrb" + dodoc "${FILESDIR}/GemRB.cfg.sample" + dodoc README AUTHORS + prepgamesdirs +} diff --git a/games-engines/gemrb/gemrb-0.4.0.ebuild b/games-engines/gemrb/gemrb-0.4.0.ebuild new file mode 100644 index 0000000..e84e431 --- /dev/null +++ b/games-engines/gemrb/gemrb-0.4.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils games + +DESCRIPTION="Reimplementation of the Infinity engine" +HOMEPAGE="http://gemrb.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +DEPEND=">=media-libs/libsdl-1.2 + media-libs/openal + >=dev-lang/python-2.3" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i '/sysconf_DATA = GemRB.cfg.sample GemRB.cfg.subdir.sample/d' \ + gemrb/Makefile.am || die "remove default config failed" + if ! use doc ; then + sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \ + gemrb/Makefile.am || die "don't install docs failed" + fi + eautoreconf || die "eautoreconf failed" +} + +src_compile() { + egamesconf \ + --docdir="/usr/share/doc/${PF}" \ + || die "egamesconf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + libtool --finish "${GAMES_LIBDIR}" + diropts -m0775 -g ${GAMES_GROUP} + keepdir "/var/cache/gemrb" + dodoc "${FILESDIR}/GemRB.cfg.sample" + dodoc README AUTHORS + prepgamesdirs +} diff --git a/games-engines/gemrb/gemrb-9999.ebuild b/games-engines/gemrb/gemrb-9999.ebuild new file mode 100644 index 0000000..7283c05 --- /dev/null +++ b/games-engines/gemrb/gemrb-9999.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils games subversion + +DESCRIPTION="Reimplementation of the Infinity engine" +HOMEPAGE="http://gemrb.sourceforge.net/" +#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +ESVN_REPO_URI="https://gemrb.svn.sourceforge.net/svnroot/gemrb/gemrb/trunk" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="doc" + +DEPEND=">=media-libs/libsdl-1.2 + media-libs/openal + >=dev-lang/python-2.3" +RDEPEND="${DEPEND}" + +src_unpack() { + subversion_src_unpack ${A} + cd "${S}" + sed -i 's|\$(bindir)/plugins/|\$(libdir)/|' \ + Makefile.am || die "move plugindir failed" + sed -i '/NullSound/d' \ + gemrb/plugins/Makefile.am || die "enable sound failed" + sed -i '/sysconf_DATA = GemRB.cfg.sample GemRB.cfg.subdir.sample/d' \ + gemrb/Makefile.am || die "remove default config failed" + if ! use doc ; then + sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \ + gemrb/Makefile.am || die "don't install docs failed" + fi + eautoreconf || die "eautoreconf failed" +} + +src_compile() { + egamesconf \ + --docdir="/usr/share/doc/${PF}" \ + || die "egamesconf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + libtool --finish "${GAMES_LIBDIR}" + diropts -m0775 -g ${GAMES_GROUP} + keepdir "/var/cache/gemrb" + dodoc "${FILESDIR}/GemRB.cfg.sample" + dodoc README AUTHORS + prepgamesdirs +} diff --git a/media-sound/goldenpod/goldenpod-0.6.ebuild b/media-sound/goldenpod/goldenpod-0.6.ebuild new file mode 100644 index 0000000..43b4d00 --- /dev/null +++ b/media-sound/goldenpod/goldenpod-0.6.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="A simple podcast aggregator written in Perl" +HOMEPAGE="http://savannah.nongnu.org/goldenpod/" +SRC_URI="http://savannah.nongnu.org/download/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="gtk2" + +RDEPEND="gtk2? ( dev-perl/gtk-perl ) + dev-lang/perl + net-misc/curl" + +src_install() { + dodoc AUTHORS COPYING NEWS README TODO + dobin goldenpod + if use gtk2; then + dobin gpconf + fi + doman goldenpod.1 +} diff --git a/media-video/ffmpeg2theora/ffmpeg2theora-0.24.ebuild b/media-video/ffmpeg2theora/ffmpeg2theora-0.24.ebuild new file mode 100644 index 0000000..afecff9 --- /dev/null +++ b/media-video/ffmpeg2theora/ffmpeg2theora-0.24.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg2theora/ffmpeg2theora-0.24.ebuild,v 1.1 2009/03/31 21:26:12 patrick Exp $ + +EAPI="2" + +inherit eutils + +DESCRIPTION="A simple converter to create Ogg Theora files." +HOMEPAGE="http://www.v2v.cc/~j/ffmpeg2theora/index.html" +SRC_URI="http://www.v2v.cc/~j/ffmpeg2theora/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="kate" + +RDEPEND=" + || ( <media-video/ffmpeg-9999[vhook] + >=media-video/ffmpeg-9999 ) + >=media-libs/libvorbis-1.1 + >=media-libs/libogg-1.1 + >=media-libs/libtheora-1.0_beta1[encode] + kate? ( media-libs/libkate )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=dev-util/scons-1.0.0" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/libkate.patch" +} + +src_compile() { + myconf="" + use kate || myconf="${myconf} libkate=no" + scons APPEND_CFLAGS="${CFLAGS}" APPEND_LINKFLAGS="${LDFLAGS}" ${myconf} || die "scons failed" +} + +src_install() { + scons destdir="${D}" prefix=/usr mandir=PREFIX/share/man ${myconf} install || die "install failed" + dodoc AUTHORS ChangeLog README TODO || die +} diff --git a/media-video/ffmpeg2theora/files/libkate.ebuild.patch b/media-video/ffmpeg2theora/files/libkate.ebuild.patch new file mode 100644 index 0000000..1c92aa2 --- /dev/null +++ b/media-video/ffmpeg2theora/files/libkate.ebuild.patch @@ -0,0 +1,39 @@ +--- ffmpeg2theora-0.24.ebuild 2009-04-05 09:08:24.000000000 +0100 ++++ ffmpeg2theora-0.24.ebuild 2009-05-27 11:24:13.000000000 +0100 +@@ -13,7 +13,7 @@ SRC_URI="http://www.v2v.cc/~j/ffmpeg2the + LICENSE="GPL-2" + SLOT="0" + KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +-IUSE="" ++IUSE="kate" + + RDEPEND=" + || ( <media-video/ffmpeg-9999[vhook] +@@ -21,16 +21,24 @@ RDEPEND=" + >=media-libs/libvorbis-1.1 + >=media-libs/libogg-1.1 + >=media-libs/libtheora-1.0_beta1[encode] +- media-libs/libkate" ++ kate? ( media-libs/libkate )" + DEPEND="${RDEPEND} + dev-util/pkgconfig + >=dev-util/scons-1.0.0" + ++src_unpack() { ++ unpack ${A} ++ cd "${S}" ++ epatch "${FILESDIR}/libkate.patch" ++} ++ + src_compile() { +- scons APPEND_CFLAGS="${CFLAGS}" APPEND_LINKFLAGS="${LDFLAGS}" || die "scons failed" ++ myconf="" ++ use kate || myconf="${myconf} libkate=no" ++ scons APPEND_CFLAGS="${CFLAGS}" APPEND_LINKFLAGS="${LDFLAGS}" ${myconf} || die "scons failed" + } + + src_install() { +- scons destdir="${D}" prefix=/usr mandir=PREFIX/share/man install || die "install failed" ++ scons destdir="${D}" prefix=/usr mandir=PREFIX/share/man ${myconf} install || die "install failed" + dodoc AUTHORS ChangeLog README TODO || die + } diff --git a/media-video/ffmpeg2theora/files/libkate.patch b/media-video/ffmpeg2theora/files/libkate.patch new file mode 100644 index 0000000..0dcb0e1 --- /dev/null +++ b/media-video/ffmpeg2theora/files/libkate.patch @@ -0,0 +1,44 @@ +--- SConstruct 2009-05-27 10:38:45.594552002 +0100 ++++ SConstruct 2009-05-27 10:41:13.091260241 +0100 +@@ -29,6 +29,7 @@ opts.AddOptions( + ('destdir', 'extra install time prefix', ''), + ('APPEND_CCFLAGS', 'Additional C/C++ compiler flags'), + ('APPEND_LINKFLAGS', 'Additional linker flags'), ++ BoolOption('libkate', 'enable libkate support', 1), + BoolOption('crossmingw', 'Set to 1 for crosscompile with mingw', 0) + ) + env = Environment(options = opts) +@@ -134,19 +135,20 @@ if conf.CheckCHeader('libavformat/frameh + ]) + + KATE_LIBS="oggkate" +-if os.path.exists("./libkate/misc/pkgconfig"): +- os.environ['PKG_CONFIG_PATH'] = "./libkate/misc/pkgconfig:" + os.environ.get('PKG_CONFIG_PATH', '') +-if os.path.exists("./libkate/pkg/pkgconfig"): +- os.environ['PKG_CONFIG_PATH'] = "./libkate/pkg/pkgconfig:" + os.environ.get('PKG_CONFIG_PATH', '') +-if conf.CheckPKG(KATE_LIBS): +- ParsePKGConfig(env, KATE_LIBS) +- env.Append(CCFLAGS=['-DHAVE_KATE', '-DHAVE_OGGKATE']) +-else: +- print """ +- Could not find libkate. Subtitles support will be disabled. +- You can also run ./get_libkate.sh (for more information see INSTALL) +- or update PKG_CONFIG_PATH to point to libkate's source folder +- """ ++if env['libkate']: ++ if os.path.exists("./libkate/misc/pkgconfig"): ++ os.environ['PKG_CONFIG_PATH'] = "./libkate/misc/pkgconfig:" + os.environ.get('PKG_CONFIG_PATH', '') ++ if os.path.exists("./libkate/pkg/pkgconfig"): ++ os.environ['PKG_CONFIG_PATH'] = "./libkate/pkg/pkgconfig:" + os.environ.get('PKG_CONFIG_PATH', '') ++ if conf.CheckPKG(KATE_LIBS): ++ ParsePKGConfig(env, KATE_LIBS) ++ env.Append(CCFLAGS=['-DHAVE_KATE', '-DHAVE_OGGKATE']) ++ else: ++ print """ ++ Could not find libkate. Subtitles support will be disabled. ++ You can also run ./get_libkate.sh (for more information see INSTALL) ++ or update PKG_CONFIG_PATH to point to libkate's source folder ++ """ + env = conf.Finish() + + # ffmpeg2theora diff --git a/net-misc/getht/getht-0.0.2.ebuild b/net-misc/getht/getht-0.0.2.ebuild new file mode 100644 index 0000000..7c30c2b --- /dev/null +++ b/net-misc/getht/getht-0.0.2.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools + +DESCRIPTION="A free application to download issues of Hinduism Today" +HOMEPAGE="http://www.nongnu.org/getht/" +SRC_URI="http://download.savannah.gnu.org/releases/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~x86" +IUSE="" + +DEPEND="dev-libs/libxml2 + >=net-misc/curl-7.7.2" +RDEPEND="${DEPEND}" + +src_install() { + emake DESTDIR="${D}" install || die "install failed" +} diff --git a/net-misc/getht/getht-0.1.ebuild b/net-misc/getht/getht-0.1.ebuild new file mode 100644 index 0000000..7c30c2b --- /dev/null +++ b/net-misc/getht/getht-0.1.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools + +DESCRIPTION="A free application to download issues of Hinduism Today" +HOMEPAGE="http://www.nongnu.org/getht/" +SRC_URI="http://download.savannah.gnu.org/releases/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~x86" +IUSE="" + +DEPEND="dev-libs/libxml2 + >=net-misc/curl-7.7.2" +RDEPEND="${DEPEND}" + +src_install() { + emake DESTDIR="${D}" install || die "install failed" +} diff --git a/profiles/repo_name b/profiles/repo_name new file mode 100644 index 0000000..f4e1084 --- /dev/null +++ b/profiles/repo_name @@ -0,0 +1 @@ +x-njw-gentoo-local diff --git a/sys-kernel/libre-sources/libre-sources-2.6.29.3.ebuild b/sys-kernel/libre-sources/libre-sources-2.6.29.3.ebuild new file mode 100644 index 0000000..6968b1c --- /dev/null +++ b/sys-kernel/libre-sources/libre-sources-2.6.29.3.ebuild @@ -0,0 +1,30 @@ +K_SECURITY_UNSUPPORTED="1" +ETYPE="sources" +inherit kernel-2 +detect_version + +DESCRIPTION="Full sources for the BLOB free version of the Linux kernel" +HOMEPAGE="http://www.fsfla.org/svnwiki/selibre/linux-libre/" +SRC_URI="http://www.linux-libre.fsfla.org/pub/linux-libre/releases/${PV}-libre/linux-${PV}-libre.tar.bz2" + +KEYWORDS="~amd64 x86" + +# use our own unpack function as tarball is laid out differently +universal_unpack() { + cd ${WORKDIR} + unpack linux-${KV_FULL}.tar.bz2 + S=${WORKDIR}/linux-${KV_FULL} + mv ${WORKDIR}/linux-${PV} ${WORKDIR}/linux-${KV_FULL} \ + || die "Unable to move source tree to ${KV_FULL}." + cd ${S} + + # remove all backup files + find . -iname "*~" -exec rm {} \; 2> /dev/null +} + +src_unpack() { + # patches included in tarball + UNIPATCH_LIST_DEFAULT="" + + kernel-2_src_unpack +} diff --git a/sys-kernel/libre-sources/libre-sources-2.6.29.4.ebuild b/sys-kernel/libre-sources/libre-sources-2.6.29.4.ebuild new file mode 100644 index 0000000..6968b1c --- /dev/null +++ b/sys-kernel/libre-sources/libre-sources-2.6.29.4.ebuild @@ -0,0 +1,30 @@ +K_SECURITY_UNSUPPORTED="1" +ETYPE="sources" +inherit kernel-2 +detect_version + +DESCRIPTION="Full sources for the BLOB free version of the Linux kernel" +HOMEPAGE="http://www.fsfla.org/svnwiki/selibre/linux-libre/" +SRC_URI="http://www.linux-libre.fsfla.org/pub/linux-libre/releases/${PV}-libre/linux-${PV}-libre.tar.bz2" + +KEYWORDS="~amd64 x86" + +# use our own unpack function as tarball is laid out differently +universal_unpack() { + cd ${WORKDIR} + unpack linux-${KV_FULL}.tar.bz2 + S=${WORKDIR}/linux-${KV_FULL} + mv ${WORKDIR}/linux-${PV} ${WORKDIR}/linux-${KV_FULL} \ + || die "Unable to move source tree to ${KV_FULL}." + cd ${S} + + # remove all backup files + find . -iname "*~" -exec rm {} \; 2> /dev/null +} + +src_unpack() { + # patches included in tarball + UNIPATCH_LIST_DEFAULT="" + + kernel-2_src_unpack +} diff --git a/sys-kernel/libregentoo-sources/libregentoo-sources-2.6.29.4.ebuild b/sys-kernel/libregentoo-sources/libregentoo-sources-2.6.29.4.ebuild new file mode 100644 index 0000000..95e1f81 --- /dev/null +++ b/sys-kernel/libregentoo-sources/libregentoo-sources-2.6.29.4.ebuild @@ -0,0 +1,46 @@ +K_SECURITY_UNSUPPORTED="1" +ETYPE="sources" +K_WANT_GENPATCHES="base extras" +K_GENPATCHES_VER="6" +inherit kernel-2 +detect_version + +LIBRE_URI_BASE="http://www.linux-libre.fsfla.org/pub/linux-libre/releases/${PV}-libre" +DEBLOB_CHECK="deblob-check" + +DESCRIPTION="Full sources for the BLOB free version of the Linux kernel" +HOMEPAGE="http://www.fsfla.org/svnwiki/selibre/linux-libre/" +SRC_URI="${LIBRE_URI_BASE}/linux-${PV}-libre.tar.bz2 ${LIBRE_URI_BASE}/${DEBLOB_CHECK} ${GENPATCHES_URI}" + +KEYWORDS="~amd64 x86" + +# use our own unpack function as tarball is laid out differently +universal_unpack() { + cd ${WORKDIR} + #unpack linux-${KV_FULL}.tar.bz2 + unpack linux-2.6.29.4-libre.tar.bz2 + S=${WORKDIR}/linux-${KV_FULL} + mv ${WORKDIR}/linux-${PV} ${WORKDIR}/linux-${KV_FULL} \ + || die "Unable to move source tree to ${KV_FULL}." + cd ${S} + + # remove all backup files + find . -iname "*~" -exec rm {} \; 2> /dev/null +} + +src_unpack() { + # patches included in tarball + UNIPATCH_LIST_DEFAULT="" + + echo "Checking patches are clean of blobs" + chmod +x "${DISTDIR}/${DEBLOB_CHECK}" + sh ${DISTDIR}/${DEBLOB_CHECK} ${UNIPATCH_LIST_GENPATCHES} + if [ $? -ne 0 ]; then + echo "Warning: gentoo patches appear to contain blobs," + echo "please report to bugs.gentoo.org/266157" + echo "Disabling gentoo patches for now" + UNIPATCH_LIST_GENPATCHES="" + fi + + kernel-2_src_unpack +} diff --git a/www-client/icecat/files/gentoo-default-prefs.js b/www-client/icecat/files/gentoo-default-prefs.js new file mode 100644 index 0000000..5c4a653 --- /dev/null +++ b/www-client/icecat/files/gentoo-default-prefs.js @@ -0,0 +1,12 @@ +pref("app.update.enabled", false); +pref("app.update.autoInstallEnabled", false); +pref("browser.display.use_system_colors", true); +pref("browser.link.open_external", 3); +pref("general.smoothScroll", true); +pref("general.autoScroll", false); +pref("browser.tabs.tabMinWidth", 15); +pref("browser.backspace_action", 0); +pref("browser.urlbar.hideGoButton", true); +pref("accessibility.typeaheadfind", true); +pref("browser.shell.checkDefaultBrowser", false); +pref("browser.EULA.override", true); diff --git a/www-client/icecat/files/icon/icecat-3.0.desktop b/www-client/icecat/files/icon/icecat-3.0.desktop new file mode 100644 index 0000000..7d38f16 --- /dev/null +++ b/www-client/icecat/files/icon/icecat-3.0.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=GNU IceCat +Comment=Web Browser +Exec=/usr/bin/icecat %U +Icon=icecat-icon +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml; +Categories=Network;WebBrowser; diff --git a/www-client/icecat/icecat-3.0.10_p1.ebuild b/www-client/icecat/icecat-3.0.10_p1.ebuild new file mode 100644 index 0000000..89831fe --- /dev/null +++ b/www-client/icecat/icecat-3.0.10_p1.ebuild @@ -0,0 +1,295 @@ +# ========================================================================== +# This ebuild come from sping repository. Zugaina.org only host a copy. +# For more info go to http://gentoo.zugaina.org/ +# ************************ General Portage Overlay ************************ +# ========================================================================== +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ +EAPI="1" +WANT_AUTOCONF="2.1" + +inherit flag-o-matic toolchain-funcs eutils mozconfig-3 makeedit multilib fdo-mime autotools mozextension versionator + +LANGS="af ar be bg bn-IN ca cs cy da de el en-GB en-US eo es-AR es-ES et eu fi fr fy-NL ga-IE gl gu-IN he hi-IN hu id is it ja ka kn ko ku lt lv mk mn mr nb-NO nl nn-NO oc pa-IN pl pt-BR pt-PT ro ru si sk sl sq sr sv-SE te th tr uk zh-CN zh-TW" +NOSHORTLANGS="en-GB es-AR pt-BR zh-CN" + +MY_PV=${PV/_p/-g} +MY_P="${PN}-${MY_PV}" +XUL_PV="1.9.$(get_version_component_range 2-3)" +FIREFOX_PV=$(get_version_component_range 1-3) +FIREFOX_PN="mozilla-firefox" +FIREFOX_P="${FIREFOX_PN}-${FIREFOX_PV}" +PATCH="${FIREFOX_P}-patches-0.1" + +DESCRIPTION="GNU project's edition of Mozilla Firefox" +HOMEPAGE="http://www.gnu.org/software/gnuzilla/" + +KEYWORDS="~x86" +SLOT="0" +LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )" +IUSE="java mozdevelop restrict-javascript" + +SRC_URI="mirror://gnu/gnuzilla/${MY_PV}/${MY_P}.tar.bz2 + mirror://gentoo/${PATCH}.tar.bz2 + http://dev.gentoo.org/~armin76/dist/${PATCH}.tar.bz2" + +# These are in +# +# http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/linux-i686/xpi/ +# +# for i in $LANGS $SHORTLANGS; do wget $i.xpi -O ${P}-$i.xpi; done +for X in ${LANGS} ; do + if [ "${X}" != "en" ] && [ "${X}" != "en-US" ]; then + SRC_URI="${SRC_URI} + linguas_${X/-/_}? ( http://dev.gentoo.org/~armin76/dist/${FIREFOX_P}-xpi/${FIREFOX_P}-${X}.xpi )" + fi + IUSE="${IUSE} linguas_${X/-/_}" + # english is handled internally + if [ "${#X}" == 5 ] && ! has ${X} ${NOSHORTLANGS}; then + if [ "${X}" != "en-US" ]; then + SRC_URI="${SRC_URI} + linguas_${X%%-*}? ( http://dev.gentoo.org/~armin76/dist/${FIREFOX_P}-xpi/${FIREFOX_P}-${X}.xpi )" + fi + IUSE="${IUSE} linguas_${X%%-*}" + fi +done + +RDEPEND="java? ( virtual/jre ) + >=sys-devel/binutils-2.16.1 + >=dev-libs/nss-3.12.2 + >=dev-libs/nspr-4.7.3 + >=app-text/hunspell-1.1.9 + >=media-libs/lcms-1.17 + >=net-libs/xulrunner-${XUL_PV}" + +DEPEND="${RDEPEND} + dev-util/pkgconfig + java? ( >=dev-java/java-config-0.2.0 )" + +PDEPEND="restrict-javascript? ( x11-plugins/noscript )" + +S="${WORKDIR}/${MY_P}" + +# Needed by src_compile() and src_install(). +# Would do in pkg_setup but that loses the export attribute, they +# become pure shell variables. +export MOZ_CO_PROJECT=browser +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 + +linguas() { + local LANG SLANG + for LANG in ${LINGUAS}; do + if has ${LANG} en en_US; then + has en ${linguas} || linguas="${linguas:+"${linguas} "}en" + continue + elif has ${LANG} ${LANGS//-/_}; then + has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}" + continue + elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then + for X in ${LANGS}; do + if [[ "${X}" == "${LANG}-"* ]] && \ + [[ " ${NOSHORTLANGS} " != *" ${X} "* ]]; then + has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}" + continue 2 + fi + done + fi + ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA" + done +} + +pkg_setup(){ + if ! built_with_use x11-libs/cairo X; then + eerror "Cairo is not built with X useflag." + eerror "Please add 'X' to your USE flags, and re-emerge cairo." + die "Cairo needs X" + fi + + if ! built_with_use --missing true x11-libs/pango X; then + eerror "Pango is not built with X useflag." + eerror "Please add 'X' to your USE flags, and re-emerge pango." + die "Pango needs X" + fi +} + +src_unpack() { + unpack ${A} + + linguas + for X in ${linguas}; do + [[ ${X} != "en" ]] && xpi_unpack "${FIREFOX_P}-${X}.xpi" + done + if [[ ${linguas} != "" && ${linguas} != "en" ]]; then + einfo "Selected language packs (first will be default): ${linguas}" + fi + + # Remove the patches we don't need + rm "${WORKDIR}"/patch/*noxul* + + # Integrate rebranding + sed -i "s|/mozilla-firefox|/icecat|" "${WORKDIR}"/patch/001-firefox_gentoo_install_dirs.patch || die "sed failed" + + # Apply our patches + cd "${S}" || die "cd failed" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patch + + # Fix rebranding + sed -i 's|\$(DIST)/bin/firefox|\$(DIST)/bin/icecat|' browser/app/Makefile.in || die "sed failed" + + # Use system's, not embedded xulrunner + sed -i 's|defaults/pref/|defaults/preferences/|' browser/installer/packages-static || die "sed failed" + + eautoreconf + + # We need to re-patch this because autoreconf overwrites it + epatch "${WORKDIR}"/patch/000_flex-configure-LANG.patch +} + +icecat_mozconfig_final() { + declare exts="default "`grep --color=never '^ac_add_options --enable-extensions=' .mozconfig \ + | sed -e 's/^ac_add_options --enable-extensions=//' \ + -e 's/#.*$//' \ + -e 's/"//g' \ + -e 's/,/ /g' \ + -e 's/default//' \ + | awk '{ printf "%s ", $0 }'` + sed -i '/^ac_add_options --enable-extensions/d' .mozconfig + echo "ac_add_options --enable-extensions=\"${exts}\"" >> .mozconfig +} + +patch_mozconfig() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + MEXTENSIONS="default,typeaheadfind,-python/xpcom" + + #################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + #################################### + + mozconfig_init + mozconfig_config + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" + mozconfig_annotate '' --disable-mailnews + mozconfig_annotate 'broken' --disable-mochitest + mozconfig_annotate 'broken' --disable-crashreporter + mozconfig_annotate '' --enable-system-hunspell + #mozconfig_annotate '' --enable-system-sqlite + mozconfig_annotate '' --enable-image-encoder=all + mozconfig_annotate '' --enable-canvas + mozconfig_annotate '' --with-system-nspr + mozconfig_annotate '' --with-system-nss + mozconfig_annotate '' --enable-system-lcms + mozconfig_annotate '' --enable-oji --enable-mathml + mozconfig_annotate 'places' --enable-storage --enable-places + + # Other ff-specific settings + #mozconfig_use_enable mozdevelop jsd + #mozconfig_use_enable mozdevelop xpctools + mozconfig_use_extension mozdevelop venkman + mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME} + + # Add xulrunner variable + mozconfig_annotate '' --with-libxul-sdk=/usr/$(get_libdir)/xulrunner-1.9 + + # Finalize and report settings + icecat_mozconfig_final +} + +src_compile() { + cp .mozconfig{,backup} + patch_mozconfig + + if [[ $(gcc-major-version) -lt 4 ]]; then + append-cxxflags -fno-stack-protector + fi + + #################################### + # + # Configure and build + # + #################################### + + CPPFLAGS="${CPPFLAGS} -DARON_WAS_HERE" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \ + econf || die + + # It would be great if we could pass these in via CPPFLAGS or CFLAGS prior + # to econf, but the quotes cause configure to fail. + sed -i -e \ + 's|-DARON_WAS_HERE|-DGENTOO_NSPLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsplugins\\\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsbrowser/plugins\\\"|' \ + "${S}"/config/autoconf.mk \ + "${S}"/toolkit/content/buildconfig.html + + # Should the build use multiprocessing? Not enabled by default, as it tends to break + [ "${WANT_MP}" = "true" ] && jobs=${MAKEOPTS} || jobs="-j1" + emake ${jobs} || die +} + +pkg_preinst() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + einfo "Removing old installs with some really ugly code. It potentially" + einfo "eliminates any problems during the install, however suggestions to" + einfo "replace this are highly welcome. Send comments and suggestions to" + einfo "mozilla@gentoo.org." + rm -rf "${ROOT}"${MOZILLA_FIVE_HOME} +} + +src_install() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + declare prefs=preferences + + emake DESTDIR="${D}" install || die "emake install failed" + rm "${D}"/usr/bin/icecat + + linguas + for X in ${linguas}; do + [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${FIREFOX_P}-${X}" + done + + cp "${FILESDIR}"/gentoo-default-prefs.js "${D}"${MOZILLA_FIVE_HOME}/defaults/${prefs}/all-gentoo.js || die "cp failed" + + local LANG=${linguas%% *} + if [[ -n ${LANG} && ${LANG} != "en" ]]; then + elog "Setting default locale to ${LANG}" + dosed -e "s:general.useragent.locale\", \"en-US\":general.useragent.locale\", \"${LANG}\":" \ + ${MOZILLA_FIVE_HOME}/defaults/${prefs}/firefox.js \ + ${MOZILLA_FIVE_HOME}/defaults/${prefs}/firefox-l10n.js || \ + die "sed failed to change locale" + fi + + # Install icon and .desktop for menu entry + newicon "${S}"/browser/branding/unofficial/content/default.png icecat-icon.png || die "newicon failed" + newmenu "${FILESDIR}"/icon/icecat-3.0.desktop icecat-3.0.desktop || die "newmenu failed" + + # Create /usr/bin/icecat + cat <<EOF >"${D}"/usr/bin/icecat +#!/bin/sh +export LD_LIBRARY_PATH="${MOZILLA_FIVE_HOME}" +exec "${MOZILLA_FIVE_HOME}"/icecat "\$@" +EOF + fperms 0755 /usr/bin/icecat +} + +pkg_postinst() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + ewarn "All the packages built against ${PN} won't compile," + ewarn "if after installing ${PN} 3.0 you get some blockers," + ewarn "please add 'xulrunner' to your USE-flags." + + ln -s /usr/$(get_libdir)/xulrunner-1.9/defaults/autoconfig \ + ${MOZILLA_FIVE_HOME}/defaults/autoconfig + + # Update mimedb for the new .desktop file + fdo-mime_desktop_database_update +} |