mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-09 18:47:16 -08:00
dev-libs/json-parser: new package, add 1.1.0_p20211208
Original version 1.1.0 is from a year 2014, which is quite old. The
snapshot is from latest commit 531a49062975 ("Add author of #154 to
AUTHORS") in master branch, which contains (among others) two fixes
related to strict aliasing. New release is anticipated [1], but it is
not clear when it will happen, as the ticket is open for 2 years
already.
It was necessary to apply one patch proposed as PR [2] to upstream,
which changes pkgconfig file installation path from datadir to libdir.
This library is currently known to be bundled in multiple packages in
::gentoo, see the corresponding bugs bellow.
[1] https://github.com/json-parser/json-parser/issues/82
[2] https://github.com/json-parser/json-parser/pull/164
Bug: https://bugs.gentoo.org/858524
Bug: https://bugs.gentoo.org/861143
Bug: https://bugs.gentoo.org/861371
Signed-off-by: Petr Vaněk <arkamar@atlas.cz>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
This commit is contained in:
@@ -0,0 +1 @@
|
||||
DIST json-parser-1.1.0_p20211208.tar.gz 51479 BLAKE2B 31ce7929c1de829e312dfc855365d8851ad7c2ce31379d3ab4b4937291e2ec367c7692ecb11b781d0647e5dc38008e4e7bd122d9edaafd1c393a1cbf765117b9 SHA512 cbe6690a70ada1906b2c208fcbe03fe5a14651660ece9ba933a3160ea027c6dd9507189e1c63052059c3a00b2e2a59dbc65fa668a287455d438aa4453eecf22f
|
||||
@@ -0,0 +1,22 @@
|
||||
Upstream-PR: https://github.com/json-parser/json-parser/pull/164
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 8938230..b7539f7 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -43,9 +43,9 @@ clean:
|
||||
rm -f libjsonparser.$(SO_EXT) libjsonparser.a json.o
|
||||
|
||||
install-shared: libjsonparser.$(SO_EXT)
|
||||
- @echo Installing pkgconfig module: $(datadir)/pkgconfig/json-parser.pc
|
||||
- @install -d $(datadir)/pkgconfig/ || true
|
||||
- @install -m 0644 json-parser.pc $(datadir)/pkgconfig/json-parser.pc
|
||||
+ @echo Installing pkgconfig module: $(libdir)/pkgconfig/json-parser.pc
|
||||
+ @install -d $(libdir)/pkgconfig/ || true
|
||||
+ @install -m 0644 json-parser.pc $(libdir)/pkgconfig/json-parser.pc
|
||||
@echo Installing shared library: $(libdir)/libjsonparser.$(SO_EXT)
|
||||
@install -d $(libdir) || true
|
||||
@install -m 0755 libjsonparser.$(SO_EXT) $(libdir)/$(REAL_NAME)
|
||||
--
|
||||
2.35.1
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
DISTUTILS_OPTIONAL=1
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit distutils-r1 edo toolchain-funcs
|
||||
|
||||
COMMIT="531a49062975d6d2cd5d69b75ad5481a8c0e18c5"
|
||||
|
||||
DESCRIPTION="Very low footprint JSON parser written in portable ANSI C"
|
||||
HOMEPAGE="https://github.com/json-parser/json-parser"
|
||||
SRC_URI="https://github.com/json-parser/json-parser/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
S="${WORKDIR}/${PN}-${COMMIT}"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="python"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
BDEPEND="
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
${DISTUTILS_DEPS}
|
||||
dev-python/cython[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-1.1.0-pkgconfig-libdir.patch" )
|
||||
|
||||
wrap_python() {
|
||||
local phase=$1
|
||||
shift
|
||||
|
||||
if use python; then
|
||||
pushd bindings/python || die
|
||||
distutils-r1_${phase} "${@}"
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
wrap_python ${FUNCNAME}
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
default
|
||||
wrap_python ${FUNCNAME}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
wrap_python ${FUNCNAME}
|
||||
}
|
||||
|
||||
python_test() {
|
||||
"${EPYTHON}" test.py || die "Tests failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
edo $(tc-getCC) ${CFLAGS} -I. ${CPPFLAGS} ${LDFLAGS} -o tests/test tests/test.c json.o
|
||||
pushd tests > /dev/null || die
|
||||
edo ./test
|
||||
use python && distutils-r1_src_test
|
||||
popd
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install-shared
|
||||
dodoc README.md AUTHORS
|
||||
wrap_python ${FUNCNAME}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>arkamar@atlas.cz</email>
|
||||
<name>Petr Vaněk</name>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">json-parser/json-parser</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user