Loading pkgs/applications/audio/musescore/darwin.nixdeleted 100644 → 0 +0 −35 Original line number Diff line number Diff line { stdenv, lib, fetchurl, undmg }: let versionComponents = [ "4" "0" "1" ]; appName = "MuseScore ${builtins.head versionComponents}"; ref = "230121751"; in stdenv.mkDerivation rec { pname = "musescore-darwin"; version = lib.concatStringsSep "." versionComponents; # The disk image contains the .app and a symlink to /Applications. sourceRoot = "${appName}.app"; src = fetchurl { url = "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.${ref}.dmg"; hash = "sha256-tkIEV+tCS0SYh2TlC70/zEBUEOSg//EaSKDGA7kH/vo="; }; buildInputs = [ undmg ]; installPhase = '' mkdir -p "$out/Applications/${appName}.app" cp -R . "$out/Applications/${appName}.app" chmod a+x "$out/Applications/${appName}.app/Contents/MacOS/mscore" ''; meta = with lib; { description = "Music notation and composition software"; homepage = "https://musescore.org/"; license = licenses.gpl3Only; platforms = platforms.darwin; maintainers = []; }; } pkgs/applications/audio/musescore/default.nix +112 −24 Original line number Diff line number Diff line { mkDerivation, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, ninja , alsa-lib, freetype, libjack2, lame, libogg, libpulseaudio, libsndfile, libvorbis , portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects, flac , qtquickcontrols2, qtscript, qtsvg, qttools , qtwebengine, qtxmlpatterns, qtnetworkauth, qtx11extras { stdenv , lib , fetchFromGitHub , fetchpatch , cmake , wrapQtAppsHook , pkg-config , ninja , alsa-lib , freetype , libjack2 , lame , libogg , libpulseaudio , libsndfile , libvorbis , portaudio , portmidi , qtbase , qtdeclarative , qtgraphicaleffects , flac , qtquickcontrols , qtquickcontrols2 , qtscript , qtsvg , qtxmlpatterns , qtnetworkauth , qtx11extras , nixosTests , darwin }: mkDerivation rec { let stdenv' = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; # portaudio propagates Darwin frameworks. Rebuild it using the 11.0 stdenv # from Qt and the 11.0 SDK frameworks. portaudio' = if stdenv.isDarwin then portaudio.override { stdenv = stdenv'; inherit (darwin.apple_sdk_11_0.frameworks) AudioUnit AudioToolbox CoreAudio CoreServices Carbon ; } else portaudio; in stdenv'.mkDerivation rec { pname = "musescore"; version = "4.0.2"; version = "4.1.0"; src = fetchFromGitHub { owner = "musescore"; repo = "MuseScore"; rev = "v${version}"; sha256 = "sha256-3NSHUdTyAC/WOhkB6yBrqtV3LV4Hl1m3poB3ojtJMfs="; sha256 = "sha256-CqW1f0VsF2lW79L3FY2ev+6FoHLbYOJ9LWHeBlWegeU="; }; patches = [ # See https://github.com/musescore/MuseScore/issues/15571 # Upstream from some reason wants to install qml files from qtbase in # installPhase, this patch removes this behavior. See: # https://github.com/musescore/MuseScore/issues/18665 (fetchpatch { url = "https://github.com/musescore/MuseScore/commit/365be5dfb7296ebee4677cb74b67c1721bc2cf7b.patch"; hash = "sha256-tJ2M21i3geO9OsjUQKNatSXTkJ5U9qMT4RLNdJnyoKw="; url = "https://github.com/doronbehar/MuseScore/commit/f48448a3ede46f5a7ef470940072fbfb6742487c.patch"; hash = "sha256-UEc7auscnW0KMfWkLKQtm+UstuTNsuFeoNJYIidIlwM="; }) ]; cmakeFlags = [ "-DMUSESCORE_BUILD_CONFIG=release" # Disable the _usage_ of the `/bin/crashpad_handler` utility. See: # https://github.com/musescore/MuseScore/pull/15577 "-DBUILD_CRASHPAD_CLIENT=OFF" "-DMUSESCORE_BUILD_MODE=release" # Disable the build and usage of the `/bin/crashpad_handler` utility - it's # not useful on NixOS, see: # https://github.com/musescore/MuseScore/issues/15571 "-DMUE_BUILD_CRASHPAD_CLIENT=OFF" # Use our freetype "-DUSE_SYSTEM_FREETYPE=ON" # From some reason, in $src/build/cmake/SetupBuildEnvironment.cmake, # upstream defaults to compiling to x86_64 only, unless this cmake flag is # set "-DMUE_COMPILE_BUILD_MACOS_APPLE_SILICON=ON" # Don't bundle qt qml files, relevant really only for darwin, but we set # this for all platforms anyway. "-DMUE_COMPILE_INSTALL_QTQML_FILES=OFF" ]; qtWrapperArgs = [ # MuseScore JACK backend loads libjack at runtime. "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}" "--prefix ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}" ] ++ lib.optionals (!stdenv.isDarwin) [ # There are some issues with using the wayland backend, see: # https://musescore.org/en/node/321936 "--set-default QT_QPA_PLATFORM xcb" ]; nativeBuildInputs = [ cmake pkg-config ninja ]; # HACK `propagatedSandboxProfile` does not appear to actually propagate the # sandbox profile from `qtbase`, see: # https://github.com/NixOS/nixpkgs/issues/237458 sandboxProfile = toString qtbase.__propagatedSandboxProfile or null; nativeBuildInputs = [ wrapQtAppsHook cmake pkg-config ninja ]; buildInputs = [ alsa-lib libjack2 freetype lame libogg libpulseaudio libsndfile libvorbis portaudio portmidi flac # tesseract qtbase qtdeclarative qtgraphicaleffects qtquickcontrols2 qtscript qtsvg qttools qtwebengine qtxmlpatterns qtnetworkauth qtx11extras libjack2 freetype lame libogg libpulseaudio libsndfile libvorbis portaudio' portmidi flac qtbase qtdeclarative qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtsvg qtxmlpatterns qtnetworkauth qtx11extras ] ++ lib.optionals stdenv.isLinux [ alsa-lib ]; postInstall = '' # Remove unneeded bundled libraries and headers rm -r $out/{include,lib} '' + lib.optionalString stdenv.isDarwin '' mkdir -p "$out/Applications" mv "$out/mscore.app" "$out/Applications/mscore.app" mkdir -p $out/bin ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore. ''; passthru.tests = nixosTests.musescore; meta = with lib; { Loading @@ -57,9 +145,9 @@ mkDerivation rec { homepage = "https://musescore.org/"; license = licenses.gpl3Only; maintainers = with maintainers; [ vandenoever turion doronbehar ]; # Darwin requires CoreMIDI from SDK 11.3, we use the upstream built .dmg # file in ./darwin.nix in the meantime. platforms = platforms.linux; # on aarch64-linux: # error: cannot convert '<brace-enclosed initializer list>' to 'float32x4_t' in assignment broken = (stdenv.isLinux && stdenv.isAarch64); mainProgram = "mscore"; }; } pkgs/top-level/all-packages.nix +1 −6 Original line number Diff line number Diff line Loading @@ -33441,12 +33441,7 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; # TODO: we should probably merge these 2 musescore = if stdenv.isDarwin then callPackage ../applications/audio/musescore/darwin.nix { } else libsForQt5.callPackage ../applications/audio/musescore { }; musescore = libsForQt5.callPackage ../applications/audio/musescore { }; music-player = callPackage ../applications/audio/music-player { }; Loading
pkgs/applications/audio/musescore/darwin.nixdeleted 100644 → 0 +0 −35 Original line number Diff line number Diff line { stdenv, lib, fetchurl, undmg }: let versionComponents = [ "4" "0" "1" ]; appName = "MuseScore ${builtins.head versionComponents}"; ref = "230121751"; in stdenv.mkDerivation rec { pname = "musescore-darwin"; version = lib.concatStringsSep "." versionComponents; # The disk image contains the .app and a symlink to /Applications. sourceRoot = "${appName}.app"; src = fetchurl { url = "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.${ref}.dmg"; hash = "sha256-tkIEV+tCS0SYh2TlC70/zEBUEOSg//EaSKDGA7kH/vo="; }; buildInputs = [ undmg ]; installPhase = '' mkdir -p "$out/Applications/${appName}.app" cp -R . "$out/Applications/${appName}.app" chmod a+x "$out/Applications/${appName}.app/Contents/MacOS/mscore" ''; meta = with lib; { description = "Music notation and composition software"; homepage = "https://musescore.org/"; license = licenses.gpl3Only; platforms = platforms.darwin; maintainers = []; }; }
pkgs/applications/audio/musescore/default.nix +112 −24 Original line number Diff line number Diff line { mkDerivation, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, ninja , alsa-lib, freetype, libjack2, lame, libogg, libpulseaudio, libsndfile, libvorbis , portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects, flac , qtquickcontrols2, qtscript, qtsvg, qttools , qtwebengine, qtxmlpatterns, qtnetworkauth, qtx11extras { stdenv , lib , fetchFromGitHub , fetchpatch , cmake , wrapQtAppsHook , pkg-config , ninja , alsa-lib , freetype , libjack2 , lame , libogg , libpulseaudio , libsndfile , libvorbis , portaudio , portmidi , qtbase , qtdeclarative , qtgraphicaleffects , flac , qtquickcontrols , qtquickcontrols2 , qtscript , qtsvg , qtxmlpatterns , qtnetworkauth , qtx11extras , nixosTests , darwin }: mkDerivation rec { let stdenv' = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; # portaudio propagates Darwin frameworks. Rebuild it using the 11.0 stdenv # from Qt and the 11.0 SDK frameworks. portaudio' = if stdenv.isDarwin then portaudio.override { stdenv = stdenv'; inherit (darwin.apple_sdk_11_0.frameworks) AudioUnit AudioToolbox CoreAudio CoreServices Carbon ; } else portaudio; in stdenv'.mkDerivation rec { pname = "musescore"; version = "4.0.2"; version = "4.1.0"; src = fetchFromGitHub { owner = "musescore"; repo = "MuseScore"; rev = "v${version}"; sha256 = "sha256-3NSHUdTyAC/WOhkB6yBrqtV3LV4Hl1m3poB3ojtJMfs="; sha256 = "sha256-CqW1f0VsF2lW79L3FY2ev+6FoHLbYOJ9LWHeBlWegeU="; }; patches = [ # See https://github.com/musescore/MuseScore/issues/15571 # Upstream from some reason wants to install qml files from qtbase in # installPhase, this patch removes this behavior. See: # https://github.com/musescore/MuseScore/issues/18665 (fetchpatch { url = "https://github.com/musescore/MuseScore/commit/365be5dfb7296ebee4677cb74b67c1721bc2cf7b.patch"; hash = "sha256-tJ2M21i3geO9OsjUQKNatSXTkJ5U9qMT4RLNdJnyoKw="; url = "https://github.com/doronbehar/MuseScore/commit/f48448a3ede46f5a7ef470940072fbfb6742487c.patch"; hash = "sha256-UEc7auscnW0KMfWkLKQtm+UstuTNsuFeoNJYIidIlwM="; }) ]; cmakeFlags = [ "-DMUSESCORE_BUILD_CONFIG=release" # Disable the _usage_ of the `/bin/crashpad_handler` utility. See: # https://github.com/musescore/MuseScore/pull/15577 "-DBUILD_CRASHPAD_CLIENT=OFF" "-DMUSESCORE_BUILD_MODE=release" # Disable the build and usage of the `/bin/crashpad_handler` utility - it's # not useful on NixOS, see: # https://github.com/musescore/MuseScore/issues/15571 "-DMUE_BUILD_CRASHPAD_CLIENT=OFF" # Use our freetype "-DUSE_SYSTEM_FREETYPE=ON" # From some reason, in $src/build/cmake/SetupBuildEnvironment.cmake, # upstream defaults to compiling to x86_64 only, unless this cmake flag is # set "-DMUE_COMPILE_BUILD_MACOS_APPLE_SILICON=ON" # Don't bundle qt qml files, relevant really only for darwin, but we set # this for all platforms anyway. "-DMUE_COMPILE_INSTALL_QTQML_FILES=OFF" ]; qtWrapperArgs = [ # MuseScore JACK backend loads libjack at runtime. "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}" "--prefix ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}" ] ++ lib.optionals (!stdenv.isDarwin) [ # There are some issues with using the wayland backend, see: # https://musescore.org/en/node/321936 "--set-default QT_QPA_PLATFORM xcb" ]; nativeBuildInputs = [ cmake pkg-config ninja ]; # HACK `propagatedSandboxProfile` does not appear to actually propagate the # sandbox profile from `qtbase`, see: # https://github.com/NixOS/nixpkgs/issues/237458 sandboxProfile = toString qtbase.__propagatedSandboxProfile or null; nativeBuildInputs = [ wrapQtAppsHook cmake pkg-config ninja ]; buildInputs = [ alsa-lib libjack2 freetype lame libogg libpulseaudio libsndfile libvorbis portaudio portmidi flac # tesseract qtbase qtdeclarative qtgraphicaleffects qtquickcontrols2 qtscript qtsvg qttools qtwebengine qtxmlpatterns qtnetworkauth qtx11extras libjack2 freetype lame libogg libpulseaudio libsndfile libvorbis portaudio' portmidi flac qtbase qtdeclarative qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtsvg qtxmlpatterns qtnetworkauth qtx11extras ] ++ lib.optionals stdenv.isLinux [ alsa-lib ]; postInstall = '' # Remove unneeded bundled libraries and headers rm -r $out/{include,lib} '' + lib.optionalString stdenv.isDarwin '' mkdir -p "$out/Applications" mv "$out/mscore.app" "$out/Applications/mscore.app" mkdir -p $out/bin ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore. ''; passthru.tests = nixosTests.musescore; meta = with lib; { Loading @@ -57,9 +145,9 @@ mkDerivation rec { homepage = "https://musescore.org/"; license = licenses.gpl3Only; maintainers = with maintainers; [ vandenoever turion doronbehar ]; # Darwin requires CoreMIDI from SDK 11.3, we use the upstream built .dmg # file in ./darwin.nix in the meantime. platforms = platforms.linux; # on aarch64-linux: # error: cannot convert '<brace-enclosed initializer list>' to 'float32x4_t' in assignment broken = (stdenv.isLinux && stdenv.isAarch64); mainProgram = "mscore"; }; }
pkgs/top-level/all-packages.nix +1 −6 Original line number Diff line number Diff line Loading @@ -33441,12 +33441,7 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; # TODO: we should probably merge these 2 musescore = if stdenv.isDarwin then callPackage ../applications/audio/musescore/darwin.nix { } else libsForQt5.callPackage ../applications/audio/musescore { }; musescore = libsForQt5.callPackage ../applications/audio/musescore { }; music-player = callPackage ../applications/audio/music-player { };