hyprpaper: 0.7.3 -> 0.7.4 (#376464)
[NixPkgs.git] / pkgs / by-name / sa / samurai / package.nix
blob7ecb57adcbb3724fa65e6b15eb45f240dd3bf051
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   fetchpatch,
6 }:
8 stdenv.mkDerivation rec {
9   pname = "samurai";
10   version = "1.2";
12   src = fetchFromGitHub {
13     owner = "michaelforney";
14     repo = pname;
15     rev = version;
16     hash = "sha256-RPY3MFlnSDBZ5LOkdWnMiR/CZIBdqIFo9uLU+SAKPBI=";
17   };
19   makeFlags = [
20     "DESTDIR="
21     "PREFIX=${placeholder "out"}"
22   ];
24   patches = [
25     # NULL pointer dereference in writefile() in util.c; remove this at the next
26     # release
27     (fetchpatch {
28       name = "CVE-2021-30218.patch";
29       url = "https://github.com/michaelforney/samurai/commit/e84b6d99c85043fa1ba54851ee500540ec206918.patch";
30       sha256 = "sha256-hyndwj6st4rwOJ35Iu0qL12dR5E6CBvsulvR27PYKMw=";
31     })
32     # NULL pointer dereference in printstatus() in build.c; remove this at the
33     # next release
34     (fetchpatch {
35       name = "CVE-2021-30219.patch";
36       url = "https://github.com/michaelforney/samurai/commit/d2af3bc375e2a77139c3a28d6128c60cd8d08655.patch";
37       sha256 = "sha256-rcdwKjHeq5Oaga9wezdHSg/7ljkynfbnkBc2ciMW5so=";
38     })
39   ];
41   meta = with lib; {
42     description = "ninja-compatible build tool written in C";
43     longDescription = ''
44       samurai is a ninja-compatible build tool with a focus on simplicity,
45       speed, and portability.
47       It is written in C99, requires various POSIX.1-2008 interfaces, and
48       nowadays implements ninja build language through version 1.9.0 except for
49       Microsoft (R) Visual C++ (TM) dependency handling (deps = msvc).
51       It is feature-complete (but not bug-compatible) and supports most of the
52       same options as ninja, using the same format for .ninja_log and
53       .ninja_deps as the original ninja tool, currently version 5 and 4
54       respectively.
55     '';
56     homepage = "https://github.com/michaelforney/samurai";
57     license = with licenses; [
58       mit
59       asl20
60     ]; # see LICENSE
61     maintainers = with maintainers; [ dtzWill ];
62     mainProgram = "samu";
63     platforms = platforms.all;
64   };