diff options
author | Will Dietz <github@wdtz.org> | 2018-06-23 07:23:08 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-23 07:23:08 -0500 |
commit | 19ef534fbb044f2b95e0043c6e0f8b582d94952b (patch) | |
tree | a908555b17baed07f4fc12b4325c9292395c61f4 | |
parent | cdd5b90b02500d83f050932ac2bc3f080ef7381d (diff) | |
parent | f38459442af891bc34237b3e067ece4ffce7e0b5 (diff) | |
download | nixpkgs-19ef534fbb044f2b95e0043c6e0f8b582d94952b.tar nixpkgs-19ef534fbb044f2b95e0043c6e0f8b582d94952b.tar.gz nixpkgs-19ef534fbb044f2b95e0043c6e0f8b582d94952b.tar.bz2 nixpkgs-19ef534fbb044f2b95e0043c6e0f8b582d94952b.tar.lz nixpkgs-19ef534fbb044f2b95e0043c6e0f8b582d94952b.tar.xz nixpkgs-19ef534fbb044f2b95e0043c6e0f8b582d94952b.tar.zst nixpkgs-19ef534fbb044f2b95e0043c6e0f8b582d94952b.zip |
Merge pull request #41762 from tilpner/appimage-run
appimage-run: init
-rw-r--r-- | pkgs/tools/package-management/appimage-run/default.nix | 146 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 148 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix new file mode 100644 index 00000000000..f6c4c25559e --- /dev/null +++ b/pkgs/tools/package-management/appimage-run/default.nix @@ -0,0 +1,146 @@ +{ stdenv, writeScript, buildFHSUserEnv, coreutils +, extraPkgs ? pkgs: [] }: + +buildFHSUserEnv { + name = "appimage-run"; + + # Most of the packages were taken from the Steam chroot + targetPkgs = pkgs: with pkgs; [ + gtk3 + bashInteractive + gnome3.zenity + python2 + xorg.xrandr + which + perl + xdg_utils + iana-etc + ] ++ extraPkgs pkgs; + + multiPkgs = pkgs: with pkgs; [ + desktop-file-utils + xorg.libXcomposite + xorg.libXtst + xorg.libXrandr + xorg.libXext + xorg.libX11 + xorg.libXfixes + libGL + + gst_all_1.gstreamer + gst_all_1.gst-plugins-ugly + libdrm + xorg.xkeyboardconfig + xorg.libpciaccess + + glib + gtk2 + bzip2 + zlib + gdk_pixbuf + + xorg.libXinerama + xorg.libXdamage + xorg.libXcursor + xorg.libXrender + xorg.libXScrnSaver + xorg.libXxf86vm + xorg.libXi + xorg.libSM + xorg.libICE + gnome2.GConf + freetype + (curl.override { gnutlsSupport = true; sslSupport = false; }) + nspr + nss + fontconfig + cairo + pango + expat + dbus + cups + libcap + SDL2 + libusb1 + dbus-glib + libav + atk + libudev0-shim + networkmanager098 + + xorg.libXt + xorg.libXmu + xorg.libxcb + libGLU + libuuid + libogg + libvorbis + SDL + SDL2_image + glew110 + openssl + libidn + tbb + wayland + mesa_noglu + libxkbcommon + + flac + freeglut + libjpeg + libpng12 + libsamplerate + libmikmod + libtheora + libtiff + pixman + speex + SDL_image + SDL_ttf + SDL_mixer + SDL2_ttf + SDL2_mixer + gstreamer + gst-plugins-base + libappindicator-gtk2 + libcaca + libcanberra + libgcrypt + libvpx + librsvg + xorg.libXft + libvdpau + alsaLib + strace + ]; + + runScript = writeScript "appimage-exec" '' + #!${stdenv.shell} + APPIMAGE="$(realpath "$1")" + + if [ ! -x "$APPIMAGE" ]; then + echo "fatal: $APPIMAGE is not executable" + exit 1 + fi + + SHA256="$(${coreutils}/bin/sha256sum "$APPIMAGE" | cut -d ' ' -f 1)" + SQUASHFS_ROOT="''${XDG_CACHE_HOME:-$HOME/.cache}/appimage-run/$SHA256/" + mkdir -p "$SQUASHFS_ROOT" + + export APPDIR="$SQUASHFS_ROOT/squashfs-root" + if [ ! -x "$APPDIR" ]; then + cd "$SQUASHFS_ROOT" + "$APPIMAGE" --appimage-extract 2>/dev/null + fi + + cd "$APPDIR" + export PATH="$PATH:$PWD/usr/bin" + export APPIMAGE_SILENT_INSTALL=1 + + if [ -n "$APPIMAGE_DEBUG_EXEC" ]; then + exec "$APPIMAGE_DEBUG_EXEC" + fi + + exec ./AppRun + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b6a715a6ecd..bdf2d83fe3f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -502,6 +502,8 @@ with pkgs; buildTools = androidenv.buildTools; }; + appimage-run = callPackage ../tools/package-management/appimage-run {}; + apt-cacher-ng = callPackage ../servers/http/apt-cacher-ng { }; apt-offline = callPackage ../tools/misc/apt-offline { }; |