appimagekit: add some fixes (#57591)

* appimagekit: fix usage of `file` so it works on NixOS

* appimagekit: copy missing mksquashfs and desktop-file-utils
This commit is contained in:
Pedro Pombeiro 2019-03-23 15:59:10 +01:00 committed by Dmitry Kalinkin
parent bc36c24998
commit 7b1d4844d9

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub
, pkgconfig, cmake, autoconf, automake, libtool
, wget, xxd, desktop-file-utils
, glib, zlib, cairo, openssl, fuse, xz, squashfuse, inotify-tools, libarchive
, pkgconfig, cmake, autoconf, automake, libtool, makeWrapper
, wget, xxd, desktop-file-utils, file
, gnupg, glib, zlib, cairo, openssl, fuse, xz, squashfuse, inotify-tools, libarchive
, squashfsTools
, gtest
}:
@ -72,9 +72,13 @@ in stdenv.mkDerivation rec {
buildInputs = [
glib zlib cairo openssl fuse
xz inotify-tools libarchive
squashfsTools
squashfsTools makeWrapper
];
postPatch = ''
substituteInPlace src/appimagetool.c --replace "/usr/bin/file" "${file}/bin/file"
'';
preConfigure = ''
export HOME=$(pwd)
'';
@ -90,6 +94,14 @@ in stdenv.mkDerivation rec {
"-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}"
];
postInstall = ''
cp "${squashfsTools}/bin/mksquashfs" "$out/lib/appimagekit/"
cp "${desktop-file-utils}/bin/desktop-file-validate" "$out/bin"
wrapProgram "$out/bin/appimagetool" \
--prefix PATH : "${stdenv.lib.makeBinPath [ file gnupg ]}"
'';
checkInputs = [ gtest ];
doCheck = false; # fails 1 out of 4 tests, I'm too lazy to debug why