diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-02-24 01:09:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-02-24 01:09:00 +0000 |
commit | 072c01a28f865e9487df09aed7ddff328252fb36 (patch) | |
tree | 6df6e652915940255f294ed8998cce1c4c7c2d40 /nixpkgs/pkgs/tools/misc/yubikey-manager-qt | |
parent | 024b46ff20027c15322e5d868ecec42632556d4b (diff) | |
parent | 969cff2691a02b3d7e5468beda26c482d8986644 (diff) | |
download | nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.gz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.bz2 nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.lz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.xz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.zst nixlib-072c01a28f865e9487df09aed7ddff328252fb36.zip |
Merge commit '969cff2691a02b3d7e5468beda26c482d8986644'
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/yubikey-manager-qt')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix new file mode 100644 index 000000000000..c8521efb28d6 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix @@ -0,0 +1,78 @@ +{ stdenv +, fetchurl +, makeWrapper +, pcsclite +, pyotherside +, pythonPackages +, python3 +, qmake +, qtbase +, qtgraphicaleffects +, qtquickcontrols +, qtquickcontrols2 +, qtdeclarative +, qtsvg +, yubikey-manager +, yubikey-personalization +}: + +let + qmlPath = qmlLib: "${qmlLib}/${qtbase.qtQmlPrefix}"; + + inherit (stdenv) lib; + + qml2ImportPath = lib.concatMapStringsSep ":" qmlPath [ + qtbase.bin qtdeclarative.bin pyotherside qtquickcontrols qtquickcontrols2.bin qtgraphicaleffects + ]; + +in stdenv.mkDerivation rec { + pname = "yubikey-manager-qt"; + version = "1.1.0"; + + src = fetchurl { + url = "https://developers.yubico.com/yubikey-manager-qt/Releases/${pname}-${version}.tar.gz"; + sha256 = "8049a233a8cca07543d745a9f619c0fc3afb324f5d0030b93f037b34ac1c5e66"; + }; + + nativeBuildInputs = [ makeWrapper python3.pkgs.wrapPython qmake ]; + + sourceRoot = "."; + + postPatch = '' + substituteInPlace ykman-gui/deployment.pri --replace '/usr/bin' "$out/bin" + ''; + + buildInputs = [ pythonPackages.python qtbase qtgraphicaleffects qtquickcontrols qtquickcontrols2 pyotherside ]; + + enableParallelBuilding = true; + + pythonPath = [ yubikey-manager ]; + + # Need LD_PRELOAD for libykpers as the Nix cpython disables ctypes.cdll.LoadLibrary + # support that the yubicommon library uses to load libykpers + postInstall = '' + buildPythonPath "$pythonPath" + + wrapProgram $out/bin/ykman-gui \ + --prefix PYTHONPATH : "$program_PYTHONPATH" \ + --set QML2_IMPORT_PATH "${qml2ImportPath}" \ + --set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms \ + --prefix QT_PLUGIN_PATH : "${qtsvg.bin}/${qtbase.qtPluginPrefix}" + + mkdir -p $out/share/applications + cp resources/ykman-gui.desktop $out/share/applications/ykman-gui.desktop + mkdir -p $out/share/ykman-gui/icons + cp resources/icons/*.{icns,ico,png,xpm} $out/share/ykman-gui/icons + substituteInPlace $out/share/applications/ykman-gui.desktop \ + --replace 'Exec=ykman-gui' "Exec=$out/bin/ykman-gui" \ + ''; + + meta = with lib; { + inherit version; + description = "Cross-platform application for configuring any YubiKey over all USB interfaces."; + homepage = https://developers.yubico.com/yubikey-manager-qt/; + license = licenses.bsd2; + maintainers = [ maintainers.cbley ]; + platforms = platforms.linux; + }; +} |