diff options
author | Petr Vaněk <arkamar@atlas.cz> | 2022-07-29 13:54:22 +0200 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2022-08-18 10:06:18 +0300 |
commit | 3d84addb0089529e1b6ef37cb19db59eb63a02cf (patch) | |
tree | 8e631dcc8b95b731b2b087a0897a2e30f86e3ef5 /dev-libs/json-parser | |
parent | net-im/bitlbee: set correct --libdir (diff) | |
download | gentoo-3d84addb0089529e1b6ef37cb19db59eb63a02cf.tar.gz gentoo-3d84addb0089529e1b6ef37cb19db59eb63a02cf.tar.bz2 gentoo-3d84addb0089529e1b6ef37cb19db59eb63a02cf.zip |
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>
Diffstat (limited to 'dev-libs/json-parser')
-rw-r--r-- | dev-libs/json-parser/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch | 22 | ||||
-rw-r--r-- | dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild | 82 | ||||
-rw-r--r-- | dev-libs/json-parser/metadata.xml | 15 |
4 files changed, 120 insertions, 0 deletions
diff --git a/dev-libs/json-parser/Manifest b/dev-libs/json-parser/Manifest new file mode 100644 index 000000000000..ac3d8c8c0ff7 --- /dev/null +++ b/dev-libs/json-parser/Manifest @@ -0,0 +1 @@ +DIST json-parser-1.1.0_p20211208.tar.gz 51479 BLAKE2B 31ce7929c1de829e312dfc855365d8851ad7c2ce31379d3ab4b4937291e2ec367c7692ecb11b781d0647e5dc38008e4e7bd122d9edaafd1c393a1cbf765117b9 SHA512 cbe6690a70ada1906b2c208fcbe03fe5a14651660ece9ba933a3160ea027c6dd9507189e1c63052059c3a00b2e2a59dbc65fa668a287455d438aa4453eecf22f diff --git a/dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch b/dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch new file mode 100644 index 000000000000..094f8f985dec --- /dev/null +++ b/dev-libs/json-parser/files/json-parser-1.1.0-pkgconfig-libdir.patch @@ -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 + diff --git a/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild new file mode 100644 index 000000000000..a551d83b795c --- /dev/null +++ b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild @@ -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} +} diff --git a/dev-libs/json-parser/metadata.xml b/dev-libs/json-parser/metadata.xml new file mode 100644 index 000000000000..4580bd57e5b3 --- /dev/null +++ b/dev-libs/json-parser/metadata.xml @@ -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> |