From 29d53c75294a51b9441cf43dd0a7ef0123e50ba8 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Tue, 18 Jul 2023 22:03:08 +0200 Subject: [PATCH 1/4] botan3: init at 3.1.1 Use the existing generic botan file and add specialization for botan 3. Botan 3 most importantly adds support for TLS 1.3 and PQC algorithms. Introduce Botan 3 in parallel to Botan 2, as it is a major release and e.g. now uses C++20 in contrast to C++11 of Botan 2.9. Signed-off-by: Markus Theil --- pkgs/development/libraries/botan/3.0.nix | 7 +++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 11 insertions(+) create mode 100644 pkgs/development/libraries/botan/3.0.nix diff --git a/pkgs/development/libraries/botan/3.0.nix b/pkgs/development/libraries/botan/3.0.nix new file mode 100644 index 000000000000..bd996d002d80 --- /dev/null +++ b/pkgs/development/libraries/botan/3.0.nix @@ -0,0 +1,7 @@ +{ callPackage, fetchpatch, ... } @ args: + +callPackage ./generic.nix (args // { + baseVersion = "3.1"; + revision = "1"; + sha256 = "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b38eed7e6f2a..85601972fe81 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20292,6 +20292,10 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreServices Security; }; + botan3 = callPackage ../development/libraries/botan/3.0.nix { + inherit (darwin.apple_sdk.frameworks) CoreServices Security; + }; + box2d = callPackage ../development/libraries/box2d { }; boxfort = callPackage ../development/libraries/boxfort { }; From 45497da716dd3fd431dea6f29ad4cc3fbd064707 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Tue, 18 Jul 2023 22:03:40 +0200 Subject: [PATCH 2/4] botan2: small cleanup The explicit setting of the C++ standard to C++11 was introduced with botan 2.0.1 and is no longer needed. Signed-off-by: Markus Theil --- pkgs/development/libraries/botan/2.0.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/libraries/botan/2.0.nix b/pkgs/development/libraries/botan/2.0.nix index 52f29287f8ea..e2b4aa880415 100644 --- a/pkgs/development/libraries/botan/2.0.nix +++ b/pkgs/development/libraries/botan/2.0.nix @@ -4,7 +4,4 @@ callPackage ./generic.nix (args // { baseVersion = "2.19"; revision = "3"; sha256 = "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU="; - postPatch = '' - sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt - ''; }) From dc7750f637911166f6ca5f03b5ee461c3b11499c Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 19 Jul 2023 13:10:59 +0200 Subject: [PATCH 3/4] botan3: flag macos as bad platform for now Default clang 11 on MacOS is too old for botan 3, which requires at least clang 14. Signed-off-by: Markus Theil --- pkgs/development/libraries/botan/3.0.nix | 4 +++- pkgs/development/libraries/botan/generic.nix | 6 ++++-- pkgs/top-level/all-packages.nix | 5 ++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/botan/3.0.nix b/pkgs/development/libraries/botan/3.0.nix index bd996d002d80..139c002bb3be 100644 --- a/pkgs/development/libraries/botan/3.0.nix +++ b/pkgs/development/libraries/botan/3.0.nix @@ -1,7 +1,9 @@ -{ callPackage, fetchpatch, ... } @ args: +{ callPackage, fetchpatch, lib, ... } @ args: callPackage ./generic.nix (args // { baseVersion = "3.1"; revision = "1"; sha256 = "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="; + # reconsider removing this platform marking, when MacOS uses Clang 14.0+ by default. + badPlatforms = lib.platforms.darwin; }) diff --git a/pkgs/development/libraries/botan/generic.nix b/pkgs/development/libraries/botan/generic.nix index 8c9c1a88a8b6..239f94c2052f 100644 --- a/pkgs/development/libraries/botan/generic.nix +++ b/pkgs/development/libraries/botan/generic.nix @@ -4,10 +4,11 @@ , sourceExtension ? "tar.xz" , extraConfigureFlags ? "" , extraPatches ? [ ] +, badPlatforms ? [ ] , postPatch ? null , knownVulnerabilities ? [ ] -, CoreServices -, Security +, CoreServices ? null +, Security ? null , ... }: @@ -57,6 +58,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin ]; platforms = platforms.unix; license = licenses.bsd2; + inherit badPlatforms; inherit knownVulnerabilities; }; passthru.updateInfo.downloadPage = "http://files.randombit.net/botan/"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85601972fe81..a70f33a9bb2b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20292,9 +20292,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreServices Security; }; - botan3 = callPackage ../development/libraries/botan/3.0.nix { - inherit (darwin.apple_sdk.frameworks) CoreServices Security; - }; + # may add CoreServices and Security again, when MacOS uses Clang 14.0+ by default. + botan3 = callPackage ../development/libraries/botan/3.0.nix { }; box2d = callPackage ../development/libraries/box2d { }; From 8c8ab9ee573d63c7276ea2369d937b39a4f87bc2 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 19 Jul 2023 13:28:19 +0200 Subject: [PATCH 4/4] botan: add thillux as maintainer Signed-off-by: Markus Theil --- pkgs/development/libraries/botan/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/botan/generic.nix b/pkgs/development/libraries/botan/generic.nix index 239f94c2052f..567f570f71d5 100644 --- a/pkgs/development/libraries/botan/generic.nix +++ b/pkgs/development/libraries/botan/generic.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Cryptographic algorithms library"; - maintainers = with maintainers; [ raskin ]; + maintainers = with maintainers; [ raskin thillux ]; platforms = platforms.unix; license = licenses.bsd2; inherit badPlatforms;