dev-libs/yajl: Use EAPI=6, fix build with uclibc (bug 512738).
authorMichael Weber <xmw@gentoo.org>
Sun, 19 Aug 2018 21:25:43 +0000 (23:25 +0200)
committerMichael Weber <xmw@gentoo.org>
Sun, 19 Aug 2018 21:25:43 +0000 (23:25 +0200)
Thanks a17r and René Rhéaume.

Closes: https://github.com/gentoo/gentoo/pull/9620
Closes: https://bugs.gentoo.org/512738
Package-Manager: Portage-2.3.45, Repoman-2.3.10

dev-libs/yajl/files/yajl-2.1.0-uclibc.patch [new file with mode: 0644]
dev-libs/yajl/yajl-2.1.0-r1.ebuild [new file with mode: 0644]

diff --git a/dev-libs/yajl/files/yajl-2.1.0-uclibc.patch b/dev-libs/yajl/files/yajl-2.1.0-uclibc.patch
new file mode 100644 (file)
index 0000000..2e6f176
--- /dev/null
@@ -0,0 +1,14 @@
+diff --git a/reformatter/CMakeLists.txt b/reformatter/CMakeLists.txt
+index da4032b..d48e218 100644
+--- a/reformatter/CMakeLists.txt
++++ b/reformatter/CMakeLists.txt
+@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib)
+
+ ADD_EXECUTABLE(json_reformat ${SRCS})
+
+-TARGET_LINK_LIBRARIES(json_reformat yajl_s)
++TARGET_LINK_LIBRARIES(json_reformat yajl_s m)
+
+ # copy the binary into the output directory
+ GET_TARGET_PROPERTY(binPath json_reformat LOCATION)
+
diff --git a/dev-libs/yajl/yajl-2.1.0-r1.ebuild b/dev-libs/yajl/yajl-2.1.0-r1.ebuild
new file mode 100644 (file)
index 0000000..003688a
--- /dev/null
@@ -0,0 +1,38 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-multilib vcs-snapshot
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="https://lloyd.github.com/yajl/"
+SRC_URI="https://github.com/lloyd/yajl/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+PATCHES=( "${FILESDIR}"/${P}-uclibc.patch )
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       multilib_copy_sources
+}
+
+src_test() {
+       run_test() {
+               cd "${BUILD_DIR}"/test/parsing
+               ./run_tests.sh ./yajl_test || die
+       }
+       multilib_parallel_foreach_abi run_test
+}
+
+src_install() {
+       cmake-multilib_src_install
+
+       use static-libs || \
+               find "${D}" -name libyajl_s.a -delete
+}