From 7b1d4844d9c3f7b256c0047b25416cc001f48dac Mon Sep 17 00:00:00 2001 From: Pedro Pombeiro Date: Sat, 23 Mar 2019 15:59:10 +0100 Subject: [PATCH] appimagekit: add some fixes (#57591) * appimagekit: fix usage of `file` so it works on NixOS * appimagekit: copy missing mksquashfs and desktop-file-utils --- .../appimagekit/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/package-management/appimagekit/default.nix b/pkgs/tools/package-management/appimagekit/default.nix index 2c389c144b1e..b4b339edb5f7 100644 --- a/pkgs/tools/package-management/appimagekit/default.nix +++ b/pkgs/tools/package-management/appimagekit/default.nix @@ -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