diff --git a/pkgs/by-name/pi/pinentry-dmenu/package.nix b/pkgs/by-name/pi/pinentry-dmenu/package.nix new file mode 100644 index 000000000000..1e7237d52d6f --- /dev/null +++ b/pkgs/by-name/pi/pinentry-dmenu/package.nix @@ -0,0 +1,60 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fontconfig, + gpgme, + libX11, + libXinerama, + libXft, + pkg-config, + zlib, + writeText, + libassuan, + libconfig, + libgpg-error, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "pinentry-dmenu"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "ritze"; + repo = "pinentry-dmenu"; + tag = finalAttrs.version; + hash = "sha256-FmP9tI/oU7VM8x+Wu6bbeg1CVopZc6oOWnd4qUptVV8="; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + fontconfig + gpgme + libassuan + libconfig + libgpg-error + libX11 + libXinerama + libXft + ]; + + preConfigure = '' + makeFlagsArray+=( + PREFIX="$out" + CC="$CC" + # default config.mk hardcodes dependent libraries and include paths + INCS="`$PKG_CONFIG --cflags fontconfig x11 xft xinerama`" + LIBS="`$PKG_CONFIG --libs fontconfig x11 xft xinerama`" + ) + ''; + + meta = { + description = "Pinentry implementation based on dmenu"; + homepage = "https://github.com/ritze/pinentry-dmenu"; + changelog = "https://github.com/ritze/pinentry-dmenu/releases/tag/${finalAttrs.version}"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ sweiglbosker ]; + mainProgram = "pinentry-dmenu"; + platforms = lib.platforms.linux; + }; +})