summaryrefslogtreecommitdiff
path: root/dev-libs/boehm-gc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-libs/boehm-gc
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-libs/boehm-gc')
-rw-r--r--dev-libs/boehm-gc/Manifest23
-rw-r--r--dev-libs/boehm-gc/boehm-gc-6.8.ebuild47
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild48
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild58
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2d.ebuild64
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2e.ebuild57
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild50
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild49
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.6.0.ebuild52
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch83
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch13
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch33
-rw-r--r--dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch13
-rw-r--r--dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch13
-rw-r--r--dev-libs/boehm-gc/metadata.xml12
15 files changed, 615 insertions, 0 deletions
diff --git a/dev-libs/boehm-gc/Manifest b/dev-libs/boehm-gc/Manifest
new file mode 100644
index 000000000000..08b0c542c3dd
--- /dev/null
+++ b/dev-libs/boehm-gc/Manifest
@@ -0,0 +1,23 @@
+AUX boehm-gc-6.5-gentoo.patch 2815 SHA256 04b7655024ec9e1fad2946b619c0cd7d56e0fb5ea4804ce29469b909853509e0 SHA512 ba006dda2d3ab295cb14e80f8b7e0908acbde89dbdae46b12b91b111ee1ebc1340ac0b91db8eec18a130a59fe27eda2f7d48f9ea35280c1e9ce3513d3a72779b WHIRLPOOL 706a626e7194ae7ed2e538202aaba8fdd32f765d55845e265643ce2ba11fd2f1d01e281940dd4fc8e740ec369d2915c2e39c1b9b8a507ca76593b8e8b0034178
+AUX boehm-gc-7.2d-automake-1.13.patch 372 SHA256 efa9b39464a8ed36f5356370095b3cdf6370a003c3a707a7fe38743123c97f52 SHA512 19efd52b91b985b31e190b77e5370fb510ad582a54868bb1a7fe54ae57e0625df113ad059a6d636a10f314624137704af8e193460b55c8ba422b9255aadae020 WHIRLPOOL ea4d66c521ea43b17ef40c76dbc3eb661cf5cd52a9c1716a7e9c4b2d766ff3e890902880973486efc9ec130e534d74082f606d89a6cfb6304e271e1e95df76ca
+AUX boehm-gc-7.2d-configure.patch 1183 SHA256 ef62d424289cd74230f8b76358147b1b2ccc02c56a537f4a5b04692888e2957d SHA512 e30299d23bb5f88b140dd1fa987eb55c159caef341730871f443e41fc9a9525e0133d0be997f9e81fdae656faa7e31815fff7680ac71ffc946eff403e3e1d3ff WHIRLPOOL 0dad2e414fd7d22fe7aae4e411ad4c15dead6a38d9da0e608c80312884c216866765a006538aee8397fdc1f29e0ad039ae27c8a9446b755f931609d5a200ddd2
+AUX boehm-gc-7.2e-automake-1.13.patch 372 SHA256 efa9b39464a8ed36f5356370095b3cdf6370a003c3a707a7fe38743123c97f52 SHA512 19efd52b91b985b31e190b77e5370fb510ad582a54868bb1a7fe54ae57e0625df113ad059a6d636a10f314624137704af8e193460b55c8ba422b9255aadae020 WHIRLPOOL ea4d66c521ea43b17ef40c76dbc3eb661cf5cd52a9c1716a7e9c4b2d766ff3e890902880973486efc9ec130e534d74082f606d89a6cfb6304e271e1e95df76ca
+AUX gc6.6-builtin-backtrace-uclibc.patch 425 SHA256 46c13de853b171b94bb4f998b796f170aa8f53070827ebe8bc2ec84e1bb72f24 SHA512 614dbce788a8e559c25966f9c82343d7ff2b26069f6f77bfa6d91abb755a8d4a46958e9b95f14d1e7e20349dc4df5b32a9e5bdd3eee9e5009a30003214e5f87f WHIRLPOOL ecacc19a412b806fc6e36913e2f92c3dba9c0d19fb485d991953c65099567ac4bd991c364546c27b76225866e4237b08c14195abfb7462f020aeb9047d30bf3f
+DIST gc-7.1.tar.gz 1077714 SHA256 e3cef6028fe3efe7de3bcf4107c880eae50b3ee79841450d885467c09bcebf30 SHA512 10faa0062c7df2ac7e2e29ac369167daad526c9de477e9af2298e6e5ad0bb1de5d32203e048892b16c34b398657a1a338e2e122c3137eeb8143b184f9b5e7ea0 WHIRLPOOL e099bd824601d53d94207f5a9c255fad30e55396eae2e6a01a55e98a7b8441e7e1bdfb698b2f77ee75b3c13f60a4f8e26b82b9fdf783b10dd40a49bf7f4fcdf6
+DIST gc-7.2d.tar.gz 1263064 SHA256 d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e SHA512 5b342754a1efeef0cf78983b7a0e48a36495beac04fc881ab356b26dc153b343e940ec7af070f4fc875be44adc559f7be995919fe9229f68d2e0237cdbeaabcc WHIRLPOOL 441507f8d8a9ee6d19a25ef0a1b11068a60b15b40a5c484cc3133e48e7ed1c498ce7cc05924d34b0bb6a63f8cb437a696d66f45dca1e256e792f5180081b6051
+DIST gc-7.2e.tar.gz 1291186 SHA256 09315b48a82d600371207691126ad058c04677281ac318d86fa84c98c3c9af4b SHA512 80d1d50e38714b4f198743cd8cd5ab80a35cfbb7f5f9d66c89f40319604e989125870f010d4499876978594a5823d7b61213224a68da8664b9e4f8e14076c999 WHIRLPOOL bac6bac3dde1ed136403450d335a33e7ffc692575871d19edaa322a523046a7f6dc75331ffec02a8e36a2f056e6422331c6a40fb5bfb5cfc23c70819a9e03447
+DIST gc-7.4.0.tar.gz 1060884 SHA256 61f8fc6991f8cb003a0d3c7d251c5b9a76093615ef793e0c588a4661e0b5e283 SHA512 7421dddd963a4eeb3d0c2efd486dcf842793e81385c9a87c38265137626822566c98920d9d6a9423c1dbeb067fd7fe8aeeead2d7bb7083f6056b6288410e1032 WHIRLPOOL 5506bb8503b646daede64580a8302e3515bf14aa19b2a2f768ad0b1ef23e70bb983f3c6d10ab5746f977e4a27b217187147188ecc38056614a9a2f74c73179c8
+DIST gc-7.4.2.tar.gz 1082597 SHA256 63320ad7c45460e4a40e03f5aa4c6893783f21a16416c3282b994f933312afa2 SHA512 2e21516addf268780641ee55c0cb3ecc2d96fa963faffee5beadcade9c6bf1ee49ee1a75b076b5d49ddde7c839fb94f4c3623ca8412d14c2a5bf6ca30d424a72 WHIRLPOOL 139fb9fbaef30f30f54940d99832b2eb936015620f59ee51b58a45e12d03cb9b05d75d8f91a6d706bafad9498894e77a7205d64f422bf2a4b64be2e9a8a13d90
+DIST gc-7.6.0.tar.gz 1111751 SHA256 a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90 SHA512 511e8c01287b1ee9dbec87f0573377de77038b7af053a3f33afed9b3ffa30e2402d6a9bb0ca4f4b81cd808209b47b5718d498cff3de6632a057fe03fad51fc43 WHIRLPOOL add6a8bf6fa2b9c0c1c14ff28dd6db67fe4a78b0de0598da14ededcea06f9d8dbaac6428fc7f0204a8919cd1c62ff5d7f81569684b3b895293713741ae4309ab
+DIST gc6.8.tar.gz 756879 SHA256 448f8e4c6ee8c80eac059cf1c9379d20c388bcb900fc0796cd2a44d1dcbbae69 SHA512 69a9554d2d213392512d4ce41ec8c4993557e65c2b3dc4f568ac18695421cc08b7677c25f9a0ce03e94fb5e68a298fcac7ed09fb90007a2c998ff6ef78d3c651 WHIRLPOOL 970b4453895053e8bafc0b1b5b4f9c221f83cf20e5c9e305cacf47bf67f9a04bf9a3c684b0288c2cb8217cf10ed61ac7eeabcecafeaa64becb16d17ec3456909
+EBUILD boehm-gc-6.8.ebuild 1090 SHA256 7d87ded966b5e304a077e9ffef14f1258e2eaf2e5fc93c99368d1bebc2f2f571 SHA512 912df525bfaaa5b767e5774e68f059058d50a060a02a99605d5a204153c22610ba872334e93eee64281c68582aa1fa54e2da1d72d6a82c0d83d89e61062939f3 WHIRLPOOL aed93840ea032dbaae7a5062fe108bd46817dd104ad04a016adb6bb612c464f8b8881b9db8cd4806f6cf68f901b91303e25777e95589136f460bbd1062ec795b
+EBUILD boehm-gc-7.1-r1.ebuild 1148 SHA256 6cc34d51b7ca8388af9556f54546d5fd2833c6aaf6113cec29a13153d3d0c830 SHA512 0f9e1d20c7de2df47ccbe487fd94ce674ea34b41edb089bb6d746e5de2c3e4ae16efb5900f02b1b477380917f274d946c3d1f7e70150bbf803b1e69bf615cd04 WHIRLPOOL a5dde8a9829b6931fbae634631f2237061438e667dacfdb0526068471f36056b305bde56d936dab5d5ee90af77b1909b09eff5eb6e37286122f99b93a20d5a9e
+EBUILD boehm-gc-7.2d-r1.ebuild 1349 SHA256 f2af6f561f087dc5aee9dc155715560f28b8fed1b06b1ecd99196cbc5fb70ae8 SHA512 c1c894f4d19d231fda3317cb6cdc8d9abc131f4d91c4a642c866e5330a0f7d4ec1bc8dead617038ae06894a66e285877ae050e45d64320f1d5b133843e15b855 WHIRLPOOL fd0bf8dbd8ce38d184286d4fd25bda95ca0604fee4fe037c19ffb4a9d366ffdb474290453e1647520965a1a33b246974270ea809c777fd40b32d8a35d75c728e
+EBUILD boehm-gc-7.2d.ebuild 1486 SHA256 1fea854d49e05194541b399aa10abe44a47818fba8695b7a9783cf91675ef495 SHA512 1cb254b75abe1073626affc0e7360e0d2e68295feba697286540cc832cf8ef4ef6a989237ee77a7d378c342ad1c8be36a1f55c774c625a139662d3d5404fd564 WHIRLPOOL c0920ef42941a33cff4b8f7c725cbc1c9a172236d7fbc9c8c40d45b7543094c87a22a7b2f8a916ca603d3ad2f985e50ff81db07dba01eb3ca2d665a96806add5
+EBUILD boehm-gc-7.2e.ebuild 1333 SHA256 d167cdd99301eaf56210ff766dab812f5d58548a7ccbbcfeac3bf681a86bae01 SHA512 e0fee4afc7b0f8b00df366d2856c3355e4832ebd1952f3ad3e23231dc7f34dc5471ced41624593690edc39b47a06274ca82c5dc90efc6181b50fa6a2e94b11b3 WHIRLPOOL 107ede6a7abfe78e0ad9beb6b2b3d4f118a8bff0f20e94042bf45618051a5d7e7441d5a879b42abe3a92aab4acb4575ef37a184b7af6019b447b4e7aa6d076ed
+EBUILD boehm-gc-7.4.0.ebuild 1226 SHA256 3c1fb13e1f487d4bf491419e407675b0b08ca4c1dba70a99d532856e3faec9bf SHA512 346a736512c86d9d07aa35aeca5a56e5958dd6af7614b6f3fa475bc4db51cf2dda42e5ba7b392e61d0f89b12d8ca1048e71da5e4b4047390be15682f34e720a3 WHIRLPOOL 04d8c4e1becc5c18e1517e17c1af21f42f2950a8f7322d961d790d64e505822e6028ba87eb37059d3e6076a66f9a2337568a206d8213bec39820597537df0331
+EBUILD boehm-gc-7.4.2.ebuild 1200 SHA256 39d24c5eecbc7fb12eb513fe54e12c0745eb57569997534a7901929da053f7e8 SHA512 d90be5a47509d83927c355c44f79e301f1fc62b198e984d132ca385519f33ab2aa5e8cb1b0e6964d3312ad0e27d49b9b8c68cec639d0a231b092461f0f85112b WHIRLPOOL 27d60c777c3c569dbcd8b4a064eb4027d7db89ba5e6e8755a08006dbffc77f4b58e11f116883e9a135260edeb649a1bfc77adf6606ae26103790ca21b8b6b2d8
+EBUILD boehm-gc-7.6.0.ebuild 1245 SHA256 394edcbe48d6dedc8fbd3cf28b913e5a57c940ee62762a6cb5652d775c8c5864 SHA512 ec4606af16ad4332a5260506c773dcdf8384580cf9aaab4b59758fb9886164fed65f763d527b54f6b23b331b86952ab0f153a7705348c6b46264007dd410d53e WHIRLPOOL a6ca69e0057e8ab39acd1c296018c975549f9e68fbdc393dbf86752bd5c3aefc8daa7874716cc5b1d08e0af6195d4b47ed81d44b299e9ccc9b9278f4f57291d9
+MISC ChangeLog 3267 SHA256 a9396f1575b62c15f95e500d838ad2aea6e1d9d7c4f814b8082086186f17f263 SHA512 fe0ed8fa758057355ee057a572a883c19487fad03c02858eae7aefdf35a7ec439992b33a70f9e26494ed846feaf08a30413e69c5c84dc5f556f322e9e50a7926 WHIRLPOOL d9d4396088d45d287254c7df373df5e68d442af480596ab73b52001c4e18377d14f8ba806d19167155a9c05fb45d70d7e5d6024f8da26876e6ad305908e2d26d
+MISC ChangeLog-2015 14997 SHA256 4d9159d4dd3552fc7618c44611c52839b5420c604d9cdcb4f1f5be2ae37fe475 SHA512 e4ae80b7cc04750ccfe5a5e14dfb010e2bee3a01e14f8545fc1855716767f7ea27ce238668085930f0a1d4547af5bd5ad1e5096d52ae3781efa4a76e58ff0a38 WHIRLPOOL e72dd51e9a1b6450f078153ec49e4c2f93437dd3296eb6ee313328f14d9ee0afd372a28d1784526a532cc1ce2d4542e89c52d1fb012f70ea3f3a4966c5558ea4
+MISC metadata.xml 361 SHA256 c7f871819ccce6fe86a06572c0398ffaf2ce371c4102f4e6ee3abc94af82acc9 SHA512 90f2837ff1c7ad2fc38cddadbac5e3c18ab17ee99bf30ce491d9581493a52b73463cdb4db86becb4b6b1123e3871c157431330e400931f85eb7e1f96231915e8 WHIRLPOOL 5193e0f97ceda7bb4fd338757886c115d2d7ced8d9e7185d915b442bbffa3b54464c11a1327d17d5ee9fdcf37bca61cdf732930815169a5a904e274f62796ef9
diff --git a/dev-libs/boehm-gc/boehm-gc-6.8.ebuild b/dev-libs/boehm-gc/boehm-gc-6.8.ebuild
new file mode 100644
index 000000000000..dc47e2325d2f
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-6.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils
+
+MY_P="gc${PV/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="cxx threads"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e '/^SUBDIRS/s/doc//' Makefile.in || die
+ epatch "${FILESDIR}"/${PN}-6.5-gentoo.patch
+ epatch "${FILESDIR}"/gc6.6-builtin-backtrace-uclibc.patch
+}
+
+src_compile() {
+ econf \
+ $(use_enable cxx cplusplus) \
+ $(use threads || echo --disable-threads)
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+
+ rm -rf "${D}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README* doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild b/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild
new file mode 100644
index 000000000000..d0853b7a5336
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.1-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils
+
+MY_P="gc-${PV/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 ~sparc x86"
+IUSE="cxx threads"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e '/^SUBDIRS/s/doc//' Makefile.in || die
+ epatch "${FILESDIR}"/${PN}-6.5-gentoo.patch
+ epatch "${FILESDIR}"/gc6.6-builtin-backtrace-uclibc.patch
+ sed '/Cflags/s:$:/gc:g' -i bdw-gc.pc.in || die
+}
+
+src_compile() {
+ econf \
+ $(use_enable cxx cplusplus) \
+ $(use threads || echo --disable-threads)
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ rm -rf "${D}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README* doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild
new file mode 100644
index 000000000000..521c7db9964f
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2d-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.2
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/d}"
+
+src_prepare() {
+ rm -r libatomic_ops || die
+
+ epatch "${FILESDIR}"/${P}-configure.patch
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch
+ eautoreconf
+}
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+
+ rm -rf "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+
+ prune_libtool_files
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild
new file mode 100644
index 000000000000..49714110be22
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2d.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+RDEPEND=">=dev-libs/libatomic_ops-7.2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/d}"
+
+DOCS=( README.QUICK doc/README{,.environment,.linux,.macros} doc/barrett_diagram )
+
+PATCHES=( "${FILESDIR}"/${P}-configure.patch )
+
+AUTOTOOLS_AUTORECONF=1
+
+src_prepare() {
+ sed '/Cflags/s:$:/gc:g' -i bdw-gc.pc.in || die
+ sed \
+ -e '/gc_allocator.h/d' \
+ -i Makefile.am || die
+ rm -rf libatomic_ops || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-libatomic-ops=yes
+ $(use_enable cxx cplusplus)
+ $(use threads || echo --disable-threads)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm -rf "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
new file mode 100644
index 000000000000..02c94d5ed7c8
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_P="gc-${PV/_/}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.2
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/e}"
+
+src_prepare() {
+ rm -r libatomic_ops || die
+
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch
+ eautoreconf
+}
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_install() {
+ default
+
+ rm -r "${ED}"/usr/share/gc || die
+
+ # dist_noinst_HEADERS
+ insinto /usr/include/gc
+ doins include/{cord.h,ec.h,javaxfc.h}
+ insinto /usr/include/gc/private
+ doins include/private/*.h
+
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+
+ use static-libs || prune_libtool_files #457872
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild b/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild
new file mode 100644
index 000000000000..49e885406659
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.4.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.4
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_compile() {
+ # Workaround build errors. #574566
+ use ia64 && emake src/ia64_save_regs_in_stack.lo
+ use sparc && emake src/sparc_mach_dep.lo
+ default
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+
+ rm -r "${ED}"/usr/share/gc || die
+ dodoc README.QUICK doc/README{.environment,.linux,.macros} \
+ doc/barrett_diagram
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild b/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
new file mode 100644
index 000000000000..ce85bb396f05
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND=">=dev-libs/libatomic_ops-7.4
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+ econf "${config[@]}"
+}
+
+src_compile() {
+ # Workaround build errors. #574566
+ use ia64 && emake src/ia64_save_regs_in_stack.lo
+ use sparc && emake src/sparc_mach_dep.lo
+ default
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+
+ rm -r "${ED}"/usr/share/gc || die
+ dodoc README.QUICK doc/README{.environment,.linux,.macros}
+ dohtml doc/*.html
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.6.0.ebuild b/dev-libs/boehm-gc/boehm-gc-7.6.0.ebuild
new file mode 100644
index 000000000000..7fc4ca03479f
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-7.6.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib-minimal
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="http://www.hboehm.info/gc/"
+SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
+
+LICENSE="boehm-gc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cxx static-libs threads"
+
+DEPEND="
+ >=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+multilib_src_configure() {
+ local config=(
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ )
+
+ ECONF_SOURCE=${S} econf "${config[@]}"
+}
+
+multilib_src_compile() {
+ use sparc && emake src/sparc_mach_dep.lo
+ default
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( doc/*.html )
+ einstalldocs
+ dodoc doc/README{.environment,.linux,.macros}
+
+ rm -r "${ED%/}"/usr/share/gc || die
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch b/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch
new file mode 100644
index 000000000000..72eb881eef7d
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-6.5-gentoo.patch
@@ -0,0 +1,83 @@
+diff -ur gc6.5.orig/include/private/gcconfig.h gc6.5/include/private/gcconfig.h
+--- gc6.5.orig/include/private/gcconfig.h 2005-08-05 00:03:00.000000000 +0200
++++ gc6.5/include/private/gcconfig.h 2005-08-05 00:08:42.000000000 +0200
+@@ -1100,6 +1100,9 @@
+ # endif
+ # define OS_TYPE "LINUX"
+ # define LINUX_STACKBOTTOM
++ /* On I386 Linux, enable HEURISTIC2 as a backup to /proc data */
++ /* for the case where /proc is missing or nobbled (grsec) */
++# define HEURISTIC2
+ # if 0
+ # define HEURISTIC1
+ # undef STACK_GRAN
+@@ -1901,6 +1904,9 @@
+ # ifdef LINUX
+ # define OS_TYPE "LINUX"
+ # define LINUX_STACKBOTTOM
++ /* On x86_64 Linux, enable HEURISTIC2 as a backup to /proc data */
++ /* for the case where /proc is missing or nobbled (grsec) */
++# define HEURISTIC2
+ # if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
+ # define MPROTECT_VDB
+ # else
+diff -ur gc6.5.orig/os_dep.c gc6.5/os_dep.c
+--- gc6.5.orig/os_dep.c 2005-08-05 00:03:00.000000000 +0200
++++ gc6.5/os_dep.c 2005-08-05 00:07:56.000000000 +0200
+@@ -967,7 +967,13 @@
+ # endif
+ f = open("/proc/self/stat", O_RDONLY);
+ if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
++ /* if /proc/self/stat isn't available, and HEURISTIC2 is possible, */
++ /* return NULL so that HEURISTIC2 will be tried. Otherwise bail. */
++# ifdef HEURISTIC2
++ return (ptr_t)NULL;
++# else
+ ABORT("Couldn't read /proc/self/stat");
++# endif
+ }
+ c = stat_buf[buf_offset++];
+ /* Skip the required number of fields. This number is hopefully */
+@@ -983,7 +989,16 @@
+ c = stat_buf[buf_offset++];
+ }
+ close(f);
+- if (result < 0x10000000) ABORT("Absurd stack bottom value");
++ if (result < 0x10000000) {
++ /* if stack base result is silly (e.g. is 0 due to grsec), and */
++ /* HEURISTIC2 is enabled, return NULL so that HEURISTIC2 will be */
++ /* tried. Otherwise bail. */
++# ifdef HEURISTIC2
++ return (ptr_t)NULL;
++# else
++ ABORT("Absurd stack bottom value");
++# endif
++ }
+ return (ptr_t)result;
+ }
+
+@@ -1045,6 +1060,12 @@
+ result = GC_freebsd_stack_base();
+ # endif
+ # ifdef HEURISTIC2
++/* if both LINUX_STACKBOTTOM and HEURISTIC2 are enabled, try HEURISTIC2 */
++/* when the LINUX_STACKBOTTOM returns NULL (indicating failure to get */
++/* a sensible result from /proc/self/stat) */
++# ifdef LINUX_STACKBOTTOM
++ if (result == (ptr_t)NULL) {
++# endif
+ # ifdef STACK_GROWS_DOWN
+ result = GC_find_limit((ptr_t)(&dummy), TRUE);
+ # ifdef HEURISTIC2_LIMIT
+@@ -1062,6 +1083,11 @@
+ }
+ # endif
+ # endif
++/* tail of extra 'if' condition when both LINUX_STACKBOTTOM and */
++/* HEURISTIC are configured. */
++# ifdef LINUX_STACKBOTTOM
++ }
++# endif
+
+ # endif /* HEURISTIC2 */
+ # ifdef STACK_GROWS_DOWN
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch
new file mode 100644
index 000000000000..e987c42a5852
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2d-automake-1.13.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..d258252 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@ AC_PREREQ(2.64)
+ AC_REVISION($Revision: 1.1 $)
+ GC_SET_VERSION
+ AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
+-AM_CONFIG_HEADER([include/private/config.h])
++AC_CONFIG_HEADER([include/private/config.h])
+ AM_MAINTAINER_MODE
+
+ AC_SUBST(PACKAGE)
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch
new file mode 100644
index 000000000000..fdada4394cc4
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2d-configure.patch
@@ -0,0 +1,33 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..45300c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -337,7 +337,7 @@ if test $compiler_xlc = yes -a "$powerpc_darwin" = true; then
+ AC_DEFINE([DARWIN_DONT_PARSE_STACK], 1, [See doc/README.macros.])
+ fi
+
+-if test "$GCC" == yes; then
++if test "$GCC" = yes; then
+ # Disable aliasing optimization unless forced to.
+ AC_MSG_CHECKING([whether gcc supports -fno-strict-aliasing])
+ ac_cv_fno_strict_aliasing=no
+@@ -442,8 +442,8 @@ esac
+ AC_MSG_RESULT($enable_shared)
+
+ # Compile with GC_DLL defined unless building static libraries.
+-if test "${enable_shared}" == yes; then
+- if test "${enable_static}" == no; then
++if test "${enable_shared}" = yes; then
++ if test "${enable_static}" = no; then
+ AC_DEFINE(GC_DLL)
+ # FIXME: Also pass -fvisibility=hidden option if GCC v4+ and not Win32.
+ fi
+@@ -707,7 +707,7 @@ if test -n "${with_cross_host}"; then
+ [Define to tune the collector for small heap sizes.])
+ fi
+
+-if test "$enable_gc_debug" == "no"; then
++if test "$enable_gc_debug" = "no"; then
+ AC_DEFINE([NO_DEBUGGING], 1,
+ [Disable debugging, like GC_dump and its callees.])
+ fi
diff --git a/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
new file mode 100644
index 000000000000..e987c42a5852
--- /dev/null
+++ b/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index ee6693d..d258252 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@ AC_PREREQ(2.64)
+ AC_REVISION($Revision: 1.1 $)
+ GC_SET_VERSION
+ AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
+-AM_CONFIG_HEADER([include/private/config.h])
++AC_CONFIG_HEADER([include/private/config.h])
+ AM_MAINTAINER_MODE
+
+ AC_SUBST(PACKAGE)
diff --git a/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch b/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch
new file mode 100644
index 000000000000..1d3e5780e74d
--- /dev/null
+++ b/dev-libs/boehm-gc/files/gc6.6-builtin-backtrace-uclibc.patch
@@ -0,0 +1,13 @@
+--- include/gc.h 2006-02-25 15:49:52 +0000
++++ include/gc.h 2006-02-25 15:50:00 +0000
+@@ -473,7 +473,9 @@
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+ && !defined(__ia64__)
+ # ifndef GC_HAVE_BUILTIN_BACKTRACE
+-# define GC_HAVE_BUILTIN_BACKTRACE
++# ifndef __UCLIBC__
++# define GC_HAVE_BUILTIN_BACKTRACE
++# endif
+ # endif
+ # endif
+ # if defined(__i386__) || defined(__x86_64__)
diff --git a/dev-libs/boehm-gc/metadata.xml b/dev-libs/boehm-gc/metadata.xml
new file mode 100644
index 000000000000..3c4cdfb0b599
--- /dev/null
+++ b/dev-libs/boehm-gc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+</maintainer>
+<maintainer type="project">
+ <email>toolchain@gentoo.org</email>
+ <name>Gentoo Toolchain Project</name>
+</maintainer>
+</pkgmetadata>