diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-10-08 14:03:15 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-08 14:03:15 -0500 |
commit | 15aa8caf57c31b8d8c817dce13209f7d4378d1da (patch) | |
tree | e7423b4b5f73495a0fe03444f9278a2de9321b39 /pkgs/applications | |
parent | 4e2a3cbafe88c76edb2ad0ca828587d712b57b47 (diff) | |
parent | ae7cc3eb5c5edacb586fa613a2e98fc4b94aff3a (diff) | |
download | nixlib-15aa8caf57c31b8d8c817dce13209f7d4378d1da.tar nixlib-15aa8caf57c31b8d8c817dce13209f7d4378d1da.tar.gz nixlib-15aa8caf57c31b8d8c817dce13209f7d4378d1da.tar.bz2 nixlib-15aa8caf57c31b8d8c817dce13209f7d4378d1da.tar.lz nixlib-15aa8caf57c31b8d8c817dce13209f7d4378d1da.tar.xz nixlib-15aa8caf57c31b8d8c817dce13209f7d4378d1da.tar.zst nixlib-15aa8caf57c31b8d8c817dce13209f7d4378d1da.zip |
Merge pull request #44511 from bignaux/soulseekqt
soulseekqt : refactoring appimage manipulation to be more generic.
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/networking/p2p/soulseekqt/default.nix | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/pkgs/applications/networking/p2p/soulseekqt/default.nix b/pkgs/applications/networking/p2p/soulseekqt/default.nix index 12ed680482f6..1b7901e3c463 100644 --- a/pkgs/applications/networking/p2p/soulseekqt/default.nix +++ b/pkgs/applications/networking/p2p/soulseekqt/default.nix @@ -5,7 +5,7 @@ , qtbase, qtmultimedia , libjson, libgpgerror , libX11, libxcb, libXau, libXdmcp, freetype, libbsd -, pythonPackages, squashfsTools, makeDesktopItem +, pythonPackages, squashfsTools, desktop_file_utils }: with stdenv.lib; @@ -23,16 +23,6 @@ let }; }; - desktopItem = makeDesktopItem { - name = "SoulseekQt"; - exec = "soulseekqt"; - icon = "$out/share/soulseekqt/"; - comment = "Official Qt SoulSeek client"; - desktopName = "SoulseekQt"; - genericName = "SoulseekQt"; - categories = "Network;"; - }; - in stdenv.mkDerivation rec { name = "soulseekqt-${version}"; @@ -41,26 +31,36 @@ in stdenv.mkDerivation rec { dontBuild = true; - buildInputs = [ pythonPackages.binwalk squashfsTools ]; + buildInputs = [ pythonPackages.binwalk squashfsTools desktop_file_utils ]; - # avoid usage of appimagetool + # avoid usage of appimage's runner option --appimage-extract unpackCmd = '' export HOME=$(pwd) # workaround for binwalk - tar xvf $curSrc && binwalk --quiet \ - ${mainbin}.AppImage -D 'squashfs:.squashfs:unsquashfs %e' + appimage=$(tar xvf $curSrc) && binwalk --quiet \ + $appimage -D 'squashfs:squashfs:unsquashfs %e' ''; + + patchPhase = '' + cd squashfs-root/ + binary="$(readlink AppRun)" + + # fixup desktop file + desktop-file-edit --set-key Exec --set-value $binary default.desktop + desktop-file-edit --set-key Comment --set-value "${meta.description}" default.desktop + desktop-file-edit --set-key Categories --set-value Network default.desktop + ''; installPhase = '' - mkdir -p $out/{bin,share/soulseekqt} - cd squashfs-root/ - cp -R soulseek.png translations $out/share/soulseekqt - cp SoulseekQt $out/bin/soulseekqt + mkdir -p $out/{bin,share/applications,share/icons/} + cp default.desktop $out/share/applications/$binary.desktop + cp soulseek.png $out/share/icons/ + cp $binary $out/bin/ ''; fixupPhase = '' patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath ${libPath} \ - $out/bin/soulseekqt + $out/bin/$binary ''; meta = with stdenv.lib; { |