summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorGuillaume Girol <symphorien@users.noreply.github.com>2021-01-25 18:18:42 +0000
committerGitHub <noreply@github.com>2021-01-25 18:18:42 +0000
commit7f355dcc4ee4beb9f3ba6a4bd9a3f353069fe58d (patch)
treed5603c62b808ceffd1cd9985478ed70acfd700c4 /pkgs
parent7a5e4b7df8f843084ddef7b73438c54875d68177 (diff)
parentf54f718871ed34cc8e6a71905349d34f00d6fd6d (diff)
Merge pull request #108427 from symphorien/chdir-appimage
appimage-run: fix #108426
Diffstat (limited to 'pkgs')
-rwxr-xr-xpkgs/build-support/appimage/appimage-exec.sh4
-rw-r--r--pkgs/tools/package-management/appimage-run/default.nix4
-rw-r--r--pkgs/tools/package-management/appimage-run/test.nix24
-rw-r--r--pkgs/top-level/all-packages.nix7
4 files changed, 35 insertions, 4 deletions
diff --git a/pkgs/build-support/appimage/appimage-exec.sh b/pkgs/build-support/appimage/appimage-exec.sh
index 7986c589667b..4ff6802e6453 100755
--- a/pkgs/build-support/appimage/appimage-exec.sh
+++ b/pkgs/build-support/appimage/appimage-exec.sh
@@ -75,15 +75,15 @@ apprun() {
wrap() {
- cd "$APPDIR" || exit
# quite same in appimageTools
export APPIMAGE_SILENT_INSTALL=1
if [ -n "$APPIMAGE_DEBUG_EXEC" ]; then
+ cd "$APPDIR" || true
exec "$APPIMAGE_DEBUG_EXEC"
fi
- exec ./AppRun "$@"
+ exec "$APPDIR/AppRun" "$@"
}
usage() {
diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix
index 3bc59f2ad148..98a04dff8f89 100644
--- a/pkgs/tools/package-management/appimage-run/default.nix
+++ b/pkgs/tools/package-management/appimage-run/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [] }:
+{ appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [], appimage-run-tests ? null }:
let
fhsArgs = appimageTools.defaultFhsEnvArgs;
@@ -8,4 +8,6 @@ in buildFHSUserEnv (fhsArgs // {
targetPkgs = pkgs: [ appimageTools.appimage-exec ]
++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs;
runScript = "appimage-exec.sh";
+
+ passthru.tests.appimage-run = appimage-run-tests;
})
diff --git a/pkgs/tools/package-management/appimage-run/test.nix b/pkgs/tools/package-management/appimage-run/test.nix
new file mode 100644
index 000000000000..c9bc63c08a8e
--- /dev/null
+++ b/pkgs/tools/package-management/appimage-run/test.nix
@@ -0,0 +1,24 @@
+{ runCommand, fetchurl, appimage-run, glibcLocales, file }:
+let
+ # any AppImage usable on cli, really
+ sample-appImage = fetchurl {
+ url = "https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage";
+ sha256 = "04ws94q71bwskmhizhwmaf41ma4wabvfgjgkagr8wf3vakgv866r";
+ };
+in
+ runCommand "appimage-run-tests" {
+ buildInputs = [ appimage-run glibcLocales file ];
+ meta.platforms = [ "x86_64-linux" ];
+ }
+ ''
+ export HOME=$(mktemp -d)
+ set -x
+ # regression test for #101137, must come first
+ LANG=fr_FR appimage-run ${sample-appImage} --list ${sample-appImage}
+ # regression test for #108426
+ cp ${sample-appImage} foo.appImage
+ LANG=fr_FR appimage-run ${sample-appImage} --list foo.appImage
+ set +x
+ touch $out
+ ''
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8b86a0631a06..4ce78cd298a0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -884,7 +884,12 @@ in
inherit (androidenv.androidPkgs_9_0) build-tools;
};
- appimage-run = callPackage ../tools/package-management/appimage-run {};
+ appimage-run = callPackage ../tools/package-management/appimage-run { };
+ appimage-run-tests = callPackage ../tools/package-management/appimage-run/test.nix {
+ appimage-run = appimage-run.override {
+ appimage-run-tests = null; /* break boostrap cycle for passthru.tests */
+ };
+ };
appimagekit = callPackage ../tools/package-management/appimagekit {};