diff --git a/pkgs/applications/misc/cardpeek/default.nix b/pkgs/applications/misc/cardpeek/default.nix index 1d5baf9f6b34..adabcdac9542 100644 --- a/pkgs/applications/misc/cardpeek/default.nix +++ b/pkgs/applications/misc/cardpeek/default.nix @@ -1,29 +1,50 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, - glib, gtk3, pcsclite, lua5_2, curl, readline }: +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, autoreconfHook +, glib +, gtk3 +, pcsclite +, lua5_2 +, curl +, readline +, PCSC +, xcbuild +}: let version = "0.8.4"; in - stdenv.mkDerivation { - pname = "cardpeek"; - inherit version; +stdenv.mkDerivation { + pname = "cardpeek"; + inherit version; - src = fetchFromGitHub { - owner = "L1L1"; - repo = "cardpeek"; - rev = "cardpeek-${version}"; - sha256 = "1ighpl7nvcvwnsd6r5h5n9p95kclwrq99hq7bry7s53yr57l6588"; - }; + src = fetchFromGitHub { + owner = "L1L1"; + repo = "cardpeek"; + rev = "cardpeek-${version}"; + sha256 = "1ighpl7nvcvwnsd6r5h5n9p95kclwrq99hq7bry7s53yr57l6588"; + }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ glib gtk3 pcsclite lua5_2 curl readline ]; + postPatch = lib.optionalString stdenv.isDarwin '' + # replace xcode check and hard-coded PCSC framework path + substituteInPlace configure.ac \ + --replace 'if test ! -e "/Applications/Xcode.app/"; then' 'if test yes != yes; then' \ + --replace 'PCSC_HEADERS=`ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/*.sdk/System/Library/Frameworks/PCSC.framework/Versions/Current/Headers/ | sort | head -1`' 'PCSC_HEADERS=${PCSC}/Library/Frameworks/PCSC.framework/Headers' + ''; - enableParallelBuilding = true; + nativeBuildInputs = [ pkg-config autoreconfHook ]; + buildInputs = [ glib gtk3 lua5_2 curl readline ] + ++ lib.optional stdenv.isDarwin PCSC + ++ lib.optional stdenv.isLinux pcsclite; - meta = with lib; { - homepage = "https://github.com/L1L1/cardpeek"; - description = "A tool to read the contents of ISO7816 smart cards"; - license = licenses.gpl3Plus; - platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ embr ]; - }; - } + enableParallelBuilding = true; + + meta = with lib; { + homepage = "https://github.com/L1L1/cardpeek"; + description = "A tool to read the contents of ISO7816 smart cards"; + license = licenses.gpl3Plus; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ embr ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4b949111d210..eb61b31b3507 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2379,7 +2379,7 @@ with pkgs; catclock = callPackage ../applications/misc/catclock { }; - cardpeek = callPackage ../applications/misc/cardpeek { }; + cardpeek = callPackage ../applications/misc/cardpeek { inherit (darwin.apple_sdk.frameworks) PCSC; }; cawbird = callPackage ../applications/networking/cawbird { };