summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlwin Berger <alwin.berger@tu-dortmund.de>2021-02-23 19:32:29 +0100
committerAlwin Berger <alwin.berger@tu-dortmund.de>2021-02-24 13:57:43 +0100
commitb01f6c43aff4a675ab408fe3a7a2a84fc306e593 (patch)
treea370fa12a95c54ef8951e3afedf42b6268f65a5c
parentc2b65f7f91a5bf2eb25e0d63b14a425213f628ad (diff)
downloadnixpkgs-b01f6c43aff4a675ab408fe3a7a2a84fc306e593.tar
nixpkgs-b01f6c43aff4a675ab408fe3a7a2a84fc306e593.tar.gz
nixpkgs-b01f6c43aff4a675ab408fe3a7a2a84fc306e593.tar.bz2
nixpkgs-b01f6c43aff4a675ab408fe3a7a2a84fc306e593.tar.lz
nixpkgs-b01f6c43aff4a675ab408fe3a7a2a84fc306e593.tar.xz
nixpkgs-b01f6c43aff4a675ab408fe3a7a2a84fc306e593.tar.zst
nixpkgs-b01f6c43aff4a675ab408fe3a7a2a84fc306e593.zip
io: add static linking
When executing the programm the libraries were relinking to libm.so and
segfaulting
Since the libs in question are all <1MB when staticly linked this seemed like an easy workaround
To find future regression the interpreter will be called in
installCheckPhase

io: add install check
-rw-r--r--pkgs/development/interpreters/io/default.nix11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix
index 3b2cb9a57ac..d1f4ac02fc8 100644
--- a/pkgs/development/interpreters/io/default.nix
+++ b/pkgs/development/interpreters/io/default.nix
@@ -40,6 +40,17 @@ stdenv.mkDerivation {
     sed -ie \
           "s/add_subdirectory(addons)/#add_subdirectory(addons)/g" \
           CMakeLists.txt
+    # Bind Libs STATIC to avoid a segfault when relinking
+    sed -i 's/basekit SHARED/basekit STATIC/' libs/basekit/CMakeLists.txt
+    sed -i 's/garbagecollector SHARED/garbagecollector STATIC/' libs/garbagecollector/CMakeLists.txt
+    sed -i 's/coroutine SHARED/coroutine STATIC/' libs/coroutine/CMakeLists.txt
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    $out/bin/io
+    $out/bin/io_static
   '';
 
   # for gcc5; c11 inline semantics breaks the build