From d6fd23fe3cce86e60b3df7eff71c35b394dd980f Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Sat, 20 May 2023 06:03:45 +0200 Subject: [PATCH] botan3, add recipe for version 3.0.0 (#8674) * botan3, add recipe for version 3.0.0 * botan (2), remove binary from package (would conflict with binary from botan3) --- dev-libs/botan/botan-2.19.2.recipe | 6 +- dev-libs/botan/botan3-3.0.0.recipe | 100 ++++++++++++++++++++ dev-libs/botan/patches/botan-3.0.0.patchset | 22 +++++ 3 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 dev-libs/botan/botan3-3.0.0.recipe create mode 100644 dev-libs/botan/patches/botan-3.0.0.patchset diff --git a/dev-libs/botan/botan-2.19.2.recipe b/dev-libs/botan/botan-2.19.2.recipe index fe89a28ae..08858208f 100644 --- a/dev-libs/botan/botan-2.19.2.recipe +++ b/dev-libs/botan/botan-2.19.2.recipe @@ -8,7 +8,7 @@ languages." HOMEPAGE="https://botan.randombit.net/" COPYRIGHT="1999-2022 The Botan Authors" LICENSE="BSD (2-clause)" -REVISION="4" +REVISION="5" SOURCE_URI="https://github.com/randombit/botan/archive/refs/tags/$portVersion.tar.gz" CHECKSUM_SHA256="47bb0330255cf1a439db3f2bc91894b2f41788e58eb71d27e0abf36038d93f1e" PATCHES="botan-$portVersion.patchset" @@ -29,7 +29,6 @@ libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" botan$secondaryArchSuffix = $portVersion lib:libbotan_2$secondaryArchSuffix = $libVersionCompat - cmd:botan$commandSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix @@ -85,6 +84,9 @@ INSTALL() packageEntries devel \ "$developDir" + + # remove the cmd in favor for package botan3 + rm -rf $commandBinDir } TEST() diff --git a/dev-libs/botan/botan3-3.0.0.recipe b/dev-libs/botan/botan3-3.0.0.recipe new file mode 100644 index 000000000..c4da14759 --- /dev/null +++ b/dev-libs/botan/botan3-3.0.0.recipe @@ -0,0 +1,100 @@ +SUMMARY="A cryptography library" +DESCRIPTION="Botan is a cryptography library written in C++. \ +Its goal is to offer the tools necessary to implement a range of practical \ +systems, such as TLS/DTLS, PKIX certificate handling, PKCS#11 and TPM \ +hardware support, password hashing, and post quantum crypto schemes. \ +Botan also has a C89 API specifically designed to be easy to call from other \ +languages." +HOMEPAGE="https://botan.randombit.net/" +COPYRIGHT="1999-2022 The Botan Authors" +LICENSE="BSD (2-clause)" +REVISION="1" +SOURCE_URI="https://github.com/randombit/botan/archive/refs/tags/$portVersion.tar.gz" +CHECKSUM_SHA256="8bafe2e965fa9ccf92ef5741165d735c9fbbe6376c373bbf5702495ad2dfb814" +PATCHES="botan-$portVersion.patchset" +SOURCE_DIR="botan-$portVersion" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +libVersion="0.0.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + botan3$secondaryArchSuffix = $portVersion + cmd:botan$commandSuffix = $portVersion + lib:libbotan_3$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix + lib:liblzma$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +PROVIDES_devel=" + botan3${secondaryArchSuffix}_devel = $portVersion + devel:libbotan_3$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + botan3$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libbz2$secondaryArchSuffix + devel:liblzma$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:awk + cmd:gcc$secondaryArchSuffix + cmd:g++$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:python3 + " + +BUILD() +{ + runConfigure --omit-buildspec --omit-dirs binDir ./configure.py \ + --prefix="$prefix" --bindir="$commandBinDir" \ + --enable-shared-library \ + --disable-static \ + --with-bzip2 --with-lzma --with-zlib \ + --with-sqlite3 \ + --no-install-python-module + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLib libbotan-3 + fixPkgconfig + + packageEntries devel \ + "$developDir" + + # install botan3.py to the wright place + local installDir="$prefix/lib/python3.9/vendor-packages" + mkdir -p $installDir + cp src/python/botan3.py $installDir +} + +TEST() +{ + LIBRARY_PATH="$sourceDir${LIBRARY_PATH:+:$LIBRARY_PATH}" \ + ./botan-test +} diff --git a/dev-libs/botan/patches/botan-3.0.0.patchset b/dev-libs/botan/patches/botan-3.0.0.patchset new file mode 100644 index 000000000..ed61e9af1 --- /dev/null +++ b/dev-libs/botan/patches/botan-3.0.0.patchset @@ -0,0 +1,22 @@ +From 033c3a42ffb70a45eb4cf340a0704e78fd60ef86 Mon Sep 17 00:00:00 2001 +From: Chris Roberts +Date: Wed, 3 May 2023 00:16:42 -0600s +Subject: Don't mkdir prefix during install + + +diff --git a/src/scripts/install.py b/src/scripts/install.py +index 2d059bf..0666ce1 100755 +--- a/src/scripts/install.py ++++ b/src/scripts/install.py +@@ -151,7 +151,7 @@ def main(args): + + prefix = cfg['prefix'] + +- for d in [prefix, lib_dir, bin_dir, target_include_dir]: ++ for d in [lib_dir, bin_dir, target_include_dir]: + makedirs(prepend_destdir(d)) + + for header in cfg['public_headers']: +-- +2.37.3 +