pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
polyorb: lint package, add shlib options handling, add ssl support
Module Name: pkgsrc-wip
Committed By: Dmytro Kazankov <dkazankov%NetBSD.org@localhost>
Pushed By: dkazankov
Date: Tue May 20 06:25:21 2025 +0300
Changeset: 84c1308dfa2afc684a4e7013fffdfb7ad423a4f0
Modified Files:
polyorb/DESCR
polyorb/Makefile
polyorb/buildlink3.mk
polyorb/distinfo
polyorb/options.mk
polyorb/patches/patch-configure
Added Files:
polyorb/patches/patch-src_security_tls_polyorb-tls.adb
polyorb/patches/patch-src_security_tls_polyorb-tls.ads
polyorb/patches/patch-src_security_x509_polyorb-x509.adb
Removed Files:
polyorb/PLIST
Log Message:
polyorb: lint package, add shlib options handling, add ssl support
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=84c1308dfa2afc684a4e7013fffdfb7ad423a4f0
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
polyorb/DESCR | 13 +++---
polyorb/Makefile | 50 ++++++++--------------
polyorb/PLIST | 1 -
polyorb/buildlink3.mk | 8 ++--
polyorb/distinfo | 5 ++-
polyorb/options.mk | 50 ++++++++++++++++------
polyorb/patches/patch-configure | 14 +++---
.../patches/patch-src_security_tls_polyorb-tls.adb | 46 ++++++++++++++++++++
.../patches/patch-src_security_tls_polyorb-tls.ads | 26 +++++++++++
.../patch-src_security_x509_polyorb-x509.adb | 27 ++++++++++++
10 files changed, 175 insertions(+), 65 deletions(-)
diffs:
diff --git a/polyorb/DESCR b/polyorb/DESCR
index 0f8ff1987d..de9d868e6d 100644
--- a/polyorb/DESCR
+++ b/polyorb/DESCR
@@ -1,7 +1,8 @@
-PolyORB is a polymorphic, reusable infrastructure for building object-oriented distributed systems
+PolyORB is a polymorphic infrastructure for building distributed systems
-PolyORB is a polymorphic, reusable infrastructure for building or prototyping new middleware
-adapted to specific application needs. It provides a set of components on top of which
-various instances can be elaborated. These instances (or personalities) are views on PolyORB
-facilities that are compliant to existing standards, either at the API level (application
-personality) or at the protocol level (protocol personality).
\ No newline at end of file
+PolyORB is a polymorphic, reusable infrastructure for building or prototyping
+new middleware adapted to specific application needs. It provides a set of
+components on top of which various instances can be elaborated. These instances
+(or personalities) are views on PolyORB facilities that are compliant to
+existing standards, either at the API level (application personality) or at the
+protocol level (protocol personality).
diff --git a/polyorb/Makefile b/polyorb/Makefile
index 2ad14540eb..ed3733111a 100644
--- a/polyorb/Makefile
+++ b/polyorb/Makefile
@@ -1,27 +1,30 @@
# $NetBSD: Makefile,v 1.3 2024/11/14 14:00:00 dkazankov Exp $
+DISTNAME= polyorb-${PKGVERSION_NOREV}
PKGNAME= polyorb-25.0.0
CATEGORIES= devel
-MAINTAINER= pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE= https://github.com/AdaCore/PolyORB
-COMMENT= PolyORB is a polymorphic, reusable infrastructure for building object-oriented distributed systems
-LICENSE= gnu-gpl-v2
-
-DISTNAME= polyorb-${PKGVERSION_NOREV}
MASTER_SITES= ${MASTER_SITE_GITHUB:=AdaCore/}
+GITHUB_PROJECT= PolyORB
# Latest commit in 25.0 branch
GITHUB_TAG= 43673925892098c14daca8b9b66c5017887b71d8
-GITHUB_PROJECT= PolyORB
-USE_TOOLS+= awk autoconf automake gmake
+MAINTAINER= dkazankov%NetBSD.org@localhost
+HOMEPAGE= https://github.com/AdaCore/PolyORB
+COMMENT= Polymorphic, reusable infrastructure for building distributed systems
+LICENSE= gnu-gpl-v2
+
+USE_TOOLS+= awk gmake
GNU_CONFIGURE= yes
CHECK_PIE_SKIP+= bin/*
USE_LANGUAGES= c ada
-
+# See xmlada package for rationale
GCC_REQD+= 13
+.include "../../mk/bsd.prefs.mk"
+.include "options.mk"
+
OVERRIDE_RELEASE_PLACEHOLDER= 25.0w
ADDITIONAL_VERSION_PLACEHOLDER=
@@ -31,38 +34,21 @@ SUBST_MESSAGE.version= Set version
SUBST_VARS.version= OVERRIDE_RELEASE_PLACEHOLDER ADDITIONAL_VERSION_PLACEHOLDER
SUBST_FILES.version= configure
-.include "../../mk/bsd.prefs.mk"
-
-.include "options.mk"
-
-OBJDIR= ${WRKDIR}/build
-
CONFIGURE_ARGS+= --prefix=${DESTDIR}${PREFIX}
CONFIGURE_ARGS+= --with-appli-perso=${APP_PERSONALITIES:Q}
CONFIGURE_ARGS+= --with-proto-perso=${PROTOCOL_PERSONALITIES:Q}
CONFIGURE_ARGS+= --with-corba-services=${CORBA_SERVICES:Q}
-
-INSTALL_MAKE_FLAGS+= prefix=${DESTDIR}${PREFIX}
-
EXTRA_GNATMAKE_FLAGS+= -eL -R -largs $${LDFLAGS} -margs
-BUILD_MAKE_FLAGS+= EXTRA_GNATMAKE_FLAGS=${EXTRA_GNATMAKE_FLAGS:Q}
-
-.include "../../lang/gcc13-gnat-libs/buildlink3.mk"
-.include "../../wip/gprbuild/buildlink3.mk"
-
-.include "../../security/openssl/buildlink3.mk"
+CONFIGURE_ENV+= EXTRA_GNATMAKE_FLAGS=${EXTRA_GNATMAKE_FLAGS:Q}
-BUILDLINK_DEPMETHOD.xmlada= full
-.include "../../wip/xmlada/buildlink3.mk"
-
-.include "../../wip/gprlib/buildlink3.mk"
-.include "../../wip/gnatcoll-core/buildlink3.mk"
-
-PYTHON_VERSIONS_ACCEPTED= 312 311 310 39 38
-.include "../../lang/python/tool.mk"
+INSTALL_MAKE_FLAGS+= prefix=${DESTDIR}${PREFIX}
GENERATE_PLIST+= \
cd ${DESTDIR}${PREFIX} && \
${FIND} bin include lib \( -type f -or -type l \) -print | ${SORT};
+.include "../../devel/gprbuild/buildlink3.mk"
+
+.include "../../lang/python/tool.mk"
+
.include "../../mk/bsd.pkg.mk"
diff --git a/polyorb/PLIST b/polyorb/PLIST
deleted file mode 100644
index f196ba6a0c..0000000000
--- a/polyorb/PLIST
+++ /dev/null
@@ -1 +0,0 @@
-@comment $NetBSD: PLIST,v 1.0 2024/11/12 18:30:00 dkazankov Exp $
diff --git a/polyorb/buildlink3.mk b/polyorb/buildlink3.mk
index 4a1553379c..58445a1a79 100644
--- a/polyorb/buildlink3.mk
+++ b/polyorb/buildlink3.mk
@@ -5,12 +5,12 @@ BUILDLINK_TREE+= polyorb
.if !defined(POLYORB_BUILDLINK3_MK)
POLYORB_BUILDLINK3_MK:=
-BUILDLINK_API_DEPENDS.polyorb+= polyorb>=25.0
-BUILDLINK_PKGSRCDIR.polyorb= ../../wip/polyorb
+BUILDLINK_API_DEPENDS.polyorb+= polyorb>=25.0.0
+BUILDLINK_PKGSRCDIR.polyorb?= ../../wip/polyorb
BUILDLINK_DEPMETHOD.polyorb?= build
-BUILDLINK_AUTO_VARS.polyorb= no
-BUILDLINK_AUTO_DIRS.polyorb= no
+pkgbase := polyorb
+.include "../../mk/pkg-build-options.mk"
.endif
diff --git a/polyorb/distinfo b/polyorb/distinfo
index 0eb85fca58..fc77e847c2 100644
--- a/polyorb/distinfo
+++ b/polyorb/distinfo
@@ -5,8 +5,11 @@ SHA512 (polyorb-25.0.0-43673925892098c14daca8b9b66c5017887b71d8.tar.gz) = 604457
Size (polyorb-25.0.0-43673925892098c14daca8b9b66c5017887b71d8.tar.gz) = 2874796 bytes
SHA1 (patch-Makefile.common.project.in) = 03f43f1a8dee02833e39be26dcc5ffb751f25268
SHA1 (patch-compilers_gnatdist_xe__back-garlic.adb) = 56f9d6614fccb0fc540bcef1183cfe6a47f45919
-SHA1 (patch-configure) = 923a5e24fa2c0e09985f555d493fac8c9e72bd85
+SHA1 (patch-configure) = e82a58b42d3c190966fa90cea83106eb165be1d8
SHA1 (patch-projects_polyorb__src__aws.gpr) = 2fe33ff7165001e7e90b17c635af8b650862b916
+SHA1 (patch-src_security_tls_polyorb-tls.adb) = 364ec157dd67bfd51478d2e52d6abe03a6baa307
+SHA1 (patch-src_security_tls_polyorb-tls.ads) = 3d368a923977e4476077723b41b14103330c9a97
+SHA1 (patch-src_security_x509_polyorb-x509.adb) = 20ab2472068cb06c034e8e83bb28c70957c659c4
SHA1 (patch-src_security_x509_polyorb__x509.c) = 372c480df9bebd43a0f37e96381fe27ef2df8419
SHA1 (patch-src_ssl_polyorb-ssl.adb) = a1db67e4b26ac8c7d2e8173635ce2695041d406c
SHA1 (patch-src_ssl_polyorb-ssl.ads) = 731a74d78d04dc15fcb7d991d689678f6822f8cc
diff --git a/polyorb/options.mk b/polyorb/options.mk
index 26f6a1f4de..fe091ae2e6 100644
--- a/polyorb/options.mk
+++ b/polyorb/options.mk
@@ -1,38 +1,60 @@
# $NetBSD: options.mk,v 1.0 2024/12/02 15:00:00 dkazankov Exp $
-PKG_OPTIONS_VAR= PKG_OPTIONS.PolyORB
-PKG_SUPPORTED_OPTIONS= ap-corba ap-dsa ap-moma ap-aws \
- pp-giop pp-soap pp-srp pp-dns \
- cs-event cs-ir cs-naming cs-notification cs-time \
- shared openssl builtin-openssl gnatcoll
+PKG_OPTIONS_VAR= PKG_OPTIONS.polyorb
+PKG_SUPPORTED_OPTIONS= ap-corba ap-dsa ap-moma ap-aws \
+ pp-giop pp-soap pp-srp pp-dns \
+ cs-event cs-ir cs-naming cs-notification cs-time \
+ gnatcoll
+PKG_OPTIONS_OPTIONAL_GROUPS= shared-libs openssl
+PKG_OPTIONS_GROUP.shared-libs= enable-shared-libs disable-shared-libs
+PKG_OPTIONS_GROUP.openssl= openssl builtin-openssl
.include "../../mk/bsd.fast.prefs.mk"
PKG_SUGGESTED_OPTIONS= ap-corba ap-dsa ap-moma \
- pp-giop pp-soap pp-srp pp-dns \
- cs-event cs-ir cs-naming cs-notification cs-time \
- builtin-openssl gnatcoll
+ pp-giop pp-soap pp-srp pp-dns \
+ cs-event cs-ir cs-naming cs-notification cs-time \
+ builtin-openssl gnatcoll
.include "../../mk/bsd.options.mk"
+.if !empty(PKG_OPTIONS:Menable-shared-libs)
+CONFIGURE_ARGS+= --enable-shared
+CONFIGURE_ARGS+= --with-gprbuild=gprbuild
+USE_GCC_RUNTIME= yes
+BUILDLINK_DEPMETHOD.xmlada= full
+BUILDLINK_DEPMETHOD.gprlib= full
+BUILDLINK_DEPMETHOD.gnatcoll-core= full
+.endif
+.if !empty(PKG_OPTIONS:Mdisable-shared-libs)
+CONFIGURE_ARGS+= --disable-shared
+.endif
+.if empty(PKG_OPTIONS:Menable-shared-libs) && empty(PKG_OPTIONS:Mdisable-shared-libs)
+CONFIGURE_ARGS+= --with-gprbuild=gprbuild
+USE_GCC_RUNTIME= yes
+BUILDLINK_DEPMETHOD.xmlada= full
+BUILDLINK_DEPMETHOD.gprlib= full
+BUILDLINK_DEPMETHOD.gnatcoll-core= full
+.endif
+
.if !empty(PKG_OPTIONS:Mbuiltin-openssl)
-.include "../../security/openssl/builtin.mk"
+USE_BUILTIN.openssl= yes
+.include "../../security/openssl/buildlink3.mk"
CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl}
.elif !empty(PKG_OPTIONS:Mopenssl)
+USE_BUILTIN.openssl= no
.include "../../security/openssl/buildlink3.mk"
CONFIGURE_ARGS+= --with-openssl=${SSLBASE}
.else
.endif
.if !empty(PKG_OPTIONS:Mgnatcoll)
+.include "../../wip/xmlada/buildlink3.mk"
+.include "../../wip/gprlib/buildlink3.mk"
+.include "../../wip/gnatcoll-core/buildlink3.mk"
CONFIGURE_ARGS+= --with-gnatcoll
.endif
-.if !empty(PKG_OPTIONS:Mshared)
-CONFIGURE_ARGS+= --enable-shared
-CONFIGURE_ARGS+= --with-gprbuild=gprbuild
-.endif
-
.if !empty(PKG_OPTIONS:Map-aws)
APP_PERSONALITIES+= aws
.endif
diff --git a/polyorb/patches/patch-configure b/polyorb/patches/patch-configure
index f162223517..2e56c7af4f 100644
--- a/polyorb/patches/patch-configure
+++ b/polyorb/patches/patch-configure
@@ -1,11 +1,11 @@
$NetBSD: patch-configure,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
-Fix usage of old function
+Fix usage of old SSL function
Fix later linker error when using SSL
Fix $$ORIGIN substitution in LDFLAGS
--- configure.orig 2024-08-23 19:03:44.000000000 +0300
-+++ configure 2025-01-24 10:12:03.567050383 +0200
++++ configure
@@ -7859,8 +7859,8 @@
# unset ac_cv_XXX to prevent reuse of cached results from a previous
# iteration.
@@ -39,17 +39,17 @@ Fix $$ORIGIN substitution in LDFLAGS
+ SSL_LINKER_OPTION1=$1
+ case $SSL_LINKER_OPTION1 in
+ -L*/)
-+ SSL_LINKER_OPTION1=${SSL_LINKER_OPTION1}
-+ ;;
++ SSL_LINKER_OPTION1=${SSL_LINKER_OPTION1}
++ ;;
+ -L*)
-+ SSL_LINKER_OPTION1=${SSL_LINKER_OPTION1}/
-+ ;;
++ SSL_LINKER_OPTION1=${SSL_LINKER_OPTION1}/
++ ;;
+ esac
+ SSL_LINKER_OPTIONS="${SSL_LINKER_OPTIONS}\"${SSL_LINKER_OPTION1}\""
if test $# -gt 1; then
SSL_LINKER_OPTIONS="${SSL_LINKER_OPTIONS} & ASCII.NUL & "
fi
-@@ -9457,6 +9468,9 @@
+@@ -9457,6 +9466,9 @@
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
diff --git a/polyorb/patches/patch-src_security_tls_polyorb-tls.adb b/polyorb/patches/patch-src_security_tls_polyorb-tls.adb
new file mode 100644
index 0000000000..33be0c0c30
--- /dev/null
+++ b/polyorb/patches/patch-src_security_tls_polyorb-tls.adb
@@ -0,0 +1,46 @@
+$NetBSD: patch-src_security_tls_polyorb-tls.adb,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
+
+Fix deprecated functions
+
+--- src/security/tls/polyorb-tls.adb.orig 2024-08-23 19:03:44.000000000 +0300
++++ src/security/tls/polyorb-tls.adb
+@@ -223,9 +223,10 @@
+
+ -- Library initialization
+
+- procedure SSL_library_init;
+-
+- procedure SSL_load_error_strings;
++ function OPENSSL_init_ssl
++ (Opts : Interfaces.C.unsigned_long_long;
++ settings : INIT_SETTINGS_ACCESS)
++ return Interfaces.C.int;
+
+ -- PolyORB extensions
+
+@@ -270,9 +271,8 @@
+ pragma Import (C, SSL_get_cipher_list, "SSL_get_cipher_list");
+ pragma Import (C, SSL_get_ciphers, "SSL_get_ciphers");
+ pragma Import (C, SSL_get_fd, "SSL_get_fd");
+- pragma Import (C, SSL_get_peer_certificate, "SSL_get_peer_certificate");
+- pragma Import (C, SSL_library_init, "SSL_library_init");
+- pragma Import (C, SSL_load_error_strings, "SSL_load_error_strings");
++ pragma Import (C, SSL_get_peer_certificate, "SSL_get1_peer_certificate");
++ pragma Import (C, OPENSSL_init_ssl, "OPENSSL_init_ssl");
+ pragma Import (C, SSL_new, "SSL_new");
+ pragma Import (C, SSL_pending, "SSL_pending");
+ pragma Import (C, SSL_read, "SSL_read");
+@@ -549,9 +549,11 @@
+ ----------------
+
+ procedure Initialize is
++ Result : Interfaces.C.int := Thin.OPENSSL_init_ssl (0, null);
+ begin
+- Thin.SSL_load_error_strings;
+- Thin.SSL_library_init;
++ if Result = 0 then
++ null;
++ end if;
+ -- XXX actions_to_seed_PRNG
+ end Initialize;
+
diff --git a/polyorb/patches/patch-src_security_tls_polyorb-tls.ads b/polyorb/patches/patch-src_security_tls_polyorb-tls.ads
new file mode 100644
index 0000000000..0ecf33839e
--- /dev/null
+++ b/polyorb/patches/patch-src_security_tls_polyorb-tls.ads
@@ -0,0 +1,26 @@
+$NetBSD: patch-src_security_tls_polyorb-tls.adb,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
+
+Fix deprecated init function
+
+--- src/security/tls/polyorb-tls.ads.orig 2024-08-23 19:03:44.000000000 +0300
++++ src/security/tls/polyorb-tls.ads
+@@ -50,6 +50,8 @@
+
+ type TLS_Verification_Mode is array (TLS_Verification_Mode_Flag) of Boolean;
+
++ type INIT_SETTINGS_ACCESS is private;
++
+ type TLS_Context_Type is private;
+
+ type TLS_Cipher_Type is private;
+@@ -189,6 +191,10 @@
+
+ private
+
++ type OPENSSL_INIT_SETTINGS is null record;
++ pragma Convention (C, OPENSSL_INIT_SETTINGS);
++ type INIT_SETTINGS_ACCESS is access all OPENSSL_INIT_SETTINGS;
++
+ -- TLS Context
+
+ type TLS_Context_Record is null record;
diff --git a/polyorb/patches/patch-src_security_x509_polyorb-x509.adb b/polyorb/patches/patch-src_security_x509_polyorb-x509.adb
new file mode 100644
index 0000000000..e284ea1455
--- /dev/null
+++ b/polyorb/patches/patch-src_security_x509_polyorb-x509.adb
@@ -0,0 +1,27 @@
+$NetBSD: patch-src_security_x509_polyorb-x509.adb,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
+
+Fix removed deprecated function import
+
+--- src/security/x509/polyorb-x509.adb.orig 2024-08-23 19:03:44.000000000 +0300
++++ src/security/x509/polyorb-x509.adb
+@@ -179,7 +179,6 @@
+
+ private
+
+- pragma Import (C, CRYPTO_num_locks, "CRYPTO_num_locks");
+ pragma Import (C, Get_CRYPTO_LOCK, "__PolyORB_Get_CRYPTO_LOCK");
+ pragma Import (C, ERR_get_error, "ERR_get_error");
+ pragma Import (C, ERR_load_PolyORB_strings, "ERR_load_PolyORB_strings");
+@@ -729,6 +728,12 @@
+
+ package body Thin is
+
++ function CRYPTO_num_locks return C.int
++ is
++ begin
++ return 1;
++ end CRYPTO_num_locks;
++
+ ----------------------
+ -- ERR_error_string --
+ ----------------------
Home |
Main Index |
Thread Index |
Old Index