Merge master into staging-next
This commit is contained in:
commit
f2b964bc46
|
@ -468,7 +468,7 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
value = mkOption {
|
values = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
description = ''
|
description = ''
|
||||||
|
|
|
@ -240,6 +240,7 @@ in
|
||||||
mosquitto = handleTest ./mosquitto.nix {};
|
mosquitto = handleTest ./mosquitto.nix {};
|
||||||
mpd = handleTest ./mpd.nix {};
|
mpd = handleTest ./mpd.nix {};
|
||||||
mumble = handleTest ./mumble.nix {};
|
mumble = handleTest ./mumble.nix {};
|
||||||
|
musescore = handleTest ./musescore.nix {};
|
||||||
munin = handleTest ./munin.nix {};
|
munin = handleTest ./munin.nix {};
|
||||||
mutableUsers = handleTest ./mutable-users.nix {};
|
mutableUsers = handleTest ./mutable-users.nix {};
|
||||||
mxisd = handleTest ./mxisd.nix {};
|
mxisd = handleTest ./mxisd.nix {};
|
||||||
|
|
|
@ -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")
|
||||||
|
'';
|
||||||
|
})
|
|
@ -3,6 +3,7 @@
|
||||||
, portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects
|
, portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects
|
||||||
, qtquickcontrols2, qtscript, qtsvg, qttools
|
, qtquickcontrols2, qtscript, qtsvg, qttools
|
||||||
, qtwebengine, qtxmlpatterns
|
, qtwebengine, qtxmlpatterns
|
||||||
|
, nixosTests
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
|
@ -40,6 +41,8 @@ mkDerivation rec {
|
||||||
qtscript qtsvg qttools qtwebengine qtxmlpatterns
|
qtscript qtsvg qttools qtwebengine qtxmlpatterns
|
||||||
];
|
];
|
||||||
|
|
||||||
|
passthru.tests = nixosTests.musescore;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Music notation and composition software";
|
description = "Music notation and composition software";
|
||||||
homepage = "https://musescore.org/";
|
homepage = "https://musescore.org/";
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "klayout";
|
pname = "klayout";
|
||||||
version = "0.26.8";
|
version = "0.26.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "KLayout";
|
owner = "KLayout";
|
||||||
repo = "klayout";
|
repo = "klayout";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0pkhvxcfk70dnmgczyyq585mxrfwqai44ikshs4c1imh92z25llq";
|
sha256 = "sha256-d0k8OQZ+ij+dslc3iAQkgy1TyYAL7Bf1xvSH21eTGO8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -17,14 +17,14 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "14.31.18";
|
version = "14.31.24";
|
||||||
pname = "jmol";
|
pname = "jmol";
|
||||||
|
|
||||||
src = let
|
src = let
|
||||||
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
|
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
|
||||||
in fetchurl {
|
in fetchurl {
|
||||||
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
|
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
|
||||||
sha256 = "0hkc7c08azbw3k91ygwz6r5y4yw6k8l7h4gcq5p71knd5k1fa5jd";
|
sha256 = "sha256-86nDeKRXSNKrmYeo1rRLfziLVnmEmdIJRfIv6DFIxcs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
|
|
|
@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "5" "7" "";
|
||||||
jruby = stdenv.mkDerivation rec {
|
jruby = stdenv.mkDerivation rec {
|
||||||
pname = "jruby";
|
pname = "jruby";
|
||||||
|
|
||||||
version = "9.2.14.0";
|
version = "9.2.15.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
|
url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
|
||||||
sha256 = "1dg0fz9b8m1k0sypvpxnf4xjqwc0pyy35xw4rsg4a7pha4jkprrj";
|
sha256 = "sha256-no5dc8QtHa2KeVptw5vYfoj8iGP3bgZeQJnDLQhSBbA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,11 +2,11 @@
|
||||||
, autoreconfHook }:
|
, autoreconfHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.4.3";
|
version = "0.4.4";
|
||||||
pname = "opkg";
|
pname = "opkg";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
|
url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
|
||||||
sha256 = "06278gmb26b9nl8l328cc2c2mhfi0dhac65syws17kf09f2m596x";
|
sha256 = "sha256-IhesxYuOsxMAYx66514iLrxwDJwc9kCAiHBdGaRyyDk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||||
|
|
|
@ -30107,6 +30107,8 @@ in
|
||||||
|
|
||||||
nix-store-gcs-proxy = callPackage ../tools/nix/nix-store-gcs-proxy {};
|
nix-store-gcs-proxy = callPackage ../tools/nix/nix-store-gcs-proxy {};
|
||||||
|
|
||||||
|
webwormhole = callPackage ../tools/networking/webwormhole { };
|
||||||
|
|
||||||
wifi-password = callPackage ../os-specific/darwin/wifi-password {};
|
wifi-password = callPackage ../os-specific/darwin/wifi-password {};
|
||||||
|
|
||||||
qubes-core-vchan-xen = callPackage ../applications/qubes/qubes-core-vchan-xen {};
|
qubes-core-vchan-xen = callPackage ../applications/qubes/qubes-core-vchan-xen {};
|
||||||
|
|
Loading…
Reference in New Issue