linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / botan / generic.nix
blob33f9daf7b50fb621a733e5119f2155dee3e9f87e
1 { lib, stdenv, fetchurl, python3, bzip2, zlib, gmp, openssl, boost
2 # Passed by version specific builders
3 , baseVersion, revision, sha256
4 , sourceExtension ? "tar.xz"
5 , extraConfigureFlags ? ""
6 , postPatch ? null
7 , CoreServices
8 , Security
9 , ...
12 stdenv.mkDerivation rec {
13   pname = "botan";
14   version = "${baseVersion}.${revision}";
16   src = fetchurl {
17     name = "Botan-${version}.${sourceExtension}";
18     urls = [
19        "http://files.randombit.net/botan/v${baseVersion}/Botan-${version}.${sourceExtension}"
20        "http://botan.randombit.net/releases/Botan-${version}.${sourceExtension}"
21     ];
22     inherit sha256;
23   };
24   inherit postPatch;
26   buildInputs = [ python3 bzip2 zlib gmp openssl boost ]
27     ++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
29   configurePhase = ''
30     python configure.py --prefix=$out --with-bzip2 --with-zlib ${if openssl != null then "--with-openssl" else ""} ${extraConfigureFlags}${if stdenv.cc.isClang then " --cc=clang" else "" }
31   '';
33   enableParallelBuilding = true;
35   preInstall = ''
36     if [ -d src/scripts ]; then
37       patchShebangs src/scripts
38     fi
39   '';
41   postInstall = ''
42     cd "$out"/lib/pkgconfig
43     ln -s botan-*.pc botan.pc || true
44   '';
46   meta = with lib; {
47     inherit version;
48     description = "Cryptographic algorithms library";
49     maintainers = with maintainers; [ raskin ];
50     platforms = platforms.unix;
51     license = licenses.bsd2;
52   };
53   passthru.updateInfo.downloadPage = "http://files.randombit.net/botan/";