summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2013-07-03 21:17:24 +0000
committerAlexis Ballier <aballier@gentoo.org>2013-07-03 21:17:24 +0000
commit719ec7b2c007b82d430a1eeb3581b344cf506329 (patch)
tree434a3bc4eddcceb88598a8dedeeae8039d54f509 /sys-libs
parentFix indenting (diff)
downloadhistorical-719ec7b2c007b82d430a1eeb3581b344cf506329.tar.gz
historical-719ec7b2c007b82d430a1eeb3581b344cf506329.tar.bz2
historical-719ec7b2c007b82d430a1eeb3581b344cf506329.zip
Use a simple Makefile instead of cmake for building it and drop our patches. It no longer needs to be built with clang.
Package-Manager: portage-2.2.0_alpha186/cvs/Linux x86_64 Manifest-Sign-Key: 0x160F534A
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/libcxx/ChangeLog7
-rw-r--r--sys-libs/libcxx/Manifest11
-rw-r--r--sys-libs/libcxx/files/Makefile38
-rw-r--r--sys-libs/libcxx/libcxx-9999.ebuild66
4 files changed, 78 insertions, 44 deletions
diff --git a/sys-libs/libcxx/ChangeLog b/sys-libs/libcxx/ChangeLog
index def2890458e7..cd8612ec5d53 100644
--- a/sys-libs/libcxx/ChangeLog
+++ b/sys-libs/libcxx/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-libs/libcxx
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/ChangeLog,v 1.22 2013/07/03 18:38:26 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/ChangeLog,v 1.23 2013/07/03 21:17:16 aballier Exp $
+
+ 03 Jul 2013; Alexis Ballier <aballier@gentoo.org> libcxx-9999.ebuild,
+ +files/Makefile:
+ Use a simple Makefile instead of cmake for building it and drop our patches.
+ It no longer needs to be built with clang.
03 Jul 2013; Alexis Ballier <aballier@gentoo.org> libcxx-9999.ebuild:
inherit base before subversion to get a correct src_unpack, bug #475598 by
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 82b1f714993b..24bea406aeff 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,6 +1,7 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX Makefile 874 SHA256 ba99d3b7b98ed88a64f8370ba2d90e245f8e5ea9bfe302382ef8eeded0ec00b4 SHA512 96eef2e897075bc7d9fc799ce6c54f6a33ee917efd5666376ac578cb16e15d965205630dbd076f92a3a7091d58ecc235e37bc327c211bf3594244981f089135f WHIRLPOOL 0680b69fdc46c0d6fac01fc2fa0b93ff62d167a03b3ce1cc80fbe57ff04356f5ab4e71f0daec517e629697d5e34f295b66e8263f7506eaa347a500b27442933d
AUX cxxrt.patch 1018 SHA256 4792b8c7079c00fef105ff1209591d8ade274cf258b87ac21fad90d57af7a7f1 SHA512 6b8b0860b6e8e226982854f1d74b0d12c7199d32f53c9ba93ded77a12c3922553611d81ff226cddcf72f31634c69d5457ef10f88a8eb064e2c2f7fd156644652 WHIRLPOOL 2dfc5a586501b13f00fcea4717057e513590bc856d79ceeff05cb5ff476f4957508ea230cc731afdd3ad263331e4392d90e4b97762074a0c388d1b5f43228a2c
AUX multilib.patch 452 SHA256 16a64b3f0d81da0fc99dcb71cf5f7f75f7bb08c827cd329a1251e21363449d14 SHA512 eb8a023589321e13e24e95a1595578a6f63431f24c67b24ffe49a486ecd05323b6b587dec7c8a822693d618ef1da440432d36cc4d8ed4d8ab31c2288d501b8da WHIRLPOOL 2b522432086ebef6e48745d775dacacf3ed6adb5ec6e572f68b1e70963740b992a020ece95b2801dbbebb2632f297beb06df4eb70840a76615a61380627cf384
AUX prepare_snapshot.sh 427 SHA256 9ebf22257a2e296dee41a56b0a721cd1ba459c620009ca8422ba812515ff726f SHA512 ebac2a467f8b1dfb68f1dc46a35f8294d1cf74b70be2a008217fa13b3366ddf4a9f2ebbe611cd63824f42305c5c0304aac2f46386b2956c9e07d82d5d984b435 WHIRLPOOL 232a60d6a22f50c424ec9cf6f325bbb4e8e96815ba9dffdad0a5b1b872b19d20126d316ced71956978eb5ce098f72584d21104c14e232330b3893a73e4c3c358
@@ -9,13 +10,13 @@ DIST libcxx-0.0_p20130531.tar.xz 804716 SHA256 41c3d40d37378f4d3f065f884df6b3e0c
EBUILD libcxx-0.0_p20130218.ebuild 1762 SHA256 73ec38dcc52bb2e35172dcb99ae667a976ade6a672b6c6e0e3e503460866b3ae SHA512 57abd59e833f5594b19505363e492efaef70872d0e8e31d8fca1667380f21fe67d266b6b7dab1a6b3aeb906039d93e51081da85b0c43e1f4e1c4f65b3d4d75f7 WHIRLPOOL 94de3f70ba4083e95b85a81d3518c5d0af5655547f389cc87ed917e424b22e671850191efaf3bafc997b8d24c569ec6b39b6d72886c9e75c570d86e451264de8
EBUILD libcxx-0.0_p20130531-r1.ebuild 4125 SHA256 bf5a4d84369351c86aaf51d9ba4f530eac8427106db936456fbb0517c9ae7372 SHA512 f6e7c455280a3bf30fc9378299b10dbcde89f7d85850c7644632be9052d3e3bfac167f47a2a1c67e647783152b3d68c3d30f8aface2a1eaa5e330f17d9a56a7f WHIRLPOOL bda77f7a7365f887257d3f6e09f537b469baddbdd77a03763d49da750f0ec43450d2bc4aff4f39b80188a26ac587710db604c346d78967ca591674714598d7e5
EBUILD libcxx-0.0_p20130531.ebuild 2872 SHA256 46ec7affff2212776a32ee9c4879016f8b07cf942f55f45e374c5594ae48d5e4 SHA512 63808230eff4b71bec89e003c89987da83429bdaf5975b257860ed0a48dc0a6b7c9de409e5783a0c87d2b67b9e112cc9d90e74cba46629fbb35960b5e98234db WHIRLPOOL b9497c69346d2e3f4220bdb545373f2a9012bc6e7da8c23a97e4ac8fb54d482c0e0d7d898c53e0e10fdb907d7a44552d1f5fd166c02c7111044ceced747edad2
-EBUILD libcxx-9999.ebuild 4114 SHA256 d248ab826b69827e31460da978f4de3392a372c811f59cc706ebfbff017cab7b SHA512 693f722eb91a7ff03e26b1dc2e45a8858d79cbb3847a81441b932328c576de0429ade3fe06f213da6e0d90d505770831b15c2f5ee21283ff3e474f0687067fd2 WHIRLPOOL 72bfbbd4d02992ec0078ca6a089f9c1e485faad02eb31e815b3426b9e6f0e8f5c92aafa22e656373f4826b677cb6aacf705c3461747b971dd987fe35f64d4549
-MISC ChangeLog 3630 SHA256 42f66f836f3a7c52029f41948625eb0d7efc66965d98ad289249553fa327447b SHA512 14faddf34908cc5f3627bf74cb9d2215117f4607d9a9fff5fb864948a08a04f1ad31edaa1f6b4070f4b3e03ef324d829d13c5eb20d6a4f137f95938da1fc0eb9 WHIRLPOOL 80a91d73f50be796c334e4beefaac828e198a1d512fbafd0cbe50e5fdf314a238e1ca511f0334acc1b3fa38bdb442df4e81afe58dd2de512c5ad46d8ed3dda5c
+EBUILD libcxx-9999.ebuild 3632 SHA256 cc14faa77638d0c5faa888d3ad3268dcc6eb22413752828206651c73b4801229 SHA512 2a45779275385a8afad8f99c57c039c4861cd521dd372c4bf8fce02ae7f60a3fa54501049b89044b0129fe58987171e8aef55a09241328b1a39de6db4f6b6bd1 WHIRLPOOL 1d5ce9d0bb80bdd23e5416141f5212841e69d22c0192f91ba46f63a5e38d46727551a9c9c70cff1c3456fe23cfe2de46eba88a58ccab0980a6ce32891e9623fd
+MISC ChangeLog 3846 SHA256 446daad24a90d71304d3d4a34e970fb844e5709d5b7a584950164b81bf7645f4 SHA512 87a0ad57d50c4ea004d8286b93362daf0e6381446463278291fe67aeeae3f52a26f7fba17d94d6afc1a94f70453649acc2ff2f9cfc4e970dd512a914049f5605 WHIRLPOOL cfc7d286d61a56d2d478704d0e0e7e8be3ee36b5ddbbd27a3363d1a29dfced1738368cd5e5fb6def3db541f455fffda18d52ef8c76eeb44ceb58f2d6ce3c7398
MISC metadata.xml 558 SHA256 c9fe7077a8c7f767d7cdbe154d85dd344fb86ea246b16613242c70a40f3e1ef2 SHA512 3f324c4959a7c9f2613b29928957fd010b35c6e9c1601f0296e7e8b7c8d59a3c27c5c04fef87ac825f2f7bb07553bc617c4405e1e22847dc8db3e7a1ebb21f50 WHIRLPOOL 3ade5e3852afcd533c89ce0aeead55101f23d1b31825718bfccd60fac485961df617c93962be4c60333a21335dcd6bb5630c8002fe06f456c4e177c14d434455
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
-iEYEAREIAAYFAlHUb6MACgkQvFcC4BYPU0oVTACfXqfsDcsEdTWeTzT1t/zWTupZ
-yqAAn2gOAc19bPMLDHq0r33plJf2PS10
-=VOJv
+iEYEAREIAAYFAlHUlN4ACgkQvFcC4BYPU0q4UQCfbYayirEJaIWdkaOTNPweC1EF
+QZoAnA1WKu+pCK1sO8gY4z1cMCWIwwRJ
+=Qkni
-----END PGP SIGNATURE-----
diff --git a/sys-libs/libcxx/files/Makefile b/sys-libs/libcxx/files/Makefile
new file mode 100644
index 000000000000..029e7295b889
--- /dev/null
+++ b/sys-libs/libcxx/files/Makefile
@@ -0,0 +1,38 @@
+CXXFLAGS+=-std=c++11 -fstrict-aliasing -Wall -Wextra -Wshadow -Wconversion \
+ -Wpadded -Wstrict-aliasing=2 -Wstrict-overflow=4
+
+SRCDIR=..
+LIB=libc++
+STATIC=libc++.a
+MAJOR=1
+MINOR=0
+SHEXT?=.so
+SHLIB=$(LIB)$(SHEXT).$(MAJOR).$(MINOR)
+SONAME=$(LIB)$(SHEXT).$(MAJOR)
+
+SRC=$(wildcard $(SRCDIR)/src/*.cpp)
+OBJ=$(SRC:$(SRCDIR)/src/%.cpp=%.o)
+SOBJ=$(SRC:$(SRCDIR)/src/%.cpp=%.So)
+
+
+%.So: $(SRCDIR)/src/%.cpp
+ $(CXX) -I$(SRCDIR)/include $(CPPFLAGS) $(CXXFLAGS) -fPIC -nostdinc++ -c $< -o $@
+
+%.o: $(SRCDIR)/src/%.cpp
+ $(CXX) -I$(SRCDIR)/include $(CPPFLAGS) $(CXXFLAGS) -nostdinc++ -c $< -o $@
+
+$(STATIC): $(OBJ)
+ $(AR) cr $@ $^
+
+static: $(STATIC)
+
+$(SHLIB): $(SOBJ)
+ $(CXX) -fPIC -nodefaultlibs $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(SONAME) -o $@ $^ $(LIBS)
+
+$(SONAME): $(SHLIB)
+ ln -s $< $@
+
+$(LIB)$(SHEXT): $(SONAME)
+ ln -s $< $@
+
+shared: $(SHLIB) $(SONAME) $(LIB)$(SHEXT)
diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index 853b7863c625..2b448f475f12 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/libcxx-9999.ebuild,v 1.14 2013/07/03 18:38:26 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcxx/libcxx-9999.ebuild,v 1.15 2013/07/03 21:17:16 aballier Exp $
EAPI=5
@@ -8,7 +8,7 @@ ESVN_REPO_URI="http://llvm.org/svn/llvm-project/libcxx/trunk"
[ "${PV%9999}" != "${PV}" ] && SCM="subversion" || SCM=""
-inherit cmake-utils base ${SCM} flag-o-matic toolchain-funcs multilib
+inherit ${SCM} flag-o-matic toolchain-funcs multilib
DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
HOMEPAGE="http://libcxx.llvm.org/"
@@ -25,64 +25,47 @@ if [ "${PV%9999}" = "${PV}" ] ; then
else
KEYWORDS=""
fi
-IUSE="elibc_glibc +libcxxrt static-libs"
+IUSE="elibc_glibc +libcxxrt static-libs test"
RDEPEND="libcxxrt? ( >=sys-libs/libcxxrt-0.0_p20130530[static-libs?] )
!libcxxrt? ( sys-devel/gcc[cxx] )"
DEPEND="${RDEPEND}
- sys-devel/clang
+ test? ( sys-devel/clang )
app-arch/xz-utils"
-PATCHES=( "${FILESDIR}/multilib.patch" )
-DOCS=( "CREDITS.TXT" )
-
src_prepare() {
- use libcxxrt && PATCHES+=( "${FILESDIR}/cxxrt.patch" )
- base_src_prepare
+ cp -f "${FILESDIR}/Makefile" lib/ || die
}
-src_configure() {
- local mycmakeargs_base=( )
+src_compile() {
+ export LIBS="-lpthread -lrt -lc -lgcc_s"
if use libcxxrt ; then
- mycmakeargs_base=(
- -DLIBCXX_CXX_ABI=libcxxrt
- -DLIBCXX_LIBCXXRT_INCLUDE_PATHS="/usr/include/libcxxrt/"
- )
+ append-cppflags -DLIBCXXRT "-I${EPREFIX}/usr/include/libcxxrt/"
+ LIBS="-lcxxrt ${LIBS}"
else
# Very hackish, see $HOMEPAGE
# If someone has a clever idea, please share it!
- local includes="$(echo | "$(tc-getCXX)" -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | tr '\n' ';' | tr -d ' ')"
- mycmakeargs_base=(
- -DLIBCXX_CXX_ABI=libsupc++
- -DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="${includes}"
- )
+ local includes="$(echo | "$(tc-getCXX)" -Wp,-v -x c++ - -fsyntax-only 2>&1 | grep -C 2 '#include.*<...>' | tail -n 2 | sed -e 's/^ /-I/' | tr '\n' ' ')"
+ append-cppflags -D__GLIBCXX__ ${includes}
+ LIBS="-lsupc++ ${LIBS}"
fi
- # Needs to be built with clang. gcc-4.6.3 fails at least.
- # TODO: cross-compile ?
- export CC="clang"
- export CXX="clang++"
+ tc-export AR CC CXX
- if use static-libs ; then
- local mycmakeargs=( "${mycmakeargs_base[@]}" "-DLIBCXX_ENABLE_SHARED=OFF" )
- BUILD_DIR="${S}_static" cmake-utils_src_configure
- fi
- local mycmakeargs=( "${mycmakeargs_base[@]}" )
- BUILD_DIR="${S}_shared" cmake-utils_src_configure
-}
+ append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
-src_compile() {
- use static-libs && BUILD_DIR="${S}_static" cmake-utils_src_compile
- BUILD_DIR="${S}_shared" cmake-utils_src_compile
+ cd "${S}/lib" || die
+ emake shared
+ use static-libs && emake static
}
# Tests fail for now, if anybody is able to fix them, help is very welcome.
src_test() {
cd "${S}/test"
- LD_LIBRARY_PATH="${S}_shared/lib:${LD_LIBRARY_PATH}" \
+ LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" \
CC="clang++" \
HEADER_INCLUDE="-I${S}/include" \
- SOURCE_LIB="-L${S}_shared/lib" \
+ SOURCE_LIB="-L${S}/lib" \
LIBS="-lm" \
./testit || die
}
@@ -117,11 +100,18 @@ END_LDSCRIPT
}
src_install() {
+ cd "${S}/lib"
if use static-libs ; then
- BUILD_DIR="${S}_static" cmake-utils_src_install
+ dolib.a libc++.a
gen_static_ldscript
fi
- BUILD_DIR="${S}_shared" cmake-utils_src_install
+ dolib.so libc++.so*
+
+ cd "${S}"
+ insinto /usr/include/c++/v1
+ doins -r include/*
+
+ dodoc CREDITS.TXT
}
pkg_postinst() {