diff options
Diffstat (limited to 'pkgs/development/pharo/vm/build-vm.nix')
-rw-r--r-- | pkgs/development/pharo/vm/build-vm.nix | 67 |
1 files changed, 33 insertions, 34 deletions
diff --git a/pkgs/development/pharo/vm/build-vm.nix b/pkgs/development/pharo/vm/build-vm.nix index 4bc60dde410..498e5c41472 100644 --- a/pkgs/development/pharo/vm/build-vm.nix +++ b/pkgs/development/pharo/vm/build-vm.nix @@ -1,4 +1,4 @@ -{ stdenv +{ lib, stdenv , fetchurl , bash , unzip @@ -8,7 +8,7 @@ , libGLU, libGL , freetype , xorg -, alsaLib +, alsa-lib , cairo , libuuid , autoreconfHook @@ -39,13 +39,39 @@ stdenv.mkDerivation rec { else throw "Unsupported platform: only Linux/Darwin x86/x64 are supported."; # Shared data (for the sources file) - pharo-share = import ./share.nix { inherit stdenv fetchurl unzip; }; + pharo-share = import ./share.nix { inherit lib stdenv fetchurl unzip; }; # Note: -fPIC causes the VM to segfault. hardeningDisable = [ "format" "pic" # while the VM depends on <= gcc48: "stackprotector" ]; + # gcc 4.8 used for the build: + # + # gcc5 crashes during compilation; gcc >= 4.9 produces a + # binary that crashes when forking a child process. See: + # http://forum.world.st/OSProcess-fork-issue-with-Debian-built-VM-td4947326.html + # + # (stack protection is disabled above for gcc 4.8 compatibility.) + nativeBuildInputs = [ autoreconfHook unzip ]; + buildInputs = [ + bash + glibc + openssl + gcc48 + libGLU libGL + freetype + xorg.libX11 + xorg.libICE + xorg.libSM + alsa-lib + cairo + pharo-share + libuuid + ]; + + enableParallelBuilding = true; + # Regenerate the configure script. # Unnecessary? But the build breaks without this. autoreconfPhase = '' @@ -89,7 +115,7 @@ stdenv.mkDerivation rec { freetype openssl libuuid - alsaLib + alsa-lib xorg.libICE xorg.libSM ]; @@ -111,7 +137,7 @@ stdenv.mkDerivation rec { mkdir -p "$out/bin" # Note: include ELF rpath in LD_LIBRARY_PATH for finding libc. - libs=$out:$(patchelf --print-rpath "$out/pharo"):${stdenv.lib.makeLibraryPath libs} + libs=$out:$(patchelf --print-rpath "$out/pharo"):${lib.makeLibraryPath libs} # Create the script cat > "$out/bin/${cmd}" <<EOF @@ -123,35 +149,9 @@ stdenv.mkDerivation rec { ln -s ${libgit2}/lib/libgit2.so* "$out/" ''; - enableParallelBuilding = true; - - # gcc 4.8 used for the build: - # - # gcc5 crashes during compilation; gcc >= 4.9 produces a - # binary that crashes when forking a child process. See: - # http://forum.world.st/OSProcess-fork-issue-with-Debian-built-VM-td4947326.html - # - # (stack protection is disabled above for gcc 4.8 compatibility.) - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ - bash - unzip - glibc - openssl - gcc48 - libGLU libGL - freetype - xorg.libX11 - xorg.libICE - xorg.libSM - alsaLib - cairo - pharo-share - libuuid - ]; - - meta = with stdenv.lib; { + meta = with lib; { description = "Clean and innovative Smalltalk-inspired environment"; + homepage = "https://pharo.org"; longDescription = '' Pharo's goal is to deliver a clean, innovative, free open-source Smalltalk-inspired environment. By providing a stable and small core @@ -165,7 +165,6 @@ stdenv.mkDerivation rec { Please fill bug reports on http://bugs.pharo.org under the 'Ubuntu packaging (ppa:pharo/stable)' project. ''; - homepage = "http://pharo.org"; license = licenses.mit; maintainers = [ maintainers.lukego ]; platforms = [ "i686-linux" "x86_64-linux" ]; |