void-packages/srcpkgs/libressl/template
q66 a9a556aed7 libressl: update assembly to 1.1.0, fix license
The newer libressl-portable-asm adds extra assembly for 32-bit ARM, which
should deal with unaligned access stuff and provide some nice speedups, like
40% or so for sha1/256.

Also, fix license - the OpenSSL and cryptogams licenses were not included.
2020-07-24 18:49:51 +02:00

118 lines
3 KiB
Bash

# Template file for 'libressl'
pkgname=libressl
version=3.1.3
revision=3
bootstrap=yes
build_style=gnu-configure
configure_args="$(vopt_enable asm)"
short_desc="Version of the TLS/crypto stack forked from OpenSSL"
maintainer="Juan RP <xtraeme@gmail.com>"
license="OpenSSL, ISC"
#changelog="https://raw.githubusercontent.com/libressl-portable/portable/master/ChangeLog"
homepage="http://www.libressl.org/"
distfiles="http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${pkgname}-${version}.tar.gz"
checksum=c76b0316acf612ecb62f5cb014a20d972a663bd9e40abf952a86f3b998b69fa0
provides="openssl-${version}_${revision}"
replaces="openssl>=0"
conf_files="/etc/ssl/openssl.cnf /etc/ssl/x509v3.cnf"
_lssl_asm_ver="1.1.0"
build_options="asm"
desc_option_asm="Use platform assembly for faster crypto"
if [ "$build_option_asm" ]; then
distfiles+=" https://github.com/q66/libressl-portable-asm/archive/v${_lssl_asm_ver}.tar.gz"
checksum+=" 7d92bf898c3a526cfdd804ea2e6ba1c89bd5a95589092e3ea585ef7c4818d789"
fi
# only enable asm for full chroots by default
# otherwise we'd be introducing an autotools dependency on the host
if [ "$CHROOT_READY" ]; then
build_options_default="asm"
fi
case "$XBPS_TARGET_MACHINE" in
# disable ssp
i686-musl) configure_args+=" --disable-hardening";;
# on armv5 always disable asm as it's not supported
armv5*) configure_args+=" --disable-asm";;
esac
if [ "$CROSS_BUILD" -o "$build_option_asm" ]; then
_regen_build=yes
fi
if [ -n "$_regen_build" ]; then
hostmakedepends=" automake libtool"
fi
post_extract() {
[ -z "$build_option_asm" ] && return 0
mv ../libressl-portable-asm-${_lssl_asm_ver} .
}
pre_configure() {
[ -z "$_regen_build" ] && return 0
if [ "$build_option_asm" ]; then
./libressl-portable-asm-${_lssl_asm_ver}/patch_libressl.sh .
fi
autoreconf -if
}
post_install() {
# Use CA file from ca-certificates instead.
rm -f ${DESTDIR}/etc/ssl/cert.pem
ln -s certs.pem ${DESTDIR}/etc/ssl/cert.pem
vlicense COPYING
if [ "$build_option_asm" ]; then
vlicense libressl-portable-asm-${_lssl_asm_ver}/LICENSE.cryptogams
vlicense libressl-portable-asm-${_lssl_asm_ver}/LICENSE.openssl
fi
find ${DESTDIR}/usr/share/man/man1 -type f ! -name openssl.1 -delete
}
libcrypto46_package() {
short_desc+=" - crypto library"
pkg_install() {
vmove usr/lib/libcrypto.so.*
}
}
libssl48_package() {
short_desc+=" - SSL/TLS library"
pkg_install() {
vmove usr/lib/libssl.so.*
}
}
libtls20_package() {
short_desc+=" - new TLS library"
pkg_install() {
vmove usr/lib/libtls.so.*
}
}
libressl-devel_package() {
short_desc+=" - development files"
depends="libcrypto46-${version}_${revision} libssl48-${version}_${revision}
libtls20-${version}_${revision}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
vmove usr/lib/pkgconfig
vmove usr/share/man/man3
}
}
libressl-netcat_package() {
short_desc="TCP/IP swiss army knife (LibreSSL variant)"
alternatives="
nc:nc:/usr/bin/libressl-nc
nc:nc.1:/usr/share/man/man1/libressl-nc.1"
pkg_install() {
vbin apps/nc/.libs/nc libressl-nc
vman apps/nc/nc.1 libressl-nc.1
}
}