Skip to content

Commit

Permalink
Merge pull request #41762 from tilpner/appimage-run
Browse files Browse the repository at this point in the history
appimage-run: init
  • Loading branch information
dtzWill committed Jun 23, 2018
2 parents cdd5b90 + f384594 commit 19ef534
Show file tree
Hide file tree
Showing 2 changed files with 148 additions and 0 deletions.
146 changes: 146 additions & 0 deletions pkgs/tools/package-management/appimage-run/default.nix
Original file line number Diff line number Diff line change
@@ -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
'';
}
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 { };
Expand Down

0 comments on commit 19ef534

Please sign in to comment.