public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/libressl:migration commit in: net-libs/serf/, net-libs/serf/files/
@ 2021-01-26  0:22 Quentin Retornaz
  2021-01-26 18:17 ` [gentoo-commits] repo/proj/libressl:master " Quentin Retornaz
  0 siblings, 1 reply; 2+ messages in thread
From: Quentin Retornaz @ 2021-01-26  0:22 UTC (permalink / raw
  To: gentoo-commits

commit:     9ac48e07a40020a97ea24a1ecfb3adcf8fc51865
Author:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
AuthorDate: Sun Jan 17 19:34:13 2021 +0000
Commit:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
CommitDate: Tue Jan 26 00:21:43 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=9ac48e07

net-libs/serf: new package

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com>

 net-libs/serf/Manifest                             |  1 +
 net-libs/serf/files/serf-1.3.8-openssl.patch       | 28 ++++++++
 net-libs/serf/files/serf-1.3.8-static-lib.patch    | 49 ++++++++++++++
 net-libs/serf/files/serf-1.3.9-libressl.patch      | 13 ++++
 net-libs/serf/files/serf-1.3.9-python3-check.patch | 74 +++++++++++++++++++++
 net-libs/serf/files/serf-1.3.9-python3.patch       | 28 ++++++++
 net-libs/serf/files/serf-1.3.9-python3_byte.patch  | 28 ++++++++
 net-libs/serf/metadata.xml                         | 12 ++++
 net-libs/serf/serf-1.3.9-r2.ebuild                 | 76 ++++++++++++++++++++++
 9 files changed, 309 insertions(+)

diff --git a/net-libs/serf/Manifest b/net-libs/serf/Manifest
new file mode 100644
index 0000000..28e866e
--- /dev/null
+++ b/net-libs/serf/Manifest
@@ -0,0 +1 @@
+DIST serf-1.3.9.tar.bz2 145132 BLAKE2B 59776f85b409b2eaea81f3e07b0301515e20cbd2aa0ef05c1c38aa8152a6d5627e526e4bc160abb1fd438e9fa46f97096c639860729d2ea8e0b2fcfcf8222002 SHA512 9f5418d991840a08d293d1ecba70cd9534a207696d002f22dbe62354e7b005955112a0d144a76c89c7f7ad3b4c882e54974441fafa0c09c4aa25c49c021ca75d

diff --git a/net-libs/serf/files/serf-1.3.8-openssl.patch b/net-libs/serf/files/serf-1.3.8-openssl.patch
new file mode 100644
index 0000000..4cc3719
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-openssl.patch
@@ -0,0 +1,28 @@
+the build doesn't actually use the openssl var for anything useful.
+it blindly adds it to the -I/-L paths which causes problems when you
+cross-compile and when you link (it also adds it to -rpath).  punt
+the setting and forget about it.
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -354,8 +354,6 @@ else:
+     apr_libs = ''
+     apu_libs = ''
+ 
+-  env.Append(CPPPATH=['$OPENSSL/include'])
+-  env.Append(LIBPATH=['$OPENSSL/lib'])
+ 
+ 
+ # If build with gssapi, get its information and define SERF_HAVE_GSSAPI
+@@ -369,8 +369,9 @@ if sys.platform == 'win32':
+ # On some systems, the -R values that APR describes never make it into actual
+ # RPATH flags. We'll manually map all directories in LIBPATH into new
+ # flags to set RPATH values.
+-for d in env['LIBPATH']:
+-  env.Append(RPATH=':'+d)
++if env.get('LIBPATH', None):
++  for d in env['LIBPATH']:
++    env.Append(RPATH=':'+d)
+ 
+ # Set up the construction of serf-*.pc
+ pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,),

diff --git a/net-libs/serf/files/serf-1.3.8-static-lib.patch b/net-libs/serf/files/serf-1.3.8-static-lib.patch
new file mode 100644
index 0000000..1538328
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-static-lib.patch
@@ -0,0 +1,49 @@
+respect the active archiver tool instead of using `ar` all the time.
+same for `ranlib`.
+
+also add support for BUILD_STATIC bool for controlling the libserf.a.
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -103,6 +103,9 @@
+   BoolVariable('APR_STATIC',
+                "Enable using a static compiled APR",
+                False),
++  RawListVariable('AR', "Command name or path of the archiver", None),
++  RawListVariable('RANLIB', "Command name or path of the archiver indexer", None),
++  BoolVariable('BUILD_STATIC', 'Build libserf static library', True),
+   RawListVariable('CC', "Command name or path of the C compiler", None),
+   RawListVariable('CFLAGS', "Extra flags for the C compiler (space-separated)",
+                   None),
+@@ -193,6 +196,7 @@ if gssapi and os.path.isdir(gssapi):
+ 
+ debug = env.get('DEBUG', None)
+ aprstatic = env.get('APR_STATIC', None)
++build_static = env.get('BUILD_STATIC', True)
+ 
+ Help(opts.GenerateHelpText(env))
+ opts.Save(SAVED_CONFIG, env)
+@@ -384,7 +388,9 @@ pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,),
+                                                        env.get('GSSAPI_LIBS', '')),
+                            })
+ 
+-env.Default(lib_static, lib_shared, pkgconfig)
++env.Default(lib_shared, pkgconfig)
++if build_static:
++  env.Default(lib_static)
+ 
+ if CALLOUT_OKAY:
+   conf = Configure(env)
+@@ -420,8 +420,10 @@ if sys.platform == 'darwin':
+                                      % (target_install_shared_path,
+                                         install_shared_path)))
+ 
+-env.Alias('install-lib', [install_static, install_shared,
+-                          ])
++install_libs = [install_shared]
++if build_static:
++  install_libs.append(install_static)
++env.Alias('install-lib', install_libs)
+ env.Alias('install-inc', env.Install(incdir, HEADER_FILES))
+ env.Alias('install-pc', env.Install(os.path.join(libdir, 'pkgconfig'),
+                                     pkgconfig))

diff --git a/net-libs/serf/files/serf-1.3.9-libressl.patch b/net-libs/serf/files/serf-1.3.9-libressl.patch
new file mode 100644
index 0000000..fe9319f
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-libressl.patch
@@ -0,0 +1,13 @@
+diff --git a/buckets/ssl_buckets.c b/buckets/ssl_buckets.c
+index b01e535..6fadb0c 100644
+--- a/buckets/ssl_buckets.c
++++ b/buckets/ssl_buckets.c
+@@ -1156,7 +1156,7 @@ static void init_ssl_libraries(void)
+         }
+ #endif
+ 
+-#ifdef USE_OPENSSL_1_1_API
++#if defined(USE_OPENSSL_1_1_API) && !defined(LIBRESSL_VERSION_NUMBER)
+         OPENSSL_malloc_init();
+ #else
+         CRYPTO_malloc_init();

diff --git a/net-libs/serf/files/serf-1.3.9-python3-check.patch b/net-libs/serf/files/serf-1.3.9-python3-check.patch
new file mode 100644
index 0000000..fbbfe36
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-python3-check.patch
@@ -0,0 +1,74 @@
+From 05eae144c6b3ed85f0829de6278a8f89505506f0 Mon Sep 17 00:00:00 2001
+From: Bert Huijben <rhuijben@apache.org>
+Date: Mon, 2 Nov 2015 17:50:29 +0000
+Subject: [PATCH] * build/check.py   Print a bit more information about the
+ failed test. The returncode might   be interesting to track down signal
+ problems.
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1712098 13f79535-47bb-0310-9956-ffa450edef68
+---
+ build/check.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/check.py b/build/check.py
+index fc49d336..75287016 100755
+--- a/build/check.py
++++ b/build/check.py
+@@ -55,13 +55,13 @@
+     print "== Testing %s ==" % (case)
+     try:
+       subprocess.check_call([SERF_RESPONSE_EXE, case])
+-    except subprocess.CalledProcessError:
+-      print "ERROR: test case %s failed" % (case)
++    except subprocess.CalledProcessError, x:
++      print "ERROR: test failed in '%s', exit code=%d" % (x.cmd, x.returncode)
+       sys.exit(1)
+ 
+   print "== Running the unit tests =="
+   try:
+     subprocess.check_call(TEST_ALL_EXE)
+-  except subprocess.CalledProcessError:
+-    print "ERROR: test(s) failed in test_all"
++  except subprocess.CalledProcessError, x:
++    print "ERROR: test(s) failed in '%s', exit code=%d" % (x.cmd, x.returncode)
+     sys.exit(1)
+From 773a2ee2ca7a48dd8356707fa6774afcf5b85470 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Branko=20=C4=8Cibej?= <brane@apache.org>
+Date: Sat, 9 Jun 2018 08:10:10 +0000
+Subject: [PATCH] Make the tests run with Python 3.x.
+
+* build/check.py: Add parentheses around 'print' statement arguments
+   so that they work when 'print' is a function.
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1833223 13f79535-47bb-0310-9956-ffa450edef68
+---
+ build/check.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/build/check.py b/build/check.py
+index 75287016..e05760f9 100755
+--- a/build/check.py
++++ b/build/check.py
+@@ -52,16 +52,16 @@
+ 
+   # Find test responses and run them one by one
+   for case in glob.glob(testdir + "/testcases/*.response"):
+-    print "== Testing %s ==" % (case)
++    print("== Testing %s ==" % (case))
+     try:
+       subprocess.check_call([SERF_RESPONSE_EXE, case])
+-    except subprocess.CalledProcessError, x:
+-      print "ERROR: test failed in '%s', exit code=%d" % (x.cmd, x.returncode)
++    except subprocess.CalledProcessError as x:
++      print("ERROR: test failed in '%s', exit code=%d" % (x.cmd, x.returncode))
+       sys.exit(1)
+ 
+-  print "== Running the unit tests =="
++  print("== Running the unit tests ==")
+   try:
+     subprocess.check_call(TEST_ALL_EXE)
+-  except subprocess.CalledProcessError, x:
+-    print "ERROR: test(s) failed in '%s', exit code=%d" % (x.cmd, x.returncode)
++  except subprocess.CalledProcessError as x:
++    print("ERROR: test(s) failed in '%s', exit code=%d" % (x.cmd, x.returncode))
+     sys.exit(1)

diff --git a/net-libs/serf/files/serf-1.3.9-python3.patch b/net-libs/serf/files/serf-1.3.9-python3.patch
new file mode 100644
index 0000000..7ba43d9
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-python3.patch
@@ -0,0 +1,28 @@
+From 1c0241847e845a8da265aa89f297d3db6ae483b1 Mon Sep 17 00:00:00 2001
+From: Bert Huijben <rhuijben@apache.org>
+Date: Wed, 4 Oct 2017 14:56:22 +0000
+Subject: [PATCH] Fix syntax of a print() in the scons file to unbreak building
+ with most recent scons version.
+
+* SConstruct
+  Use Python 3.0 valid syntax to make Scons 3.0.0 happy on both python 3.0
+  and 2.7.
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1811083 13f79535-47bb-0310-9956-ffa450edef68
+---
+ SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index e5d407b..fab9828 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -199,7 +199,7 @@ CALLOUT_OKAY = not (env.GetOption('clean') or env.GetOption('help'))
+ 
+ unknown = opts.UnknownVariables()
+ if unknown:
+-  print 'Warning: Used unknown variables:', ', '.join(unknown.keys())
++  print('Warning: Used unknown variables:', ', '.join(unknown.keys()))
+ 
+ apr = str(env['APR'])
+ apu = str(env['APU'])

diff --git a/net-libs/serf/files/serf-1.3.9-python3_byte.patch b/net-libs/serf/files/serf-1.3.9-python3_byte.patch
new file mode 100644
index 0000000..ab86af2
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-python3_byte.patch
@@ -0,0 +1,28 @@
+From 9d30108b630b77f732ef94d1642b159066ffd890 Mon Sep 17 00:00:00 2001
+From: Andreas Stieger <astieger@apache.org>
+Date: Wed, 8 Nov 2017 17:05:28 +0000
+Subject: [PATCH] Follow-up to r1811083, fix building with scons 3.0.0 and
+ Python3
+
+* SConstruct: Append decode('utf-8) to FILE.get_contents() to avoid
+  TypeError: cannot use a string pattern on a bytes-like object
+
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1814604 13f79535-47bb-0310-9956-ffa450edef68
+---
+ SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 5f5036b..71e5b0a 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -182,7 +182,7 @@ env.Append(BUILDERS = {
+ match = re.search('SERF_MAJOR_VERSION ([0-9]+).*'
+                   'SERF_MINOR_VERSION ([0-9]+).*'
+                   'SERF_PATCH_VERSION ([0-9]+)',
+-                  env.File('serf.h').get_contents(),
++                  env.File('serf.h').get_contents().decode('utf-8'),
+                   re.DOTALL)
+ MAJOR, MINOR, PATCH = [int(x) for x in match.groups()]
+ env.Append(MAJOR=str(MAJOR))

diff --git a/net-libs/serf/metadata.xml b/net-libs/serf/metadata.xml
new file mode 100644
index 0000000..ca82cff
--- /dev/null
+++ b/net-libs/serf/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>arfrever.fta@gmail.com</email>
+	</maintainer>
+	<maintainer type="person">
+		<email>floppym@gentoo.org</email>
+		<name>Mike Gilbert</name>
+		<description>Proxy</description>
+	</maintainer>
+</pkgmetadata>

diff --git a/net-libs/serf/serf-1.3.9-r2.ebuild b/net-libs/serf/serf-1.3.9-r2.ebuild
new file mode 100644
index 0000000..1a4b7b0
--- /dev/null
+++ b/net-libs/serf/serf-1.3.9-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_6 python3_7 python3_8 python3_9 )
+
+inherit python-any-r1 scons-utils toolchain-funcs flag-o-matic
+
+DESCRIPTION="HTTP client library"
+HOMEPAGE="https://serf.apache.org/"
+SRC_URI="mirror://apache/${PN}/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="kerberos static-libs libressl"
+RESTRICT="test"
+
+RDEPEND="dev-libs/apr:1=
+	dev-libs/apr-util:1=
+	!libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= )
+	sys-libs/zlib:0=
+	kerberos? ( virtual/krb5 )"
+DEPEND="${RDEPEND}
+	>=dev-util/scons-2.3.0"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.3.8-static-lib.patch
+	"${FILESDIR}"/${PN}-1.3.8-openssl.patch
+	"${FILESDIR}"/${PN}-1.3.9-python3.patch
+	"${FILESDIR}"/${PN}-1.3.9-python3_byte.patch
+	"${FILESDIR}"/${PN}-1.3.9-python3-check.patch
+	"${FILESDIR}"/${PN}-1.3.9-libressl.patch )
+
+src_prepare() {
+	default
+
+	# https://code.google.com/p/serf/issues/detail?id=133
+	sed -e "/env.Append(CCFLAGS=\['-O2'\])/d" -i SConstruct
+
+	# need limits.h for PATH_MAX (only when EXTENSIONS is enabled)
+	[[ ${CHOST} == *-solaris* ]] && append-cppflags -D__EXTENSIONS__
+}
+
+src_compile() {
+	myesconsargs=(
+		PREFIX="${EPREFIX}/usr"
+		LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+		# These config scripts are sent through a shell with an empty env
+		# which breaks the SYSROOT usage in them.  Set the vars inline to
+		# avoid that.
+		APR="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apr-1-config"
+		APU="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apu-1-config"
+		BUILD_STATIC=$(usex static-libs)
+		AR="$(tc-getAR)"
+		RANLIB="$(tc-getRANLIB)"
+		CC="$(tc-getCC)"
+		CPPFLAGS="${CPPFLAGS}"
+		CFLAGS="${CFLAGS}"
+		LINKFLAGS="${LDFLAGS}"
+	)
+
+	if use kerberos; then
+		myesconsargs+=( GSSAPI="${SYSROOT}${EPREFIX}/usr/bin/krb5-config" )
+	fi
+
+	escons "${myesconsargs[@]}"
+}
+
+src_test() {
+	escons check
+}
+
+src_install() {
+	escons install --install-sandbox="${D}"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: net-libs/serf/, net-libs/serf/files/
  2021-01-26  0:22 [gentoo-commits] repo/proj/libressl:migration commit in: net-libs/serf/, net-libs/serf/files/ Quentin Retornaz
@ 2021-01-26 18:17 ` Quentin Retornaz
  0 siblings, 0 replies; 2+ messages in thread
From: Quentin Retornaz @ 2021-01-26 18:17 UTC (permalink / raw
  To: gentoo-commits

commit:     9ac48e07a40020a97ea24a1ecfb3adcf8fc51865
Author:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
AuthorDate: Sun Jan 17 19:34:13 2021 +0000
Commit:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
CommitDate: Tue Jan 26 00:21:43 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=9ac48e07

net-libs/serf: new package

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com>

 net-libs/serf/Manifest                             |  1 +
 net-libs/serf/files/serf-1.3.8-openssl.patch       | 28 ++++++++
 net-libs/serf/files/serf-1.3.8-static-lib.patch    | 49 ++++++++++++++
 net-libs/serf/files/serf-1.3.9-libressl.patch      | 13 ++++
 net-libs/serf/files/serf-1.3.9-python3-check.patch | 74 +++++++++++++++++++++
 net-libs/serf/files/serf-1.3.9-python3.patch       | 28 ++++++++
 net-libs/serf/files/serf-1.3.9-python3_byte.patch  | 28 ++++++++
 net-libs/serf/metadata.xml                         | 12 ++++
 net-libs/serf/serf-1.3.9-r2.ebuild                 | 76 ++++++++++++++++++++++
 9 files changed, 309 insertions(+)

diff --git a/net-libs/serf/Manifest b/net-libs/serf/Manifest
new file mode 100644
index 0000000..28e866e
--- /dev/null
+++ b/net-libs/serf/Manifest
@@ -0,0 +1 @@
+DIST serf-1.3.9.tar.bz2 145132 BLAKE2B 59776f85b409b2eaea81f3e07b0301515e20cbd2aa0ef05c1c38aa8152a6d5627e526e4bc160abb1fd438e9fa46f97096c639860729d2ea8e0b2fcfcf8222002 SHA512 9f5418d991840a08d293d1ecba70cd9534a207696d002f22dbe62354e7b005955112a0d144a76c89c7f7ad3b4c882e54974441fafa0c09c4aa25c49c021ca75d

diff --git a/net-libs/serf/files/serf-1.3.8-openssl.patch b/net-libs/serf/files/serf-1.3.8-openssl.patch
new file mode 100644
index 0000000..4cc3719
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-openssl.patch
@@ -0,0 +1,28 @@
+the build doesn't actually use the openssl var for anything useful.
+it blindly adds it to the -I/-L paths which causes problems when you
+cross-compile and when you link (it also adds it to -rpath).  punt
+the setting and forget about it.
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -354,8 +354,6 @@ else:
+     apr_libs = ''
+     apu_libs = ''
+ 
+-  env.Append(CPPPATH=['$OPENSSL/include'])
+-  env.Append(LIBPATH=['$OPENSSL/lib'])
+ 
+ 
+ # If build with gssapi, get its information and define SERF_HAVE_GSSAPI
+@@ -369,8 +369,9 @@ if sys.platform == 'win32':
+ # On some systems, the -R values that APR describes never make it into actual
+ # RPATH flags. We'll manually map all directories in LIBPATH into new
+ # flags to set RPATH values.
+-for d in env['LIBPATH']:
+-  env.Append(RPATH=':'+d)
++if env.get('LIBPATH', None):
++  for d in env['LIBPATH']:
++    env.Append(RPATH=':'+d)
+ 
+ # Set up the construction of serf-*.pc
+ pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,),

diff --git a/net-libs/serf/files/serf-1.3.8-static-lib.patch b/net-libs/serf/files/serf-1.3.8-static-lib.patch
new file mode 100644
index 0000000..1538328
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-static-lib.patch
@@ -0,0 +1,49 @@
+respect the active archiver tool instead of using `ar` all the time.
+same for `ranlib`.
+
+also add support for BUILD_STATIC bool for controlling the libserf.a.
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -103,6 +103,9 @@
+   BoolVariable('APR_STATIC',
+                "Enable using a static compiled APR",
+                False),
++  RawListVariable('AR', "Command name or path of the archiver", None),
++  RawListVariable('RANLIB', "Command name or path of the archiver indexer", None),
++  BoolVariable('BUILD_STATIC', 'Build libserf static library', True),
+   RawListVariable('CC', "Command name or path of the C compiler", None),
+   RawListVariable('CFLAGS', "Extra flags for the C compiler (space-separated)",
+                   None),
+@@ -193,6 +196,7 @@ if gssapi and os.path.isdir(gssapi):
+ 
+ debug = env.get('DEBUG', None)
+ aprstatic = env.get('APR_STATIC', None)
++build_static = env.get('BUILD_STATIC', True)
+ 
+ Help(opts.GenerateHelpText(env))
+ opts.Save(SAVED_CONFIG, env)
+@@ -384,7 +388,9 @@ pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,),
+                                                        env.get('GSSAPI_LIBS', '')),
+                            })
+ 
+-env.Default(lib_static, lib_shared, pkgconfig)
++env.Default(lib_shared, pkgconfig)
++if build_static:
++  env.Default(lib_static)
+ 
+ if CALLOUT_OKAY:
+   conf = Configure(env)
+@@ -420,8 +420,10 @@ if sys.platform == 'darwin':
+                                      % (target_install_shared_path,
+                                         install_shared_path)))
+ 
+-env.Alias('install-lib', [install_static, install_shared,
+-                          ])
++install_libs = [install_shared]
++if build_static:
++  install_libs.append(install_static)
++env.Alias('install-lib', install_libs)
+ env.Alias('install-inc', env.Install(incdir, HEADER_FILES))
+ env.Alias('install-pc', env.Install(os.path.join(libdir, 'pkgconfig'),
+                                     pkgconfig))

diff --git a/net-libs/serf/files/serf-1.3.9-libressl.patch b/net-libs/serf/files/serf-1.3.9-libressl.patch
new file mode 100644
index 0000000..fe9319f
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-libressl.patch
@@ -0,0 +1,13 @@
+diff --git a/buckets/ssl_buckets.c b/buckets/ssl_buckets.c
+index b01e535..6fadb0c 100644
+--- a/buckets/ssl_buckets.c
++++ b/buckets/ssl_buckets.c
+@@ -1156,7 +1156,7 @@ static void init_ssl_libraries(void)
+         }
+ #endif
+ 
+-#ifdef USE_OPENSSL_1_1_API
++#if defined(USE_OPENSSL_1_1_API) && !defined(LIBRESSL_VERSION_NUMBER)
+         OPENSSL_malloc_init();
+ #else
+         CRYPTO_malloc_init();

diff --git a/net-libs/serf/files/serf-1.3.9-python3-check.patch b/net-libs/serf/files/serf-1.3.9-python3-check.patch
new file mode 100644
index 0000000..fbbfe36
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-python3-check.patch
@@ -0,0 +1,74 @@
+From 05eae144c6b3ed85f0829de6278a8f89505506f0 Mon Sep 17 00:00:00 2001
+From: Bert Huijben <rhuijben@apache.org>
+Date: Mon, 2 Nov 2015 17:50:29 +0000
+Subject: [PATCH] * build/check.py   Print a bit more information about the
+ failed test. The returncode might   be interesting to track down signal
+ problems.
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1712098 13f79535-47bb-0310-9956-ffa450edef68
+---
+ build/check.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/check.py b/build/check.py
+index fc49d336..75287016 100755
+--- a/build/check.py
++++ b/build/check.py
+@@ -55,13 +55,13 @@
+     print "== Testing %s ==" % (case)
+     try:
+       subprocess.check_call([SERF_RESPONSE_EXE, case])
+-    except subprocess.CalledProcessError:
+-      print "ERROR: test case %s failed" % (case)
++    except subprocess.CalledProcessError, x:
++      print "ERROR: test failed in '%s', exit code=%d" % (x.cmd, x.returncode)
+       sys.exit(1)
+ 
+   print "== Running the unit tests =="
+   try:
+     subprocess.check_call(TEST_ALL_EXE)
+-  except subprocess.CalledProcessError:
+-    print "ERROR: test(s) failed in test_all"
++  except subprocess.CalledProcessError, x:
++    print "ERROR: test(s) failed in '%s', exit code=%d" % (x.cmd, x.returncode)
+     sys.exit(1)
+From 773a2ee2ca7a48dd8356707fa6774afcf5b85470 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Branko=20=C4=8Cibej?= <brane@apache.org>
+Date: Sat, 9 Jun 2018 08:10:10 +0000
+Subject: [PATCH] Make the tests run with Python 3.x.
+
+* build/check.py: Add parentheses around 'print' statement arguments
+   so that they work when 'print' is a function.
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1833223 13f79535-47bb-0310-9956-ffa450edef68
+---
+ build/check.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/build/check.py b/build/check.py
+index 75287016..e05760f9 100755
+--- a/build/check.py
++++ b/build/check.py
+@@ -52,16 +52,16 @@
+ 
+   # Find test responses and run them one by one
+   for case in glob.glob(testdir + "/testcases/*.response"):
+-    print "== Testing %s ==" % (case)
++    print("== Testing %s ==" % (case))
+     try:
+       subprocess.check_call([SERF_RESPONSE_EXE, case])
+-    except subprocess.CalledProcessError, x:
+-      print "ERROR: test failed in '%s', exit code=%d" % (x.cmd, x.returncode)
++    except subprocess.CalledProcessError as x:
++      print("ERROR: test failed in '%s', exit code=%d" % (x.cmd, x.returncode))
+       sys.exit(1)
+ 
+-  print "== Running the unit tests =="
++  print("== Running the unit tests ==")
+   try:
+     subprocess.check_call(TEST_ALL_EXE)
+-  except subprocess.CalledProcessError, x:
+-    print "ERROR: test(s) failed in '%s', exit code=%d" % (x.cmd, x.returncode)
++  except subprocess.CalledProcessError as x:
++    print("ERROR: test(s) failed in '%s', exit code=%d" % (x.cmd, x.returncode))
+     sys.exit(1)

diff --git a/net-libs/serf/files/serf-1.3.9-python3.patch b/net-libs/serf/files/serf-1.3.9-python3.patch
new file mode 100644
index 0000000..7ba43d9
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-python3.patch
@@ -0,0 +1,28 @@
+From 1c0241847e845a8da265aa89f297d3db6ae483b1 Mon Sep 17 00:00:00 2001
+From: Bert Huijben <rhuijben@apache.org>
+Date: Wed, 4 Oct 2017 14:56:22 +0000
+Subject: [PATCH] Fix syntax of a print() in the scons file to unbreak building
+ with most recent scons version.
+
+* SConstruct
+  Use Python 3.0 valid syntax to make Scons 3.0.0 happy on both python 3.0
+  and 2.7.
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1811083 13f79535-47bb-0310-9956-ffa450edef68
+---
+ SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index e5d407b..fab9828 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -199,7 +199,7 @@ CALLOUT_OKAY = not (env.GetOption('clean') or env.GetOption('help'))
+ 
+ unknown = opts.UnknownVariables()
+ if unknown:
+-  print 'Warning: Used unknown variables:', ', '.join(unknown.keys())
++  print('Warning: Used unknown variables:', ', '.join(unknown.keys()))
+ 
+ apr = str(env['APR'])
+ apu = str(env['APU'])

diff --git a/net-libs/serf/files/serf-1.3.9-python3_byte.patch b/net-libs/serf/files/serf-1.3.9-python3_byte.patch
new file mode 100644
index 0000000..ab86af2
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.9-python3_byte.patch
@@ -0,0 +1,28 @@
+From 9d30108b630b77f732ef94d1642b159066ffd890 Mon Sep 17 00:00:00 2001
+From: Andreas Stieger <astieger@apache.org>
+Date: Wed, 8 Nov 2017 17:05:28 +0000
+Subject: [PATCH] Follow-up to r1811083, fix building with scons 3.0.0 and
+ Python3
+
+* SConstruct: Append decode('utf-8) to FILE.get_contents() to avoid
+  TypeError: cannot use a string pattern on a bytes-like object
+
+
+git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1814604 13f79535-47bb-0310-9956-ffa450edef68
+---
+ SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 5f5036b..71e5b0a 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -182,7 +182,7 @@ env.Append(BUILDERS = {
+ match = re.search('SERF_MAJOR_VERSION ([0-9]+).*'
+                   'SERF_MINOR_VERSION ([0-9]+).*'
+                   'SERF_PATCH_VERSION ([0-9]+)',
+-                  env.File('serf.h').get_contents(),
++                  env.File('serf.h').get_contents().decode('utf-8'),
+                   re.DOTALL)
+ MAJOR, MINOR, PATCH = [int(x) for x in match.groups()]
+ env.Append(MAJOR=str(MAJOR))

diff --git a/net-libs/serf/metadata.xml b/net-libs/serf/metadata.xml
new file mode 100644
index 0000000..ca82cff
--- /dev/null
+++ b/net-libs/serf/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>arfrever.fta@gmail.com</email>
+	</maintainer>
+	<maintainer type="person">
+		<email>floppym@gentoo.org</email>
+		<name>Mike Gilbert</name>
+		<description>Proxy</description>
+	</maintainer>
+</pkgmetadata>

diff --git a/net-libs/serf/serf-1.3.9-r2.ebuild b/net-libs/serf/serf-1.3.9-r2.ebuild
new file mode 100644
index 0000000..1a4b7b0
--- /dev/null
+++ b/net-libs/serf/serf-1.3.9-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_6 python3_7 python3_8 python3_9 )
+
+inherit python-any-r1 scons-utils toolchain-funcs flag-o-matic
+
+DESCRIPTION="HTTP client library"
+HOMEPAGE="https://serf.apache.org/"
+SRC_URI="mirror://apache/${PN}/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="kerberos static-libs libressl"
+RESTRICT="test"
+
+RDEPEND="dev-libs/apr:1=
+	dev-libs/apr-util:1=
+	!libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= )
+	sys-libs/zlib:0=
+	kerberos? ( virtual/krb5 )"
+DEPEND="${RDEPEND}
+	>=dev-util/scons-2.3.0"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.3.8-static-lib.patch
+	"${FILESDIR}"/${PN}-1.3.8-openssl.patch
+	"${FILESDIR}"/${PN}-1.3.9-python3.patch
+	"${FILESDIR}"/${PN}-1.3.9-python3_byte.patch
+	"${FILESDIR}"/${PN}-1.3.9-python3-check.patch
+	"${FILESDIR}"/${PN}-1.3.9-libressl.patch )
+
+src_prepare() {
+	default
+
+	# https://code.google.com/p/serf/issues/detail?id=133
+	sed -e "/env.Append(CCFLAGS=\['-O2'\])/d" -i SConstruct
+
+	# need limits.h for PATH_MAX (only when EXTENSIONS is enabled)
+	[[ ${CHOST} == *-solaris* ]] && append-cppflags -D__EXTENSIONS__
+}
+
+src_compile() {
+	myesconsargs=(
+		PREFIX="${EPREFIX}/usr"
+		LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+		# These config scripts are sent through a shell with an empty env
+		# which breaks the SYSROOT usage in them.  Set the vars inline to
+		# avoid that.
+		APR="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apr-1-config"
+		APU="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apu-1-config"
+		BUILD_STATIC=$(usex static-libs)
+		AR="$(tc-getAR)"
+		RANLIB="$(tc-getRANLIB)"
+		CC="$(tc-getCC)"
+		CPPFLAGS="${CPPFLAGS}"
+		CFLAGS="${CFLAGS}"
+		LINKFLAGS="${LDFLAGS}"
+	)
+
+	if use kerberos; then
+		myesconsargs+=( GSSAPI="${SYSROOT}${EPREFIX}/usr/bin/krb5-config" )
+	fi
+
+	escons "${myesconsargs[@]}"
+}
+
+src_test() {
+	escons check
+}
+
+src_install() {
+	escons install --install-sandbox="${D}"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-26 18:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-26  0:22 [gentoo-commits] repo/proj/libressl:migration commit in: net-libs/serf/, net-libs/serf/files/ Quentin Retornaz
2021-01-26 18:17 ` [gentoo-commits] repo/proj/libressl:master " Quentin Retornaz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox