Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { stdenv, buildFHSUserEnv, writeScript, runtimeShell
- , gnome3, shared-mime-info, glib, gsettings-desktop-schemas, gtk3
- , apulse
- , extraPkgs ? pkgs: [ ]
- , extraLibs ? pkgs: [ ]
- }:
- with stdenv.lib;
- let
- WRAPPER_XDG_DATA_DIRS = concatMapStringsSep ":" (x: "${x}/share") [
- gnome3.adwaita-icon-theme
- shared-mime-info
- ] + ":" + concatMapStringsSep ":" (x: "${x}/share/gsettings-schemas/${x.name}") [
- glib
- gsettings-desktop-schemas
- gtk3
- ];
- WRAPPER_LD_LIBRARY_PATH = ""; #"${apulse}/lib/apulse";
- in buildFHSUserEnv rec {
- name = "fhs";
- targetPkgs = pkgs: with pkgs; [
- ] ++ extraPkgs pkgs;
- multiPkgs = pkgs: with pkgs; [
- stdenv.cc.cc
- stdenv.cc.libc
- # Common run-time dependencies
- libGLU
- libxml2
- zlib
- # libxul run-time dependencies
- atk
- cairo
- dbus
- dbus-glib
- fontconfig
- freetype
- gdk-pixbuf
- glib
- gtk2
- gtk3
- pango
- # Xorg
- xorg.libX11
- xorg.libXScrnSaver
- xorg.libXcomposite
- xorg.libXcursor
- xorg.libxcb
- xorg.libXdamage
- xorg.libXext
- xorg.libXfixes
- xorg.libXi
- xorg.libXinerama
- xorg.libXrender
- xorg.libXt
- # Media support
- apulse
- alsaLib
- (lib.getDev alsaLib)
- libpulseaudio
- (lib.getDev libpulseaudio)
- ffmpeg
- ] ++ extraLibs pkgs;
- extraBuildCommands = ''
- ln -s "$out/usr/lib32/libpango-1.0.so.0" "$out/usr/lib32/libpangox-1.0.so.0"
- '';
- runScript = writeScript "run.sh" ''
- #!/bin/sh
- if [ -z "$XDG_DATA_DIRS" ]; then
- XDG_DATA_DIRS="${WRAPPER_XDG_DATA_DIRS}"
- else
- XDG_DATA_DIRS="${WRAPPER_XDG_DATA_DIRS}:$XDG_DATA_DIRS"
- fi
- export XDG_DATA_DIRS
- if [ -z "$LD_LIBRARY_PATH" ]; then
- LD_LIBRARY_PATH="${WRAPPER_LD_LIBRARY_PATH}"
- else
- LD_LIBRARY_PATH="${WRAPPER_LD_LIBRARY_PATH}:$LD_LIBRARY_PATH"
- fi
- export LD_LIBRARY_PATH
- exec "$@"
- '';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement