diff options
author | orbea <orbea@riseup.net> | 2022-05-14 02:18:38 -0700 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-05-15 00:05:35 +0000 |
commit | ef3e19c86a91a048d41ee9c32a4feaeae6124ded (patch) | |
tree | a19ac853a439f201a7d6a43e34c308cdfbe27bcb /net-libs | |
parent | app-misc/rpick: Add 0.8.10 (diff) | |
download | gentoo-ef3e19c86a91a048d41ee9c32a4feaeae6124ded.tar.gz gentoo-ef3e19c86a91a048d41ee9c32a4feaeae6124ded.tar.bz2 gentoo-ef3e19c86a91a048d41ee9c32a4feaeae6124ded.zip |
net-libs/pacparser: Add 1.4.0
Bug: https://bugs.gentoo.org/793425
Upstream-PR: https://github.com/manugarg/pacparser/pull/106
Upstream-PR: https://github.com/manugarg/pacparser/pull/136
Upstream-PR: https://github.com/manugarg/pacparser/pull/137
Upstream-Commit: https://github.com/manugarg/pacparser/commit/c6258eb8001b449819e11b98bb124903fab96990
Signed-off-by: orbea <orbea@riseup.net>
Closes: https://github.com/gentoo/gentoo/pull/25487
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/pacparser/Manifest | 1 | ||||
-rw-r--r-- | net-libs/pacparser/files/pacparser-1.4.0-build.patch | 96 | ||||
-rw-r--r-- | net-libs/pacparser/files/pacparser-1.4.0-pymod.patch | 61 | ||||
-rw-r--r-- | net-libs/pacparser/pacparser-1.4.0.ebuild | 70 |
4 files changed, 228 insertions, 0 deletions
diff --git a/net-libs/pacparser/Manifest b/net-libs/pacparser/Manifest index f688ce59f8ae..72238f10a507 100644 --- a/net-libs/pacparser/Manifest +++ b/net-libs/pacparser/Manifest @@ -1 +1,2 @@ DIST pacparser-1.3.7.tar.gz 905596 BLAKE2B 122127b6e1d8f68fde4c5ca98207bf2a0fa2a081dbb60aaf34126700a3de9d861e7b5f881e78d3eefdd2a9af97a9ba677339ca2b2a0b4459d26e60a62226e839 SHA512 979238204cd352ecf502a5a6216a35d7c47e82a173c32c6f0a5166f1fe790c66ac74ec1d9d0a58b54038d19e893f8b365ed868664f84ab9d5e653584bf20130b +DIST pacparser-1.4.0.tar.gz 902919 BLAKE2B da29b34654764b1569d9d37648e4ccb608142becaf34c65cdf37b2bd81aa073b1945d840fb50aa7cb986687bbdc086c862a05bc421adb08d44e1add637b712ed SHA512 9574068dc4da3db27ddc1242cf98d98ebc7515864789e95b700cd2ce1433a7cff84160f1507976488fab7529839cabe9cf2aa16ddbefc0c83009fa6c0d2ad6b3 diff --git a/net-libs/pacparser/files/pacparser-1.4.0-build.patch b/net-libs/pacparser/files/pacparser-1.4.0-build.patch new file mode 100644 index 000000000000..2a8898579327 --- /dev/null +++ b/net-libs/pacparser/files/pacparser-1.4.0-build.patch @@ -0,0 +1,96 @@ +Upstream-PR: https://github.com/manugarg/pacparser/pull/136 +From 5d689be2e250242ef4022054f11bf00af339c149 Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Fri, 13 May 2022 22:34:37 -0700 +Subject: [PATCH 1/2] build: Don't conflict with the user's CFLAGS + +This uses the variable MAINT_CFLAGS to set the project's flags so that +the user can set CFLAGS as an environment variable or as an make +argument without any conflicts. + +This can be problemtic with the build environment in some distros. +--- + src/Makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 87f5c1b..3642241 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -60,14 +60,14 @@ ifeq ($(OS_ARCH),Darwin) + endif + + PREFIX ?= /usr +-CFLAGS = -g -DXP_UNIX -Wall -DVERSION=$(VERSION) ++MAINT_CFLAGS := -g -DXP_UNIX -Wall -DVERSION=$(VERSION) + + ifndef PYTHON + PYTHON = python + endif + + # Spidermonkey library. +-CFLAGS += -Ispidermonkey/js/src ++MAINT_CFLAGS += -Ispidermonkey/js/src + + LIBRARY_LINK = $(LIBRARY_NAME).$(SO_SUFFIX) + PREFIX := $(DESTDIR)$(PREFIX) +@@ -87,17 +87,17 @@ spidermonkey/libjs.a: spidermonkey/js/src + cd spidermonkey && SMCFLAGS="$(SHFLAGS) $(SMCFLAGS)" $(MAKE) jslib + + pacparser.o: pacparser.c pac_utils.h pacparser.h jsapi_buildstamp +- $(CC) $(CFLAGS) $(SHFLAGS) -c pacparser.c -o pacparser.o ++ $(CC) $(MAINT_CFLAGS) $(CFLAGS) $(SHFLAGS) -c pacparser.c -o pacparser.o + touch pymod/pacparser_o_buildstamp + + $(LIBRARY): pacparser.o spidermonkey/libjs.a +- $(MKSHLIB) $(CFLAGS) $(LDFLAGS) $(LIB_OPTS) -o $(LIBRARY) pacparser.o spidermonkey/libjs.a -lm ++ $(MKSHLIB) $(MAINT_CFLAGS) $(CFLAGS) $(LDFLAGS) $(LIB_OPTS) -o $(LIBRARY) pacparser.o spidermonkey/libjs.a -lm + + $(LIBRARY_LINK): $(LIBRARY) + ln -sf $(LIBRARY) $(LIBRARY_LINK) + + pactester: pactester.c pacparser.h pacparser.o spidermonkey/libjs.a +- $(CC) $(CFLAGS) $(LDFLAGS) pactester.c pacparser.o spidermonkey/libjs.a -o pactester -lm -L. -I. ++ $(CC) $(MAINT_CFLAGS) $(CFLAGS) $(LDFLAGS) pactester.c pacparser.o spidermonkey/libjs.a -o pactester -lm -L. -I. + + testpactester: pactester $(LIBRARY_LINK) + echo "Running tests for pactester." + +From ff86f230de5dd60935e1793077eb038fcbe1e515 Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Fri, 13 May 2022 22:45:19 -0700 +Subject: [PATCH 2/2] build: Add DOC_PREFIX + +This can be useful for distro integration. +--- + src/Makefile | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 3642241..af10890 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -74,6 +74,7 @@ PREFIX := $(DESTDIR)$(PREFIX) + LIB_PREFIX = $(PREFIX)/lib + INC_PREFIX = $(PREFIX)/include + BIN_PREFIX = $(PREFIX)/bin ++DOC_PREFIX = $(PREFIX)/share/doc/pacparser + MAN_PREFIX = $(PREFIX)/share/man + + .PHONY: clean pymod install-pymod +@@ -119,11 +120,11 @@ install: all + install -d $(MAN_PREFIX)/man3/ + (test -d ../docs && install -m 644 ../docs/man/man3/*.3 $(MAN_PREFIX)/man3/) || true + # install html docs +- install -d $(PREFIX)/share/doc/pacparser/html/ +- (test -d ../docs/html && install -m 644 ../docs/html/* $(PREFIX)/share/doc/pacparser/html/) || true ++ install -d $(DOC_PREFIX)/html/ ++ (test -d ../docs/html && install -m 644 ../docs/html/* $(DOC_PREFIX)/html/) || true + # install examples +- install -d $(PREFIX)/share/doc/pacparser/examples/ +- (test -d ../examples && install -m 644 ../examples/* $(PREFIX)/share/doc//pacparser/examples/) || true ++ install -d $(DOC_PREFIX)/examples/ ++ (test -d ../examples && install -m 644 ../examples/* $(DOC_PREFIX)/examples/) || true + + # Targets to build python module + pymod: pacparser.o pacparser.h spidermonkey/libjs.a diff --git a/net-libs/pacparser/files/pacparser-1.4.0-pymod.patch b/net-libs/pacparser/files/pacparser-1.4.0-pymod.patch new file mode 100644 index 000000000000..203e34c838f1 --- /dev/null +++ b/net-libs/pacparser/files/pacparser-1.4.0-pymod.patch @@ -0,0 +1,61 @@ +Upstream-PR: https://github.com/manugarg/pacparser/pull/137 +From 351b8f837ebbdf6e6fa4978a70287899436890eb Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Sat, 14 May 2022 01:46:25 -0700 +Subject: [PATCH] tests: Fix python path in runtests.py + +In Gentoo the runtests.py script fails when it fails to determine the +pacparser path. + +This happens because 'py_ver' expands to '3.9' when the expected +directory ends in '39'. This can be solved by replacing any periods in +the string. + +python ../tests/runtests.py +Traceback (most recent call last): + File "/tmp/pacparser/src/../tests/runtests.py", line 31, in runtests + pacparser_module_path = glob.glob(os.path.join( +IndexError: list index out of range + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/tmp/pacparser/src/../tests/runtests.py", line 81, in <module> + main() + File "/tmp/pacparser/src/../tests/runtests.py", line 78, in main + runtests(pacfile, testdata, tests_dir) + File "/tmp/pacparser/src/../tests/runtests.py", line 34, in runtests + raise Exception('Tests failed. Could not determine pacparser path.') +Exception: Tests failed. Could not determine pacparser path. +--- + tests/runtests.py | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/tests/runtests.py b/tests/runtests.py +index 9760300..a5377d1 100644 +--- a/tests/runtests.py ++++ b/tests/runtests.py +@@ -26,10 +26,20 @@ + import sys + + def runtests(pacfile, testdata, tests_dir): +- py_ver = '.'.join([str(x) for x in sys.version_info[0:2]]) ++ ver = '.'.join([str(x) for x in sys.version_info[0:2]]) ++ py_ver = [ver, ver.replace('.', '')] + try: +- pacparser_module_path = glob.glob(os.path.join( +- tests_dir, '..', 'src', 'pymod', 'build', 'lib*%s' % py_ver))[0] ++ module_path = glob.glob(os.path.join( ++ tests_dir, '..', 'src', 'pymod', 'build', 'lib*')) ++ module_found = False ++ for module in module_path: ++ for version in py_ver: ++ if module.endswith(version): ++ module_found = True ++ break ++ if module_found: ++ pacparser_module_path = module ++ break + except Exception: + raise Exception('Tests failed. Could not determine pacparser path.') + if 'DEBUG' in os.environ: print('Pacparser module path: %s' % diff --git a/net-libs/pacparser/pacparser-1.4.0.ebuild b/net-libs/pacparser/pacparser-1.4.0.ebuild new file mode 100644 index 000000000000..e8346b1a79ea --- /dev/null +++ b/net-libs/pacparser/pacparser-1.4.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8,9,10} ) + +inherit python-r1 toolchain-funcs + +DESCRIPTION="Library to parse proxy auto-config files" +HOMEPAGE="http://pacparser.manugarg.com/" +SRC_URI="https://github.com/manugarg/${PN}/archive/v${PV}/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0/1" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc python" + +DEPEND="python? ( ${PYTHON_DEPS} )" +RDEPEND="${DEPEND}" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# spidermonkey-1.7.0 is bundled +# tested unbundling with spidermonkey-1.8* and 1.7 +# and got many failures: unbundling not worth it. + +PATCHES=( + "${FILESDIR}/${P}-build.patch" + "${FILESDIR}/${P}-pymod.patch" +) + +src_prepare() { + default + + sed -e '/CC = gcc/d' \ + -i src/spidermonkey/js/src/config/Linux_All.mk || die + + export NO_INTERNET=yes + export VERSION="${PV}" + tc-export CC AR RANLIB +} + +src_compile() { + # Upstream parallel compilation bug, do that first to work around + emake -C src/spidermonkey + emake -C src + use python && python_foreach_impl emake -C src pymod +} + +src_install() { + emake \ + LIB_PREFIX="${ED}/usr/$(get_libdir)" \ + DOC_PREFIX="${ED}/usr/share/doc/${PF}" \ + BIN_PREFIX="${ED}"/usr/bin \ + INC_PREFIX="${ED}"/usr/include \ + MAN_PREFIX="${ED}"/usr/share/man \ + -C src install + dodoc README.md + + if use python; then + python_foreach_impl emake DESTDIR="${D}" -C src install-pymod + python_foreach_impl python_optimize + fi + + if use doc; then + docompress -x /usr/share/doc/${PF}/{html,examples} + else + rm -r "${ED}"/usr/share/doc/${PF}/{html,examples} || die + fi +} |