Merge pull request #242621 from OPNA2608/darwin/wildmidi

wildmidi: Enable on Darwin & refactor config, gst-plugins-bad: enable wildmidi on Darwin
This commit is contained in:
Lily Foster 2023-07-16 18:56:07 -04:00 committed by GitHub
commit 7c2092faba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 14 deletions

View File

@ -192,6 +192,7 @@ stdenv.mkDerivation rec {
libfreeaptx libfreeaptx
zxing-cpp zxing-cpp
usrsctp usrsctp
wildmidi
] ++ lib.optionals opencvSupport [ ] ++ lib.optionals opencvSupport [
opencv4 opencv4
] ++ lib.optionals enableZbar [ ] ++ lib.optionals enableZbar [
@ -212,9 +213,6 @@ stdenv.mkDerivation rec {
wayland wayland
wayland-protocols wayland-protocols
] ++ lib.optionals (!stdenv.isDarwin) [ ] ++ lib.optionals (!stdenv.isDarwin) [
# wildmidi requires apple's OpenAL
# TODO: package apple's OpenAL, fix wildmidi, include on Darwin
wildmidi
# TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
mjpegtools mjpegtools
@ -318,7 +316,6 @@ stdenv.mkDerivation rec {
"-Duvch264=disabled" # requires gudev "-Duvch264=disabled" # requires gudev
"-Dv4l2codecs=disabled" # requires gudev "-Dv4l2codecs=disabled" # requires gudev
"-Dladspa=disabled" # requires lrdf "-Dladspa=disabled" # requires lrdf
"-Dwildmidi=disabled" # see dependencies above
] ++ lib.optionals (!stdenv.isLinux || !stdenv.isx86_64) [ ] ++ lib.optionals (!stdenv.isLinux || !stdenv.isx86_64) [
"-Dqsv=disabled" # Linux (and Windows) x86 only "-Dqsv=disabled" # Linux (and Windows) x86 only
] ++ lib.optionals (!gst-plugins-base.glEnabled) [ ] ++ lib.optionals (!gst-plugins-base.glEnabled) [

View File

@ -1,5 +1,8 @@
{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib, freepats }: { lib, stdenv, fetchFromGitHub, writeTextFile, cmake, alsa-lib, OpenAL, freepats }:
let
defaultCfgPath = "${placeholder "out"}/etc/wildmidi/wildmidi.cfg";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wildmidi"; pname = "wildmidi";
version = "0.4.5"; version = "0.4.5";
@ -13,21 +16,34 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ alsa-lib stdenv.cc.libc/*couldn't find libm*/ ]; buildInputs = lib.optionals stdenv.buildPlatform.isLinux [
alsa-lib stdenv.cc.libc/*couldn't find libm*/
] ++ lib.optionals stdenv.buildPlatform.isDarwin [
OpenAL
];
preConfigure = '' preConfigure = ''
substituteInPlace CMakeLists.txt \
--replace /etc/wildmidi $out/etc
# https://github.com/Mindwerks/wildmidi/issues/236 # https://github.com/Mindwerks/wildmidi/issues/236
substituteInPlace src/wildmidi.pc.in \ substituteInPlace src/wildmidi.pc.in \
--replace '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \ --replace '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \
--replace '$'{exec_prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ --replace '$'{exec_prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@
''; '';
postInstall = '' cmakeFlags = [
mkdir "$out"/etc "-DWILDMIDI_CFG=${defaultCfgPath}"
echo "dir ${freepats}" > "$out"/etc/wildmidi.cfg ];
echo "source ${freepats}/freepats.cfg" >> "$out"/etc/wildmidi.cfg
postInstall = let
defaultCfg = writeTextFile {
name = "wildmidi.cfg";
text = ''
dir ${freepats}
source ${freepats}/freepats.cfg
'';
};
in ''
mkdir -p "$(dirname ${defaultCfgPath})"
ln -s ${defaultCfg} ${defaultCfgPath}
''; '';
meta = with lib; { meta = with lib; {
@ -39,7 +55,7 @@ stdenv.mkDerivation rec {
homepage = "https://wildmidi.sourceforge.net/"; homepage = "https://wildmidi.sourceforge.net/";
# The library is LGPLv3, the wildmidi executable is GPLv3 # The library is LGPLv3, the wildmidi executable is GPLv3
license = licenses.lgpl3; license = licenses.lgpl3;
platforms = platforms.linux; platforms = platforms.unix;
maintainers = [ maintainers.bjornfor ]; maintainers = [ maintainers.bjornfor ];
}; };
} }

View File

@ -25137,7 +25137,9 @@ with pkgs;
whereami = callPackage ../development/libraries/whereami { }; whereami = callPackage ../development/libraries/whereami { };
wildmidi = callPackage ../development/libraries/wildmidi { }; wildmidi = callPackage ../development/libraries/wildmidi {
inherit (darwin.apple_sdk.frameworks) OpenAL;
};
wiredtiger = callPackage ../development/libraries/wiredtiger { }; wiredtiger = callPackage ../development/libraries/wiredtiger { };