Merge pull request #253725 from reckenrode/timidity-fix

timidity: fix build with clang 16
This commit is contained in:
toonn 2023-10-09 20:29:19 +02:00 committed by GitHub
commit 74e1ad16f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 61 additions and 5 deletions

View file

@ -0,0 +1,33 @@
--- a/configure 2018-08-28 19:33:39.000000000 -0400
+++ b/configure 2023-09-05 19:44:27.311279263 -0400
@@ -6874,6 +6874,7 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -7731,6 +7732,7 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -10311,8 +10313,13 @@
if test "$cross_compiling" = yes; then
ac_cv_func_fork_works=cross
else
- cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
/* By Ruediger Kuhlmann. */
+ #include <stdlib.h>
#include <sys/types.h>
#if HAVE_UNISTD_H
# include <unistd.h>

View file

@ -1,6 +1,14 @@
{ lib, stdenv, fetchurl { lib
, pkg-config, buildPackages , stdenv
, CoreAudio, alsa-lib, libjack2, ncurses , fetchurl
, pkg-config
, memstreamHook
, CoreAudio
, libobjc
, libjack2
, ncurses
, alsa-lib
, buildPackages
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -12,9 +20,15 @@ stdenv.mkDerivation rec {
sha256 = "1xf8n6dqzvi6nr2asags12ijbj1lwk1hgl3s27vm2szib8ww07qn"; sha256 = "1xf8n6dqzvi6nr2asags12ijbj1lwk1hgl3s27vm2szib8ww07qn";
}; };
patches = [ ./timidity-iA-Oj.patch ]; patches = [
./timidity-iA-Oj.patch
# Fixes misdetection of features by clang 16. The configure script itself is patched because
# it is old and does not work nicely with autoreconfHook.
./configure-compat.patch
];
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ]
++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ memstreamHook ];
buildInputs = [ buildInputs = [
libjack2 libjack2
ncurses ncurses
@ -22,6 +36,7 @@ stdenv.mkDerivation rec {
alsa-lib alsa-lib
] ++ lib.optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
CoreAudio CoreAudio
libobjc
]; ];
configureFlags = [ configureFlags = [
@ -36,6 +51,13 @@ stdenv.mkDerivation rec {
] ++ lib.optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
"--enable-audio=darwin,jack" "--enable-audio=darwin,jack"
"lib_cv_va_val_copy=no" "lib_cv_va_val_copy=no"
"timidity_cv_ccoption_rdynamic=yes"
# These configure tests fail because of incompatible function pointer conversions.
"ac_cv_func_vprintf=yes"
"ac_cv_func_popen=yes"
"ac_cv_func_vsnprintf=yes"
"ac_cv_func_snprintf=yes"
"ac_cv_func_open_memstream=yes"
]; ];
makeFlags = [ makeFlags = [

View file

@ -36050,6 +36050,7 @@ with pkgs;
timidity = callPackage ../tools/misc/timidity { timidity = callPackage ../tools/misc/timidity {
inherit (darwin.apple_sdk.frameworks) CoreAudio; inherit (darwin.apple_sdk.frameworks) CoreAudio;
inherit (darwin) libobjc;
}; };
tint2 = callPackage ../applications/misc/tint2 { }; tint2 = callPackage ../applications/misc/tint2 { };