mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-11 02:50:24 +00:00
security/openssl111: Re-add OpenSSL 1.1.1 port
- Don't break systems currently using openssl-devel - Both 1.1.0 and 1.1.1 are release versions - Too many ports currently fail to build with 1.1.x see https://wiki.freebsd.org/OpenSSL/1.1.1 - Allow porters to test their ports with 1.1.1 PR: 230679 Reported by: mat
This commit is contained in:
parent
8e6a31e7b9
commit
f9d393d0c9
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=479614
157
security/openssl111/Makefile
Normal file
157
security/openssl111/Makefile
Normal file
@ -0,0 +1,157 @@
|
||||
# Created by: Dirk Froemberg <dirk@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= openssl
|
||||
DISTVERSION= 1.1.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= security devel
|
||||
MASTER_SITES= https://www.openssl.org/source/ \
|
||||
ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
|
||||
PKGNAMESUFFIX= 111
|
||||
|
||||
MAINTAINER= brnrd@FreeBSD.org
|
||||
COMMENT= TLSv1.3 capable SSL and crypto library
|
||||
|
||||
LICENSE= OpenSSL
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
CONFLICTS_INSTALL= libressl-[0-9]* \
|
||||
libressl-devel-[0-9]* \
|
||||
openssl-[0-9]* \
|
||||
openssl-devel-[0-9]*
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
CONFIGURE_SCRIPT= config
|
||||
CONFIGURE_ENV= PERL="${PERL}"
|
||||
CONFIGURE_ARGS= --openssldir=${OPENSSLDIR}
|
||||
|
||||
OPTIONS_GROUP= CIPHERS HASHES OPTIMIZE PROTOCOLS
|
||||
OPTIONS_GROUP_CIPHERS= ARIA DES GOST IDEA SM2 SM3 SM4 RC2 RC4 RC5
|
||||
OPTIONS_GROUP_HASHES= MD2 MD4 MDC2 RMD160
|
||||
OPTIONS_GROUP_OPTIMIZE= ASM SSE2 THREADS
|
||||
OPTIONS_DEFINE_i386= I386
|
||||
OPTIONS_GROUP_PROTOCOLS=NEXTPROTONEG SCTP SSL3 TLS1 TLS1_1 TLS1_2
|
||||
|
||||
OPTIONS_DEFINE= ASYNC CT MAN3 RFC3779 SHARED ZLIB
|
||||
|
||||
OPTIONS_DEFAULT=ASM ASYNC CT GOST DES EC MAN3 MD4 NEXTPROTONEG RC2 RC4 \
|
||||
RMD160 SCTP SHARED SSE2 THREADS TLS1 TLS1_1 TLS1_2
|
||||
|
||||
OPTIONS_GROUP_OPTIMIZE_amd64= EC
|
||||
|
||||
.if ${MACHINE_ARCH} == "amd64"
|
||||
OPTIONS_GROUP_OPTIMIZE+= EC
|
||||
.elif ${MACHINE_ARCH} == "mips64el"
|
||||
OPTIONS_GROUP_OPTIMIZE+= EC
|
||||
.endif
|
||||
|
||||
ARIA_DESC= ARIA (South Korean standard)
|
||||
ASM_DESC= Assembler code
|
||||
ASYNC_DESC= Asynchronous mode
|
||||
CIPHERS_DESC= Block Cipher Support
|
||||
CT_DESC= Certificate Transparency Support
|
||||
DES_DESC= (Triple) Data Encryption Standard
|
||||
EC_DESC= Optimize NIST elliptic curves
|
||||
GOST_DESC= GOST (Russian standard)
|
||||
HASHES_DESC= Hash Function Support
|
||||
I386_DESC= i386 (instead of i486+)
|
||||
IDEA_DESC= International Data Encryption Algorithm
|
||||
MAN3_DESC= Install API manpages (section 3)
|
||||
MD2_DESC= MD2 (obsolete)
|
||||
MD4_DESC= MD4 (unsafe)
|
||||
MDC2_DESC= MDC-2 (patented, requires DES)
|
||||
NEXTPROTONEG_DESC= Next Protocol Negotiation (SPDY)
|
||||
OPTIMIZE_DESC= Optimizations
|
||||
PROTOCOLS_DESC= Protocol Support
|
||||
RC2_DESC= RC2 (unsafe)
|
||||
RC4_DESC= RC4 (unsafe)
|
||||
RC5_DESC= RC5 (patented)
|
||||
RMD160_DESC= RIPEMD-160
|
||||
RFC3779_DESC= RFC3779 support (BGP)
|
||||
SCTP_DESC= SCTP (Stream Control Transmission)
|
||||
SHARED_DESC= Build shared libraries
|
||||
SM2_DESC= SM2 (Chinese standard)
|
||||
SM3_DESC= SM3 (Chinese standard)
|
||||
SM4_DESC= SM4 (Chinese standard)
|
||||
SSE2_DESC= Runtime SSE2 detection
|
||||
SSL3_DESC= SSLv3 (unsafe)
|
||||
TLS1_DESC= TLSv1.0 (requires TLS1_1, TLS1_2)
|
||||
TLS1_1_DESC= TLSv1.1 (requires TLS1_2)
|
||||
TLS1_2_DESC= TLSv1.2
|
||||
ZLIB_DESC= zlib compression support
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
USES= cpe perl5
|
||||
USE_PERL5= build
|
||||
MAKE_ARGS+= WHOLE_ARCHIVE_FLAG=--whole-archive
|
||||
MAKE_ENV+= LIBRPATH="${PREFIX}/lib" GREP_OPTIONS=
|
||||
TEST_TARGET= test
|
||||
|
||||
# Upstream default disabled options
|
||||
.for _option in md2 rc5 sctp ssl3 zlib
|
||||
${_option:tu}_CONFIGURE_ON= enable-${_option}
|
||||
.endfor
|
||||
|
||||
# Upstream default enabled options
|
||||
.for _option in aria asm async ct des gost idea md4 mdc2 nextprotoneg \
|
||||
rfc3779 rmd160 sm2 sm3 sm4 sse2 threads tls1 tls1_1 tls1_2
|
||||
${_option:tu}_CONFIGURE_OFF= no-${_option}
|
||||
.endfor
|
||||
|
||||
MDC2_IMPLIES= DES
|
||||
TLS1_IMPLIES= TLS1_1
|
||||
TLS1_1_IMPLIES= TLS1_2
|
||||
|
||||
EC_CONFIGURE_ON= enable-ec_nistp_64_gcc_128
|
||||
I386_CONFIGURE_ON= 386
|
||||
MAN3_EXTRA_PATCHES_OFF= ${FILESDIR}/extra-patch-util_process__docs.pl
|
||||
SHARED_MAKE_ENV= SHLIBVER=${OPENSSL_SHLIBVER}
|
||||
SHARED_PLIST_SUB= SHLIBVER=${OPENSSL_SHLIBVER}
|
||||
SHARED_USE= ldconfig=yes
|
||||
SSL3_CONFIGURE_ON+= enable-ssl3-method
|
||||
ZLIB_CONFIGURE_ON= zlib-dynamic
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
.if ${PREFIX} == /usr
|
||||
IGNORE= the OpenSSL port can not be installed over the base version
|
||||
.endif
|
||||
|
||||
OPENSSLDIR?= ${PREFIX}/openssl
|
||||
PLIST_SUB+= OPENSSLDIR=${OPENSSLDIR:S=^${PREFIX}/==}
|
||||
|
||||
.include "version.mk"
|
||||
|
||||
.if ${PORT_OPTIONS:MASM}
|
||||
BROKEN_sparc64= option ASM generates illegal instructions
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
${REINPLACE_CMD} \
|
||||
-e 's|^MANDIR=.*$$|MANDIR=$$(INSTALLTOP)/man|' \
|
||||
-e 's| install_html_docs$$||' \
|
||||
-e 's|$$(LIBDIR)/pkgconfig|libdata/pkgconfig|g' \
|
||||
${WRKSRC}/Configurations/unix-Makefile.tmpl
|
||||
|
||||
post-configure:
|
||||
${REINPLACE_CMD} \
|
||||
-e 's|SHLIB_VERSION_NUMBER=1.1|SHLIB_VERSION_NUMBER=${OPENSSL_SHLIBVER}|' \
|
||||
${WRKSRC}/Makefile
|
||||
${REINPLACE_CMD} \
|
||||
-e 's|SHLIB_VERSION_NUMBER "1.1"|SHLIB_VERSION_NUMBER "${OPENSSL_SHLIBVER}"|' \
|
||||
${WRKSRC}/include/openssl/opensslv.h
|
||||
|
||||
post-install-SHARED-on:
|
||||
.for i in libcrypto libssl
|
||||
${INSTALL_DATA} ${WRKSRC}/$i.so.${OPENSSL_SHLIBVER} ${STAGEDIR}${PREFIX}/lib
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/$i.so.${OPENSSL_SHLIBVER}
|
||||
${LN} -sf $i.so.${OPENSSL_SHLIBVER} ${STAGEDIR}${PREFIX}/lib/$i.so
|
||||
.endfor
|
||||
.for i in capi padlock
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/engines-1.1/${i}.so
|
||||
.endfor
|
||||
|
||||
post-install:
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/openssl
|
||||
|
||||
.include <bsd.port.post.mk>
|
3
security/openssl111/distinfo
Normal file
3
security/openssl111/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1536741340
|
||||
SHA256 (openssl-1.1.1.tar.gz) = 2836875a0f89c03d0fdf483941512613a50cfb421d6fd94b9f41d7279d586a3d
|
||||
SIZE (openssl-1.1.1.tar.gz) = 8337920
|
20
security/openssl111/files/extra-patch-util_process__docs.pl
Normal file
20
security/openssl111/files/extra-patch-util_process__docs.pl
Normal file
@ -0,0 +1,20 @@
|
||||
--- util/process_docs.pl.orig 2018-09-11 12:48:25 UTC
|
||||
+++ util/process_docs.pl
|
||||
@@ -43,7 +43,7 @@ GetOptions(\%options,
|
||||
);
|
||||
|
||||
unless ($options{section}) {
|
||||
- $options{section} = [ 1, 3, 5, 7 ];
|
||||
+ $options{section} = [ 1, 5, 7 ];
|
||||
}
|
||||
unless ($options{sourcedir}) {
|
||||
$options{sourcedir} = catdir($config{sourcedir}, "doc");
|
||||
@@ -98,7 +98,7 @@ foreach my $section (sort @{$options{sec
|
||||
my $suffix = { man => ".$podinfo{section}".($options{suffix} // ""),
|
||||
html => ".html" } -> {$options{type}};
|
||||
my $generate = { man => "pod2man --name=$name --section=$podinfo{section} --center=OpenSSL --release=$config{version} \"$podpath\"",
|
||||
- html => "pod2html \"--podroot=$options{sourcedir}\" --htmldir=$updir --podpath=man1:man3:man5:man7 \"--infile=$podpath\" \"--title=$podname\" --quiet"
|
||||
+ html => "pod2html \"--podroot=$options{sourcedir}\" --htmldir=$updir --podpath=man1:man5:man7 \"--infile=$podpath\" \"--title=$podname\" --quiet"
|
||||
} -> {$options{type}};
|
||||
my $output_dir = catdir($options{destdir}, "man$podinfo{section}");
|
||||
my $output_file = $podname . $suffix;
|
19
security/openssl111/files/patch-config
Normal file
19
security/openssl111/files/patch-config
Normal file
@ -0,0 +1,19 @@
|
||||
--- config.orig 2018-01-13 13:57:15 UTC
|
||||
+++ config
|
||||
@@ -694,14 +694,8 @@ case "$GUESSOS" in
|
||||
ia64-*-*bsd*) OUT="BSD-ia64" ;;
|
||||
x86_64-*-dragonfly*) OUT="BSD-x86_64" ;;
|
||||
amd64-*-*bsd*) OUT="BSD-x86_64" ;;
|
||||
- *86*-*-*bsd*) # mimic ld behaviour when it's looking for libc...
|
||||
- if [ -L /usr/lib/libc.so ]; then # [Free|Net]BSD
|
||||
- libc=/usr/lib/libc.so
|
||||
- else # OpenBSD
|
||||
- # ld searches for highest libc.so.* and so do we
|
||||
- libc=`(ls /usr/lib/libc.so.* /lib/libc.so.* | tail -1) 2>/dev/null`
|
||||
- fi
|
||||
- case "`(file -L $libc) 2>/dev/null`" in
|
||||
+ *86*-*-*bsd*)
|
||||
+ case "`(file -L /bin/sh) 2>/dev/null`" in
|
||||
*ELF*) OUT="BSD-x86-elf" ;;
|
||||
*) OUT="BSD-x86"; options="$options no-sse2" ;;
|
||||
esac ;;
|
4
security/openssl111/files/pkg-message.in
Normal file
4
security/openssl111/files/pkg-message.in
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Copy %%PREFIX%%/openssl/openssl.cnf.sample to %%PREFIX%%/openssl/openssl.cnf
|
||||
and edit it to fit your needs.
|
||||
|
15
security/openssl111/pkg-descr
Normal file
15
security/openssl111/pkg-descr
Normal file
@ -0,0 +1,15 @@
|
||||
The OpenSSL Project is a collaborative effort to develop a robust,
|
||||
commercial-grade, full-featured, and Open Source toolkit implementing
|
||||
the Secure Sockets Layer (SSL v3) and Transport Layer Security (TLS v1,
|
||||
v1.1, v1.2, v1.3) protocols with full-strength cryptography world-wide.
|
||||
The project is managed by a worldwide community of volunteers that use
|
||||
the Internet to communicate, plan, and develop the OpenSSL tookit
|
||||
and its related documentation.
|
||||
|
||||
OpenSSL is based on the excellent SSLeay library developed by Eric
|
||||
A. Young and Tim J. Hudson. The OpenSSL toolkit is licensed under
|
||||
an Apache-style licence, which basically means that you are free
|
||||
to get and use it for commercial and non-commercial purposes subject
|
||||
to some simple license conditions.
|
||||
|
||||
WWW: http://www.openssl.org/
|
3969
security/openssl111/pkg-plist
Normal file
3969
security/openssl111/pkg-plist
Normal file
File diff suppressed because it is too large
Load Diff
1
security/openssl111/version.mk
Normal file
1
security/openssl111/version.mk
Normal file
@ -0,0 +1 @@
|
||||
OPENSSL_SHLIBVER?= 11
|
Loading…
Reference in New Issue
Block a user