diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-08 16:04:42 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-13 06:35:37 +0000 |
commit | 12aaa58dac35800b5b7d77f81cf2a87c21ee55da (patch) | |
tree | be0add9e5c22a85d20b5d78206aa74f956eb2a1b /nixpkgs/pkgs/development/libraries/blst | |
parent | 45892a5591202f75a1c2f1ca7c62a92c7566e3c5 (diff) | |
parent | 5a8e9243812ba528000995b294292d3b5e120947 (diff) | |
download | nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.gz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.bz2 nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.lz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.xz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.zst nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/libraries/mesa/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix Link: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/391
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/blst')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/blst/default.nix | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/blst/default.nix b/nixpkgs/pkgs/development/libraries/blst/default.nix new file mode 100644 index 000000000000..71b2814100ef --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/blst/default.nix @@ -0,0 +1,77 @@ +{ stdenv, lib, fetchFromGitHub, autoreconfHook }: + +stdenv.mkDerivation ( finalAttrs: { + pname = "blst"; + version = "0.3.10"; + + src = fetchFromGitHub { + owner = "supranational"; + repo = "blst"; + rev = "v${finalAttrs.version}"; + hash = "sha256-xero1aTe2v4IhWIJaEDUsVDOfE77dOV5zKeHWntHogY="; + }; + + buildPhase = '' + runHook preBuild + + ./build.sh ${lib.optionalString stdenv.targetPlatform.isWindows "flavour=mingw64"} + ./build.sh -shared ${lib.optionalString stdenv.targetPlatform.isWindows "flavour=mingw64"} + + runHook postBuild + ''; + installPhase = '' + runHook preInstall + + mkdir -p $out/{lib,include} + for lib in libblst.{a,so,dylib}; do + if [ -f $lib ]; then + cp $lib $out/lib/ + fi + done + cp bindings/{blst.h,blst_aux.h} $out/include + + for lib in blst.dll; do + if [ -f $lib ]; then + mkdir -p $out/bin + cp $lib $out/bin/ + fi + done + + mkdir -p $out/lib/pkgconfig + cat <<EOF > $out/lib/pkgconfig/libblst.pc + prefix=$out + exec_prefix=''\\''${prefix} + libdir=''\\''${exec_prefix}/lib + includedir=''\\''${prefix}/include + + Name: libblst + Description: ${finalAttrs.meta.description} + URL: ${finalAttrs.meta.homepage} + Version: ${finalAttrs.version} + + Cflags: -I''\\''${includedir} + Libs: -L''\\''${libdir} -lblst + Libs.private: + EOF + + runHook postInstall + ''; + + # ensure we have the right install id set. Otherwise the library + # wouldn't be found during install. The alternative would be to work + # lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libblst.dylib"; + # into the setup.sh + postFixup = lib.optionalString stdenv.isDarwin '' + install_name_tool -id $out/lib/libblst.dylib $out/lib/libblst.dylib + ''; + + doCheck = true; + + meta = with lib; { + description = "Multilingual BLS12-381 signature library"; + homepage = "https://github.com/supranational/blst"; + license = licenses.isc; + maintainers = with maintainers; [ iquerejeta yvan-sraka ]; + platforms = platforms.all; + }; +}) |