summary refs log tree commit diff
diff options
context:
space:
mode:
authorDmitry Bogatov <serenity@kaction.cc>2023-01-10 19:01:11 -0500
committerYt <happysalada@proton.me>2023-02-12 13:18:46 -0500
commit804349a87a1f11a87a9687e5c0fae8587d42a178 (patch)
treefee4173d31ec24908bc0b94b506ef895d19111b6
parentccdb8d200f605fe25707bf4a0f3846ae15208960 (diff)
downloadnixpkgs-804349a87a1f11a87a9687e5c0fae8587d42a178.tar
nixpkgs-804349a87a1f11a87a9687e5c0fae8587d42a178.tar.gz
nixpkgs-804349a87a1f11a87a9687e5c0fae8587d42a178.tar.bz2
nixpkgs-804349a87a1f11a87a9687e5c0fae8587d42a178.tar.lz
nixpkgs-804349a87a1f11a87a9687e5c0fae8587d42a178.tar.xz
nixpkgs-804349a87a1f11a87a9687e5c0fae8587d42a178.tar.zst
nixpkgs-804349a87a1f11a87a9687e5c0fae8587d42a178.zip
pkgsStatic.stfl: fix build
-rw-r--r--pkgs/development/libraries/stfl/default.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/pkgs/development/libraries/stfl/default.nix b/pkgs/development/libraries/stfl/default.nix
index 1ed1a05004b..845e815be59 100644
--- a/pkgs/development/libraries/stfl/default.nix
+++ b/pkgs/development/libraries/stfl/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1460d5lc780p3q38l3wc9jfr2a7zlyrcra0li65aynj738cam9yl";
   };
 
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   buildInputs = [ ncurses libiconv ];
 
   preBuild = ''
@@ -16,12 +18,22 @@ stdenv.mkDerivation rec {
     sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h
   '' + lib.optionalString stdenv.isDarwin ''
     sed -i s/-soname/-install_name/ Makefile
-  '';
+  ''
+  # upstream builds shared library unconditionally. Also, it has no
+  # support for cross-compilation.
+  + lib.optionalString stdenv.hostPlatform.isStatic ''
+    sed -i 's/all:.*/all: libstfl.a stfl.pc/' Makefile
+    sed -i 's/\tar /\t${stdenv.cc.targetPrefix}ar /' Makefile
+    sed -i 's/\tranlib /\t${stdenv.cc.targetPrefix}ranlib /' Makefile
+    sed -i '/install -m 644 libstfl.so./d' Makefile
+    sed -i '/ln -fs libstfl.so./d' Makefile
+  '' ;
 
   installPhase = ''
     DESTDIR=$out prefix=\"\" make install
-
-    # some programs rely on libstfl.so.0 to be present, so link it
+  ''
+  # some programs rely on libstfl.so.0 to be present, so link it
+  + lib.optionalString (!stdenv.hostPlatform.isStatic) ''
     ln -s $out/lib/libstfl.so.0.24 $out/lib/libstfl.so.0
   '';