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)
This commit is contained in:
Schrijvers Luc
2023-05-20 06:03:45 +02:00
committed by GitHub
parent bfa2807523
commit d6fd23fe3c
3 changed files with 126 additions and 2 deletions

View File

@@ -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()

View File

@@ -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
}

View File

@@ -0,0 +1,22 @@
From 033c3a42ffb70a45eb4cf340a0704e78fd60ef86 Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
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