Skip to content

Commit

Permalink
gnutls30-3.7: new libN for v3.7.8
Browse files Browse the repository at this point in the history
Should be a drop in replacement for gnutls30.
Will just need to adjust dependees to find its private directory.
  • Loading branch information
nieder committed Jan 29, 2023
1 parent 999a575 commit 2bc2e43
Show file tree
Hide file tree
Showing 2 changed files with 256 additions and 0 deletions.
194 changes: 194 additions & 0 deletions 10.9-libcxx/stable/main/finkinfo/crypto/gnutls30-3.7-shlibs.info
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
Package: gnutls30-3.7-shlibs
# If switching gsasl19 to this, update it for GNUTLS_CB_TLS_EXPORTER
Version: 3.7.8
Revision: 1
Description: GNU TLS encryption library
License: GPL/LGPL
Maintainer: None <fink-devel@lists.sourceforge.net>
Source: https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-%v.tar.xz
Source-Checksum: SHA256(c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114)
Depends: <<
gmp5-shlibs,
libbrotli1-shlibs,
libgettext8-shlibs,
libhogweed6-shlibs,
libidn2.0-shlibs,
libtasn1-6-shlibs (>= 3.9-1),
libunistring2-shlibs,
libzstd1-shlibs,
nettle8-shlibs
<<
BuildDepends: <<
autoconf2.6,
autogen (>= 5.18.2-3),
autogen-dev,
automake1.15,
fink (>= 0.32),
fink-package-precedence,
gettext-tools,
gmp5,
libbrotli1,
libgettext8-dev,
libidn2.0-dev,
libtasn1-6-dev (>= 4.12-1),
libtool2,
libunistring2,
libzstd1-dev,
nettle8,
pkgconfig
<<
PatchFile: %n.patch
PatchFile-MD5: a4ae29a2136df8a4e4f9f3f826c63c22
PatchScript: <<
%{default_script}
#strip unnecessary lines from .pc
perl -pi -e "s|^Libs\.private.*\n||g" lib/gnutls.pc.in
perl -pi -e "s|\@GNUTLS_REQUIRES_PRIVATE\@\n||g" lib/gnutls.pc.in
<<
ConfigureParams: <<
--libdir=%p/lib/gnutls30-3.7 \
--with-libintl-prefix=%p \
--with-libiconv-prefix=%p \
--without-p11-kit \
--without-tpm \
--enable-openssl-compatibility \
--enable-ssl3-support \
--enable-dependency-tracking \
--disable-silent-rules \
--disable-doc \
--enable-manpages \
--enable-shared \
--disable-static \
--disable-guile \
--disable-libdane \
--with-system-priority-file="%p/etc/gnutls/default-priorities" \
ac_cv_prog_AWK=/usr/bin/awk \
ac_cv_path_GREP=/usr/bin/grep \
ac_cv_path_SED=/usr/bin/sed
<<
GCC: 4.0
CompileScript: <<
autoreconf -vfi
# clean up -framework flags
perl -pi -e 's|-framework Security -framework CoreFoundation|-Wl,-framework,Security -Wl,-framework,CoreFoundation|g' configure lib/Makefile.in
%{default_script}
fink-package-precedence --prohibit-bdep=gnutls26,gnutls-2.12,gnutls28,gnutls30,gnutls30-3.7 .
<<
InfoTest: <<
TestDepends: openssl300-dev
TestScript: <<
make check || exit 2
fink-package-precedence --prohibit-bdep=gnutls26,gnutls-2.12,gnutls28,gnutls30,gnutls30-3.7 .
<<
<<
InstallScript: <<
make install DESTDIR=%d
# allow for easier discovery
install -m 755 -d %i/lib/pkgconfig
/bin/ln -s %p/lib/gnutls30-3.7/pkgconfig/gnutls.pc %i/lib/pkgconfig/gnutls.pc
<<
Shlibs: <<
%p/lib/gnutls30-3.7/libgnutls.30.dylib 65.0.0 %n (>= 3.7.8-1)
%p/lib/gnutls30-3.7/libgnutls-openssl.27.dylib 28.0.0 %n (>= 3.7.8-1)
%p/lib/gnutls30-3.7/libgnutlsxx.30.dylib 31.0.0 %n (>= 3.7.8-1)
<<

SplitOff: <<
Package: gnutls30-3.7
Depends: <<
%N (>= %v-%r),
gmp5-shlibs,
libgettext8-shlibs,
libhogweed6-shlibs,
libidn2.0-shlibs,
libtasn1-6-shlibs (>= 3.9-1),
libunistring2-shlibs,
nettle8-shlibs
<<
BuildDependsOnly: True
Replaces: <<
gnutls26,
gnutls-2.12,
gnutls28,
gnutls30,
gnutls30-3.7
<<
Conflicts: <<
gnutls26,
gnutls-2.12,
gnutls28,
gnutls30,
gnutls30-3.7
<<
DocFiles: AUTHORS ChangeLog LICENSE NEWS README.md THANKS doc/reference/html
Files: <<
include
lib/gnutls30-3.7/*.la
lib/gnutls30-3.7/libgnutls{-openssl,,xx}.dylib
lib/gnutls30-3.7/pkgconfig
lib/pkgconfig
share/man/man3
<<
<<
SplitOff2: <<
Package: gnutls-bin
Description: GNU TLS utilities
Depends: <<
%N (>= %v-%r),
gmp5-shlibs,
libbrotli1-shlibs,
libgettext8-shlibs,
libhogweed6-shlibs,
libidn2.0-shlibs,
libtasn1-6-shlibs (>= 3.9-1),
libunistring2-shlibs,
libzstd1-shlibs,
nettle8-shlibs
<<
# bin used to be in BDO package until gnutls30-3.7
Replaces: <<
gnutls26,
gnutls-2.12,
gnutls28,
gnutls30
<<
DocFiles: LICENSE NEWS README.md THANKS
Files: <<
bin
share/man/man1
<<
<<

DocFiles: LICENSE NEWS README.md THANKS
#InfoDocs: gnutls.info
DescDetail: <<
GnuTLS is a project that aims to develop a library which provides
a secure layer, over a reliable transport layer. Currently the GnuTLS
library implements the proposed standards by the IETF's TLS working group.

Quoting from RFC2246 - the TLS 1.0 protocol specification:
"The TLS protocol provides communications privacy over the Internet.
The protocol allows client/server applications to communicate in a way that
is designed to prevent eavesdropping, tampering, or message forgery."
<<
DescPort: <<
GnuTLS now uses an internal opencdk, even if the independent lib and
headers are installed.
Version 3.7.8 has new libversion of libgnutlsxx, but the same libversion
of the other dylibs as gnutls30 -- so all 3 shlibs are installed in a
private dir to allow prior shlibs with the same libversion to exist
according to policy.
<<
DescPackaging: <<
dmacks: libunbound is autodetected but was not tracked as a
dep. Most users probably didn't have it installed, so we disable
libdane (the feature that is enabled by libunbound being detected)
for consistent results. Alt would be to enable it and add deps.

nieder: move user end utilities to own splitoff as of v3.7.8. Also, use
Debian's gettext patch to rename l12n files as gnutls30 so they can
coexist with other library versions as needed.

Based on earlier gnutls packages by Dave Reiser.
<<
Homepage: https://www.gnutls.org/
62 changes: 62 additions & 0 deletions 10.9-libcxx/stable/main/finkinfo/crypto/gnutls30-3.7-shlibs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
Description: Version filename of locale data (gnutls30.mo instead of
gnutls.mo) This is necessary to make e.g. libgnutls26 and libgnutls28
co-installable.
Author: Andreas Metzler <ametzler@debian.org>
Last-Update: 2020-09-06

--- a/po/Makevars
+++ b/po/Makevars
@@ -5,7 +5,7 @@
# unlimited permission to use, copy, distribute, and modify it.

# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
+DOMAIN = $(PACKAGE)30

# These two variables depend on the location of this directory.
subdir = po
--- a/lib/global.c
+++ b/lib/global.c
@@ -262,7 +262,7 @@ static int _gnutls_global_init(unsigned
}

#ifdef HAVE_DCGETTEXT
- bindtextdomain(PACKAGE, LOCALEDIR);
+ bindtextdomain(GNUTLSDOMAIN, LOCALEDIR);
#endif

res = gnutls_crypto_init();
--- a/configure.ac
+++ b/configure.ac
@@ -320,6 +320,9 @@ dnl Try the hooks.m4
LIBGNUTLS_HOOKS
LIBGNUTLS_EXTRA_HOOKS

+AC_DEFINE_UNQUOTED([GNUTLSDOMAIN], ["${PACKAGE}${DLL_VERSION}"],
+ [base filename for gettext message catalogue])
+
AC_ARG_ENABLE(tests,
AS_HELP_STRING([--disable-tests], [don't compile or run any tests]),
enable_tests=$enableval, enable_tests=$enable_tools)
--- a/lib/str.h
+++ b/lib/str.h
@@ -33,7 +33,7 @@

#ifdef HAVE_DCGETTEXT
# include "gettext.h"
-# define _(String) dgettext (PACKAGE, String)
+# define _(String) dgettext (GNUTLSDOMAIN, String)
# define N_(String) gettext_noop (String)
#else
# define _(String) String
--- a/libdane/errors.c
+++ b/libdane/errors.c
@@ -25,7 +25,7 @@

/* I18n of error codes. */
#include "gettext.h"
-#define _(String) dgettext (PACKAGE, String)
+#define _(String) dgettext (GNUTLSDOMAIN, String)
#define N_(String) gettext_noop (String)

#define ERROR_ENTRY(desc, name) \

0 comments on commit 2bc2e43

Please sign in to comment.