Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-02-27 06:17:01 +00:00 committed by GitHub
commit 52f404b187
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 123 additions and 9 deletions

View file

@ -468,7 +468,7 @@ let
'';
};
value = mkOption {
values = mkOption {
type = types.listOf types.str;
default = [];
description = ''

View file

@ -240,6 +240,7 @@ in
mosquitto = handleTest ./mosquitto.nix {};
mpd = handleTest ./mpd.nix {};
mumble = handleTest ./mumble.nix {};
musescore = handleTest ./musescore.nix {};
munin = handleTest ./munin.nix {};
mutableUsers = handleTest ./mutable-users.nix {};
mxisd = handleTest ./mxisd.nix {};

86
nixos/tests/musescore.nix Normal file
View file

@ -0,0 +1,86 @@
import ./make-test-python.nix ({ pkgs, ...} :
let
# Make sure we don't have to go through the startup tutorial
customMuseScoreConfig = pkgs.writeText "MuseScore3.ini" ''
[application]
startup\firstStart=false
[ui]
application\startup\showTours=false
application\startup\showStartCenter=false
'';
in
{
name = "musescore";
meta = with pkgs.lib.maintainers; {
maintainers = [ turion ];
};
machine = { ... }:
{
imports = [
./common/x11.nix
];
services.xserver.enable = true;
environment.systemPackages = with pkgs; [
musescore
pdfgrep
];
};
enableOCR = true;
testScript = { ... }: ''
start_all()
machine.wait_for_x()
# Inject custom settings
machine.succeed("mkdir -p /root/.config/MuseScore/")
machine.succeed(
"cp ${customMuseScoreConfig} /root/.config/MuseScore/MuseScore3.ini"
)
# Start MuseScore window
machine.execute("DISPLAY=:0.0 mscore &")
# Wait until MuseScore has launched
machine.wait_for_window("MuseScore")
# Wait until the window has completely initialised
machine.wait_for_text("MuseScore")
# 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")
# Go to the export dialogue and create a PDF
machine.send_key("alt-f")
machine.sleep(1)
machine.send_key("e")
# Wait until the export dialogue appears.
machine.wait_for_window("Export")
machine.screenshot("MuseScore1")
machine.send_key("ret")
machine.sleep(1)
machine.send_key("ret")
machine.screenshot("MuseScore2")
# Wait until PDF is exported
machine.wait_for_file("/root/Documents/MuseScore3/Scores/Untitled.pdf")
# Check that it contains the title of the score
machine.succeed("pdfgrep Title /root/Documents/MuseScore3/Scores/Untitled.pdf")
machine.screenshot("MuseScore3")
'';
})

View file

@ -3,6 +3,7 @@
, portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects
, qtquickcontrols2, qtscript, qtsvg, qttools
, qtwebengine, qtxmlpatterns
, nixosTests
}:
mkDerivation rec {
@ -40,6 +41,8 @@ mkDerivation rec {
qtscript qtsvg qttools qtwebengine qtxmlpatterns
];
passthru.tests = nixosTests.musescore;
meta = with lib; {
description = "Music notation and composition software";
homepage = "https://musescore.org/";

View file

@ -5,13 +5,13 @@
mkDerivation rec {
pname = "klayout";
version = "0.26.8";
version = "0.26.9";
src = fetchFromGitHub {
owner = "KLayout";
repo = "klayout";
rev = "v${version}";
sha256 = "0pkhvxcfk70dnmgczyyq585mxrfwqai44ikshs4c1imh92z25llq";
sha256 = "sha256-d0k8OQZ+ij+dslc3iAQkgy1TyYAL7Bf1xvSH21eTGO8=";
};
postPatch = ''

View file

@ -17,14 +17,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "14.31.18";
version = "14.31.24";
pname = "jmol";
src = let
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
in fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
sha256 = "0hkc7c08azbw3k91ygwz6r5y4yw6k8l7h4gcq5p71knd5k1fa5jd";
sha256 = "sha256-86nDeKRXSNKrmYeo1rRLfziLVnmEmdIJRfIv6DFIxcs=";
};
patchPhase = ''

View file

@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "5" "7" "";
jruby = stdenv.mkDerivation rec {
pname = "jruby";
version = "9.2.14.0";
version = "9.2.15.0";
src = fetchurl {
url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
sha256 = "1dg0fz9b8m1k0sypvpxnf4xjqwc0pyy35xw4rsg4a7pha4jkprrj";
sha256 = "sha256-no5dc8QtHa2KeVptw5vYfoj8iGP3bgZeQJnDLQhSBbA=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -0,0 +1,22 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "webwormhole";
version = "unstable-2021-01-16";
src = fetchFromGitHub {
owner = "saljam";
repo = pname;
rev = "c85e196c8a8a885815136aa8aee1958ad80a3bb5";
sha256 = "D10xmBwmEbeR3nU4CmppFBzdeE4Pm2+o/Vb5Yd+pPtM=";
};
vendorSha256 = "sha256-yK04gjDO6JSDcJULcbJBBuPBhx792JNn+B227lDUrWk=";
meta = with lib; {
description = "Send files using peer authenticated WebRTC";
homepage = "https://github.com/saljam/webwormhole";
license = licenses.bsd3;
maintainers = with maintainers; [ bbigras ];
};
}

View file

@ -2,11 +2,11 @@
, autoreconfHook }:
stdenv.mkDerivation rec {
version = "0.4.3";
version = "0.4.4";
pname = "opkg";
src = fetchurl {
url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
sha256 = "06278gmb26b9nl8l328cc2c2mhfi0dhac65syws17kf09f2m596x";
sha256 = "sha256-IhesxYuOsxMAYx66514iLrxwDJwc9kCAiHBdGaRyyDk=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];

View file

@ -30110,6 +30110,8 @@ in
nix-store-gcs-proxy = callPackage ../tools/nix/nix-store-gcs-proxy {};
webwormhole = callPackage ../tools/networking/webwormhole { };
wifi-password = callPackage ../os-specific/darwin/wifi-password {};
qubes-core-vchan-xen = callPackage ../applications/qubes/qubes-core-vchan-xen {};