Version bump. Move libmemenv.a behind USE=static-libs. Add arm64/mips support.
authorMike Frysinger <vapier@gentoo.org>
Sat, 21 Feb 2015 18:34:09 +0000 (18:34 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 21 Feb 2015 18:34:09 +0000 (18:34 +0000)
Package-Manager: portage-2.2.17/cvs/Linux x86_64
Manifest-Sign-Key: 0xD2E96200

dev-libs/leveldb/ChangeLog
dev-libs/leveldb/Manifest
dev-libs/leveldb/files/leveldb-1.18-mips.patch [new file with mode: 0644]
dev-libs/leveldb/leveldb-1.18.ebuild [new file with mode: 0644]

index 7ff868aea3754c39c01d1895412d86349bd990e2..a0ef9bf01c7fc9aee9047641061597f9536d6e45 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-libs/leveldb
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/leveldb/ChangeLog,v 1.26 2015/02/21 18:18:13 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/leveldb/ChangeLog,v 1.27 2015/02/21 18:34:07 vapier Exp $
+
+*leveldb-1.18 (21 Feb 2015)
+
+  21 Feb 2015; Mike Frysinger <vapier@gentoo.org>
+  +files/leveldb-1.18-mips.patch, +leveldb-1.18.ebuild:
+  Version bump. Move libmemenv.a behind USE=static-libs. Add arm64/mips support.
 
   21 Feb 2015; Mike Frysinger <vapier@gentoo.org> leveldb-1.10.0-r1.ebuild,
   leveldb-1.11.0-r1.ebuild, leveldb-1.12.0-r1.ebuild, leveldb-1.13.0-r1.ebuild,
index 9d90923b74a25cdeec9691dca130809d4d1a2089..cf998d920894285205a250bc5d72cfea95aedd22 100644 (file)
@@ -1,6 +1,7 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
+AUX leveldb-1.18-mips.patch 1399 SHA256 c6547ce7050b1d5078c72e8db777bae77d83d0d4bd4a3c7f5942c9bddbb603f5 SHA512 8d968371007d163cbbb87546cbfe246e399f083bacea415f2d8b68355a5d3363df51f34e9bd29ee558ae475414b3c331b7473ef2d7e432ebfa786d55a08b2e54 WHIRLPOOL aca9868351fef0ae368e6e5a4f0c2ba425647523eaab884c7ea840265f0553be91ca0345cb1a0f3ce029e4af6201044d7eaec3545acb6021b4f908a97bbc1a41
 AUX leveldb-1.9.0-configure.patch 990 SHA256 7e509d4a77fc8ae77082f9b54e505dd6b42eca9af36e2b9e03bfe4a25472b529 SHA512 28f08e257d0f067d93ea88ee30719c092660ab7d220a55d4fa1cec5c5fd8195465e374670aa46c7a125f218ae3a689f3bb58ce66ddc720a2fc1caed552ed27e5 WHIRLPOOL eafac457577fc66a0d096b50c408c5e5298278cc071c5ea867ea61c4bdff1c95759ea73cf60be4ee6f5dfa20babce075d2efe928345f39538789c8c3995403de
 AUX leveldb-1.9.0-forwardcompat.patch 3464 SHA256 1ca68f5dc7d3da0083e497d2e6ceb27675890a18db29f99f9cdf2c3cf5f7628b SHA512 d55d4469a9cb118688233b82df3f19d08a8fb3f53a3d1d990d485a0cb91872eb2fd3699288369a96ee59739be730ce9437f9d1f8b51d095dd014adf475de7824 WHIRLPOOL 54b19b1990b7c962e285878297e4a09479eb9d3cdb08ee36b4ab6cbf8e22ac486c062b3097b0970e6ed346d3765f76048518a41b1541647049f051d20571f5e4
 AUX leveldb-1.9.0-memenv-so.patch 1957 SHA256 abb3a6af4d22419435db286dd84892bb2e988f0b235c72127dcc5501dd7edf51 SHA512 fbd1e43dba18b9dc8717651052323ea71182a758eccc3637f3ab1aade1a5de5b00f6a54ea0a8f34e2b9a91173b72eb23530ae77bc2b1ac0e454e0e2dfffcfd75 WHIRLPOOL c73765cbd7fe87085c1f207afd5c3873f687d9f4b8d57911a7701af3e552e46b5ef9f4336757fc72370f2e63e2f8432bee7964e4acdf8d3db0a49a215b4f390c
@@ -11,6 +12,7 @@ DIST leveldb-1.13.0.tar.gz 207718 SHA256 083497a48ff54a3470ab5085730306a536013c0
 DIST leveldb-1.14.0.tar.gz 208282 SHA256 9122d2c248ba40d6ce46d0c3e4738fcfa941d0d93fdba20a101471a98e8b00a3 SHA512 c8dc837b77b7aa0be4fca03f31061685534d4280c59b929e5c3e7ef9ceb29e7ea75f8836a55c9df49cd3bc67143d91a2512fc5d9a181f440ec4961a256c77108 WHIRLPOOL 445589cb1f6f540a5a0cc395907f04bb785ea98441d6c9ea19eee6888ebbcc659cf9b9a44a87693336b9cf14a0645de43c0761ad9aafadbd33f157ef05687a6e
 DIST leveldb-1.15.0.tar.gz 205691 SHA256 d7c4ec571ef2ee9719f31db06344a1eba495e6abeeac1bc349d0d38a911c6680 SHA512 af5b18a7750ac553659075c1c34aa2fddf6322b6837f096589cf5908c7050fd19053cd98d19fd7097e0840392b318f0166360d3a0595adcaaabcfdf393246775 WHIRLPOOL 10136e1b8686ef2993e4b45b371bf749972fe84e0cd615bf18fc85de676e589951689adefc3a14625e66cf6cc4f70ffd99bf0c832209a97ceccee834853a7503
 DIST leveldb-1.17.tar.gz 207037 SHA256 a538ccdc5b9d42f7d64578d186eb17dc3a1b3dbbb3c14bbe0cbff961456bddd1 SHA512 d35401a92fa2b59c46e97ab94a9c70d0d5f97dbc7868a75354e088489338c078f47feaa3371489c481317b45ace6bd207d29676f5c18076ced86aa3f9fa44e58 WHIRLPOOL c3790b0cb38219cd609d9efe0568f47cd31515334ef1cbaff7e5efb97b300de113509833978688ae22d94aa7c9a0aa8c4d35268de1cb678a974dce6f7607a91f
+DIST leveldb-1.18.tar.gz 209376 SHA256 4aa1a7479bc567b95a59ac6fb79eba49f61884d6fd400f20b7af147d54c5cee5 SHA512 3d9c55a7bf8692914784ec33c273704ce9978496b071c7b661708f049d0d4ccd51a44441f50c3e536725caeb9896575192f52708a4bb1c0222cecdeec89919a3 WHIRLPOOL 3d6434919d49b23e6ae7305c189a8823032d9f350fbf429513e4ec851ee3974b4a272c9fc5265d551e849f8929266d8b40698951c6b55b333d7e37b2d5819cad
 DIST leveldb-1.9.0.tar.gz 203872 SHA256 b2699b04e5aba8e98382c4955b94725d1f76bd0b5decd60c5628205b717a1d4f SHA512 47b0a3272eef2d677ddeb8d0c973e59a1be4bff580528c3bc3f83a654f41485ecc86892d9124ce21ef747c220f98cdad687436849dc978adfd42f8c8c05b9160 WHIRLPOOL 301ba45968095420ff72da36f128bd916d4e039385270eecd8e077aac3781ed12931c9a7d426842e197fd62a99ad6477e5eabbca7524fcba2a185a702f4ef22a
 EBUILD leveldb-1.10.0-r1.ebuild 1418 SHA256 f2cdeaec3f98588e243b1ee45c5250161ebe38c3abc1f1408075a8bfcabd8a9e SHA512 91ce2d96dcb6152bc71b191887936293d4827eb2171ff3eec3d2ef1bb937832ef93245a9c982af05a03f8fa3ff8b55ec0a866f7b8e791b112b3ef8143d329ede WHIRLPOOL 1bfb90303a7ca9c53ffada58ddc00f7541319a8f99530a720031248c81f7555c78484434e883c3181c555475666012fe1d1e22cbbb12f3c8674119e796985d71
 EBUILD leveldb-1.11.0-r1.ebuild 1418 SHA256 06067ff3c3723fc3ec061847fe1e9e35366f99e1c516b9690bb8eaae27cb00af SHA512 780ab01a0fb2d41fbad83454cc926c26e6c069a806018c33f6e9311ae7e42a4e4f7515d7065b3f31622b443951073598b0707d5436e6a66407b5fa08e8800282 WHIRLPOOL 07656416c2748ab3dde9b2bd3d35ba7770186de943582426225a8da56537f209b33a198b5e9b1a16e7f0f0f7c5450c20656ac03a25e99e85cca3abdda0e08205
@@ -20,24 +22,25 @@ EBUILD leveldb-1.14.0.ebuild 1342 SHA256 bc516a3404a623a556d8ccb90a7c235d782d450
 EBUILD leveldb-1.15.0-r1.ebuild 1552 SHA256 56e817a3b79fe24e2afe11774b46f759507e8dc16d2d727dd9293fd84f3676f1 SHA512 de830e802c8819e9d1f3c18998b90370d844f563f258fc5f656a1041daa9e833360316ae2b4d3dd77a43b7c2108b8aabae93cec56bfeb36baadedd21d15672c6 WHIRLPOOL 869dc35a57bd7359a4cf33a12415a1ec61914c3caa471d173d87c0672ce501f343c2850cb3f9fc9cb379d77cb4d382a0bdb16962687a8d8d6b91aedb8f5bcde1
 EBUILD leveldb-1.15.0.ebuild 1342 SHA256 fe53e3017996212bb438beffd77e8094d21ffc48a009e9d17cca70d1af12a278 SHA512 d2266f66a1250836b6dd58dcffa23fa88b19db91095216cb71160246532dd2bd978972ad327ace9e6d27b81e6e0cd6fc832ded952c371068be904b638dfaab9c WHIRLPOOL d647b6041211d6ed81c66adbc66bd1ece887b3a570fa88735e3c2907639c1666789714bfc546ce30f6e6a79cd739a5cad84a10ae86460e6bb62ec1db5d59347f
 EBUILD leveldb-1.17.ebuild 1830 SHA256 9da89f011144d954d9286fe32733b8a92d53a0b18aadf17653d4c9e1041bda9c SHA512 2a4f5a5415168899e971ca7fab01b0cdc94951c623673f2205679780d6349489cfd551b38ea9b6c47b095b358a2387ab3770f45339ada505824c33a9388344e3 WHIRLPOOL 66dc86b22373f330ac5e6587798ca1bdf2bbb46256780692f1b8b945fb7677c8e14ed90717cee3f718d2c18a5c016a137ef25a9b06faf941dd021d0f1d2b0266
+EBUILD leveldb-1.18.ebuild 1758 SHA256 cf9ac0760fb229a28a538df2bbb44cab14a4130d2443d9d88b952444c1cde956 SHA512 b6865746a9e9e0b8c9a30549723bd433341fe8a76c480cf43dbbc17c232a1aa44aefe53ba55db337d282dafea415cd00ae3874f0ff7db7c0b0fa6ec78eee3de8 WHIRLPOOL 0c2ed6ef1fedce30d90307d56e1e04ab4fbcc9871d27bd490ddce5d056df1027fe3a1eb3fe98b25e36c60fd680fb9ae7b58d31082e06b9002b002a2ba036f53d
 EBUILD leveldb-1.9.0-r5.ebuild 1337 SHA256 6a010183c84897cafd5fd715ce84197fc1af7221b2f315e8ffee479a29920c0c SHA512 2a7cee3529836ad74453bf200f5bcc98ce71b3f2fbbb23b1cfda48b5f6addd94f76460965050590f057a64e7653a9246927cb0015b2a144b772b77effcb7897f WHIRLPOOL ae7c0dce8f25c8097b8d2b532ecb5769d0fddd5ce1e10129626e35e9bea1203ea950c7a2dee219618458fca057c6325b89e06511cf157804dc72075b37082ccf
 EBUILD leveldb-1.9.0-r6.ebuild 1391 SHA256 7b2f71b4c7e8cddb52cf687733b8aafaf7eabc50a1c392355a81fc7c3802c6e8 SHA512 651b95a5db25811d2300c9c62d7f04d3282f7fbd9bf8e6775b14e6e0103b63df6196fa387978ced5c5b96ad9235d394b073b3f97c606add8998fbf5b8659f724 WHIRLPOOL 2567e082f42a5f9a00887213a6a93a327b49d633a5bea0095457c724dab372cd0d4de690bde10cf119f8053b572c28f4a2bc5cb639969afd12fee8cf7495863b
-MISC ChangeLog 4561 SHA256 35cab5ce2ae14b9e4092381d0b69c340650578ce03d0e0e3c570ba0f3898a482 SHA512 baef70efef73129f5b020217c600a067f45a9819157129d0e101d1ba29792792c7421f06d9fd2089f1b789e42223afce61210206b51f03de468af8097d4b19c0 WHIRLPOOL c257790dc5c5d4a77a2eb7042a00e5d0fa3a6643cd5d693ff2d715147d3f05c5fc01ad4ee9c22383c9dec34f760fd5687b8791d49aabf92b28836ef5d9208575
+MISC ChangeLog 4778 SHA256 edbbf63ae00f07d0249804b055c8a69f1ac54ce804f0da56bf05e89b36946d1e SHA512 07819001dac1ecf5a8bdede0e64f84ce8faa367a8e12f7f5e8b4977267034c9244cd536ed592b07c71d71a32b66f51c791a7e08a4c10531f0b8a27f6d1558da5 WHIRLPOOL ee5b0ebe31eb727db71df8677f1cb189a877c7f86e2e48dec0e102ccf5d6479a5be2078edbfcf325183133d46ffff3bc3bdd3ad830130fac26e9f41765158d0b
 MISC metadata.xml 446 SHA256 f36024a661afe4d9be20033f664174a90b76df85e531da553abe9ca7d10dcb58 SHA512 d61a8e5645c7eff9fed94136ead2ad8d310e0313fd200ae754a8fc13ca8f5378b03ca2c95bd228cd1c7c5227edb00c25ddc512c6a004a9f5514238986b8dbade WHIRLPOOL 65044cd9194579bf1a2e577369cc4b09fa9d84d0d1e78bcdb41b0c70b68369171829ff80c89cbe24c974af0c829f415c207a0b537c8b5e9170fe71eafebb3ef7
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJU6MvoAAoJEPGu1DbS6WIAM6wP/2cXbADnUy3M6xeuVd1UyoLX
-XgiOCoJqKXbp2LU10I0qXZ6YU8SK95dHZqNQGmvvsgOK3jeoLkDmC8qY527hHF60
-GcEq2nkLrZxiJW+kaQ8DXjmZL3ue8SAqrxTveOaPWrvOr6DBspf0MTI92AU0HG69
-O3wLJAAOyP5/QEZVL+doct5fdX56arC/NMc9CfCFje8tjubZSZQpw2sZzG8Wco7M
-hQsyGI78cEcpMzh/DqbaW4tYfUi2aVNU3dzQ1ZuGSEi6mMGGKNgrGzlIFvA0jbkj
-FsUbUoF/03or2WIR2ztIBbmoXkkRNyn1OYTzoGQ/FkNwvuRH5gdF1AkDldXgUDiP
-CfobiIOTjM/O5dEzUQ8A5efqztow/RnP7PLwSUMXKO1b+9D7LIYPd8lM8EKNefho
-dt4faJvJcgCs82QQ3/UmOVpGiroKlI+3Teg99XrHe+wVzMkQ0BDWXAghtGcZc6xW
-CBjsGaZII+vzP1b6LwujRKGOR3ni7BwRY+sxzYcE8x67E2PaR+5G/S6JJ3tItoZO
-EIhioSS4nTrv14LgdBXzLbBU5VbpOuAa4rnBjlH7yanWGaZ7BBIldthAp+Ffwyhi
-+HIT9hQuh2Eg0HwuVFMx5rfbLdIoeg6dXBr6eDLffDxzOjXHbUzVfH4grSBjMI7C
-vvjLdOxgweBbHz9kUMDL
-=awJ1
+iQIcBAEBCAAGBQJU6M+hAAoJEPGu1DbS6WIAN14P+wQLm9yfqTzWlQ6bXXvVtaUp
+kPokAgmdz/9WdPOlZntBb/e8nIfgnCpVv+hQiYulJISRMhXBao3xNQCrVXFg9dHe
+pvC3bmHqnossXHRox6T6+aHsMFA/cd8R/Wd0T+g1xiMFj9xIP4B7oZZI+LVC5mFI
+f1QqP74KWhd8UeJG1HzwmDUcD73GIukcoQ9nFgCLoaRZwfvOccCP4e/2IFfJpVf7
+NLxI2KZ90aA157yehWVrbhXdx/BPorZ4j+jBVGiosS3FZiAy9S/xS+LZlN9S46n+
+CBzKM0Tvizhqultj57ayyICvF6aACkzIPXZT69XqiylmHnwjlNT3O7dOnFUIJH1a
+m+Va/E5LNXlyx89QOAwqEKGqp/A3MFErUNfpOmTcrBpleynzxSspewPQrl9xsO4s
+XZewRypclazaHVfqHqKcpPvLTRAh/exA6ZjUreHMO0k9BTwYT2Xc+Lrg4WQNfpSB
+WiUcpM4YTIyOvj4qDQSPLVO//MFvjwliV6/zDqwwjzDSMt1CZMUV1w1gQp/5m0XA
+qHPnYMAOhEtE+xOx+fMJp7CsMQNVzT02i9S9npeAT91bNn+oBGVlbukajoeaHPMo
+RNcE4UQiTIPexGO8s49zysWTXeTsXQZRFLCB2iZP2OsQguKY0e6c4CA3j7ivo5gm
+qLhzP+kt79QQjbKBbvLu
+=hFk/
 -----END PGP SIGNATURE-----
diff --git a/dev-libs/leveldb/files/leveldb-1.18-mips.patch b/dev-libs/leveldb/files/leveldb-1.18-mips.patch
new file mode 100644 (file)
index 0000000..379223d
--- /dev/null
@@ -0,0 +1,48 @@
+https://github.com/google/leveldb/pull/272
+
+From f216400e702a51c900f2ce0285fdd6a21d3dd87b Mon Sep 17 00:00:00 2001
+From: Ben Chan <benchan@chromium.org>
+Date: Thu, 11 Sep 2014 21:38:48 -0700
+Subject: [PATCH] CHROMIUMOS: Add memory barrier implementation for MIPS.
+
+This CL is based on the patch authored by David Turner <digit@google.com>,
+see https://code.google.com/p/leveldb/issues/detail?id=109
+
+BUG=chromium:413517
+TEST=`emerge-{x86,amd64,arm,mipsel-o32}-generic leveldb`
+
+Reviewed-on: https://chromium-review.googlesource.com/217834
+---
+ port/atomic_pointer.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/port/atomic_pointer.h b/port/atomic_pointer.h
+index 35ae550..341909e 100644
+--- a/port/atomic_pointer.h
++++ b/port/atomic_pointer.h
+@@ -36,6 +36,8 @@
+ #define ARCH_CPU_X86_FAMILY 1
+ #elif defined(__ARMEL__)
+ #define ARCH_CPU_ARM_FAMILY 1
++#elif defined(__mips__)
++#define ARCH_CPU_MIPS_FAMILY 1
+ #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
+ #define ARCH_CPU_PPC_FAMILY 1
+ #endif
+@@ -83,6 +85,13 @@ inline void MemoryBarrier() {
+ }
+ #define LEVELDB_HAVE_MEMORY_BARRIER
+ 
++// MIPS
++#elif defined(ARCH_CPU_MIPS_FAMILY) && defined(__GNUC__)
++inline void MemoryBarrier() {
++  __asm__ __volatile__("sync" : : : "memory");
++}
++#define LEVELDB_HAVE_MEMORY_BARRIER
++
+ #endif
+ 
+ // AtomicPointer built using platform-specific MemoryBarrier()
+-- 
+2.3.0
+
diff --git a/dev-libs/leveldb/leveldb-1.18.ebuild b/dev-libs/leveldb/leveldb-1.18.ebuild
new file mode 100644 (file)
index 0000000..5669eb6
--- /dev/null
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/leveldb/leveldb-1.18.ebuild,v 1.1 2015/02/21 18:34:07 vapier Exp $
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator
+
+DESCRIPTION="a fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc"
+
+DEPEND="tcmalloc? ( dev-util/google-perftools )
+       snappy? (
+               app-arch/snappy
+               static-libs? ( app-arch/snappy[static-libs] )
+       )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-1.18-mips.patch
+
+       local SHARED_MINOR=$(get_version_component_range 2)
+       sed \
+               -e "s/\(^ SHARED_MINOR =\).*/\1 ${SHARED_MINOR}/" \
+               "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" > memenv-so.patch
+       epatch memenv-so.patch
+
+       # lacks execution bit
+       chmod +x build_detect_platform || die
+}
+
+src_configure() {
+       # These vars all get picked up by build_detect_platform
+       # which the Makefile runs for us automatically.
+       tc-export AR CC CXX
+       export OPT="-DNDEBUG ${CPPFLAGS}"
+       # Probably needs more filling out
+       export TARGET_OS
+       case ${CHOST} in
+       *) TARGET_OS="Linux";;
+       esac
+       export USE_SNAPPY=$(usex snappy)
+       export USE_TCMALLOC=no
+}
+
+src_compile() {
+       emake $(usex static-libs 'libmemenv.a' 'LIBRARY=') all libmemenv.SHARED
+}
+
+src_test() {
+       emake check
+}
+
+src_install() {
+       insinto /usr/include
+       doins -r include/* helpers/memenv/memenv.h
+       dolib.so libleveldb*$(get_libname)*
+       use static-libs && dolib.a libleveldb.a libmemenv.a
+       dolib.so libmemenv*$(get_libname)*
+}