about summary refs log tree commit diff
path: root/pkgs/tools/misc/timidity/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-11-01 09:48:59 +0000
committerAlyssa Ross <hi@alyssa.is>2021-11-11 16:24:21 +0000
commit8daf69629cfd071d58cbb3b6f54a9321514ec5ba (patch)
treee7093d112671b3f6c642dbe34eeefb01f37e9af6 /pkgs/tools/misc/timidity/default.nix
parent00dce9574b7ac679b058dc8398d5403f9b44eca2 (diff)
timidity: fix cross
Diffstat (limited to 'pkgs/tools/misc/timidity/default.nix')
-rw-r--r--pkgs/tools/misc/timidity/default.nix20
1 files changed, 19 insertions, 1 deletions
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 42d6d5da4e087..1f0e68bb9c078 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, alsa-lib, libjack2, CoreAudio, ncurses, pkg-config }:
+{ lib, stdenv, fetchurl
+, pkg-config, buildPackages
+, CoreAudio, alsa-lib, libjack2, ncurses
+}:
 
 stdenv.mkDerivation rec {
   pname = "timidity";
@@ -23,12 +26,20 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--enable-ncurses"
+    "lib_cv_va_copy=yes"
+    "lib_cv___va_copy=yes"
   ] ++ lib.optionals stdenv.isLinux [
     "--enable-audio=oss,alsa,jack"
     "--enable-alsaseq"
     "--with-default-output=alsa"
+    "lib_cv_va_val_copy=yes"
   ] ++ lib.optionals stdenv.isDarwin [
     "--enable-audio=darwin,jack"
+    "lib_cv_va_val_copy=no"
+  ];
+
+  makeFlags = [
+    "AR=${stdenv.cc.targetPrefix}ar"
   ];
 
   NIX_LDFLAGS = "-ljack -L${libjack2}/lib";
@@ -38,6 +49,13 @@ stdenv.mkDerivation rec {
     sha256 = "0lsh9l8l5h46z0y8ybsjd4pf6c22n33jsjvapfv3rjlfnasnqw67";
   };
 
+  preBuild = ''
+    # calcnewt has to be built with the host compiler.
+    ${buildPackages.stdenv.cc}/bin/cc -o timidity/calcnewt -lm timidity/calcnewt.c
+    # Remove dependencies of calcnewt so it doesn't try to remake it.
+    sed -i 's/^\(calcnewt\$(EXEEXT):\).*/\1/g' timidity/Makefile
+  '';
+
   # the instruments could be compressed (?)
   postInstall = ''
     mkdir -p $out/share/timidity/;