Merge pull request #242621 from OPNA2608/darwin/wildmidi

wildmidi: Enable on Darwin & refactor config, gst-plugins-bad: enable wildmidi on Darwin

authored by

Lily Foster and committed by
GitHub
7c2092fa 034c3854

+29 -14
+1 -4
pkgs/development/libraries/gstreamer/bad/default.nix
··· 192 192 libfreeaptx 193 193 zxing-cpp 194 194 usrsctp 195 + wildmidi 195 196 ] ++ lib.optionals opencvSupport [ 196 197 opencv4 197 198 ] ++ lib.optionals enableZbar [ ··· 212 213 wayland 213 214 wayland-protocols 214 215 ] ++ lib.optionals (!stdenv.isDarwin) [ 215 - # wildmidi requires apple's OpenAL 216 - # TODO: package apple's OpenAL, fix wildmidi, include on Darwin 217 - wildmidi 218 216 # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin 219 217 mjpegtools 220 218 ··· 318 316 "-Duvch264=disabled" # requires gudev 319 317 "-Dv4l2codecs=disabled" # requires gudev 320 318 "-Dladspa=disabled" # requires lrdf 321 - "-Dwildmidi=disabled" # see dependencies above 322 319 ] ++ lib.optionals (!stdenv.isLinux || !stdenv.isx86_64) [ 323 320 "-Dqsv=disabled" # Linux (and Windows) x86 only 324 321 ] ++ lib.optionals (!gst-plugins-base.glEnabled) [
+25 -9
pkgs/development/libraries/wildmidi/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, alsa-lib, freepats }: 1 + { lib, stdenv, fetchFromGitHub, writeTextFile, cmake, alsa-lib, OpenAL, freepats }: 2 2 3 + let 4 + defaultCfgPath = "${placeholder "out"}/etc/wildmidi/wildmidi.cfg"; 5 + in 3 6 stdenv.mkDerivation rec { 4 7 pname = "wildmidi"; 5 8 version = "0.4.5"; ··· 13 16 14 17 nativeBuildInputs = [ cmake ]; 15 18 16 - buildInputs = [ alsa-lib stdenv.cc.libc/*couldn't find libm*/ ]; 19 + buildInputs = lib.optionals stdenv.buildPlatform.isLinux [ 20 + alsa-lib stdenv.cc.libc/*couldn't find libm*/ 21 + ] ++ lib.optionals stdenv.buildPlatform.isDarwin [ 22 + OpenAL 23 + ]; 17 24 18 25 preConfigure = '' 19 - substituteInPlace CMakeLists.txt \ 20 - --replace /etc/wildmidi $out/etc 21 26 # https://github.com/Mindwerks/wildmidi/issues/236 22 27 substituteInPlace src/wildmidi.pc.in \ 23 28 --replace '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \ 24 29 --replace '$'{exec_prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ 25 30 ''; 26 31 27 - postInstall = '' 28 - mkdir "$out"/etc 29 - echo "dir ${freepats}" > "$out"/etc/wildmidi.cfg 30 - echo "source ${freepats}/freepats.cfg" >> "$out"/etc/wildmidi.cfg 32 + cmakeFlags = [ 33 + "-DWILDMIDI_CFG=${defaultCfgPath}" 34 + ]; 35 + 36 + postInstall = let 37 + defaultCfg = writeTextFile { 38 + name = "wildmidi.cfg"; 39 + text = '' 40 + dir ${freepats} 41 + source ${freepats}/freepats.cfg 42 + ''; 43 + }; 44 + in '' 45 + mkdir -p "$(dirname ${defaultCfgPath})" 46 + ln -s ${defaultCfg} ${defaultCfgPath} 31 47 ''; 32 48 33 49 meta = with lib; { ··· 39 55 homepage = "https://wildmidi.sourceforge.net/"; 40 56 # The library is LGPLv3, the wildmidi executable is GPLv3 41 57 license = licenses.lgpl3; 42 - platforms = platforms.linux; 58 + platforms = platforms.unix; 43 59 maintainers = [ maintainers.bjornfor ]; 44 60 }; 45 61 }
+3 -1
pkgs/top-level/all-packages.nix
··· 25137 25137 25138 25138 whereami = callPackage ../development/libraries/whereami { }; 25139 25139 25140 - wildmidi = callPackage ../development/libraries/wildmidi { }; 25140 + wildmidi = callPackage ../development/libraries/wildmidi { 25141 + inherit (darwin.apple_sdk.frameworks) OpenAL; 25142 + }; 25141 25143 25142 25144 wiredtiger = callPackage ../development/libraries/wiredtiger { }; 25143 25145