diff options
author | Luke Gorrie <luke@snabb.co> | 2017-07-10 03:49:29 +0000 |
---|---|---|
committer | Luke Gorrie <luke@snabb.co> | 2017-07-10 03:49:29 +0000 |
commit | 2b3dcfab041ec7413e456f4f6a3ae0af69f3b255 (patch) | |
tree | e30c19d2a30da857f686dd71d3ab10030ed28319 /pkgs/development/pharo/vm | |
parent | af92427f46f866327d757df8c0ed05ba129847a6 (diff) | |
download | nixpkgs-2b3dcfab041ec7413e456f4f6a3ae0af69f3b255.tar nixpkgs-2b3dcfab041ec7413e456f4f6a3ae0af69f3b255.tar.gz nixpkgs-2b3dcfab041ec7413e456f4f6a3ae0af69f3b255.tar.bz2 nixpkgs-2b3dcfab041ec7413e456f4f6a3ae0af69f3b255.tar.lz nixpkgs-2b3dcfab041ec7413e456f4f6a3ae0af69f3b255.tar.xz nixpkgs-2b3dcfab041ec7413e456f4f6a3ae0af69f3b255.tar.zst nixpkgs-2b3dcfab041ec7413e456f4f6a3ae0af69f3b255.zip |
pharo: build with gcc48
Building with GCC > 4.9 produces a broken VM for reasons that are not yet understood, see http://forum.world.st/OSProcess-fork-issue-with-Debian-built-VM-td4947326.html also disable "stackprotector" hardening for compatibility with this older gcc.
Diffstat (limited to 'pkgs/development/pharo/vm')
-rw-r--r-- | pkgs/development/pharo/vm/build-vm.nix | 16 | ||||
-rw-r--r-- | pkgs/development/pharo/vm/vms.nix | 2 |
2 files changed, 13 insertions, 5 deletions
diff --git a/pkgs/development/pharo/vm/build-vm.nix b/pkgs/development/pharo/vm/build-vm.nix index 054b64db732..cb4dd776f61 100644 --- a/pkgs/development/pharo/vm/build-vm.nix +++ b/pkgs/development/pharo/vm/build-vm.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, libuuid, autoreconfHook, gcc6, ... }: +{ stdenv, fetchurl, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, libuuid, autoreconfHook, gcc48, ... }: { name, src, version, source-date, source-url, ... }: @@ -26,7 +26,9 @@ stdenv.mkDerivation rec { pharo-share = import ./share.nix { inherit stdenv fetchurl unzip; }; # Note: -fPIC causes the VM to segfault. - hardeningDisable = [ "format" "pic" ]; + hardeningDisable = [ "format" "pic" + # while the VM depends on <= gcc48: + "stackprotector" ]; # Regenerate the configure script. # Unnecessary? But the build breaks without this. @@ -94,8 +96,14 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - # Note: Force gcc6 because gcc5 crashes when compiling the VM. - buildInputs = [ bash unzip glibc openssl gcc6 mesa freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share libuuid autoreconfHook ]; + # 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.) + buildInputs = [ bash unzip glibc openssl gcc48 mesa freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share libuuid autoreconfHook ]; meta = { description = "Clean and innovative Smalltalk-inspired environment"; diff --git a/pkgs/development/pharo/vm/vms.nix b/pkgs/development/pharo/vm/vms.nix index bd1bddc69e9..5258f4f6e77 100644 --- a/pkgs/development/pharo/vm/vms.nix +++ b/pkgs/development/pharo/vm/vms.nix @@ -1,4 +1,4 @@ -{ cmake, stdenv, fetchurl, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, libuuid, autoreconfHook, gcc6, fetchFromGitHub, makeWrapper} @args: +{ cmake, stdenv, fetchurl, bash, unzip, glibc, openssl, gcc, mesa, freetype, xorg, alsaLib, cairo, libuuid, autoreconfHook, gcc48, fetchFromGitHub, makeWrapper} @args: let pharo-vm-build = import ./build-vm.nix args; |