diff --git a/pkgs/by-name/gs/gsl-lite/package.nix b/pkgs/by-name/gs/gsl-lite/package.nix index dba428c51a0e..ba49c51a410b 100644 --- a/pkgs/by-name/gs/gsl-lite/package.nix +++ b/pkgs/by-name/gs/gsl-lite/package.nix @@ -2,53 +2,38 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, cmake, ninja, installCompatHeader ? false, installLegacyHeaders ? false, }: - -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gsl-lite"; - version = "0.41.0"; + version = "0.42.0"; src = fetchFromGitHub { owner = "gsl-lite"; repo = "gsl-lite"; - rev = "v${version}"; - hash = "sha256-cuuix302bVA7dWa7EJoxJ+otf1rSzjWQK8DHJsVkQio="; + tag = "v${finalAttrs.version}"; + hash = "sha256-4CQG+sX/UTQ4zICmDR6YBfapuh0hSqkWk5skZAVAy2o="; }; - patches = [ - (fetchpatch { - name = "type-limits-cast-fix.patch"; - url = "https://github.com/gsl-lite/gsl-lite/commit/13475be0e5bf5f464c398f4a07ef5c7684bc57c5.patch"; - hash = "sha256-rSz7OBmgQ3KcQ971tS3Z3QNC+U4XmrPjgmuOyG7J6Bo="; - }) - ]; - 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; - }; + cmakeFlags = [ + (lib.cmakeBool "GSL_LITE_OPT_BUILD_TESTS" finalAttrs.doCheck) + (lib.cmakeBool "GSL_LITE_OPT_INSTALL_COMPAT_HEADER" installCompatHeader) + (lib.cmakeBool "GSL_LITE_OPT_INSTALL_LEGACY_HEADERS" installLegacyHeaders) + ]; # Building tests is broken on Darwin. doCheck = !stdenv.hostPlatform.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 - ''; + meta = { + description = "Single-file header-only version of ISO C++ GSL"; longDescription = '' gsl-lite is a single-file header-only implementation of the C++ Core Guidelines Support Library originally based on Microsoft GSL and adapted @@ -56,9 +41,9 @@ stdenv.mkDerivation rec { 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; + changelog = "https://github.com/gsl-lite/gsl-lite/blob/${finalAttrs.src.rev}/CHANGES.txt"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.azahi ]; + platforms = lib.platforms.all; }; -} +})