Merge pull request #41762 from tilpner/appimage-run

appimage-run: init
This commit is contained in:
Will Dietz 2018-06-23 07:23:08 -05:00 committed by GitHub
commit 19ef534fbb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 148 additions and 0 deletions

View file

@ -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
'';
}

View file

@ -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 { };