evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / do / doas / package.nix
blob3a43a575589aa3553f3e7179f228790da6591411
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , bison
5 , pam
6 , libxcrypt
7 , nixosTests
9 , withPAM ? true
10 , withTimestamp ? true
13 stdenv.mkDerivation rec {
14   pname = "doas";
15   version = "6.8.2";
17   src = fetchFromGitHub {
18     owner = "Duncaen";
19     repo = "OpenDoas";
20     rev = "v${version}";
21     sha256 = "9uOQ2Ta5HzEpbCz2vbqZEEksPuIjL8lvmfmynfqxMeM=";
22   };
24   # otherwise confuses ./configure
25   dontDisableStatic = true;
27   configureFlags = [
28     (lib.optionalString withTimestamp "--with-timestamp") # to allow the "persist" setting
29     (lib.optionalString (!withPAM) "--without-pam")
30   ];
32   patches = [
33     # Allow doas to discover binaries in /run/current-system/sw/{s,}bin and
34     # /run/wrappers/bin
35     ./0001-add-NixOS-specific-dirs-to-safe-PATH.patch
36   ];
38   # ./configure script does not understand `--disable-shared`
39   dontAddStaticConfigureFlags = true;
41   postPatch = ''
42     sed -i '/\(chown\|chmod\)/d' GNUmakefile
43   '' + lib.optionalString (withPAM && stdenv.hostPlatform.isStatic) ''
44     sed -i 's/-lpam/-lpam -laudit/' configure
45   '';
47   nativeBuildInputs = [ bison ];
48   buildInputs = [ ]
49     ++ lib.optional withPAM pam
50     ++ lib.optional (!withPAM) libxcrypt;
52   passthru.tests = { inherit (nixosTests) doas; };
54   meta = with lib; {
55     description = "Executes the given command as another user";
56     mainProgram = "doas";
57     homepage = "https://github.com/Duncaen/OpenDoas";
58     license = licenses.isc;
59     platforms = platforms.linux;
60     maintainers = with maintainers; [ cole-h ];
61   };