b0d77698bf
Fixes this: $ echo establish_context | gpshell establish_context establish_context failed with error 0xFFFFFFFFFFFFFFFF (libgppcscconnectionplugin.so.1.0.1: cannot open shared object file: No such file or directory) Have to use LD_LIBRARY_PATH instead of patchelf, because it's libglobalplatform.so.6 (from globalplatform package) that needs libgppcscconnectionplugin.so.1.0.1, not gpshell itself. And because RPATH doesn't "propagate" from one ELF to another, the library isn't found. One can argue that globalplatform should depend on gppcscconnectionplugin, but it touches on the still-unsolved "plugin" issue in Nix packaging, so leaving that alone.
27 lines
749 B
Nix
27 lines
749 B
Nix
{ stdenv, fetchurl, pkgconfig, globalplatform, pcsclite, gppcscconnectionplugin
|
|
, makeWrapper
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "gpshell-${version}";
|
|
version = "1.4.4";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/globalplatform/gpshell-${version}.tar.gz";
|
|
sha256 = "19a77zvyf2vazbv17185s4pynhylk2ky8vhl4i8pg9zww29sicqi";
|
|
};
|
|
|
|
buildInputs = [ pkgconfig globalplatform pcsclite makeWrapper ];
|
|
|
|
postFixup = ''
|
|
wrapProgram "$out/bin/gpshell" --prefix LD_LIBRARY_PATH : "${gppcscconnectionplugin}/lib"
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = https://sourceforge.net/p/globalplatform/wiki/Home/;
|
|
description = "Smartcard management application";
|
|
license = licenses.gpl3;
|
|
platforms = platforms.all;
|
|
};
|
|
}
|