about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/fmt
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-01-15 10:30:44 +0000
committerAlyssa Ross <hi@alyssa.is>2021-01-15 10:30:44 +0000
commite0794be8a0d11e90461e5a9c85012a36b93ec976 (patch)
treeefd9cbc55ea3322867bf601c4d536758a3dd5fcc /nixpkgs/pkgs/development/libraries/fmt
parent3538874082ded7647b1ccec0343c7c1e882cfef3 (diff)
parent1a57d96edd156958b12782e8c8b6a374142a7248 (diff)
downloadnixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.gz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.bz2
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.lz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.xz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.zst
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.zip
Merge commit '1a57d96edd156958b12782e8c8b6a374142a7248'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/fmt')
-rw-r--r--nixpkgs/pkgs/development/libraries/fmt/default.nix106
1 files changed, 48 insertions, 58 deletions
diff --git a/nixpkgs/pkgs/development/libraries/fmt/default.nix b/nixpkgs/pkgs/development/libraries/fmt/default.nix
index be31997e5f92..2f490891433b 100644
--- a/nixpkgs/pkgs/development/libraries/fmt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fmt/default.nix
@@ -1,60 +1,50 @@
-{ stdenv, fetchFromGitHub, fetchpatch, cmake }:
-
-stdenv.mkDerivation rec {
-  pname = "fmt";
-  version = "6.2.1";
-
-  outputs = [ "out" "dev" ];
-
-  src = fetchFromGitHub {
-    owner = "fmtlib";
-    repo = "fmt";
-    rev = version;
-    sha256 = "1i6nfxazq4d05r3sxyc3ziwkqq7s8rdbv9p16afv66aqmsbqqqic";
-  };
-
-  patches = [
-    # Fix BC break breaking Kodi
-    # https://github.com/xbmc/xbmc/issues/17629
-    # https://github.com/fmtlib/fmt/issues/1620
-    (fetchpatch {
-      url = "https://github.com/fmtlib/fmt/commit/7d01859ef16e6b65bc023ad8bebfedecb088bf81.patch";
-      sha256 = "0v8hm5958ih1bmnjr16fsbcmdnq4ykyf6b0hg6dxd5hxd126vnxx";
-    })
-
-    # Fix paths in pkg-config file
-    # https://github.com/fmtlib/fmt/pull/1657
-    (fetchpatch {
-      url = "https://github.com/fmtlib/fmt/commit/78f041ab5b40a1145ba686aeb8013e8788b08cd2.patch";
-      sha256 = "1hqp96zl9l3qyvsm7pxl6ah8c26z035q2mz2pqhqa0wvzd1klcc6";
-    })
-
-    # Fix cmake config paths.
-    (fetchpatch {
-      url = "https://github.com/fmtlib/fmt/pull/1702.patch";
-      sha256 = "18cadqi7nac37ymaz3ykxjqs46rvki396g6qkqwp4k00cmic23y3";
-    })
-  ];
-
-  nativeBuildInputs = [ cmake ];
-
-  cmakeFlags = [
-    "-DBUILD_SHARED_LIBS=ON"
-    "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
-  ];
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "Small, safe and fast formatting library";
-    longDescription = ''
-      fmt (formerly cppformat) is an open-source formatting library. It can be
-      used as a fast and safe alternative to printf and IOStreams.
-    '';
-    homepage = "http://fmtlib.net/";
-    downloadPage = "https://github.com/fmtlib/fmt/";
-    maintainers = [ maintainers.jdehaas ];
-    license = licenses.bsd2;
-    platforms = platforms.all;
+{ stdenv, fetchFromGitHub, fetchpatch, cmake
+, enableShared ? !stdenv.hostPlatform.isStatic
+}:
+
+let
+  generic = { version, sha256, patches ? [ ] }:
+    stdenv.mkDerivation {
+      pname = "fmt";
+      inherit version;
+
+      outputs = [ "out" "dev" ];
+
+      src = fetchFromGitHub {
+        owner = "fmtlib";
+        repo = "fmt";
+        rev = version;
+        inherit sha256;
+      };
+
+      inherit patches;
+
+      nativeBuildInputs = [ cmake ];
+
+      cmakeFlags = [
+        "-DBUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}"
+        "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
+      ];
+
+      doCheck = true;
+
+      meta = with stdenv.lib; {
+        description = "Small, safe and fast formatting library";
+        longDescription = ''
+          fmt (formerly cppformat) is an open-source formatting library. It can be
+          used as a fast and safe alternative to printf and IOStreams.
+        '';
+        homepage = "http://fmtlib.net/";
+        downloadPage = "https://github.com/fmtlib/fmt/";
+        maintainers = [ maintainers.jdehaas ];
+        license = licenses.bsd2;
+        platforms = platforms.all;
+      };
+    };
+in
+{
+  fmt_7 = generic {
+    version = "7.1.3";
+    sha256 = "08hyv73qp2ndbs0isk8pspsphdzz5qh8czl3wgyxy3mmif9xdg29";
   };
 }