diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2008-06-13 20:29:15 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2008-06-13 20:29:15 +0000 |
commit | eb1fc7129d67a3139984c46122aaf4c138143fd3 (patch) | |
tree | 96cdb723b02fedb4ff7a13e2cabb7cc1ae625c6e /dev-libs/libffi | |
parent | Stable on alpha, bug #225949 (diff) | |
download | historical-eb1fc7129d67a3139984c46122aaf4c138143fd3.tar.gz historical-eb1fc7129d67a3139984c46122aaf4c138143fd3.tar.bz2 historical-eb1fc7129d67a3139984c46122aaf4c138143fd3.zip |
Version bump for testing wrt #163724, thanks to Marijn Schouten. Remove old versions which came from GCC 3.4.x.
Package-Manager: portage-2.1.5.4
Diffstat (limited to 'dev-libs/libffi')
-rw-r--r-- | dev-libs/libffi/ChangeLog | 11 | ||||
-rw-r--r-- | dev-libs/libffi/Manifest | 11 | ||||
-rw-r--r-- | dev-libs/libffi/files/libffi-soversion.dpatch | 61 | ||||
-rw-r--r-- | dev-libs/libffi/files/libffi-without-libgcj.dpatch | 67 | ||||
-rw-r--r-- | dev-libs/libffi/libffi-3.0.5.ebuild | 26 | ||||
-rw-r--r-- | dev-libs/libffi/libffi-3.4.1-r1.ebuild | 209 | ||||
-rw-r--r-- | dev-libs/libffi/libffi-3.4.1.ebuild | 235 | ||||
-rw-r--r-- | dev-libs/libffi/libffi-3.4.3.ebuild | 208 |
8 files changed, 39 insertions, 789 deletions
diff --git a/dev-libs/libffi/ChangeLog b/dev-libs/libffi/ChangeLog index 583c8e39f6bd..78b795063452 100644 --- a/dev-libs/libffi/ChangeLog +++ b/dev-libs/libffi/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-libs/libffi # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/ChangeLog,v 1.52 2008/06/03 02:16:24 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/ChangeLog,v 1.53 2008/06/13 20:29:14 drac Exp $ + +*libffi-3.0.5 (13 Jun 2008) + + 13 Jun 2008; Samuli Suominen <drac@gentoo.org> + -files/libffi-soversion.dpatch, -files/libffi-without-libgcj.dpatch, + +libffi-3.0.5.ebuild, -libffi-3.4.1.ebuild, -libffi-3.4.1-r1.ebuild, + -libffi-3.4.3.ebuild: + Version bump for testing wrt #163724, thanks to Marijn Schouten. Remove + old versions which came from GCC 3.4.x. 03 Jun 2008; Michael Sterrett <mr_bones_@gentoo.org> libffi-3.4.1.ebuild, libffi-3.4.1-r1.ebuild, libffi-3.4.3.ebuild: diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest index 4e4d058a4dd8..dad3f82bc470 100644 --- a/dev-libs/libffi/Manifest +++ b/dev-libs/libffi/Manifest @@ -1,9 +1,4 @@ -AUX libffi-soversion.dpatch 1943 RMD160 4213f8ff8ab4e19921f8e3d90a30fd7c843a1d9a SHA1 ed6c640021e16fa1f035ac5d6ea30bbb1482a9de SHA256 660ba9118f2960d13466b07effc5af56300d438be089ec4c944e34a90e3c4171 -AUX libffi-without-libgcj.dpatch 2255 RMD160 d21e1628455945ef6e540fad3972f6782b6c4331 SHA1 13df92c26ff76c7c07075a915fdf84af6d409251 SHA256 58439bbdc99d435483fedbd3b08e28d38081c5d2b943e19ea2edae930d47f812 -DIST gcc-3.4.1.tar.bz2 27182385 RMD160 b25352913fde37121e2dfe5521149bdaf08b0f5d SHA1 04de377eff57e614b089b8946a520de0dac7248e SHA256 5f3685533f8dc4b42b926fe70bb371b31e1368223a0ad7398ba27ea3a20e8e7a -DIST gcc-3.4.3.tar.bz2 27425338 RMD160 0a688fd34b58548b99e08ccf778281bf470f925d SHA1 f20c691662831e8022c7f9588cbd6aeb9c40fd2a SHA256 63dc1c03a107ec73871151bb765da7d5dfc1d699c0d0d6a3d244cf5ccb030913 -EBUILD libffi-3.4.1-r1.ebuild 5665 RMD160 0b437edd0a1cfb33602abf7a088a68da1152989e SHA1 6ac6d8766a36a67568fd9020f3a95c9c9073422a SHA256 61434046b9b113267e464697f322ba8fa5e06d684d7b4e9c3d00a099a0fc48e3 -EBUILD libffi-3.4.1.ebuild 6990 RMD160 cba9e4ce053e71636a975d3d7960eaf35d6c92e0 SHA1 609edf89736b6c5e9503cdbb6a6bfcbb7eca2fea SHA256 c3f1ad13494e1727bb8888c9e8cf05ddeff58a1e4b702310fb969cfc6bc3111a -EBUILD libffi-3.4.3.ebuild 5622 RMD160 ec884c72b97461356f8fd5f40f1cf1b2fdf6867f SHA1 5a3173954dc29af146c03efad065fef3bcec47d5 SHA256 9c85b301a0150e90fe6a216510143ffda809df2e2eee09ef461a896965ccaed2 -MISC ChangeLog 7718 RMD160 e499b9992c170d670f699783203afa648c1d6745 SHA1 bab04cf9bc8b584c06e0fdfcd4ca690bdd9bdbb4 SHA256 173cfa3c0ba618308d60ab6a1186eedd7d418cb5d638890f103f7cfe08cdff46 +DIST libffi-3.0.5.tar.gz 720907 RMD160 666d7a56f03b01d64a3c389a0cd0eedb1d5b8254 SHA1 66c899b30d96e666475d9ad55525b5c2e079dc66 SHA256 0eaa7b5a1ec87ef18ba1295d634b72b4aca18adeb67a1b9201ff4b48a3d115c4 +EBUILD libffi-3.0.5.ebuild 770 RMD160 4b27f0eb20e2cfc3c376a7572fc41019739e5d93 SHA1 024007c9e875739f5cc985baa6a1684615779c14 SHA256 2c7cf4ed8243c2c02314f841a57e7641fc9849b760aa91d1895ea155924a79cb +MISC ChangeLog 8074 RMD160 f6e37a1a65c864903b216353c06b976239634c0f SHA1 0681bda70f08611ecbc00c41b405e35da026e01e SHA256 6de09fa09fff41dfbd5f246c99bd0cdbd26f8e9aee870b5d79b9001fafe43d36 MISC metadata.xml 1736 RMD160 3343c41eacd7727d15f6d9827e60ee106f0a9308 SHA1 020068d6c5b77175cbfe7252d2b5384b51d09559 SHA256 cc690496f84a717983090ed07758220f1b2882b8f07d52bddaee0d8b7830c139 diff --git a/dev-libs/libffi/files/libffi-soversion.dpatch b/dev-libs/libffi/files/libffi-soversion.dpatch deleted file mode 100644 index 45b95b9add40..000000000000 --- a/dev-libs/libffi/files/libffi-soversion.dpatch +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/sh -e - -# DP: Install libffi with soversion 3. - -dir= -if [ $# -eq 3 -a "$2" = '-d' ]; then - pdir="-d $3" - dir="$3/" -elif [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) - patch $pdir -f --no-backup-if-mismatch -p0 < $0 - #cd ${dir}gcc && autoconf - ;; - -unpatch) - patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 - #rm ${dir}gcc/configure - ;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -diff -urN libffi.old/Makefile.am libffi/Makefile.am ---- libffi.old/Makefile.am 2003-10-22 01:02:59.000000000 +0200 -+++ libffi/Makefile.am 2004-02-21 10:06:49.000000000 +0100 -@@ -175,7 +175,7 @@ - - AM_CFLAGS = -Wall -g -fexceptions - --libffi_la_LDFLAGS = -release $(VERSION) -+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` - - INCLUDES = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src - -diff -urN libffi.old/Makefile.in libffi/Makefile.in ---- libffi.old/Makefile.in 2003-11-24 00:52:28.000000000 +0100 -+++ libffi/Makefile.in 2004-02-21 10:06:49.000000000 +0100 -@@ -226,7 +226,7 @@ - - AM_CFLAGS = -Wall -g -fexceptions - --libffi_la_LDFLAGS = -release $(VERSION) -+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` - - INCLUDES = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -diff -urN libffi.old/libtool-version libffi/libtool-version ---- libffi.old/libtool-version 1970-01-01 01:00:00.000000000 +0100 -+++ libffi/libtool-version 2004-02-21 10:06:49.000000000 +0100 -@@ -0,0 +1,6 @@ -+# This file is used to maintain libtool version info for libffi. See -+# the libtool manual to understand the meaning of the fields. This is -+# a separate file so that version updates don't involve re-running -+# automake. -+# CURRENT:REVISION:AGE -+3:0:0 diff --git a/dev-libs/libffi/files/libffi-without-libgcj.dpatch b/dev-libs/libffi/files/libffi-without-libgcj.dpatch deleted file mode 100644 index f4732cad4015..000000000000 --- a/dev-libs/libffi/files/libffi-without-libgcj.dpatch +++ /dev/null @@ -1,67 +0,0 @@ -#! /bin/sh -e - -# DP: build libffi without building libgcj - -dir= -if [ $# -eq 3 -a "$2" = '-d' ]; then - pdir="-d $3" - dir="$3/" -elif [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) - patch $pdir -f --no-backup-if-mismatch -p0 < $0 - #cd ${dir}gcc && autoconf - ;; - -unpatch) - patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 - #rm ${dir}gcc/configure - ;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - ---- configure.in.orig 2004-08-03 00:53:36.000000000 +0200 -+++ configure.in 2004-08-03 00:52:35.000000000 +0200 -@@ -136,8 +136,7 @@ - host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar" - - # libgcj represents the runtime libraries only used by gcj. --libgcj="target-libffi \ -- target-boehm-gc \ -+libgcj="target-boehm-gc \ - target-zlib \ - target-qthreads \ - target-libjava" -@@ -150,6 +150,7 @@ - target-libstdc++-v3 \ - target-libf2c \ - ${libgcj} \ -+ target-libffi \ - target-libobjc" - - # these tools are built using the target libraries, and are intended to ---- configure~ 2004-08-28 02:31:04.000000000 +0200 -+++ configure 2004-08-28 10:55:28.000000000 +0200 -@@ -876,8 +876,7 @@ - host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar" - - # libgcj represents the runtime libraries only used by gcj. --libgcj="target-libffi \ -- target-boehm-gc \ -+libgcj="target-boehm-gc \ - target-zlib \ - target-qthreads \ - target-libjava" -@@ -891,6 +890,7 @@ - target-libstdc++-v3 \ - target-libf2c \ - ${libgcj} \ -+ target-libffi \ - target-libobjc" - - # these tools are built using the target libraries, and are intended to diff --git a/dev-libs/libffi/libffi-3.0.5.ebuild b/dev-libs/libffi/libffi-3.0.5.ebuild new file mode 100644 index 000000000000..85a3e3a7a3c3 --- /dev/null +++ b/dev-libs/libffi/libffi-3.0.5.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.0.5.ebuild,v 1.1 2008/06/13 20:29:14 drac Exp $ + +inherit eutils + +DESCRIPTION="a portable, high level programming interface to various calling conventions." +HOMEPAGE="http://sourceware.org/libffi" +SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +pkg_setup() { + if built_with_use --missing true sys-devel/gcc libffi; then + eerror "Only one libffi installed is supported." + die "Re-emerge sys-devel/gcc without USE libffi." + fi +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed." + dodoc ChangeLog* README TODO +} diff --git a/dev-libs/libffi/libffi-3.4.1-r1.ebuild b/dev-libs/libffi/libffi-3.4.1-r1.ebuild deleted file mode 100644 index 56860cd74604..000000000000 --- a/dev-libs/libffi/libffi-3.4.1-r1.ebuild +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.4.1-r1.ebuild,v 1.17 2008/06/03 02:16:24 mr_bones_ Exp $ - -inherit eutils flag-o-matic libtool gnuconfig versionator - -# This ebuild mod'd from libstdc++ compatbility package ebuild to create -# a similar structure for libffi, which is also included in gcc sources. -# __Armando Di Cianno <fafhrd@gentoo.org> (no longer a dev) - -do_filter_flags() { - declare setting - - strip-flags - - # In general gcc does not like optimization, and add -O2 where - # it is safe. This is especially true for gcc 3.3 + 3.4 - replace-flags -O? -O2 - - # xgcc isnt patched with propolice - filter-flags -fstack-protector-all - filter-flags -fno-stack-protector-all - filter-flags -fstack-protector - filter-flags -fno-stack-protector - - # xgcc isnt patched with the gcc symbol visibility patch - filter-flags -fvisibility-inlines-hidden - filter-flags -fvisibility=hidden - - # strict-aliasing is known to break obj-c stuff in gcc-3.4* - filter-flags -fstrict-aliasing - - # ...sure, why not? - strip-unsupported-flags -} - -S=${WORKDIR}/gcc-${PV} - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - -LOC="/usr" -MY_PV="$(get_version_component_range 1-2)" -MY_PV_FULL="$(get_version_component_range 1-3)" - -LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${MY_PV_FULL}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${MY_PV}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}" -# Dont install in /usr/include/g++-v3/, but in gcc internal directory. -# We will handle /usr/include/g++-v3/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}" - -SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2" - -DESCRIPTION="libffi (from gcc) does not commonly build unless gcj is compiled, but is used by other projects, like GNUstep." -HOMEPAGE="http://gcc.gnu.org/" - -LICENSE="libffi" - -KEYWORDS="-* ~ppc x86" -IUSE="nls nptl uclibc" - -SLOT="0" -## 3.2.3 -> 3.3.x install .so.5, so lets slot to 5 -#if [ "${CHOST}" == "${CCHOST}" ] -#then -# SLOT="5" -#else -# SLOT="${CCHOST}-5" -#fi - -DEPEND="virtual/libc - !nptl? ( !uclibc? ( >=sys-libs/glibc-2.3.2-r3 ) ) - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - >=sys-devel/gcc-config-1.3.1 - >=sys-devel/gcc-3.4.1 - nls? ( sys-devel/gettext )" - -RDEPEND="virtual/libc - !nptl? ( !uclibc? ( >=sys-libs/glibc-2.3.2-r3 ) ) - >=sys-devel/gcc-config-1.3.1 - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4" - -PDEPEND="sys-devel/gcc-config" - -src_unpack() { - unpack ${A} - - EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/libffi-without-libgcj.dpatch - EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/libffi-soversion.dpatch - - # mainly for AMD64, but can't hurt to run it - sed -i -e 's/MULTILIB_OSDIRNAMES\ =.*/MULTILIB_OSDIRNAMES\ =\ ..\/lib64\ ..\/lib32/' ${S}/gcc/config/i386/t-linux64 - - cd ${S} - # Fixup libtool to correctly generate .la files with portage - elibtoolize --portage --shallow - - cd ${S}; ./contrib/gcc_update --touch &> /dev/null - gnuconfig_update -} - -src_compile() { - - local myconf= - - if use nls - then - myconf="${myconf} --enable-nls --without-included-gettext" - else - myconf="${myconf} --disable-nls" - fi - - use amd64 && myconf="${myconf} --disable-multilib" - use ppc64 && myconf="${myconf} --disable-multilib" - - do_filter_flags - einfo "CFLAGS=\"${CFLAGS}\"" - einfo "CXXFLAGS=\"${CXXFLAGS}\"" - - # Build in a separate build tree - mkdir -p ${WORKDIR}/build - cd ${WORKDIR}/build - - einfo "Configuring libffi..." - addwrite "/dev/zero" - ${S}/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ - --with-system-zlib \ - --enable-languages=c++,objc \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - touch ${S}/gcc/c-gperf.h - - einfo "Compiling libffi..." - S="${WORKDIR}/build" \ - emake all-target-libffi \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die -} - -src_install() { - local x= - - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in ${WORKDIR}/build/gcc/include/* - do - if [ -L ${x} ] - then - rm -f ${x} - continue - fi - done - # Remove generated headers, as they can cause things to break - # (ncurses, openssl, etc). - for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'` - do - if grep -q 'It has been auto-edited by fixincludes from' ${x} - then - rm -f ${x} - fi - done - - einfo "Installing libffi..." - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make prefix=${LOC} \ - bindir=${BINPATH} \ - includedir=${LIBPATH}/include \ - datadir=${DATAPATH} \ - mandir=${DATAPATH}/man \ - infodir=${DATAPATH}/info \ - DESTDIR="${D}" \ - LIBPATH="${LIBPATH}" \ - install-target-libffi || die - - mkdir -p ${D}/${LOC}/include/${PN} - mv ${D}/${LOC}/lib/gcc-lib/${CCHOST}/${PV}/include/* ${D}/${LOC}/include/${PN} - mv ${D}/${LOC}/lib/gcc/${CCHOST}/${PV}/include/libffi/* ${D}/${LOC}/include/${PN} - # remove now useless directory... - rm -Rf ${D}/${LOC}/lib/gcc-lib/ - rm -Rf ${D}/${LOC}/lib/gcc - - mkdir -p ${D}/${LOC}/lib/${PN}/ - mv ${D}/${LOC}/{lib,lib64}/* ${D}/${LOC}/lib/${PN}/ - - mkdir -p ${D}/etc/env.d/ - echo "LDPATH=\"${LOC}/lib/${PN}\"" >> ${D}/etc/env.d/99libffi - echo "CPATH=\"${LOC}/include/${PN}\"" >> ${D}/etc/env.d/99libffi -} diff --git a/dev-libs/libffi/libffi-3.4.1.ebuild b/dev-libs/libffi/libffi-3.4.1.ebuild deleted file mode 100644 index f18599634755..000000000000 --- a/dev-libs/libffi/libffi-3.4.1.ebuild +++ /dev/null @@ -1,235 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.4.1.ebuild,v 1.17 2008/06/03 02:16:24 mr_bones_ Exp $ - -IUSE="nls nptl" -SLOT="0" -inherit eutils flag-o-matic libtool versionator multilib - -# This ebuild mod'd from libstdc++ compatbility package ebuild to create -# a similar structure for libffi, which is also included in gcc sources. -# __Armando Di Cianno <fafhrd@gentoo.org> (not a dev any more) - -# Compile problems with these (bug #6641 among others)... -#filter-flags "-fno-exceptions -fomit-frame-pointer -fforce-addr" - -# Recently there has been a lot of stability problem in Gentoo-land. Many -# things can be the cause to this, but I believe that it is due to gcc3 -# still having issues with optimizations, or with it not filtering bad -# combinations (protecting the user maybe from himeself) yet. -# -# This can clearly be seen in large builds like glibc, where too aggressive -# CFLAGS cause the tests to fail miserbly. -# -# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion -# knows what he is talking about: -# -# People really shouldn't force code-specific options on... It's a -# bad idea. The -march options aren't just to look pretty. They enable -# options that are sensible (and include sse,mmx,3dnow when apropriate). -# -# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If -# you do not like it, comment it, but do not bugreport if you run into -# problems. -# -# <azarah@gentoo.org> (13 Oct 2002) -do_filter_flags() { - strip-flags - - # In general gcc does not like optimization, and add -O2 where - # it is safe. This is especially true for gcc 3.3 + 3.4 - replace-flags -O? -O2 - - # xgcc isnt patched with propolice - filter-flags -fstack-protector-all - filter-flags -fno-stack-protector-all - filter-flags -fstack-protector - filter-flags -fno-stack-protector - - # xgcc isnt patched with the gcc symbol visibility patch - filter-flags -fvisibility-inlines-hidden - filter-flags -fvisibility=hidden - - # ...sure, why not? - strip-unsupported-flags -} - -S=${WORKDIR}/gcc-${PV} - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - -LOC="/usr" -MY_PV="$(get_version_component_range 1-2)" -MY_PV_FULL="$(get_version_component_range 1-3)" - -LIBPATH="${LOC}/$(get_libdir)/gcc-lib/${CCHOST}/${MY_PV_FULL}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${MY_PV}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}" -# Dont install in /usr/include/g++-v3/, but in gcc internal directory. -# We will handle /usr/include/g++-v3/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}" - -# Branch update support ... -MAIN_BRANCH="${PV}" # Tarball, etc used ... - -# This branch update includes libffi fixes, so we include it here -#BRANCH_UPDATE="20040412" -BRANCH_UPDATE= - -SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2" - -DESCRIPTION="libffi (from gcc) does not commonly build unless gcj is compiled, but is used by other projects, like GNUstep." -HOMEPAGE="http://gcc.gnu.org/" - -# libffi itself under an "as-is" license, the rest of GCC can be. -# and is, different -LICENSE="libffi" - -KEYWORDS="-* amd64" - -DEPEND="virtual/libc - !nptl? ( >=sys-libs/glibc-2.3.2-r3 ) - >=sys-devel/binutils-2.14.90.0.8-r1 - >=sys-devel/bison-1.875 - >=sys-devel/gcc-config-1.3.1 - nls? ( sys-devel/gettext )" - -RDEPEND="virtual/libc - !nptl? ( >=sys-libs/glibc-2.3.2-r3 ) - >=sys-devel/gcc-config-1.3.1 - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4" - -PDEPEND="sys-devel/gcc-config" - -src_unpack() { - unpack ${A} - - cd ${S} - # Fixup libtool to correctly generate .la files with portage - elibtoolize --portage --shallow - - #use amd64 && epatch ${FILESDIR}/libstdc++_amd64_multilib_hack.patch - # not quite needed since we disable multilib in this ebuild, but it cant - # hurt to have anyway, just in case - sed -i -e 's/MULTILIB_OSDIRNAMES\ =.*/MULTILIB_OSDIRNAMES\ =\ ..\/lib64\ ..\/lib32/' ${S}/gcc/config/i386/t-linux64 - - # Branch update ... - if [ -n "${BRANCH_UPDATE}" ] - then - epatch ${DISTDIR}/gcc-${MAIN_BRANCH}-branch-update-${BRANCH_UPDATE}.patch.bz2 - fi - - cd ${S}; ./contrib/gcc_update --touch &> /dev/null -} - -src_compile() { - - local myconf= - - if use nls - then - myconf="${myconf} --enable-nls --without-included-gettext" - else - myconf="${myconf} --disable-nls" - fi - - use amd64 && myconf="${myconf} --disable-multilib" - - do_filter_flags - einfo "CFLAGS=\"${CFLAGS}\"" - einfo "CXXFLAGS=\"${CXXFLAGS}\"" - - # Build in a separate build tree - mkdir -p ${WORKDIR}/build - cd ${WORKDIR}/build - - einfo "Configuring libffi..." - addwrite "/dev/zero" - ${S}/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ - --with-system-zlib \ - --enable-languages=java,c++,objc \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - touch ${S}/gcc/c-gperf.h - - einfo "Compiling libffi..." - S="${WORKDIR}/build" \ - emake all-target-libffi \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die -} - -src_install() { - local x= - - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in ${WORKDIR}/build/gcc/include/* - do - if [ -L ${x} ] - then - rm -f ${x} - continue - fi - done - # Remove generated headers, as they can cause things to break - # (ncurses, openssl, etc). - for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'` - do - if grep -q 'It has been auto-edited by fixincludes from' ${x} - then - rm -f ${x} - fi - done - - einfo "Installing libfii..." - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make prefix=${LOC} \ - bindir=${BINPATH} \ - includedir=${LIBPATH}/include \ - datadir=${DATAPATH} \ - mandir=${DATAPATH}/man \ - infodir=${DATAPATH}/info \ - DESTDIR="${D}" \ - LIBPATH="${LIBPATH}" \ - install-target-libffi || die - - # we'll move this into a directory we can put at the end of ld.so.conf - # other than the normal versioned directory, so that it doesnt conflict - # with gcc - - # we want the headers... - mkdir -p ${D}/${LOC}/include/${PN} - mv ${D}/${LOC}/$(get_libdir)/gcc-lib/${CCHOST}/${PV}/include/* ${D}/${LOC}/include/${PN} - mv ${D}/${LOC}/lib/gcc/${CCHOST}/${PV}/include/libffi/* ${D}/${LOC}/include/${PN} - # remove now useless directory... - rm -Rf ${D}/${LOC}/$(get_libdir)/gcc-lib/ - rm -Rf ${D}/${LOC}/lib/gcc - - mkdir -p ${D}/${LOC}/$(get_libdir)/${PN}/ - mv ${D}/${LOC}/$(get_libdir)/* ${D}/${LOC}/$(get_libdir)/${PN}/ - - mkdir -p ${D}/etc/env.d/ - echo "LDPATH=\"${LOC}/$(get_libdir)/${PN}\"" >> ${D}/etc/env.d/99libffi - echo "CPATH=\"${LOC}/include/${PN}\"" >> ${D}/etc/env.d/99libffi -} diff --git a/dev-libs/libffi/libffi-3.4.3.ebuild b/dev-libs/libffi/libffi-3.4.3.ebuild deleted file mode 100644 index 6833079e9d96..000000000000 --- a/dev-libs/libffi/libffi-3.4.3.ebuild +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.4.3.ebuild,v 1.18 2008/06/03 02:16:24 mr_bones_ Exp $ - -inherit eutils flag-o-matic libtool gnuconfig versionator - -# This ebuild mod'd from libstdc++ compatbility package ebuild to create -# a similar structure for libffi, which is also included in gcc sources. -# __Armando Di Cianno <fafhrd@gentoo.org> (not a dev any more) - -do_filter_flags() { - declare setting - - strip-flags - - # In general gcc does not like optimization, and add -O2 where - # it is safe. This is especially true for gcc 3.3 + 3.4 - replace-flags -O? -O2 - - # xgcc isnt patched with propolice - filter-flags -fstack-protector-all - filter-flags -fno-stack-protector-all - filter-flags -fstack-protector - filter-flags -fno-stack-protector - - # xgcc isnt patched with the gcc symbol visibility patch - filter-flags -fvisibility-inlines-hidden - filter-flags -fvisibility=hidden - - # ...sure, why not? - strip-unsupported-flags -} - -S=${WORKDIR}/gcc-${PV} - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - -LOC="/usr" -MY_PV="$( get_version_component_range 1-2 )" -MY_PV_FULL="$( get_version_component_range 1-3 )" - -LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${MY_PV_FULL}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${MY_PV}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}" -# Dont install in /usr/include/g++-v3/, but in gcc internal directory. -# We will handle /usr/include/g++-v3/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++-v${MY_PV/\.*/}" - -SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2" - -DESCRIPTION="libffi (from gcc) does not commonly build unless gcj is compiled, but is used by other projects, like GNUstep." -HOMEPAGE="http://gcc.gnu.org/" - -LICENSE="libffi" - -KEYWORDS="-* ppc sparc x86" -IUSE="nls nptl uclibc" - -SLOT="0" -## 3.2.3 -> 3.3.x install .so.5, so lets slot to 5 -#if [ "${CHOST}" == "${CCHOST}" ] -#then -# SLOT="5" -#else -# SLOT="${CCHOST}-5" -#fi - -DEPEND="virtual/libc - !nptl? ( !uclibc? ( >=sys-libs/glibc-2.3.2-r3 ) ) - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - >=sys-devel/gcc-config-1.3.1 - >=sys-devel/gcc-3.4.3 - nls? ( sys-devel/gettext )" - -RDEPEND="virtual/libc - !nptl? ( !uclibc? ( >=sys-libs/glibc-2.3.2-r3 ) ) - >=sys-devel/gcc-config-1.3.1 - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4" - -PDEPEND="sys-devel/gcc-config" - -src_unpack() { - unpack ${A} - - EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/libffi-without-libgcj.dpatch - EPATCH_OPTS="-d ${S}" epatch ${FILESDIR}/libffi-soversion.dpatch - - # mainly for AMD64, but can't hurt to run it - sed -i -e 's/MULTILIB_OSDIRNAMES\ =.*/MULTILIB_OSDIRNAMES\ =\ ..\/lib64\ ..\/lib32/' ${S}/gcc/config/i386/t-linux64 - - cd ${S} - # Fixup libtool to correctly generate .la files with portage - elibtoolize --portage --shallow - - cd ${S}; ./contrib/gcc_update --touch &> /dev/null - gnuconfig_update -} - -src_compile() { - - local myconf= - - if use nls - then - myconf="${myconf} --enable-nls --without-included-gettext" - else - myconf="${myconf} --disable-nls" - fi - - use amd64 && myconf="${myconf} --disable-multilib" - - # solves bug #72258: don't use multilib - use amd64 && myconf="${myconf} --disable-multilib" - - do_filter_flags - einfo "CFLAGS=\"${CFLAGS}\"" - einfo "CXXFLAGS=\"${CXXFLAGS}\"" - - # Build in a separate build tree - mkdir -p ${WORKDIR}/build - cd ${WORKDIR}/build - - einfo "Configuring libffi..." - addwrite "/dev/zero" - ${S}/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ - --with-system-zlib \ - --enable-languages=c++,objc \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - touch ${S}/gcc/c-gperf.h - - einfo "Compiling libffi..." - S="${WORKDIR}/build" \ - emake all-target-libffi \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die -} - -src_install() { - local x= - - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in ${WORKDIR}/build/gcc/include/* - do - if [ -L ${x} ] - then - rm -f ${x} - continue - fi - done - # Remove generated headers, as they can cause things to break - # (ncurses, openssl, etc). - for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'` - do - if grep -q 'It has been auto-edited by fixincludes from' ${x} - then - rm -f ${x} - fi - done - - einfo "Installing libffi..." - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make prefix=${LOC} \ - bindir=${BINPATH} \ - includedir=${LIBPATH}/include \ - datadir=${DATAPATH} \ - mandir=${DATAPATH}/man \ - infodir=${DATAPATH}/info \ - DESTDIR="${D}" \ - LIBPATH="${LIBPATH}" \ - install-target-libffi || die - - mkdir -p ${D}/${LOC}/include/${PN} - mv ${D}/${LOC}/lib/gcc-lib/${CCHOST}/${PV}/include/* ${D}/${LOC}/include/${PN} - mv ${D}/${LOC}/lib/gcc/${CCHOST}/${PV}/include/libffi/* ${D}/${LOC}/include/${PN} - # remove now useless directory... - rm -Rf ${D}/${LOC}/lib/gcc-lib/ - rm -Rf ${D}/${LOC}/lib/gcc - - mkdir -p ${D}/${LOC}/lib/${PN}/ - mv ${D}/${LOC}/{lib,lib64}/* ${D}/${LOC}/lib/${PN}/ - - mkdir -p ${D}/etc/env.d/ - echo "LDPATH=\"${LOC}/lib/${PN}\"" >> ${D}/etc/env.d/99libffi - echo "CPATH=\"${LOC}/include/${PN}\"" >> ${D}/etc/env.d/99libffi -} |