Unverified Commit 33cf307f authored by Azat Bahawi's avatar Azat Bahawi Committed by GitHub
Browse files

gsl-lite: 0.41.0 -> 0.42.0 (#395566)

parents 2961e003 0c1a2761
Loading
Loading
Loading
Loading
+16 −31
Original line number Diff line number Diff line
@@ -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;
  };
}
})