From c97fd6f3bd8cd02160fe4e10d2119e0bd112a6eb Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Sat, 15 Oct 2022 13:40:43 +0300 Subject: [PATCH] gsl-lite: init at 0.40.0 --- .../libraries/gsl-lite/default.nix | 51 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/development/libraries/gsl-lite/default.nix diff --git a/pkgs/development/libraries/gsl-lite/default.nix b/pkgs/development/libraries/gsl-lite/default.nix new file mode 100644 index 00000000000..34beee93ecd --- /dev/null +++ b/pkgs/development/libraries/gsl-lite/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, ninja +, installCompatHeader ? false +, installLegacyHeaders ? false +}: + +stdenv.mkDerivation rec { + pname = "gsl-lite"; + version = "0.40.0"; + + src = fetchFromGitHub { + owner = "gsl-lite"; + repo = "gsl-lite"; + rev = "v${version}"; + hash = "sha256-80ksT8XFn2LLMr63gKGZD/0+FDLnAtFyMpuuSjtoBlk="; + }; + + nativeBuildInputs = [ cmake ninja ]; + + cmakeFlags = lib.mapAttrsToList + (name: value: ''-DGSL_LITE_OPT_${name}:BOOL=${if value then "ON" else "OFF"}'') + { + INSTALL_COMPAT_HEADER = installCompatHeader; + INSTALL_LEGACY_HEADERS = installLegacyHeaders; + BUILD_TESTS = doCheck; + }; + + # Building tests is broken on Darwin. + doCheck = !stdenv.isDarwin; + + meta = with lib; { + description = '' + A single-file header-only version of ISO C++ Guidelines Support Library + (GSL) for C++98, C++11, and later + ''; + longDescription = '' + gsl-lite is a single-file header-only implementation of the C++ Core + Guidelines Support Library originally based on Microsoft GSL and adapted + for C++98, C++03. It also works when compiled as C++11, C++14, C++17, + C++20. + ''; + homepage = "https://github.com/gsl-lite/gsl-lite"; + changelog = "https://github.com/gsl-lite/gsl-lite/blob/${src.rev}/CHANGES.txt"; + license = licenses.mit; + maintainers = with maintainers; [ azahi ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 77cc5116cf4..4c4a47223a0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18962,6 +18962,8 @@ with pkgs; gsl_1 = callPackage ../development/libraries/gsl/gsl-1_16.nix { }; + gsl-lite = callPackage ../development/libraries/gsl-lite { }; + gsm = callPackage ../development/libraries/gsm {}; gsoap = callPackage ../development/libraries/gsoap { };