SecBSD's official ports repository

This commit is contained in:
purplerain 2023-08-16 22:26:55 +00:00
commit 2c0afcbbf3
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
64331 changed files with 5339189 additions and 0 deletions

60
devel/libtalloc/Makefile Normal file
View file

@ -0,0 +1,60 @@
COMMENT-main= hierarchical memory pool system with destructors
COMMENT-python= Python ${MODPY_VERSION} bindings for talloc
# Keep in sync with the version bundled in net/samba
V= 2.4.0
DISTNAME= talloc-$V
PKGNAME-main= lib${DISTNAME}
PKGNAME-python= py3-${DISTNAME}
MULTI_PACKAGES= -main -python
SHARED_LIBS+= talloc 1.2
SHARED_LIBS+= pytalloc-util.cpython-${MODPY_MAJORMINOR} 0.0
PYTALLOC_UTIL_LIBSUFFIX= cpython-${MODPY_MAJORMINOR}.so.${LIBpytalloc-util.cpython-${MODPY_MAJORMINOR}_VERSION}
SUBST_VARS+= PYTALLOC_UTIL_LIBSUFFIX
CATEGORIES= devel
HOMEPAGE= https://talloc.samba.org/
MAINTAINER= Jeremie Courreges-Anglas <jca@wxcvbn.org>
# LGPLv3+
PERMIT_PACKAGE= Yes
# Needs thread-local storage
COMPILER= base-clang ports-gcc
COMPILER_LANGS= c
WANTLIB-main= # empty
WANTLIB-python= intl m pthread talloc util ${MODPY_WANTLIB}
MASTER_SITES= https://download.samba.org/pub/talloc/
DEBUG_PACKAGES= ${BUILD_PACKAGES}
MODULES= lang/python
MODPY_RUNDEP= No
MODPY_ADJ_FILES= buildtools/bin/waf
BUILD_DEPENDS= textproc/docbook-xsl \
textproc/libxslt
LIB_DEPENDS-python= ${BUILD_PKGPATH},-main=${V} \
${MODPY_LIB_DEPENDS}
WAF_ARGS= -v -j ${MAKE_JOBS}
MAKE_FLAGS= WAF_ARGS="${WAF_ARGS}"
MAKE_ENV += LIBtalloc_VERSION=${LIBtalloc_VERSION}
MAKE_ENV += LIBpytalloc_util_cpython_${MODPY_MAJORMINOR}_VERSION=${LIBpytalloc-util.cpython-${MODPY_MAJORMINOR}_VERSION}
TEST_ENV= LD_LIBRARY_PATH="${WRKSRC}/bin/default"
CONFIGURE_STYLE= simple
CONFIGURE_ARGS= --prefix='${PREFIX}' --mandir="${PREFIX}/man" \
--disable-rpath
.include <bsd.port.mk>

2
devel/libtalloc/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (talloc-2.4.0.tar.gz) = bfNoYsQkZu+I82BERROHDvRpNPkBbIQ4PMQAin0MRro=
SIZE (talloc-2.4.0.tar.gz) = 676054

View file

@ -0,0 +1,12 @@
Index: Makefile
--- Makefile.orig
+++ Makefile
@@ -2,7 +2,7 @@
WAF_BIN=`PATH=buildtools/bin:../../buildtools/bin:$$PATH which waf`
WAF_BINARY=$(PYTHON) $(WAF_BIN)
-WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY) $(WAR_ARGS)
all:
$(WAF) build

View file

@ -0,0 +1,34 @@
- respect OpenBSD shared libraries versioning
- --version-script fails if specified multipled times
Index: buildtools/wafsamba/samba_install.py
--- buildtools/wafsamba/samba_install.py.orig
+++ buildtools/wafsamba/samba_install.py
@@ -114,11 +114,15 @@ def install_library(self):
else:
inst_name = bld.make_libname(t.target)
elif self.vnum:
+ import sys
vnum_base = self.vnum.split('.')[0]
install_name = bld.make_libname(target_name, version=self.vnum)
- install_link = bld.make_libname(target_name, version=vnum_base)
- inst_name = bld.make_libname(t.target)
- if not self.private_library or not t.env.SONAME_ST:
+ if sys.platform.startswith('openbsd'):
+ install_link = install_name
+ else:
+ install_link = bld.make_libname(target_name, version=self.vnum)
+ inst_name = bld.make_libname(t.target, version=self.vnum)
+ if not sys.platform.startswith("openbsd") and (not self.private_library or not t.env.SONAME_ST):
# only generate the dev link for non-bundled libs
dev_link = bld.make_libname(target_name)
elif getattr(self, 'soname', ''):
@@ -169,7 +173,7 @@ def apply_vscript(self):
'''add version-script arguments to library build'''
if self.env.HAVE_LD_VERSION_SCRIPT and getattr(self, 'version_script', ''):
- self.env.append_value('LINKFLAGS', "-Wl,--version-script=%s" %
+ self.env.append_unique('LINKFLAGS', "-Wl,--version-script=%s" %
self.version_script)
self.version_script = None

View file

@ -0,0 +1,22 @@
- allow the library version to be overriden
Index: buildtools/wafsamba/wafsamba.py
--- buildtools/wafsamba/wafsamba.py.orig
+++ buildtools/wafsamba/wafsamba.py
@@ -281,6 +281,16 @@ def SAMBA_LIBRARY(bld, libname, source,
realname = bld.map_shlib_extension(realname, python=(target_type=='PYTHON'))
link_name = bld.map_shlib_extension(link_name, python=(target_type=='PYTHON'))
+ if vnum is not None:
+ looking_for = 'LIB' + libname.replace('-', '_').replace('.', '_') + '_VERSION'
+ osvnum = os.getenv(looking_for)
+ if osvnum:
+ print("Setup-specific version for library %s: %s" % (libname, osvnum))
+ vnum = osvnum
+ else:
+ print("Could not find override for", looking_for)
+ os.system('env')
+
# we don't want any public libraries without version numbers
if (not private_library and target_type != 'PYTHON' and not realname):
if vnum is None and soname is None:

View file

@ -0,0 +1,2 @@
talloc is a hierarchical, reference counted memory pool system with
destructors.

View file

@ -0,0 +1 @@
Python bindings to libtalloc.

View file

@ -0,0 +1,5 @@
@pkgpath devel/libtalloc
include/talloc.h
@lib lib/libtalloc.so.${LIBtalloc_VERSION}
lib/pkgconfig/talloc.pc
@man man/man3/talloc.3

View file

@ -0,0 +1,6 @@
@conflict libtalloc-<2.1.16p0
include/pytalloc.h
@comment @lib lib/libpytalloc-util.${PYTALLOC_UTIL_LIBSUFFIX}
@lib lib/libpytalloc-util.${PYTALLOC_UTIL_LIBSUFFIX}
lib/pkgconfig/pytalloc-util.${MODPY_PYC_MAGIC_TAG}pc
@so lib/python${MODPY_VERSION}/site-packages/talloc.${MODPY_PYC_MAGIC_TAG}so