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