diff options
46 files changed, 377 insertions, 574 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a23a0413160e..7b1159d66715 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -414,7 +414,9 @@ in { mtp = handleTest ./mtp.nix {}; multipass = handleTest ./multipass.nix {}; mumble = handleTest ./mumble.nix {}; - musescore = handleTest ./musescore.nix {}; + # Fails on aarch64-linux at the PDF creation step - need to debug this on an + # aarch64 machine.. + musescore = handleTestOn ["x86_64-linux"] ./musescore.nix {}; munin = handleTest ./munin.nix {}; mutableUsers = handleTest ./mutable-users.nix {}; mxisd = handleTest ./mxisd.nix {}; diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix index ac2f4ba74c0f..6aeb0558a49d 100644 --- a/nixos/tests/musescore.nix +++ b/nixos/tests/musescore.nix @@ -2,13 +2,12 @@ import ./make-test-python.nix ({ pkgs, ...} : let # Make sure we don't have to go through the startup tutorial - customMuseScoreConfig = pkgs.writeText "MuseScore3.ini" '' + customMuseScoreConfig = pkgs.writeText "MuseScore4.ini" '' [application] - startup\firstStart=false + hasCompletedFirstLaunchSetup=true - [ui] - application\startup\showTours=false - application\startup\showStartCenter=false + [project] + preferredScoreCreationMode=1 ''; in { @@ -40,26 +39,43 @@ in # Inject custom settings machine.succeed("mkdir -p /root/.config/MuseScore/") machine.succeed( - "cp ${customMuseScoreConfig} /root/.config/MuseScore/MuseScore3.ini" + "cp ${customMuseScoreConfig} /root/.config/MuseScore/MuseScore4.ini" ) # Start MuseScore window machine.execute("DISPLAY=:0.0 mscore >&2 &") # Wait until MuseScore has launched - machine.wait_for_window("MuseScore") + machine.wait_for_window("MuseScore 4") # Wait until the window has completely initialised - machine.wait_for_text("MuseScore") + machine.wait_for_text("MuseScore 4") + + machine.screenshot("MuseScore0") + + # Create a new score + machine.send_key("ctrl-n") + + # Wait until the creation wizard appears + machine.wait_for_window("New score") + + machine.screenshot("MuseScore1") + + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("right") + machine.send_key("right") + machine.send_key("ret") + + machine.sleep(1) - # Start entering notes - machine.send_key("n") # Type the beginning of https://de.wikipedia.org/wiki/Alle_meine_Entchen machine.send_chars("cdef6gg5aaaa7g") - # Make sure the VM catches up with all the keys machine.sleep(1) - machine.screenshot("MuseScore0") + machine.screenshot("MuseScore2") # Go to the export dialogue and create a PDF machine.send_key("alt-f") @@ -67,24 +83,24 @@ in machine.send_key("e") # Wait until the export dialogue appears. - machine.wait_for_window("Export") - machine.screenshot("MuseScore1") - machine.send_key("shift-tab") - machine.sleep(1) + machine.wait_for_text("Export") + + machine.screenshot("MuseScore3") + machine.send_key("shift-tab") machine.sleep(1) machine.send_key("ret") machine.sleep(1) machine.send_key("ret") - machine.screenshot("MuseScore2") + machine.screenshot("MuseScore4") # Wait until PDF is exported - machine.wait_for_file("/root/Documents/MuseScore3/Scores/Untitled.pdf") + machine.wait_for_file('"/root/Documents/MuseScore4/Scores/Untitled score.pdf"') # Check that it contains the title of the score - machine.succeed("pdfgrep Title /root/Documents/MuseScore3/Scores/Untitled.pdf") + machine.succeed('pdfgrep "Untitled score" "/root/Documents/MuseScore4/Scores/Untitled score.pdf"') - machine.screenshot("MuseScore3") + machine.screenshot("MuseScore5") ''; }) diff --git a/nixos/tests/nextcloud/default.nix b/nixos/tests/nextcloud/default.nix index 350486e8c733..b8d3ba75b51a 100644 --- a/nixos/tests/nextcloud/default.nix +++ b/nixos/tests/nextcloud/default.nix @@ -26,4 +26,4 @@ foldl }; }) { } - [ 24 25 26 ] + [ 24 25 ] diff --git a/pkgs/applications/audio/musescore/darwin.nix b/pkgs/applications/audio/musescore/darwin.nix index 88b5d3b74c15..652adb03b66a 100644 --- a/pkgs/applications/audio/musescore/darwin.nix +++ b/pkgs/applications/audio/musescore/darwin.nix @@ -1,8 +1,9 @@ { stdenv, lib, fetchurl, undmg }: let - versionComponents = [ "3" "6" "2" "548020600" ]; + versionComponents = [ "4" "0" "1" ]; appName = "MuseScore ${builtins.head versionComponents}"; + ref = "230121751"; in stdenv.mkDerivation rec { @@ -13,8 +14,8 @@ stdenv.mkDerivation rec { sourceRoot = "${appName}.app"; src = fetchurl { - url = "https://github.com/musescore/MuseScore/releases/download/v${lib.concatStringsSep "." (lib.take 3 versionComponents)}/MuseScore-${version}.dmg"; - sha256 = "sha256-lHckfhTTrDzaGwlbnZ5w0O1gMPbRmrmgATIGMY517l0="; + url = "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.${ref}.dmg"; + hash = "sha256-tkIEV+tCS0SYh2TlC70/zEBUEOSg//EaSKDGA7kH/vo="; }; buildInputs = [ undmg ]; diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix index 573a78a92583..531ed8569d5d 100644 --- a/pkgs/applications/audio/musescore/default.nix +++ b/pkgs/applications/audio/musescore/default.nix @@ -1,28 +1,35 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, pkg-config +{ mkDerivation, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, ninja , alsa-lib, freetype, libjack2, lame, libogg, libpulseaudio, libsndfile, libvorbis -, portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects +, portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects, flac , qtquickcontrols2, qtscript, qtsvg, qttools -, qtwebengine, qtxmlpatterns +, qtwebengine, qtxmlpatterns, qtnetworkauth, qtx11extras , nixosTests }: mkDerivation rec { pname = "musescore"; - version = "3.6.2"; + version = "4.0.1"; src = fetchFromGitHub { owner = "musescore"; repo = "MuseScore"; rev = "v${version}"; - sha256 = "sha256-GBGAD/qdOhoNfDzI+O0EiKgeb86GFJxpci35T6tZ+2s="; + sha256 = "sha256-Xhjjm/pYcjfZE632eP2jujqUAmzdYNa81EPrvS5UKnQ="; }; - patches = [ - ./remove_qtwebengine_install_hack.patch + # See https://github.com/musescore/MuseScore/issues/15571 + (fetchpatch { + url = "https://github.com/musescore/MuseScore/commit/365be5dfb7296ebee4677cb74b67c1721bc2cf7b.patch"; + hash = "sha256-tJ2M21i3geO9OsjUQKNatSXTkJ5U9qMT4RLNdJnyoKw="; + }) ]; 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" + # Use our freetype "-DUSE_SYSTEM_FREETYPE=ON" ]; @@ -34,13 +41,13 @@ mkDerivation rec { "--set-default QT_QPA_PLATFORM xcb" ]; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ cmake pkg-config ninja ]; buildInputs = [ alsa-lib libjack2 freetype lame libogg libpulseaudio libsndfile libvorbis - portaudio portmidi # tesseract + portaudio portmidi flac # tesseract qtbase qtdeclarative qtgraphicaleffects qtquickcontrols2 - qtscript qtsvg qttools qtwebengine qtxmlpatterns + qtscript qtsvg qttools qtwebengine qtxmlpatterns qtnetworkauth qtx11extras ]; passthru.tests = nixosTests.musescore; @@ -48,8 +55,10 @@ mkDerivation rec { meta = with lib; { description = "Music notation and composition software"; homepage = "https://musescore.org/"; - license = licenses.gpl2; + 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; }; } diff --git a/pkgs/applications/audio/musescore/remove_qtwebengine_install_hack.patch b/pkgs/applications/audio/musescore/remove_qtwebengine_install_hack.patch deleted file mode 100644 index 57a6092d5852..000000000000 --- a/pkgs/applications/audio/musescore/remove_qtwebengine_install_hack.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/main/CMakeLists.txt -+++ b/main/CMakeLists.txt -@@ -220,16 +219,0 @@ else (MINGW) -- ## install qwebengine core -- if (NOT APPLE AND USE_WEBENGINE) -- install(PROGRAMS -- ${QT_INSTALL_LIBEXECS}/QtWebEngineProcess -- DESTINATION bin -- ) -- install(DIRECTORY -- ${QT_INSTALL_DATA}/resources -- DESTINATION lib/qt5 -- ) -- install(DIRECTORY -- ${QT_INSTALL_TRANSLATIONS}/qtwebengine_locales -- DESTINATION lib/qt5/translations -- ) -- endif(NOT APPLE AND USE_WEBENGINE) -- diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix index e062c35e80a6..d91f03a696a0 100644 --- a/pkgs/applications/misc/keepass/default.nix +++ b/pkgs/applications/misc/keepass/default.nix @@ -4,11 +4,11 @@ let inherit (builtins) add length readFile replaceStrings unsafeDiscardStringContext toString map; in buildDotnetPackage rec { pname = "keepass"; - version = "2.52"; + version = "2.53"; src = fetchurl { url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip"; - sha256 = "sha256-6dGCfysen26VGHIHETuNGkqHbPyeWRIEopqJa6AMzXA="; + hash = "sha256-wpXbLH9VyjJyb+KuQ8xmbik1jq+xqAFRxsxAuLM5MI0="; }; sourceRoot = "."; diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix index f71841c1af9a..15aa7d2d1b96 100644 --- a/pkgs/applications/misc/process-compose/default.nix +++ b/pkgs/applications/misc/process-compose/default.nix @@ -8,13 +8,13 @@ let config-module = "github.com/f1bonacc1/process-compose/src/config"; in buildGoModule rec { pname = "process-compose"; - version = "0.40.0"; + version = "0.40.1"; src = fetchFromGitHub { owner = "F1bonacc1"; repo = pname; rev = "v${version}"; - hash = "sha256-8gyALVW+ort76r/zevWAhZlJ/fg5DBmwUNvjZ21wWKY="; + hash = "sha256-riYrvg83mNdj4W8o/2cdZO+zie/WB+HVWXORJ4Uo/CE="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; diff --git a/pkgs/applications/misc/tvbrowser/default.nix b/pkgs/applications/misc/tvbrowser/default.nix index f076a020e2ee..afc810003932 100644 --- a/pkgs/applications/misc/tvbrowser/default.nix +++ b/pkgs/applications/misc/tvbrowser/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { version = "4.2.7"; src = fetchzip { - url = "mirror://sourceforge/${pname}/TV-Browser%20Releases%20%28Java%20${minimalJavaVersion}%20and%20higher%29/${version}/${pname}_${version}_src.tar.gz"; + url = "mirror://sourceforge/${pname}/TV-Browser%20Releases%20%28Java%20${minimalJavaVersion}%20and%20higher%29/${version}/${pname}_${version}_src.zip"; hash = "sha256-dmNfI6T0MU7UtMH+C/2hiAeDwZlFCB4JofQViZezoqI="; }; diff --git a/pkgs/applications/networking/cluster/civo/default.nix b/pkgs/applications/networking/cluster/civo/default.nix index 2fbbc9ad1d24..36429dc84dcf 100644 --- a/pkgs/applications/networking/cluster/civo/default.nix +++ b/pkgs/applications/networking/cluster/civo/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "civo"; - version = "1.0.45"; + version = "1.0.47"; src = fetchFromGitHub { owner = "civo"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-wYZC4eEvxvHgtb0l+kpP2msQgt8InJu59lgS5cwGxRI="; + sha256 = "sha256-iowBEtO+Ol6mFJrwLaDa88wsQB8nZEe9OFPuhbH4t1s="; }; - vendorHash = "sha256-42ZTPl4kI+dgr78s9WvLFchQU9uvkMkkio53REjvpbw="; + vendorHash = "sha256-QzTu6/iFK+CS8UXoXSVq3OTuwk/xcHnAX4UpCU/Scpk="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix index 141a17e34e2f..8ac275c1b928 100644 --- a/pkgs/applications/networking/cluster/k9s/default.nix +++ b/pkgs/applications/networking/cluster/k9s/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "k9s"; - version = "0.27.0"; + version = "0.27.2"; src = fetchFromGitHub { owner = "derailed"; repo = "k9s"; rev = "v${version}"; - sha256 = "sha256-optEMGB6izGlpcq2AJOY4lTt8igYBilE0Bg8KxE8AsU="; + sha256 = "sha256-9wdc3Wiqry8+q/60Y7mPzH0k4dp1nKIGinxfkYBaHJY="; }; ldflags = [ @@ -20,7 +20,7 @@ buildGoModule rec { tags = [ "netgo" ]; - vendorHash = "sha256-57JrBmund2hwcgqWkLos/h1EOgZQb9HfKUf1BX0MYGQ="; + vendorHash = "sha256-8H7siVl6gXifQOBOLtyCeDbYflhKjaIRmP0KOTWVJk0="; # TODO investigate why some config tests are failing doCheck = !(stdenv.isDarwin && stdenv.isAarch64); diff --git a/pkgs/applications/networking/instant-messengers/armcord/default.nix b/pkgs/applications/networking/instant-messengers/armcord/default.nix index 0c43ffbeea91..47d6db156279 100644 --- a/pkgs/applications/networking/instant-messengers/armcord/default.nix +++ b/pkgs/applications/networking/instant-messengers/armcord/default.nix @@ -33,6 +33,8 @@ , systemd , xdg-utils , xorg +, wayland +, pipewire }: stdenv.mkDerivation rec { @@ -97,6 +99,8 @@ stdenv.mkDerivation rec { xorg.libXScrnSaver xorg.libxshmfence xorg.libXtst + wayland + pipewire ]; sourceRoot = "."; @@ -114,9 +118,9 @@ stdenv.mkDerivation rec { makeWrapper $out/opt/ArmCord/armcord $out/bin/armcord \ "''${gappsWrapperArgs[@]}" \ --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WebRTCPipeWireCapturer }}" \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \ - --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \ - "''${gappsWrapperArgs[@]}" + --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} # Fix desktop link substituteInPlace $out/share/applications/armcord.desktop \ diff --git a/pkgs/applications/office/paper-note/default.nix b/pkgs/applications/office/paper-note/default.nix index e400c88df5dd..e9fdd485befd 100644 --- a/pkgs/applications/office/paper-note/default.nix +++ b/pkgs/applications/office/paper-note/default.nix @@ -49,13 +49,10 @@ stdenv.mkDerivation rec { --replace "1.2.0" "${libadwaita.version}" ''; - postInstall = '' - ln -s $out/bin/io.posidon.Paper $out/bin/paper - ''; - meta = with lib; { - description = "Take notes in Markdown"; - homepage = "https://posidon.io/paper/"; + description = "A pretty note-taking app for GNOME"; + homepage = "https://gitlab.com/posidon_software/paper"; + mainProgram = "io.posidon.Paper"; license = licenses.gpl3; platforms = platforms.unix; maintainers = with maintainers; [ j0lol ]; diff --git a/pkgs/applications/radio/gridtracker/default.nix b/pkgs/applications/radio/gridtracker/default.nix index cfb1f367ad80..9a48854ccc69 100644 --- a/pkgs/applications/radio/gridtracker/default.nix +++ b/pkgs/applications/radio/gridtracker/default.nix @@ -1,18 +1,19 @@ { lib , stdenv , fetchFromGitLab +, nix-update-script , nwjs }: stdenv.mkDerivation rec { pname = "gridtracker"; - version = "1.23.0110"; + version = "1.23.0206"; src = fetchFromGitLab { owner = "gridtracker.org"; repo = "gridtracker"; rev = "v${version}"; - sha256 = "sha256-yQWdBNt7maYTzroB+P1hsGIeivkP+soR3/b847HLYZY="; + sha256 = "sha256-XWjKJga9aQrMb0ZfA4ElsPU1CfMwFtwYSK1vjgtlKes="; }; postPatch = '' @@ -27,6 +28,8 @@ stdenv.mkDerivation rec { makeFlags = [ "DESTDIR=$(out)" "NO_DIST_INSTALL=1" ]; + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "An amateur radio companion to WSJT-X or JTDX"; longDescription = '' diff --git a/pkgs/applications/science/electronics/digital/default.nix b/pkgs/applications/science/electronics/digital/default.nix index 0515809dffeb..72b931f1d11c 100644 --- a/pkgs/applications/science/electronics/digital/default.nix +++ b/pkgs/applications/science/electronics/digital/default.nix @@ -4,8 +4,8 @@ let pkgDescription = "A digital logic designer and circuit simulator."; - version = "0.29"; - buildDate = "2022-02-11T18:10:34+01:00"; # v0.29 commit date + version = "0.30"; + buildDate = "2023-02-03T08:00:56+01:00"; # v0.30 commit date desktopItem = makeDesktopItem { type = "Application"; @@ -24,7 +24,8 @@ let # inspect the .git folder to find the version number we are building, we then # provide that version number manually as a property. # (see https://github.com/hneemann/Digital/issues/289#issuecomment-513721481) - mvnOptions = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate}"; + # Also use the commit date as a build and output timestamp. + mvnOptions = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate} -DbuildTimestamp=${buildDate}"; in stdenv.mkDerivation rec { pname = "digital"; @@ -33,20 +34,16 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "hneemann"; repo = "Digital"; - rev = "287dd939d6f2d4d02c0d883c6178c3425c28d39c"; - sha256 = "o5gaExUTTbk6WgQVw7/IeXhpNkj1BLkwD752snQqjIg="; + rev = "932791eb6486d04f2ea938d83bcdb71b56d3a3f6"; + sha256 = "cDykYlcFvDLFBy9UnX07iCR2LCq28SNU+h9vRT/AoJM="; }; - # Use fixed dates in the pom.xml and upgrade the jar and assembly plugins to - # a version where they support reproducible builds - patches = [ ./pom.xml.patch ]; - # Fetching maven dependencies from "central" needs the network at build phase, # we do that in this extra derivation that explicitely specifies its # outputHash to ensure determinism. mavenDeps = stdenv.mkDerivation { name = "${pname}-${version}-maven-deps"; - inherit src nativeBuildInputs version patches postPatch; + inherit src nativeBuildInputs version; dontFixup = true; buildPhase = '' mvn package ${mvnOptions} -Dmaven.repo.local=$out @@ -62,15 +59,11 @@ stdenv.mkDerivation rec { ''; outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "X5ppGUVwNQrMnjzD4Kin1Xmt4O3x+qr7jK4jr6E8tCI="; + outputHash = "1Cgw+5V2E/RENMRMm368+2yvY7y6v9gTlo+LRgrCXcE="; }; nativeBuildInputs = [ copyDesktopItems maven makeWrapper ]; - postPatch = '' - substituteInPlace pom.xml --subst-var-by buildDate "${buildDate}" - ''; - buildPhase = '' mvn package --offline ${mvnOptions} -Dmaven.repo.local=${mavenDeps} ''; diff --git a/pkgs/applications/science/electronics/digital/pom.xml.patch b/pkgs/applications/science/electronics/digital/pom.xml.patch deleted file mode 100644 index cdc5a777c49d..000000000000 --- a/pkgs/applications/science/electronics/digital/pom.xml.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/pom.xml b/pom.xml -index d5f8330b4..58e |