# Maintainer: Pierre Schmitz <pierre@archlinux.de>

pkgname=openssl
pkgver=3.2.1
pkgrel=1.1
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
url='https://www.openssl.org'
license=('Apache-2.0')
ncxfab_makedepends=('base-devel' 'perl')
ncxfat_makedepends=('binutils' 'glibc' 'gcc')
ncxfah_optdepends=('ca-certificates' 'perl')
backup=('$MPKG_BACKUPETCPATH/ssl/openssl.cnf')
source=("https://www.openssl.org/source/openssl-${pkgver}.tar.gz"{,.asc}
        'ca-dir.patch')
sha256sums=('83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39'
            'SKIP'
            '0a32d9ca68e8d985ce0bfef6a4c20b46675e06178cc2d0bf6d91bd6865d648b7')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
              '7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C'
              'A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C'
              'EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5')

prepare() {
	cd "$srcdir/openssl-$pkgver"

	# set ca dir to /etc/ssl by default
	patch -Np1 -i "$srcdir/ca-dir.patch"
}

build() {
	cd "$srcdir/openssl-$pkgver"

        if (( MPKG_CROSSCOMPILED)); then
            CROSS_ARG="--cross-compile-prefix=${MPKG_TARGETMACHINE}-"
        fi

	./Configure --prefix="$MPKG_USRPATH" $CROSS_ARG --openssldir="$MPKG_ETCPATH/ssl" --libdir=lib \
		shared enable-ktls enable-ec_nistp_64_gcc_128 "$MPKG_TARGETOS-$MPKG_TARGETARCH"

	make depend
	make
}

package() {
	ncxfat_depends=(glibc)
        replaces=('openssl-perl' 'openssl-doc')
        provides=('libcrypto.so' 'libssl.so')
	cd "$srcdir/openssl-$pkgver"

	make DESTDIR="$pkgdir" MANDIR="$MPKG_USRPATH/share/man" MANSUFFIX=ssl install_sw install_ssldirs install_man_docs

	install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
}
