pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

devel/polyorb: Add package 25.0



Module Name:	pkgsrc-wip
Committed By:	Dmytro Kazankov <dmytro.kazankov%gmail.com@localhost>
Pushed By:	dkazankov
Date:		Thu Feb 13 23:36:36 2025 +0200
Changeset:	14bf4c54e07a2ad90d19995cfd35ab4728d99561

Added Files:
	polyorb/COMMIT_MSG
	polyorb/DESCR
	polyorb/Makefile
	polyorb/PLIST
	polyorb/buildlink3.mk
	polyorb/distinfo
	polyorb/options.mk
	polyorb/patches/patch-Makefile.common.project.in
	polyorb/patches/patch-compilers_gnatdist_xe__back-garlic.adb
	polyorb/patches/patch-configure
	polyorb/patches/patch-projects_polyorb__src__aws.gpr
	polyorb/patches/patch-src_security_x509_polyorb__x509.c
	polyorb/patches/patch-src_ssl_polyorb-ssl.adb
	polyorb/patches/patch-src_ssl_polyorb-ssl.ads

Log Message:
devel/polyorb: Add package 25.0

PolyORB is a polymorphic, reusable infrastructure for building
object-oriented distributed systems

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=14bf4c54e07a2ad90d19995cfd35ab4728d99561

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 polyorb/COMMIT_MSG                                 |  4 ++
 polyorb/DESCR                                      |  7 ++
 polyorb/Makefile                                   | 68 +++++++++++++++++++
 polyorb/PLIST                                      |  1 +
 polyorb/buildlink3.mk                              | 17 +++++
 polyorb/distinfo                                   | 12 ++++
 polyorb/options.mk                                 | 76 ++++++++++++++++++++++
 polyorb/patches/patch-Makefile.common.project.in   | 45 +++++++++++++
 .../patch-compilers_gnatdist_xe__back-garlic.adb   | 42 ++++++++++++
 polyorb/patches/patch-configure                    | 61 +++++++++++++++++
 .../patches/patch-projects_polyorb__src__aws.gpr   | 15 +++++
 .../patch-src_security_x509_polyorb__x509.c        | 24 +++++++
 polyorb/patches/patch-src_ssl_polyorb-ssl.adb      | 44 +++++++++++++
 polyorb/patches/patch-src_ssl_polyorb-ssl.ads      | 24 +++++++
 14 files changed, 440 insertions(+)

diffs:
diff --git a/polyorb/COMMIT_MSG b/polyorb/COMMIT_MSG
new file mode 100644
index 0000000000..ab1d0a33c2
--- /dev/null
+++ b/polyorb/COMMIT_MSG
@@ -0,0 +1,4 @@
+devel/polyorb: Add package 25.0
+
+PolyORB is a polymorphic, reusable infrastructure for building
+object-oriented distributed systems
diff --git a/polyorb/DESCR b/polyorb/DESCR
new file mode 100644
index 0000000000..0f8ff1987d
--- /dev/null
+++ b/polyorb/DESCR
@@ -0,0 +1,7 @@
+PolyORB is a polymorphic, reusable infrastructure for building object-oriented 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
diff --git a/polyorb/Makefile b/polyorb/Makefile
new file mode 100644
index 0000000000..2ad14540eb
--- /dev/null
+++ b/polyorb/Makefile
@@ -0,0 +1,68 @@
+# $NetBSD: Makefile,v 1.3 2024/11/14 14:00:00 dkazankov Exp $
+
+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/}
+# Latest commit in 25.0 branch
+GITHUB_TAG=	43673925892098c14daca8b9b66c5017887b71d8
+GITHUB_PROJECT=	PolyORB
+
+USE_TOOLS+=	awk autoconf automake gmake
+GNU_CONFIGURE=	yes
+
+CHECK_PIE_SKIP+=	bin/*
+
+USE_LANGUAGES=	c ada
+
+GCC_REQD+=	13
+
+OVERRIDE_RELEASE_PLACEHOLDER=	25.0w
+ADDITIONAL_VERSION_PLACEHOLDER=
+
+SUBST_CLASSES+=		version
+SUBST_STAGE.version=	pre-configure
+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"
+
+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"
+
+GENERATE_PLIST+= \
+	cd ${DESTDIR}${PREFIX} && \
+	${FIND} bin include lib \( -type f -or -type l \) -print | ${SORT};
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/polyorb/PLIST b/polyorb/PLIST
new file mode 100644
index 0000000000..f196ba6a0c
--- /dev/null
+++ b/polyorb/PLIST
@@ -0,0 +1 @@
+@comment $NetBSD: PLIST,v 1.0 2024/11/12 18:30:00 dkazankov Exp $
diff --git a/polyorb/buildlink3.mk b/polyorb/buildlink3.mk
new file mode 100644
index 0000000000..4a1553379c
--- /dev/null
+++ b/polyorb/buildlink3.mk
@@ -0,0 +1,17 @@
+# $NetBSD: buildlink3.mk,v 1.0 2024/11/14 16:30:00 dkazankov Exp $
+
+BUILDLINK_TREE+=	polyorb
+
+.if !defined(POLYORB_BUILDLINK3_MK)
+POLYORB_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.polyorb+=	polyorb>=25.0
+BUILDLINK_PKGSRCDIR.polyorb=	../../wip/polyorb
+BUILDLINK_DEPMETHOD.polyorb?=	build
+
+BUILDLINK_AUTO_VARS.polyorb=	no
+BUILDLINK_AUTO_DIRS.polyorb=	no
+
+.endif
+
+BUILDLINK_TREE+=	-polyorb
diff --git a/polyorb/distinfo b/polyorb/distinfo
new file mode 100644
index 0000000000..0eb85fca58
--- /dev/null
+++ b/polyorb/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.3 2024/05/02 14:00:00 dkazankov Exp $
+
+BLAKE2s (polyorb-25.0.0-43673925892098c14daca8b9b66c5017887b71d8.tar.gz) = 476b472810aea38e528cc1297e4110df0a4dcc57342a52c308327a5ec477f2ba
+SHA512 (polyorb-25.0.0-43673925892098c14daca8b9b66c5017887b71d8.tar.gz) = 6044576faceb313f41a88c931273140a469b507200df768ac7982ee9efb947127a669d3a44aaf2c836d8941c20554fce8f1d58232534b288f04f5a4021a5d739
+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-projects_polyorb__src__aws.gpr) = 2fe33ff7165001e7e90b17c635af8b650862b916
+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
new file mode 100644
index 0000000000..26f6a1f4de
--- /dev/null
+++ b/polyorb/options.mk
@@ -0,0 +1,76 @@
+# $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
+
+.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
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mbuiltin-openssl)
+.include "../../security/openssl/builtin.mk"
+CONFIGURE_ARGS+=	--with-openssl=${BUILDLINK_PREFIX.openssl}
+.elif !empty(PKG_OPTIONS:Mopenssl)
+.include "../../security/openssl/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-openssl=${SSLBASE}
+.else
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnatcoll)
+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
+.if !empty(PKG_OPTIONS:Map-corba)
+APP_PERSONALITIES+=	corba
+.endif
+.if !empty(PKG_OPTIONS:Map-dsa)
+APP_PERSONALITIES+=	dsa
+.endif
+.if !empty(PKG_OPTIONS:Map-moma)
+APP_PERSONALITIES+=	moma
+.endif
+
+.if !empty(PKG_OPTIONS:Mpp-dns)
+PROTOCOL_PERSONALITIES+=	dns
+.endif
+.if !empty(PKG_OPTIONS:Mpp-giop)
+PROTOCOL_PERSONALITIES+=	giop
+.endif
+.if !empty(PKG_OPTIONS:Mpp-soap)
+PROTOCOL_PERSONALITIES+=	soap
+.endif
+.if !empty(PKG_OPTIONS:Mpp-srp)
+PROTOCOL_PERSONALITIES+=	srp
+.endif
+
+.if !empty(PKG_OPTIONS:Mcs-event)
+CORBA_SERVICES+=	event
+.endif
+.if !empty(PKG_OPTIONS:Mcs-ir)
+CORBA_SERVICES+=	ir
+.endif
+.if !empty(PKG_OPTIONS:Mcs-naming)
+CORBA_SERVICES+=	naming
+.endif
+.if !empty(PKG_OPTIONS:Mcs-notification)
+CORBA_SERVICES+=	notification
+.endif
+.if !empty(PKG_OPTIONS:Mcs-time)
+CORBA_SERVICES+=	time
+.endif
diff --git a/polyorb/patches/patch-Makefile.common.project.in b/polyorb/patches/patch-Makefile.common.project.in
new file mode 100644
index 0000000000..3ff94f8377
--- /dev/null
+++ b/polyorb/patches/patch-Makefile.common.project.in
@@ -0,0 +1,45 @@
+$NetBSD: patch-Makefile.common.project.in,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
+
+Fix declarations position
+
+--- Makefile.common.project.in.orig	2024-08-23 19:03:44.000000000 +0300
++++ Makefile.common.project.in
+@@ -1,18 +1,5 @@
+ # Common Makefile fragments for all PolyORB subsystems
+ 
+-APPLI_LIST   := @APPLI_LIST@
+-APPLI_LIBS   := @APPLI_LIBS@
+-APPLI_EXES   := @APPLI_EXES@
+-
+-PROTO_LIST   := @PROTO_LIST@
+-PROTO_LIBS   := @PROTO_LIBS@
+-
+-LIBS_LIST    := @LIBS_LIST@
+-LIBS_LIBS    := @LIBS_LIBS@
+-
+-SERVICE_LIBS := @SERVICE_LIBS@
+-SERVICE_EXES := @SERVICE_EXES@
+-
+ #
+ # PolyORB's libraries
+ #
+@@ -86,6 +73,19 @@
+ ir_lib=libpolyorb-corba-cos-ir-impl.a
+ time_lib=libpolyorb-corba-cos-time.a libpolyorb-corba-cos-time-impl.a
+ 
++APPLI_LIST   := @APPLI_LIST@
++APPLI_LIBS   := @APPLI_LIBS@
++APPLI_EXES   := @APPLI_EXES@
++
++PROTO_LIST   := @PROTO_LIST@
++PROTO_LIBS   := @PROTO_LIBS@
++
++LIBS_LIST    := @LIBS_LIST@
++LIBS_LIBS    := @LIBS_LIBS@
++
++SERVICE_LIBS := @SERVICE_LIBS@
++SERVICE_EXES := @SERVICE_EXES@
++
+ #
+ # PolyORB's include files
+ #
diff --git a/polyorb/patches/patch-compilers_gnatdist_xe__back-garlic.adb b/polyorb/patches/patch-compilers_gnatdist_xe__back-garlic.adb
new file mode 100644
index 0000000000..675d77797b
--- /dev/null
+++ b/polyorb/patches/patch-compilers_gnatdist_xe__back-garlic.adb
@@ -0,0 +1,42 @@
+$NetBSD: patch-compilers_gnatdist_xe__back-garlic.adb,v 1.0 2025/02/05 15:00:00 dkazankov Exp $
+
+Fix include/library paths
+Fix params for gprbuild
+
+--- compilers/gnatdist/xe_back-garlic.adb.orig	2024-08-23 19:03:44.000000000 +0300
++++ compilers/gnatdist/xe_back-garlic.adb
+@@ -194,8 +194,10 @@
+    --  Take a unit id and return its name removing unit suffix.
+ 
+    DSA_Inc_Rel_Dir : constant String :=
+-                      "lib" & Directory_Separator & "garlic";
++                      "include" & Directory_Separator & "garlic";
+    --  GARLIC include directory, relative to the installation prefix
++   DSA_Lib_Rel_Dir : constant String :=
++                      "lib" & Directory_Separator & "garlic";
+ 
+    GARLIC_Prefix : constant String :=
+                      XE_Back.Prefix
+@@ -203,6 +205,7 @@
+                                       & Dir_Separator & "s-garlic.ads");
+ 
+    DSA_Inc_Dir : constant String := GARLIC_Prefix & DSA_Inc_Rel_Dir;
++   DSA_Lib_Dir : constant String := GARLIC_Prefix & DSA_Lib_Rel_Dir;
+ 
+    ------------------
+    -- Add_Protocol --
+@@ -1346,10 +1349,12 @@
+          raise Fatal_Error with "GARLIC library not found";
+       end if;
+ 
++      if not Use_GPRBuild then
+       Scan_Dist_Arg ("-aI" & DSA_Inc_Dir);
+-      Scan_Dist_Arg ("-aO" & DSA_Inc_Dir);
++         Scan_Dist_Arg ("-aO" & DSA_Lib_Dir);
++      end if;
+       Scan_Dist_Arg ("-largs");
+-      Scan_Dist_Arg ("-L" & DSA_Inc_Dir);
++      Scan_Dist_Arg ("-L" & DSA_Lib_Dir);
+       Scan_Dist_Arg ("-lgarlic");
+    end Set_PCS_Dist_Flags;
+ 
diff --git a/polyorb/patches/patch-configure b/polyorb/patches/patch-configure
new file mode 100644
index 0000000000..f162223517
--- /dev/null
+++ b/polyorb/patches/patch-configure
@@ -0,0 +1,61 @@
+$NetBSD: patch-configure,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
+
+Fix usage of old 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
+@@ -7859,8 +7859,8 @@
+             # unset ac_cv_XXX to prevent reuse of cached results from a previous
+             # iteration.
+             unset ac_cv_lib_crypto_SSLeay_version
+-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSLeay_version in -lcrypto" >&5
+-$as_echo_n "checking for SSLeay_version in -lcrypto... " >&6; }
++            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL_version in -lcrypto" >&5
++$as_echo_n "checking for OpenSSL_version in -lcrypto... " >&6; }
+ if ${ac_cv_lib_crypto_SSLeay_version+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+@@ -7875,11 +7875,11 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char SSLeay_version ();
++char OpenSSL_version ();
+ int
+ main ()
+ {
+-return SSLeay_version ();
++return OpenSSL_version ();
+   ;
+   return 0;
+ }
+@@ -8052,7 +8052,16 @@
+ 
+ set_linker_options() {
+   while test $# -gt 0; do
+-    SSL_LINKER_OPTIONS="${SSL_LINKER_OPTIONS}\"$1\""
++    SSL_LINKER_OPTION1=$1
++    case $SSL_LINKER_OPTION1 in
++    -L*/)
++	SSL_LINKER_OPTION1=${SSL_LINKER_OPTION1}
++	;;
++    -L*)
++	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 @@
+     keylen = length(key)
+     if (S_is_set[key]) {
+       value = S[key]
++      if (key == "LDFLAGS") {
++        sub(/\\\\\\\$\\\\\\\$ORIGIN/, "\\\\\\\\\\\$\\\\\\\\\\\$ORIGIN", value)
++      }
+       line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+       len += length(value) + length(field[++i])
+       substed = 1
diff --git a/polyorb/patches/patch-projects_polyorb__src__aws.gpr b/polyorb/patches/patch-projects_polyorb__src__aws.gpr
new file mode 100644
index 0000000000..7910e26078
--- /dev/null
+++ b/polyorb/patches/patch-projects_polyorb__src__aws.gpr
@@ -0,0 +1,15 @@
+$NetBSD: patch-progects_polyorb__src__aws.gpr,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
+
+Fix incorrect project name
+
+--- projects/polyorb_src_aws.gpr.orig	2024-08-23 19:03:44.000000000 +0300
++++ projects/polyorb_src_aws.gpr
+@@ -40,7 +40,7 @@
+    Dir := "src/aws";
+    Obj_Dir := PolyORB_Common.Build_Dir & Dir;
+    for Object_Dir use Obj_Dir;
+-   for Source_Dirs use (Obj_Dir, PolyORB_Common.Source_Dir & Dir, Common.Source_Dir & "src/aws_orig");
++   for Source_Dirs use (Obj_Dir, PolyORB_Common.Source_Dir & Dir, PolyORB_Common.Source_Dir & "src/aws_orig");
+ 
+    for Library_Name use "polyorb-aws";
+    for Library_Dir use PolyORB_Common.Build_Dir & "lib";
diff --git a/polyorb/patches/patch-src_security_x509_polyorb__x509.c b/polyorb/patches/patch-src_security_x509_polyorb__x509.c
new file mode 100644
index 0000000000..492c67bd52
--- /dev/null
+++ b/polyorb/patches/patch-src_security_x509_polyorb__x509.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_security_x509_polyorb__x509.c,v 1.0 2024/12/17 20:00:00 dkazankov Exp $
+
+Fix usage of undocumented old function
+
+--- src/security/x509/polyorb_x509.c.orig	2024-08-23 19:03:44.000000000 +0300
++++ src/security/x509/polyorb_x509.c
+@@ -161,7 +161,7 @@
+     BIO *in;
+     X509 *pkey = NULL;
+ 
+-    in = BIO_new(BIO_s_file_internal());
++    in = BIO_new(BIO_s_file());
+     if (in == NULL) {
+         PolyORBerr(POLYORB_F_PEM_READ_CERTIFICATE_FILE, ERR_R_BUF_LIB);
+         goto end;
+@@ -193,7 +193,7 @@
+     BIO *in;
+     EVP_PKEY *pkey = NULL;
+ 
+-    in = BIO_new(BIO_s_file_internal());
++    in = BIO_new(BIO_s_file());
+     if (in == NULL) {
+         PolyORBerr(POLYORB_F_PEM_READ_PRIVATEKEY_FILE, ERR_R_BUF_LIB);
+         goto end;
diff --git a/polyorb/patches/patch-src_ssl_polyorb-ssl.adb b/polyorb/patches/patch-src_ssl_polyorb-ssl.adb
new file mode 100644
index 0000000000..a2d42629d2
--- /dev/null
+++ b/polyorb/patches/patch-src_ssl_polyorb-ssl.adb
@@ -0,0 +1,44 @@
+$NetBSD: patch-src_ssl_polyorb-ssl.adb,v 1.0 2025/01/08 17:00:00 dkazankov Exp $
+
+Fix old library usage
+
+--- src/ssl/polyorb-ssl.adb.orig	2024-08-23 19:03:44.000000000 +0300
++++ src/ssl/polyorb-ssl.adb
+@@ -74,9 +74,10 @@
+ 
+       --  General initialization subprograms
+ 
+-      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;
+ 
+       --  Context subprograms
+ 
+@@ -254,8 +255,7 @@
+       pragma Import (C, SSL_free, "SSL_free");
+       pragma Import (C, SSL_get_fd, "SSL_get_fd");
+       pragma Import (C, SSL_get_ciphers, "SSL_get_ciphers");
+-      pragma Import (C, SSL_library_init, "SSL_library_init");
+-      pragma Import (C, SSL_load_error_strings, "SSL_load_error_strings");
++      pragma Import (C, OPENSSL_init_ssl, "OPENSSL_init_ssl");
+       pragma Import (C, SSL_load_client_CA_file, "SSL_load_client_CA_file");
+       pragma Import (C, SSL_new, "SSL_new");
+       pragma Import (C, SSL_pending, "SSL_pending");
+@@ -609,9 +609,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_ssl_polyorb-ssl.ads b/polyorb/patches/patch-src_ssl_polyorb-ssl.ads
new file mode 100644
index 0000000000..50713284b9
--- /dev/null
+++ b/polyorb/patches/patch-src_ssl_polyorb-ssl.ads
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_ssl_polyorb-ssl.adb,v 1.0 2025/01/08 17:00:00 dkazankov Exp $
+
+Fix old library usage
+
+--- src/ssl/polyorb-ssl.ads.orig	2024-08-23 19:03:44.000000000 +0300
++++ src/ssl/polyorb-ssl.ads
+@@ -39,6 +39,7 @@
+ 
+ package PolyORB.SSL is
+ 
++   type INIT_SETTINGS_ACCESS is private;
+    type SSL_Context_Type is private;
+ 
+    type SSL_Socket_Type is private;
+@@ -162,6 +163,9 @@
+ 
+ private
+ 
++   type OPENSSL_INIT_SETTINGS is null record;
++   pragma Convention (C, OPENSSL_INIT_SETTINGS);
++   type INIT_SETTINGS_ACCESS is access all OPENSSL_INIT_SETTINGS;
+    type Context_Record is null record;
+    pragma Convention (C, Context_Record);
+ 


Home | Main Index | Thread Index | Old Index