diff --git a/security/gnupg25/Makefile b/security/gnupg25/Makefile new file mode 100644 index 000000000000..efcfa895898f --- /dev/null +++ b/security/gnupg25/Makefile @@ -0,0 +1,84 @@ +PORTNAME= gnupg +DISTVERSION= 2.5.17 +CATEGORIES= security +MASTER_SITES= GNUPG +PKGNAMESUFFIX= 25 + +MAINTAINER= adridg@FreeBSD.org +COMMENT= Complete and free PGP implementation +WWW= https://www.gnupg.org/ + +LICENSE= GPLv3 LGPL3 +LICENSE_COMB= multi +LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING +LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING.LGPL3 + +CONFLICTS_INSTALL= gnupg1-* gnupg-2.4* + +LIB_DEPENDS= libassuan.so:security/libassuan \ + libgcrypt.so:security/libgcrypt \ + libgpg-error.so:security/libgpg-error \ + libksba.so:security/libksba \ + libnpth.so:devel/npth +RUN_DEPENDS= pinentry:security/pinentry + +USES= compiler:c11 cpe gmake iconv makeinfo pkgconfig readline sqlite \ + tar:bzip2 + +CPE_VENDOR= gnupg + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-ntbtls + +TEST_ARGS= TESTARGS=--parallel +TEST_TARGET= check + +CONFLICTS= dirmngr + +INFO= gnupg + +OPTIONS_DEFINE= DOCS GNUTLS LARGE_RSA LDAP NLS SCDAEMON SUID_GPG \ + WKS_SERVER +OPTIONS_DEFAULT= GNUTLS SCDAEMON WKS_SERVER +OPTIONS_SUB= yes + +LARGE_RSA_DESC= Enable support for 8192-bit RSA keys +LDAP_DESC= LDAP keyserver interface +SCDAEMON_DESC= Enable Smartcard daemon (with libusb) +SUID_GPG_DESC= Install GPG as SUID root +WKS_SERVER_DESC= Install the Web Key Service server + +GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls +GNUTLS_CONFIGURE_ENABLE= gnutls + +LARGE_RSA_CONFIGURE_ENABLE= large-secmem + +LDAP_USES= ldap +LDAP_CONFIGURE_WITH= ldap=${LOCALBASE} +LDAP_LIBS= -L${LOCALBASE}/lib + +NLS_USES= gettext +NLS_CONFIGURE_ENABLE= nls + +SCDAEMON_CONFIGURE_ENABLE= scdaemon + +WKS_SERVER_CONFIGURE_ENABLE= wks-tools + +.include + +.if ${PORT_OPTIONS:MGNUTLS} && ${PORT_OPTIONS:MLDAP} +PLIST_SUB+= DIRMNGRLDAP="" +.else +PLIST_SUB+= DIRMNGRLDAP="@comment " +.endif + +# Touch the texinfo files to force makeinfo to run. This fixes Linuxisms in +# the paths in the man pages. +pre-build: + ${TOUCH} ${WRKSRC}/doc/*.texi + +post-install: + ${MV} ${STAGEDIR}${PREFIX}/bin/gpgsplit ${STAGEDIR}${PREFIX}/bin/gpgsplit2 + ${MV} ${STAGEDIR}${DATADIR}/help*.txt ${STAGEDIR}${DOCSDIR} + +.include diff --git a/security/gnupg25/distinfo b/security/gnupg25/distinfo new file mode 100644 index 000000000000..ad4774b96b27 --- /dev/null +++ b/security/gnupg25/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1769640668 +SHA256 (gnupg-2.5.17.tar.bz2) = 2c1fbe20e2958fd8fb53cf37d7c38e84a900edc0d561a1c4af4bc3a10888685d +SIZE (gnupg-2.5.17.tar.bz2) = 8308629 diff --git a/security/gnupg25/files/patch-configure b/security/gnupg25/files/patch-configure new file mode 100644 index 000000000000..20e250e38430 --- /dev/null +++ b/security/gnupg25/files/patch-configure @@ -0,0 +1,13 @@ +Fix path of pkgconfig files passed to gpgrt-config. + +--- configure.orig 2024-01-25 10:09:44 UTC ++++ configure +@@ -8428,7 +8428,7 @@ fi + # Get the prefix of gpgrt-config assuming it's something like: + # /bin/gpgrt-config + gpgrt_prefix=${GPGRT_CONFIG%/*/*} +- possible_libdir1=${gpgrt_prefix}/lib ++ possible_libdir1=${gpgrt_prefix}/libdata + # Determine by using system libdir-format with CC, it's like: + # Normal style: /usr/lib + # GNU cross style: /usr//lib diff --git a/security/gnupg25/pkg-descr b/security/gnupg25/pkg-descr new file mode 100644 index 000000000000..4a405e21ac8b --- /dev/null +++ b/security/gnupg25/pkg-descr @@ -0,0 +1,7 @@ +GnuPG is a complete and free replacement for PGP. This is the "stable" +version. + +GnuPG allows encrypting and signing your data and communication, and +features a versatile key management system as well as access modules +for many public key directories. GnuPG, also known as GPG, is a command +line tool with features for easy integration with other applications. diff --git a/security/gnupg25/pkg-help b/security/gnupg25/pkg-help new file mode 100644 index 000000000000..39b04bc36408 --- /dev/null +++ b/security/gnupg25/pkg-help @@ -0,0 +1,3 @@ +If you run gpg from within a jail, you may get a warning message, +stemming from the security.bsd.unprivileged_mlock sysctl. You can +avoid that message by enabling the SUID_GPG option. diff --git a/security/gnupg25/pkg-plist b/security/gnupg25/pkg-plist new file mode 100644 index 000000000000..853900449e81 --- /dev/null +++ b/security/gnupg25/pkg-plist @@ -0,0 +1,135 @@ +%%GNUTLS%%bin/dirmngr +%%GNUTLS%%bin/dirmngr-client +bin/gpg-agent +bin/gpg-authcode-sign.sh +bin/gpg-card +bin/gpg-connect-agent +bin/gpg-mail-tube +bin/gpg-wks-client +%%WKS_SERVER%%bin/gpg-wks-server +%%SUID_GPG%%@(,,4555) bin/gpg +%%NO_SUID_GPG%%bin/gpg +bin/gpgconf +bin/gpgparsemail +bin/gpgscm +bin/gpgsm +bin/gpgsplit2 +bin/gpgtar +bin/gpgv +bin/kbxutil +bin/watchgnupg +%%DIRMNGRLDAP%%libexec/dirmngr_ldap +libexec/gpg-auth +libexec/gpg-check-pattern +libexec/gpg-pair-tool +libexec/gpg-preset-passphrase +libexec/gpg-protect-tool +libexec/gpg-wks-client +libexec/keyboxd +%%SCDAEMON%%libexec/scdaemon +share/man/man1/dirmngr-client.1.gz +share/man/man1/gpg-agent.1.gz +share/man/man1/gpg-card.1.gz +share/man/man1/gpg-check-pattern.1.gz +share/man/man1/gpg-connect-agent.1.gz +share/man/man1/gpg-mail-tube.1.gz +share/man/man1/gpg-preset-passphrase.1.gz +share/man/man1/gpg-wks-client.1.gz +%%WKS_SERVER%%share/man/man1/gpg-wks-server.1.gz +share/man/man1/gpg.1.gz +share/man/man1/gpgconf.1.gz +share/man/man1/gpgparsemail.1.gz +share/man/man1/gpgsm.1.gz +share/man/man1/gpgtar.1.gz +share/man/man1/gpgv.1.gz +share/man/man1/scdaemon.1.gz +share/man/man1/watchgnupg.1.gz +share/man/man7/gnupg.7.gz +share/man/man8/addgnupghome.8.gz +share/man/man8/applygnupgdefaults.8.gz +share/man/man8/dirmngr.8.gz +sbin/addgnupghome +sbin/applygnupgdefaults +%%PORTDOCS%%%%DOCSDIR%%/DCO +%%PORTDOCS%%%%DOCSDIR%%/DETAILS +%%PORTDOCS%%%%DOCSDIR%%/FAQ +%%PORTDOCS%%%%DOCSDIR%%/HACKING +%%PORTDOCS%%%%DOCSDIR%%/KEYSERVER +%%PORTDOCS%%%%DOCSDIR%%/OpenPGP +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/TRANSLATE +%%PORTDOCS%%%%DOCSDIR%%/examples/README +%%PORTDOCS%%%%DOCSDIR%%/examples/common.conf +%%PORTDOCS%%%%DOCSDIR%%/examples/gpgconf.conf +%%PORTDOCS%%%%DOCSDIR%%/examples/gpgconf.rnames +%%PORTDOCS%%%%DOCSDIR%%/examples/pwpattern.list +%%PORTDOCS%%%%DOCSDIR%%/examples/qualified.txt +%%PORTDOCS%%%%DOCSDIR%%/examples/scd-event +%%PORTDOCS%%%%DOCSDIR%%/examples/trustlist.txt +%%PORTDOCS%%%%DOCSDIR%%/help.be.txt +%%PORTDOCS%%%%DOCSDIR%%/help.ca.txt +%%PORTDOCS%%%%DOCSDIR%%/help.cs.txt +%%PORTDOCS%%%%DOCSDIR%%/help.da.txt +%%PORTDOCS%%%%DOCSDIR%%/help.de.txt +%%PORTDOCS%%%%DOCSDIR%%/help.el.txt +%%PORTDOCS%%%%DOCSDIR%%/help.eo.txt +%%PORTDOCS%%%%DOCSDIR%%/help.es.txt +%%PORTDOCS%%%%DOCSDIR%%/help.et.txt +%%PORTDOCS%%%%DOCSDIR%%/help.fi.txt +%%PORTDOCS%%%%DOCSDIR%%/help.fr.txt +%%PORTDOCS%%%%DOCSDIR%%/help.gl.txt +%%PORTDOCS%%%%DOCSDIR%%/help.hu.txt +%%PORTDOCS%%%%DOCSDIR%%/help.id.txt +%%PORTDOCS%%%%DOCSDIR%%/help.it.txt +%%PORTDOCS%%%%DOCSDIR%%/help.ja.txt +%%PORTDOCS%%%%DOCSDIR%%/help.nb.txt +%%PORTDOCS%%%%DOCSDIR%%/help.pl.txt +%%PORTDOCS%%%%DOCSDIR%%/help.pt.txt +%%PORTDOCS%%%%DOCSDIR%%/help.pt_BR.txt +%%PORTDOCS%%%%DOCSDIR%%/help.ro.txt +%%PORTDOCS%%%%DOCSDIR%%/help.ru.txt +%%PORTDOCS%%%%DOCSDIR%%/help.sk.txt +%%PORTDOCS%%%%DOCSDIR%%/help.sv.txt +%%PORTDOCS%%%%DOCSDIR%%/help.tr.txt +%%PORTDOCS%%%%DOCSDIR%%/help.txt +%%PORTDOCS%%%%DOCSDIR%%/help.zh_CN.txt +%%PORTDOCS%%%%DOCSDIR%%/help.zh_TW.txt +%%DATADIR%%/distsigkey.gpg +%%DATADIR%%/mail-tube.de.txt +%%DATADIR%%/mail-tube.txt +%%DATADIR%%/wks-utils.de.txt +%%DATADIR%%/wks-utils.txt +%%NLS%%share/locale/ca/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/cs/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/da/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/de/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/el/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/en@boldquot/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/en@quot/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/eo/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/es/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/et/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/fi/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/fr/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/gl/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/hu/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/id/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/it/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/ja/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/ka/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/nb/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/nl/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/pl/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/pt/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/ro/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/ru/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/sk/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/sv/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/tr/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/uk/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/zh_CN/LC_MESSAGES/gnupg2.mo +%%NLS%%share/locale/zh_TW/LC_MESSAGES/gnupg2.mo +@postexec [ -e %D/bin/gpg2 ] || ln -sf gpg %D/bin/gpg2 +@postunexec [ -e %D/bin/gpg2 ] || rm -f %D/bin/gpg2 +@postexec [ -e %D/share/man/man1/gpg2.1.gz ] || ln -sf gpg.1.gz %D/share/man/man1/gpg2.1.gz +@postunexec [ -e %D/share/man/man1/gpg2.1.gz ] || rm -f %D/share/man/man1/gpg2.1.gz