diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-02-24 09:19:12 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-02-24 09:19:12 +0100 |
commit | c2eac6741bc2bf8ae5ff2e6779492dbe5829092d (patch) | |
tree | 1c423bc8330a2295281d96c4c3149c6e23b3317d /pkgs/build-support | |
parent | 917f6f987aa3e0008abc0104e4655b7410da608e (diff) | |
parent | d7ba3764356317a8642b420a6c5995ed6a0e55a3 (diff) | |
download | nixlib-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar nixlib-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.gz nixlib-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.bz2 nixlib-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.lz nixlib-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.xz nixlib-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.zst nixlib-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/appimage/default.nix | 176 | ||||
-rw-r--r-- | pkgs/build-support/closure-info.nix | 2 | ||||
-rw-r--r-- | pkgs/build-support/nix-prefetch-github/default.nix | 6 | ||||
-rw-r--r-- | pkgs/build-support/skaware/build-skaware-package.nix | 6 |
4 files changed, 187 insertions, 3 deletions
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix new file mode 100644 index 000000000000..ef7da72fda93 --- /dev/null +++ b/pkgs/build-support/appimage/default.nix @@ -0,0 +1,176 @@ +{ pkgs, stdenv, libarchive, patchelf, zlib, buildFHSUserEnv, writeScript }: + +rec { + # Both extraction functions could be unified, but then + # it would depend on libmagic to correctly identify ISO 9660s + + extractType1 = { name, src }: stdenv.mkDerivation { + name = "${name}-extracted"; + inherit src; + + nativeBuildInputs = [ libarchive ]; + buildCommand = '' + mkdir $out + bsdtar -x -C $out -f $src + ''; + }; + + extractType2 = { name, src }: stdenv.mkDerivation { + name = "${name}-extracted"; + inherit src; + + nativeBuildInputs = [ patchelf ]; + buildCommand = '' + install $src ./appimage + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \ + ./appimage + + ./appimage --appimage-extract + + cp -rv squashfs-root $out + ''; + }; + + wrapAppImage = { name, src, extraPkgs }: buildFHSUserEnv (defaultFhsEnvArgs // { + inherit name; + + targetPkgs = pkgs: defaultFhsEnvArgs.targetPkgs pkgs ++ extraPkgs pkgs; + + runScript = writeScript "run" '' + #!${stdenv.shell} + + export APPDIR=${src} + export APPIMAGE_SILENT_INSTALL=1 + cd $APPDIR + exec ./AppRun "$@" + ''; + }); + + wrapType1 = args@{ name, src, extraPkgs ? pkgs: [] }: wrapAppImage { + inherit name extraPkgs; + src = extractType1 { inherit name src; }; + }; + + wrapType2 = args@{ name, src, extraPkgs ? pkgs: [] }: wrapAppImage { + inherit name extraPkgs; + src = extractType2 { inherit name src; }; + }; + + defaultFhsEnvArgs = { + name = "appimage-env"; + + # 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 + krb5 + ]; + + 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 + udev + dbus-glib + libav + atk + at-spi2-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 + ]; + }; +} diff --git a/pkgs/build-support/closure-info.nix b/pkgs/build-support/closure-info.nix index 28f2802a5bce..24795a724ec8 100644 --- a/pkgs/build-support/closure-info.nix +++ b/pkgs/build-support/closure-info.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation { exportReferencesGraph.closure = rootPaths; + preferLocalBuild = true; + PATH = "${buildPackages.coreutils}/bin:${buildPackages.jq}/bin"; builder = builtins.toFile "builder" diff --git a/pkgs/build-support/nix-prefetch-github/default.nix b/pkgs/build-support/nix-prefetch-github/default.nix index 48297e583afe..b0fd55260fd1 100644 --- a/pkgs/build-support/nix-prefetch-github/default.nix +++ b/pkgs/build-support/nix-prefetch-github/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "nix-prefetch-github"; - version = "1.3"; + version = "2.0"; src = fetchFromGitHub { owner = "seppeljordan"; repo = "nix-prefetch-github"; - rev = "${version}"; - sha256 = "1rinbv1q4q8m27ih6l81w1lsmwn6cz7q3iyjiycklywpi8684dh6"; + rev = "v${version}"; + sha256 = "06vxy26d1s7azb9amxdf83i8kxgs2sbjsy0d3mjhwffga13b4igc"; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/build-support/skaware/build-skaware-package.nix b/pkgs/build-support/skaware/build-skaware-package.nix index 51921fdfbdc7..5ae8985e3abe 100644 --- a/pkgs/build-support/skaware/build-skaware-package.nix +++ b/pkgs/build-support/skaware/build-skaware-package.nix @@ -19,6 +19,10 @@ in { # mostly for moving and deleting files from the build directory # : lines , postInstall + # packages with setup hooks that should be run + # (see definition of `makeSetupHook`) + # : list drv +, setupHooks ? [] # : list Maintainer , maintainers ? [] @@ -82,6 +86,8 @@ in stdenv.mkDerivation { dontDisableStatic = true; enableParallelBuilding = true; + nativeBuildInputs = setupHooks; + configureFlags = configureFlags ++ [ "--enable-absolute-paths" (if stdenv.isDarwin |