Files
2025-01-29 20:57:23 +01:00

152 lines
5.8 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup muniversal 1.0
PortGroup deprecated 1.0
deprecated.eol_version yes
set short_v 1.1
name openssl[string map {. {}} $short_v]
version ${short_v}.1w
revision 1
categories devel security
platforms darwin
license OpenSSL SSLeay
maintainers {larryv @larryv} {cal @neverpanic}
description OpenSSL SSL/TLS cryptography library
long_description 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 v2/v3) and Transport Layer \
Security (TLS v1) protocols as well as \
a full-strength general purpose cryptography \
library.
homepage https://www.openssl.org
depends_lib port:zlib
distname openssl-${version}
# See https://www.openssl.org/source/mirror.html
master_sites ${homepage}/source \
ftp://gd.tuwien.ac.at/infosys/security/openssl/source/ \
http://mirror.switch.ch/ftp/mirror/openssl/source/ \
ftp://ftp.fi.muni.cz/pub/openssl/source/ \
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \
http://artfiles.org/openssl.org/source/ \
ftp://ftp.linux.hr/pub/openssl/source/ \
ftp://guest.kuria.katowice.pl/pub/openssl/source/
checksums rmd160 09f13793ced2360999e244d9627f0ee4a43457a0 \
sha256 cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 \
size 9893384
platform darwin 8 {
# No Availability.h on Tiger
patchfiles-append patch-crypto-rand-tiger.diff
}
if {${os.platform} eq "darwin" && ${os.major} < 11} {
# Having the stdlib set to libc++ on 10.6 causes a dependency on a
# macports-clang compiler to be added, which would be a dep cycle.
configure.cxx_stdlib
}
set my_name openssl-${short_v}
set my_prefix ${prefix}/libexec/${name}
configure.ccache no
configure.perl /usr/bin/perl
configure.cmd ./Configure
configure.pre_args --prefix=${my_prefix}
configure.args -L${prefix}/lib \
--openssldir=${my_prefix}/etc/openssl \
shared \
zlib
# Use SDK if necessary.
if {${configure.sdkroot} ne ""} {
configure.args-append '-isysroot ${configure.sdkroot}' \
-Wl,-syslibroot,${configure.sdkroot}
}
set merger_arch_compiler no
array set merger_configure_args {
ppc darwin-ppc-cc
i386 darwin-i386-cc
ppc64 darwin64-ppc-cc
x86_64 darwin64-x86_64-cc
arm64 darwin64-arm64-cc
}
platform darwin {
# Don't use i386 assembly on Tiger (#38015, #43303).
if {${os.major} <= 8} {
append merger_configure_args(i386) { no-asm}
# https://trac.macports.org/ticket/58992
configure.args-append no-async
}
# Don't use x86-64 assembly on Tiger or Leopard.
if {${os.major} <= 9} {
append merger_configure_args(x86_64) { no-asm}
# OpenSSL requires Perl 5.10.0, while Leopard ships Perl 5.8.8
depends_build-append port:perl5
configure.perl ${prefix}/bin/perl5
}
}
# Don't pass --host to configure.
array set merger_host {ppc {} i386 {} ppc64 {} x86_64 {} arm64 {}}
if {(!${universal_possible} || ![variant_isset universal])
&& [info exists merger_configure_args(${configure.build_arch})]} {
configure.args-append $merger_configure_args(${configure.build_arch})
}
configure.universal_args-delete --disable-dependency-tracking
test.run yes
pre-destroot {
if {[variant_exists universal] && [variant_isset universal]} {
global merger_dont_diff
if {[llength ${universal_archs_to_use}] > 2} {
lappend merger_dont_diff ${my_prefix}/include/openssl/opensslconf.h
# Previous version/revisions got this wrong, but this situation
# is too obscure to justify revbumping the dependents.
notes-append "Universal dependents may need to be rebuilt."
}
}
}
post-destroot {
# Create some links to main prefix
xinstall -d ${destroot}${prefix}/include/${my_name}
xinstall -d ${destroot}${prefix}/lib/${my_name}
ln -s ${my_prefix}/include/openssl ${destroot}/${prefix}/include/${my_name}/
foreach l [glob -tails -directory ${destroot}${my_prefix}/lib *] {
ln -s ${my_prefix}/lib/${l} ${destroot}/${prefix}/lib/${my_name}/${l}
}
foreach b [glob -tails -directory ${destroot}${my_prefix}/bin *] {
ln -s ${my_prefix}/bin/${b} ${destroot}/${prefix}/bin/${b}-${short_v}
}
# shared/man dir seems to still end up in ${prefix} and not libexec...
move ${destroot}${prefix}/share/man ${destroot}/${my_prefix}/share/
# Create link to certs from curl-ca-bundle in install prefix
ln -s ${prefix}/share/curl/curl-ca-bundle.crt ${destroot}${my_prefix}/etc/openssl/cert.pem
}
destroot.args MANDIR=${prefix}/share/man MANSUFFIX=ssl
variant rfc3779 description {enable RFC 3779: X.509 Extensions for IP Addresses and AS Identifiers} {
configure.args-append enable-rfc3779
}
notes-append "This is the last release of OpenSSL 1.1. No further public security updates will be provided. Please migrate to the openssl3 port."
livecheck.type regex
livecheck.url https://www.openssl.org/source/old/1.1.1/
#livecheck.url https://www.openssl.org/source
livecheck.regex openssl-(${short_v}.\[0-9.\]+\[a-z\]?)\\.tar\\.gz