Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-08-08 12:01:04 +00:00 committed by GitHub
commit 0b7e5da7bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
49 changed files with 578 additions and 199 deletions

View file

@ -5,7 +5,7 @@ when developing or debugging a test:
```ShellSession
$ nix-build nixos/tests/login.nix -A driverInteractive
$ ./result/bin/nixos-test-driver
$ ./result/bin/nixos-test-driver --interactive
starting VDE switch for network 1
>
```
@ -24,20 +24,11 @@ back into the test driver command line upon its completion. This allows
you to inspect the state of the VMs after the test (e.g. to debug the
test script).
To just start and experiment with the VMs, run:
```ShellSession
$ nix-build nixos/tests/login.nix -A driverInteractive
$ ./result/bin/nixos-run-vms
```
The script `nixos-run-vms` starts the virtual machines defined by test.
You can re-use the VM states coming from a previous run by setting the
`--keep-vm-state` flag.
```ShellSession
$ ./result/bin/nixos-run-vms --keep-vm-state
$ ./result/bin/nixos-test-driver --interactive --keep-vm-state
```
The machine state is stored in the `$TMPDIR/vm-state-machinename`

View file

@ -6,7 +6,7 @@
</para>
<programlisting>
$ nix-build nixos/tests/login.nix -A driverInteractive
$ ./result/bin/nixos-test-driver
$ ./result/bin/nixos-test-driver --interactive
starting VDE switch for network 1
&gt;
</programlisting>
@ -25,23 +25,12 @@ starting VDE switch for network 1
completion. This allows you to inspect the state of the VMs after
the test (e.g. to debug the test script).
</para>
<para>
To just start and experiment with the VMs, run:
</para>
<programlisting>
$ nix-build nixos/tests/login.nix -A driverInteractive
$ ./result/bin/nixos-run-vms
</programlisting>
<para>
The script <literal>nixos-run-vms</literal> starts the virtual
machines defined by test.
</para>
<para>
You can re-use the VM states coming from a previous run by setting
the <literal>--keep-vm-state</literal> flag.
</para>
<programlisting>
$ ./result/bin/nixos-run-vms --keep-vm-state
$ ./result/bin/nixos-test-driver --interactive --keep-vm-state
</programlisting>
<para>
The machine state is stored in the

101
nixos/lib/test-driver/test-driver.py Normal file → Executable file
View file

@ -24,7 +24,6 @@ import sys
import telnetlib
import tempfile
import time
import traceback
import unicodedata
CHAR_TO_KEY = {
@ -930,29 +929,16 @@ def join_all() -> None:
machine.wait_for_shutdown()
def test_script() -> None:
exec(os.environ["testScript"])
def run_tests() -> None:
def run_tests(interactive: bool = False) -> None:
global machines
tests = os.environ.get("tests", None)
if tests is not None:
with log.nested("running the VM test script"):
try:
exec(tests, globals())
except Exception as e:
eprint("error: ")
traceback.print_exc()
sys.exit(1)
if interactive:
ptpython.repl.embed(globals(), locals())
else:
ptpython.repl.embed(locals(), globals())
# TODO: Collect coverage data
for machine in machines:
if machine.is_up():
machine.execute("sync")
test_script()
# TODO: Collect coverage data
for machine in machines:
if machine.is_up():
machine.execute("sync")
def serial_stdout_on() -> None:
@ -965,6 +951,31 @@ def serial_stdout_off() -> None:
log._print_serial_logs = False
class EnvDefault(argparse.Action):
"""An argpars Action that takes values from the specified
environment variable as the flags default value.
"""
def __init__(self, envvar, required=False, default=None, nargs=None, **kwargs): # type: ignore
if not default and envvar:
if envvar in os.environ:
if nargs is not None and (nargs.isdigit() or nargs in ["*", "+"]):
default = os.environ[envvar].split()
else:
default = os.environ[envvar]
kwargs["help"] = (
kwargs["help"] + f" (default from environment: {default})"
)
if required and default:
required = False
super(EnvDefault, self).__init__(
default=default, required=required, nargs=nargs, **kwargs
)
def __call__(self, parser, namespace, values, option_string=None): # type: ignore
setattr(namespace, self.dest, values)
@contextmanager
def subtest(name: str) -> Iterator[None]:
with log.nested(name):
@ -986,18 +997,52 @@ if __name__ == "__main__":
help="re-use a VM state coming from a previous run",
action="store_true",
)
(cli_args, vm_scripts) = arg_parser.parse_known_args()
arg_parser.add_argument(
"-I",
"--interactive",
help="drop into a python repl and run the tests interactively",
action="store_true",
)
arg_parser.add_argument(
"--start-scripts",
metavar="START-SCRIPT",
action=EnvDefault,
envvar="startScripts",
nargs="*",
help="start scripts for participating virtual machines",
)
arg_parser.add_argument(
"--vlans",
metavar="VLAN",
action=EnvDefault,
envvar="vlans",
nargs="*",
help="vlans to span by the driver",
)
arg_parser.add_argument(
"testscript",
action=EnvDefault,
envvar="testScript",
help="the test script to run",
type=pathlib.Path,
)
args = arg_parser.parse_args()
global test_script
def test_script() -> None:
with log.nested("running the VM test script"):
exec(pathlib.Path(args.testscript).read_text(), globals())
log = Logger()
vlan_nrs = list(dict.fromkeys(os.environ.get("VLANS", "").split()))
vde_sockets = [create_vlan(v) for v in vlan_nrs]
vde_sockets = [create_vlan(v) for v in args.vlans]
for nr, vde_socket, _, _ in vde_sockets:
os.environ["QEMU_VDE_SOCKET_{}".format(nr)] = vde_socket
machines = [
create_machine({"startCommand": s, "keepVmState": cli_args.keep_vm_state})
for s in vm_scripts
create_machine({"startCommand": s, "keepVmState": args.keep_vm_state})
for s in args.start_scripts
]
machine_eval = [
"{0} = machines[{1}]".format(m.name, idx) for idx, m in enumerate(machines)
@ -1017,6 +1062,6 @@ if __name__ == "__main__":
log.close()
tic = time.time()
run_tests()
run_tests(args.interactive)
toc = time.time()
print("test script finished in {:.2f}s".format(toc - tic))

View file

@ -83,7 +83,10 @@ rec {
''
mkdir -p $out
LOGFILE=/dev/null tests='exec(os.environ["testScript"])' ${driver}/bin/nixos-test-driver
# effectively mute the XMLLogger
export LOGFILE=/dev/null
${driver}/bin/nixos-test-driver
'';
passthru = driver.passthru // {
@ -166,7 +169,10 @@ rec {
''
mkdir -p $out/bin
vmStartScripts=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done))
echo -n "$testScript" > $out/test-script
ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-test-driver
${lib.optionalString (!skipLint) ''
PYFLAKES_BUILTINS="$(
echo -n ${lib.escapeShellArg (lib.concatStringsSep "," nodeHostNames)},
@ -174,17 +180,12 @@ rec {
)" ${python3Packages.pyflakes}/bin/pyflakes $out/test-script
''}
ln -s ${testDriver}/bin/nixos-test-driver $out/bin/
vms=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done))
# set defaults through environment
# see: ./test-driver/test-driver.py argparse implementation
wrapProgram $out/bin/nixos-test-driver \
--add-flags "''${vms[*]}" \
--run "export testScript=\"\$(${coreutils}/bin/cat $out/test-script)\"" \
--set VLANS '${toString vlans}'
ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
wrapProgram $out/bin/nixos-run-vms \
--add-flags "''${vms[*]}" \
--set tests 'start_all(); join_all();' \
--set VLANS '${toString vlans}'
--set startScripts "''${vmStartScripts[*]}" \
--set testScript "$out/test-script" \
--set vlans '${toString vlans}'
'');
# Make a full-blown test

View file

@ -98,6 +98,29 @@ in
EnvironmentFile = if cfg.adminCredentialsFile == null
then defaultCredentials
else cfg.adminCredentialsFile;
# Hardening
CapabilityBoundingSet = [ "" ];
DeviceAllow = [ "" ];
LockPersonality = true;
MemoryDenyWriteExecute = true;
PrivateDevices = true;
PrivateUsers = true;
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
UMask = "0077";
};
environment = cfg.config;

View file

@ -8,11 +8,13 @@
, gtk3
, gst_all_1
, gobject-introspection
, libhandy
, python3Packages
, file
, cairo
, gettext
, gnome
, pantheon
}:
python3Packages.buildPythonApplication rec {
@ -20,7 +22,7 @@ python3Packages.buildPythonApplication rec {
format = "other"; # no setup.py
pname = "cozy";
version = "0.7.2";
version = "1.0.3";
# Temporary fix
# See https://github.com/NixOS/nixpkgs/issues/57029
@ -31,7 +33,7 @@ python3Packages.buildPythonApplication rec {
owner = "geigi";
repo = pname;
rev = version;
sha256 = "0fmbddi4ga0bppwg3rm3yjmf7jgqc6zfslmavnr1pglbzkjhy9fs";
sha256 = "0m0xiqpb87pwr3fhy0a4qxg67yjhwchcxj3x2anyy0li4inryxag";
};
nativeBuildInputs = [
@ -47,6 +49,8 @@ python3Packages.buildPythonApplication rec {
cairo
gettext
gnome.adwaita-icon-theme
libhandy
pantheon.granite
] ++ (with gst_all_1; [
gstreamer
gst-plugins-good
@ -70,8 +74,7 @@ python3Packages.buildPythonApplication rec {
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
patchShebangs meson/*.py
'';
postInstall = ''

View file

@ -8,8 +8,6 @@ stdenv.mkDerivation {
sha256 = "15qlvdfwbiclljj7075ycm78yzqahzrgl4ky8pymix5179acm05h";
};
phases = [ "unpackPhase" "installPhase" ];
unpackPhase = ''
tar -zxf $src
'';

View file

@ -10,7 +10,8 @@ stdenv.mkDerivation {
nativeBuildInputs = [ unzip ];
phases = [ "buildPhase" ];
dontUnpack = true;
dontInstall = true;
buildPhase = ''
mkdir -p "$out/avrdudess"

View file

@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
at-spi2-atk
];
phases = "unpackPhase fixupPhase";
dontInstall = true;
# change this to azuredatastudio-insiders for insiders releases
edition = "azuredatastudio";

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "18x3s3jrph8k3pc75jgwkfqazygpsx93zjxx68zms58my17cybh1";
};
phases = [ "buildPhase" "installPhase" ];
dontUnpack = true;
buildPhase = ''
mkdir -p $out/bin $out/share/java

View file

@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
installPhase = let
desktopItem = makeDesktopItem {

View file

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
phases = [ "installPhase" ];
dontUnpack = true;
installPhase = let
env = bundlerEnv {

View file

@ -4,7 +4,7 @@ stdenv.mkDerivation {
pname = "example-unfree-package";
version = "1.0";
phases = [ "installPhase" "fixupPhase" ];
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin

View file

@ -1,46 +0,0 @@
{ lib, fetchFromGitHub, python3Packages }:
with python3Packages;
buildPythonApplication rec {
version = "1.27.0";
pname = "rtv";
src = fetchFromGitHub {
owner = "michael-lazar";
repo = "rtv";
rev = "v${version}";
sha256 = "1hw7xy2kjxq7y3wcibcz4l7zj8icvigialqr17l362xry0y17y5j";
};
# Tests try to access network
doCheck = false;
checkPhase = ''
py.test
'';
checkInputs = [
coverage
coveralls
docopt
mock
pylint
pytest
vcrpy
];
propagatedBuildInputs = [
beautifulsoup4
decorator
kitchen
requests
six
];
meta = with lib; {
homepage = "https://github.com/michael-lazar/rtv";
description = "Browse Reddit from your Terminal";
license = licenses.mit;
maintainers = with maintainers; [ matthiasbeyer wedens ];
};
}

View file

@ -4,7 +4,7 @@
}:
stdenv.mkDerivation rec {
name = "smos-${version}";
pname = "smos";
version = "0.1.0";
src = fetchurl {
@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256:07yavk7xl92yjwwjdig90yq421n8ldv4fjfw7izd4hfpzw849a12";
};
phases = [ "unpackPhase" ];
dontInstall = true;
unpackCmd = "${unzip}/bin/unzip -d $out $curSrc";
sourceRoot = ".";

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cloudflared";
version = "2021.7.4";
version = "2021.8.1";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
rev = version;
sha256 = "sha256-3HK7QLUhU6MUayRYec4LP2BfbwEsvtjtCf++o1cQsQw=";
sha256 = "sha256-92Uq7hSqfsiES6dSCw4cotfLJ8TLRRO6QPkwQ8iv124=";
};
vendorSha256 = null;

View file

@ -1,21 +1,34 @@
{ lib
, stdenv
, fetchpatch
, python3Packages
, wrapGAppsHook
, gtk3
, gobject-introspection
, libcanberra-gtk3
, poppler_gi
, withGstreamer ? stdenv.isLinux
, withVLC ? stdenv.isLinux
}:
python3Packages.buildPythonApplication rec {
pname = "pympress";
version = "1.5.1";
version = "1.6.3";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "173d9scf2z29qg279jf33zcl7sgc3wp662fgpm943bn9667q18wf";
sha256 = "sha256-f+OjE0x/3yfJYHCLB+on7TT7MJ2vNu87SHRi67qFDCM=";
};
patches = [
# Should not be needed once v1.6.4 is released
(fetchpatch {
name = "fix-setuptools-version-parsing.patch";
url = "https://github.com/Cimbali/pympress/commit/474514d71396ac065e210fd846e07ed1139602d0.diff";
sha256 = "sha256-eiw54sjMrXrNrhtkAXxiSTatzoA0NDA03L+HpTDax58=";
})
];
nativeBuildInputs = [
wrapGAppsHook
];
@ -23,16 +36,15 @@ python3Packages.buildPythonApplication rec {
buildInputs = [
gtk3
gobject-introspection
libcanberra-gtk3
poppler_gi
];
] ++ lib.optional withGstreamer libcanberra-gtk3;
propagatedBuildInputs = with python3Packages; [
pycairo
pygobject3
python-vlc
setuptools
watchdog
];
] ++ lib.optional withVLC python-vlc;
doCheck = false; # there are no tests

View file

@ -0,0 +1,37 @@
{ lib, stdenv, fetchFromGitHub, cmake, eigen, avogadrolibs, molequeue, hdf5
, openbabel, qttools, wrapQtAppsHook
}:
stdenv.mkDerivation rec {
pname = "avogadro2";
version = "1.94.0";
src = fetchFromGitHub {
owner = "OpenChemistry";
repo = "avogadroapp";
rev = version;
sha256 = "6RaiX23YUMfTYAuSighcLGGlJtqeydNgi3PWGF77Jp8=";
};
nativeBuildInputs = [ cmake wrapQtAppsHook ];
buildInputs = [
avogadrolibs
molequeue
eigen
hdf5
qttools
];
propagatedBuildInputs = [ openbabel ];
qtWrapperArgs = [ "--prefix PATH : ${openbabel}/bin" ];
meta = with lib; {
description = "Molecule editor and visualizer";
maintainers = with maintainers; [ sheepforce ];
homepage = "https://github.com/OpenChemistry/avogadroapp";
platforms = platforms.mesaPlatforms;
license = licenses.bsd3;
};
}

View file

@ -4,6 +4,7 @@
, bison
, flex
, verilog
, which
}:
stdenv.mkDerivation rec {
@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
bison
flex
which
];
buildInputs = [
@ -36,8 +38,9 @@ stdenv.mkDerivation rec {
];
installPhase = ''
mkdir -p $out/bin
cp src/vhd2vl $out/bin/
runHook preInstall
install -D -m755 src/vhd2vl $out/bin/vdh2vl
runHook postInstall
'';
meta = with lib; {

View file

@ -1,27 +1,32 @@
{ lib, stdenv, fetchurl
, ninja, libxml2, libxslt, readline, perl, gmp, mpfr, boost
, perl, gmp, mpfr, flint, boost
, bliss, ppl, singular, cddlib, lrs, nauty
, ant, openjdk
, ninja, ant, openjdk
, perlPackages
, makeWrapper
}:
# polymake compiles its own version of sympol and atint because we
# don't have those packages. other missing optional dependencies:
# javaview, libnormaliz, scip, soplex, jreality.
stdenv.mkDerivation rec {
pname = "polymake";
version = "3.2.rc4";
version = "4.4";
src = fetchurl {
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-3.2r4.tar.bz2";
sha256 = "02jpkvy1cc6kc23vkn7nkndzr40fq1gkb3v257bwyi1h5d37fyqy";
# "The minimal version is a packager friendly version which omits
# the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
sha256 = "sha256-2nF5F2xznI77pl2TslrxA8HLpw4fmzVnPOM8N3kOwJE=";
};
buildInputs = [
libxml2 libxslt readline perl gmp mpfr boost
perl gmp mpfr flint boost
bliss ppl singular cddlib lrs nauty
openjdk
] ++
(with perlPackages; [
XMLLibXML XMLLibXSLT XMLWriter TermReadLineGnu TermReadKey
] ++ (with perlPackages; [
JSON TermReadLineGnu TermReadKey XMLSAX
]);
nativeBuildInputs = [
@ -36,11 +41,11 @@ stdenv.mkDerivation rec {
done
'';
meta = {
meta = with lib; {
description = "Software for research in polyhedral geometry";
license = lib.licenses.gpl2 ;
maintainers = [lib.maintainers.raskin];
platforms = lib.platforms.linux;
license = licenses.gpl2Plus;
maintainers = teams.sage.members;
platforms = platforms.linux;
homepage = "https://www.polymake.org/doku.php";
};
}

View file

@ -0,0 +1,41 @@
{ lib, stdenvNoCC, fetchurl, cabextract }:
stdenvNoCC.mkDerivation {
pname = "vista-fonts-cht";
version = "1";
src = fetchurl {
url = https://download.microsoft.com/download/7/6/b/76bd7a77-be02-47f3-8472-fa1de7eda62f/VistaFont_CHT.EXE;
sha256 = "sha256-fSnbbxlMPzbhFSQyKxQaS5paiWji8njK7tS8Eppsj6g=";
};
nativeBuildInputs = [ cabextract ];
unpackPhase = ''
cabextract --lowercase --filter '*.TTF' $src
'';
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
# Set up no-op font configs to override any aliases set up by
# other packages.
mkdir -p $out/etc/fonts/conf.d
substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-msjhenghei.conf \
--subst-var-by fontname "Microsoft JhengHei"
'';
meta = with lib; {
description = "TrueType fonts from Microsoft Windows Vista For Traditional Chinese (Microsoft JhengHei)";
homepage = "https://www.microsoft.com/typography/fonts/family.aspx";
license = licenses.unfree;
maintainers = with maintainers; [ atkinschang ];
# Set a non-zero priority to allow easy overriding of the
# fontconfig configuration files.
priority = 5;
platforms = platforms.all;
};
}

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- This configuation is intentionally left empty in order to
override any other font package that may wish to set up an
alias for the Microsoft @fontname@ font. If you actually do
want to have the alias then please change the priority of that
package; see the Nix manual page for nix-env for details. -->
</fontconfig>

View file

@ -46,16 +46,13 @@ stdenv.mkDerivation rec {
wrapGAppsHook
];
buildInputs = [
propagatedBuildInputs = [
glib
gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format"
gtk3
libgee
];
propagatedBuildInputs = [
gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format"
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py

View file

@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
echo "Installing libs into $clojure_lib_dir"
install -Dm644 deps.edn "$clojure_lib_dir/deps.edn"
install -Dm644 example-deps.edn "$clojure_lib_dir/example-deps.edn"
install -Dm644 tools.edn "$clojure_lib_dir/tools.edn"
install -Dm644 exec.jar "$clojure_lib_dir/libexec/exec.jar"
install -Dm644 clojure-tools-${version}.jar "$clojure_lib_dir/libexec/clojure-tools-${version}.jar"
@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
installCheckPhase = ''
CLJ_CONFIG=$out CLJ_CACHE=$out/libexec $out/bin/clojure \
CLJ_CONFIG=$TMPDIR CLJ_CACHE=$TMPDIR/.clj_cache $out/bin/clojure \
-Spath \
-Sverbose \
-Scp $out/libexec/clojure-tools-${version}.jar

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "pugixml";
version = "1.11.1";
version = "1.11.4";
src = fetchFromGitHub {
owner = "zeux";
repo = "pugixml";
rev = "v${version}";
sha256 = "0iwn627wynrqrwb2ddm38p6y6cpgcavgbkrrxwxa0d26m9v2avpr";
sha256 = "sha256-pXadPs2Dlht3BMNYDVxWZqnVv0umDgYVcqH5YVxr+uA=";
};
outputs = if shared then [ "out" "dev" ] else [ "out" ];

View file

@ -0,0 +1,68 @@
{ lib, stdenv, fetchFromGitHub, cmake, zlib, eigen, libGL, doxygen, spglib
, mmtf-cpp, glew, python3, libarchive, libmsym, msgpack, qttools, wrapQtAppsHook
}:
let
pythonWP = python3.withPackages (p: with p; [ openbabel-bindings numpy ]);
# Pure data repositories
moleculesRepo = fetchFromGitHub {
owner = "OpenChemistry";
repo = "molecules";
rev = "1.0.0";
sha256 = "guY6osnpv7Oqt+HE1BpIqL10POp+x8GAci2kY0bLmqg=";
};
crystalsRepo = fetchFromGitHub {
owner = "OpenChemistry";
repo = "crystals";
rev = "1.0.1";
sha256 = "sH/WuvLaYu6akOc3ssAKhnxD8KNoDxuafDSozHqJZC4=";
};
in stdenv.mkDerivation rec {
pname = "avogadrolibs";
version = "1.94.0";
src = fetchFromGitHub {
owner = "OpenChemistry";
repo = pname;
rev = version;
sha256 = "6bChJhqrjOxeEWZBNToq3JExHPu7DUMsEHWBDe75zAo=";
};
postUnpack = ''
cp -r ${moleculesRepo} molecules
cp -r ${crystalsRepo} crystals
'';
nativeBuildInputs = [
cmake
wrapQtAppsHook
];
buildInputs = [
eigen
zlib
libGL
spglib
mmtf-cpp
glew
libarchive
libmsym
msgpack
qttools
];
postFixup = ''
substituteInPlace $out/lib/cmake/${pname}/AvogadroLibsConfig.cmake \
--replace "''${AvogadroLibs_INSTALL_PREFIX}/$out" "''${AvogadroLibs_INSTALL_PREFIX}"
'';
meta = with lib; {
description = "Molecule editor and visualizer";
maintainers = with maintainers; [ sheepforce ];
homepage = "https://github.com/OpenChemistry/avogadrolibs";
platforms = platforms.linux;
license = licenses.gpl2Only;
};
}

View file

@ -0,0 +1,23 @@
{ stdenv, lib, fetchFromGitHub, cmake } :
stdenv.mkDerivation rec {
pname = "libmsym";
version = "0.2.3";
src = fetchFromGitHub {
owner = "mcodev31";
repo = pname;
rev = "v${version}";
sha256= "k+OEwrA/saupP/wX6Ii5My0vffiJ0X9xMCTrliMSMik=";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = " molecular point group symmetry lib";
homepage = "https://github.com/rcsb/mmtf-cpp";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.sheepforce ];
};
}

View file

@ -0,0 +1,25 @@
{ stdenv, lib, fetchFromGitHub, cmake, msgpack } :
stdenv.mkDerivation rec {
pname = "mmtf-cpp";
version = "1.0.0";
src = fetchFromGitHub {
owner = "rcsb";
repo = pname;
rev = "v${version}";
sha256= "17ylramda69plf5w0v5hxbl4ggkdi5s15z55cv0pljl12yvyva8l";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ msgpack ];
meta = with lib; {
description = "A library of exchange-correlation functionals with arbitrary-order derivatives";
homepage = "https://github.com/rcsb/mmtf-cpp";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.sheepforce ];
};
}

View file

@ -0,0 +1,33 @@
{ lib, stdenv, fetchFromGitHub, cmake, qttools, wrapQtAppsHook }:
stdenv.mkDerivation rec {
pname = "molequeue";
version = "0.9.0";
src = fetchFromGitHub {
owner = "OpenChemistry";
repo = pname;
rev = version;
sha256 = "+NoY8YVseFyBbxc3ttFWiQuHQyy1GN8zvV1jGFjmvLg=";
};
nativeBuildInputs = [
cmake
wrapQtAppsHook
];
buildInputs = [ qttools ];
postFixup = ''
substituteInPlace $out/lib/cmake/molequeue/MoleQueueConfig.cmake \
--replace "''${MoleQueue_INSTALL_PREFIX}/$out" "''${MoleQueue_INSTALL_PREFIX}"
'';
meta = with lib; {
description = "Desktop integration of high performance computing resources";
maintainers = with maintainers; [ sheepforce ];
homepage = "https://github.com/OpenChemistry/molequeue";
platforms = platforms.linux;
license = licenses.bsd3;
};
}

View file

@ -13,6 +13,11 @@ buildPythonPackage rec {
sha256 = "120qar8iaxj6dmnhjw1c40n2w06f1nyxy57dwh06xdiany698fg4";
};
postPatch = ''
substituteInPlace requirements/base.txt \
--replace 'simplejson==3' 'simplejson~=3'
'';
propagatedBuildInputs = [ simplejson ];
nativeBuildInputs = [ autoconf automake cmake libtool perl ];
@ -21,10 +26,6 @@ buildPythonPackage rec {
dontUseCmakeConfigure = true;
preBuild = ''
substituteInPlace requirements/base.txt --replace 'simplejson==3' 'simplejson~=3'
'';
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "awslambdaric" "runtime_client" ];

View file

@ -3,6 +3,7 @@
, fetchFromGitHub
, pytestCheckHook
, pytest-xdist
, torchvision
, pythonOlder
, matplotlib
, mock
@ -14,16 +15,16 @@
buildPythonPackage rec {
pname = "ignite";
version = "0.4.5";
version = "0.4.6";
src = fetchFromGitHub {
owner = "pytorch";
repo = pname;
rev = "v${version}";
sha256 = "sha256-FGFpaqq7InwRqFmQTmXGpJEjRUB69ZN/l20l42L2BAA=";
sha256 = "sha256-dlKGXjUUnyYmPDilo0LQg9OkSkBnMYNgzlFLIfI0T6I=";
};
checkInputs = [ pytestCheckHook matplotlib mock pytest-xdist ];
checkInputs = [ pytestCheckHook matplotlib mock pytest-xdist torchvision ];
propagatedBuildInputs = [ pytorch scikit-learn tqdm pynvml ];
# runs succesfully in 3.9, however, async isn't correctly closed so it will fail after test suite.
@ -38,6 +39,7 @@ buildPythonPackage rec {
"--ignore=tests/ignite/contrib/handlers/test_trains_logger.py"
"--ignore=tests/ignite/metrics/nlp/test_bleu.py"
"--ignore=tests/ignite/metrics/nlp/test_rouge.py"
"--ignore=tests/ignite/metrics/gan" # requires pytorch_fid; tries to download model to $HOME
"--ignore=tests/ignite/metrics/test_dill.py"
"--ignore=tests/ignite/metrics/test_psnr.py"
"--ignore=tests/ignite/metrics/test_ssim.py"

View file

@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "pynvml";
version = "8.0.4";
version = "11.0.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "0pfykj1amqh1rixp90rg85v1nj6qmx89fahqr6ii4zlcckffmm68";
sha256 = "sha256-1fxKItNVtAw0HWugqoiKLU0iUxd9JDkA+EAbfmyssbs=";
};
propagatedBuildInputs = [ cudatoolkit ];

View file

@ -4,14 +4,13 @@
, fetchFromGitHub
, flit
, pytestCheckHook
, pytest-cov
, numpy
, scipy
}:
buildPythonPackage rec {
pname = "threadpoolctl";
version = "2.1.0";
version = "2.2.0";
disabled = isPy27;
format = "flit";
@ -20,10 +19,10 @@ buildPythonPackage rec {
owner = "joblib";
repo = pname;
rev = version;
sha256 = "0sl6mp3b2gb0dvqkhnkmrp2g3r5c7clyyyxzq44xih6sw1pgx9df";
sha256 = "7UUjbX1IpXtUAgN48Db43Zr1u360UETSUnIHD6rQRLs=";
};
checkInputs = [ pytestCheckHook pytest-cov numpy scipy ];
checkInputs = [ pytestCheckHook numpy scipy ];
meta = with lib; {
homepage = "https://github.com/joblib/threadpoolctl";

View file

@ -10,13 +10,15 @@ buildPythonPackage rec {
version = "1.0.2";
src = fetchPypi {
inherit version;
pname = "xml_marshaller";
inherit version;
sha256 = "sha256-QvBALLDD8o5nZQ5Z4bembhadK6jcydWKQpJaSmGqqJM=";
};
propagatedBuildInputs = [ lxml six ];
pythonImportsCheck = [ "xml_marshaller" ];
meta = with lib; {
description = "This module allows one to marshal simple Python data types into a custom XML format.";
homepage = "https://www.python.org/community/sigs/current/xml-sig/";

View file

@ -13,6 +13,11 @@ buildGoModule rec {
sha256 = "sha256-pjg52ONseKNw06EOBzD6Elge+Cz+C3llPvjJPHkn1cw=";
};
patches = [
# fix kernel module path used by kind
./kernel-module-path.patch
];
vendorSha256 = "sha256-HiVdekSZrC/RkMSvcwm1mv6AE4bA5kayUsMdVCbckiE=";
doCheck = false;

View file

@ -0,0 +1,47 @@
diff --git a/pkg/cluster/internal/providers/common/getmodules.go b/pkg/cluster/internal/providers/common/getmodules.go
new file mode 100644
index 00000000..f42a883d
--- /dev/null
+++ b/pkg/cluster/internal/providers/common/getmodules.go
@@ -0,0 +1,15 @@
+package common
+
+import "os"
+
+const (
+ fhsKernalModulePath = "/lib/modules"
+ nixKernalModulePath = "/run/booted-system/kernel-modules/lib"
+)
+
+func GetKernelModulePath() string {
+ if _, err := os.Stat(nixKernalModulePath); !os.IsNotExist(err) {
+ return nixKernalModulePath
+ }
+ return fhsKernalModulePath
+}
diff --git a/pkg/cluster/internal/providers/docker/provision.go b/pkg/cluster/internal/providers/docker/provision.go
index 50161861..86d5b7b6 100644
--- a/pkg/cluster/internal/providers/docker/provision.go
+++ b/pkg/cluster/internal/providers/docker/provision.go
@@ -242,7 +242,7 @@ func runArgsForNode(node *config.Node, clusterIPFamily config.ClusterIPFamily, n
// (please don't depend on doing this though!)
"--volume", "/var",
// some k8s things want to read /lib/modules
- "--volume", "/lib/modules:/lib/modules:ro",
+ "--volume", fmt.Sprintf("%s:/lib/modules:ro", common.GetKernelModulePath()),
},
args...,
)
diff --git a/pkg/cluster/internal/providers/podman/provision.go b/pkg/cluster/internal/providers/podman/provision.go
index 51dce486..3bc36b42 100644
--- a/pkg/cluster/internal/providers/podman/provision.go
+++ b/pkg/cluster/internal/providers/podman/provision.go
@@ -205,7 +205,7 @@ func runArgsForNode(node *config.Node, clusterIPFamily config.ClusterIPFamily, n
// dev: devices on the volume will be able to be used by processes within the container
"--volume", fmt.Sprintf("%s:/var:suid,exec,dev", varVolume),
// some k8s things want to read /lib/modules
- "--volume", "/lib/modules:/lib/modules:ro",
+ "--volume", fmt.Sprintf("%s:/lib/modules:ro", common.GetKernelModulePath()),
},
args...,
)

View file

@ -1,31 +1,46 @@
{ lib, stdenv, fetchFromGitHub, go-md2man, installShellFiles, libusb-compat-0_1 }:
{ stdenv
, lib
, fetchFromGitHub
, go-md2man
, installShellFiles
, libusb-compat-0_1
}:
stdenv.mkDerivation rec {
pname = "teensy-loader-cli";
version = "2.1.20191110";
version = "2.1+unstable=2021-04-10";
src = fetchFromGitHub {
owner = "PaulStoffregen";
repo = "teensy_loader_cli";
rev = "e98b5065cdb9f04aa4dde3f2e6e6e6f12dd97592";
sha256 = "1yx8vsh6b29pqr4zb6sx47429i9x51hj9psn8zksfz75j5ivfd5i";
rev = "9dbbfa3b367b6c37e91e8a42dae3c6edfceccc4d";
sha256 = "lQ1XtaWPr6nvE8NArD1980QVOH6NggO3FlfsntUjY7s=";
};
buildInputs = [ libusb-compat-0_1 ];
nativeBuildInputs = [
go-md2man
installShellFiles
];
nativeBuildInputs = [ go-md2man installShellFiles ];
buildInputs = [
libusb-compat-0_1
];
installPhase = ''
runHook preInstall
install -Dm555 teensy_loader_cli $out/bin/teensy-loader-cli
install -Dm444 -t $out/share/doc/${pname} *.md *.txt
go-md2man -in README.md -out ${pname}.1
installManPage *.1
runHook postInstall
'';
meta = with lib; {
description = "Firmware uploader for the Teensy microcontroller boards";
homepage = "https://www.pjrc.com/teensy/";
license = licenses.gpl3;
license = licenses.gpl3Only;
platforms = platforms.unix;
};
}

View file

@ -3,10 +3,12 @@
tree-sitter-bash = (builtins.fromJSON (builtins.readFile ./tree-sitter-bash.json));
tree-sitter-c = (builtins.fromJSON (builtins.readFile ./tree-sitter-c.json));
tree-sitter-c-sharp = (builtins.fromJSON (builtins.readFile ./tree-sitter-c-sharp.json));
tree-sitter-comment = (builtins.fromJSON (builtins.readFile ./tree-sitter-comment.json));
tree-sitter-cpp = (builtins.fromJSON (builtins.readFile ./tree-sitter-cpp.json));
tree-sitter-css = (builtins.fromJSON (builtins.readFile ./tree-sitter-css.json));
tree-sitter-embedded-template = (builtins.fromJSON (builtins.readFile ./tree-sitter-embedded-template.json));
tree-sitter-fennel = (builtins.fromJSON (builtins.readFile ./tree-sitter-fennel.json));
tree-sitter-fish = (builtins.fromJSON (builtins.readFile ./tree-sitter-fish.json));
tree-sitter-fluent = (builtins.fromJSON (builtins.readFile ./tree-sitter-fluent.json));
tree-sitter-go = (builtins.fromJSON (builtins.readFile ./tree-sitter-go.json));
tree-sitter-haskell = (builtins.fromJSON (builtins.readFile ./tree-sitter-haskell.json));

View file

@ -0,0 +1,10 @@
{
"url": "https://github.com/stsewd/tree-sitter-comment",
"rev": "894b61d68a31d93c33ed48dcc7f427174b440abe",
"date": "2021-04-27T15:25:48-05:00",
"path": "/nix/store/w0yz9imzi33glwk6ilm0jqipcyzl8hgm-tree-sitter-comment",
"sha256": "1vfayzzcv6lj63pgcxr8f7rcd81jkgnfdlmhs39i7w3m0s6dv1qg",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View file

@ -0,0 +1,10 @@
{
"url": "https://github.com/ram02z/tree-sitter-fish",
"rev": "db7139393e50765520618fa469f41dfbb0b3822b",
"date": "2021-07-06T21:05:19+02:00",
"path": "/nix/store/k67b4bn67zd3dj9yg0q7jywy3vnkv8gw-tree-sitter-fish",
"sha256": "09l5myivlq3z53nqlx8x8c45sww2k7vmjp8z0rvwzv08rnym0fah",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View file

@ -70,6 +70,10 @@ let
# If you need a grammar that already exists in the official orga,
# make sure to give it a different name.
otherGrammars = {
"tree-sitter-comment" = {
orga = "stsewd";
repo = "tree-sitter-comment";
};
"tree-sitter-nix" = {
orga = "cstrahan";
repo = "tree-sitter-nix";
@ -106,6 +110,10 @@ let
orga = "GrayJack";
repo = "tree-sitter-zig";
};
"tree-sitter-fish" = {
orga = "ram02z";
repo = "tree-sitter-fish";
};
};
allGrammars =

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "yarn";
version = "1.22.10";
version = "1.22.11";
src = fetchzip {
url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
sha256 = "0pdimll8lhsnqfafhdaxd6h6mgxhj1c7h56r111cmxhzw462y3mr";
sha256 = "0gmk46b9gd6q0zi3a2adgf8c1y05c2lf34k5wrw7alnlwy8iqvvp";
};
buildInputs = [ nodejs ];

View file

@ -44,16 +44,16 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the SHA256 for staging as well.
version = "6.13";
version = "6.14";
url = "https://dl.winehq.org/wine/source/6.x/wine-${version}.tar.xz";
sha256 = "sha256-4DohoBHUXSrp8iIED7dpC5cVY3bnQx+GHyAHPq8k8oo=";
sha256 = "sha256-ZLRxk5lDvAjjUQJ9tvvCRlwTllCjv/65Flf/DujCUgI=";
inherit (stable) gecko32 gecko64;
## see http://wiki.winehq.org/Mono
mono = fetchurl rec {
version = "6.2.0";
version = "6.3.0";
url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
sha256 = "sha256-zY1TUT2DV7KHama6sIllTvmUH0LvaQ+1VcZJP1OB28o=";
sha256 = "sha256-pfAtMqAoNpKkpiX1Qc+7tFGIMShHTFyANiOFMXzQmfA=";
};
patches = [
@ -65,7 +65,7 @@ in rec {
staging = fetchFromGitHub rec {
# https://github.com/wine-staging/wine-staging/releases
inherit (unstable) version;
sha256 = "sha256-3IpO+eQ/+DiQZH6en5Q/p+j441LDvjn4i9Ex7PY8KCk=";
sha256 = "sha256-yzpRWNx/e3BDCh1dyf8VdjLgvu6yZ/CXre/cb1roaVs=";
owner = "wine-staging";
repo = "wine-staging";
rev = "v${version}";

View file

@ -59,6 +59,9 @@ stdenv.mkDerivation rec {
cp -a usr/share/* $out/share
cp -a opt/balenaEtcher/{locales,resources} $out/share/${pname}
substituteInPlace $out/share/applications/balena-etcher-electron.desktop \
--replace /opt/balenaEtcher/balena-etcher-electron ${pname}
runHook postInstall
'';

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "dnsproxy";
version = "0.39.1";
version = "0.39.2";
src = fetchFromGitHub {
owner = "AdguardTeam";
repo = pname;
rev = "v${version}";
sha256 = "sha256-3ixWiY7gJaavJw3WuK3aTYE6lb328VgWSPCuf5PN8Ds=";
sha256 = "sha256-FuPNWoLsqPvz4J+ymfEKBjPmLlxwDUp/196REDnGPmQ=";
};
vendorSha256 = null;

View file

@ -1,21 +1,29 @@
{ lib, fetchFromGitHub, rustPlatform }:
{ lib, fetchFromGitHub, rustPlatform, makeWrapper, openssh, nix-serve }:
rustPlatform.buildRustPackage rec {
pname = "nix-simple-deploy";
version = "0.1.1";
version = "0.2.1";
src = fetchFromGitHub {
owner = "misuzu";
repo = pname;
rev = version;
sha256 = "12g0sbgs2dfnk0agp1kagfi1yhk26ga98zygxxrjhjxrqb2n5w80";
sha256 = "0vkgs3ffb5vdzhrqdnd54vbi36vrgd3408zvjn0rmqlnwi3wwhnk";
};
cargoSha256 = "1wp8wdv25j8ybq2j04z3nl4yc95wkj5h740lzpyps08yaxj8bncr";
cargoSha256 = "0z4d4cazl6qvigyqzdayxqfjc1ki1rhrpm76agc8lkrxrvhyay2h";
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/nix-simple-deploy" \
--prefix PATH : "${lib.makeBinPath [ openssh nix-serve ]}"
'';
meta = with lib; {
description = "Deploy software or an entire NixOS system configuration to another NixOS system";
homepage = "https://github.com/misuzu/nix-simple-deploy";
platforms = platforms.unix;
license = with licenses; [ asl20 /* OR */ mit ];
maintainers = with maintainers; [ misuzu ];
};

View file

@ -2,22 +2,22 @@
rustPlatform.buildRustPackage rec {
pname = "mdbook";
version = "0.4.10";
version = "0.4.12";
src = fetchFromGitHub {
owner = "rust-lang-nursery";
owner = "rust-lang";
repo = "mdBook";
rev = "v${version}";
sha256 = "sha256-1Ddy/kb2Q7P+tzyEr3EC3qWm6MGSsDL3/vnPJLAm/J0=";
sha256 = "sha256-2lxotwL3Dc9jRA12iKO5zotO80pa+RfUZucyDRgFOsI=";
};
cargoSha256 = "sha256-x2BwnvEwTqz378aDE7OHWuEwNEsUnRudLq7sUJjHRpA=";
cargoSha256 = "sha256-TNd4pj4qSKgmmVtSCSKFCxNtv96xD7+24BPsLXPgiEI=";
buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
meta = with lib; {
description = "Create books from MarkDown";
homepage = "https://github.com/rust-lang-nursery/mdbook";
homepage = "https://github.com/rust-lang/mdBook";
license = [ licenses.mpl20 ];
maintainers = [ maintainers.havvy ];
};

View file

@ -709,6 +709,7 @@ mapAliases ({
redkite = throw "redkite was archived by upstream"; # added 2021-04-12
rkt = throw "rkt was archived by upstream"; # added 2020-05-16
rpiboot-unstable = rpiboot; # added 2021-07-30
rtv = throw "rtv was archived by upstream. Consider using tuir, an actively maintained fork"; # added 2021-08-08
ruby_2_0_0 = throw "ruby_2_0_0 was deprecated on 2018-02-13: use a newer version of ruby";
ruby_2_1_0 = throw "ruby_2_1_0 was deprecated on 2018-02-13: use a newer version of ruby";
ruby_2_2_9 = throw "ruby_2_2_9 was deprecated on 2018-02-13: use a newer version of ruby";

View file

@ -6844,6 +6844,8 @@ in
libmesode = callPackage ../development/libraries/libmesode {};
libmsym = callPackage ../development/libraries/science/chemistry/libmsym { };
libnabo = callPackage ../development/libraries/libnabo { };
libngspice = callPackage ../development/libraries/libngspice { };
@ -14082,6 +14084,8 @@ in
mkdocs = callPackage ../development/tools/documentation/mkdocs { };
mmtf-cpp = callPackage ../development/libraries/science/chemistry/mmtf-cpp { };
mockgen = callPackage ../development/tools/mockgen { };
modd = callPackage ../development/tools/modd { };
@ -23102,6 +23106,8 @@ in
vistafonts-chs = callPackage ../data/fonts/vista-fonts-chs { };
vistafonts-cht = callPackage ../data/fonts/vista-fonts-cht { };
vollkorn = callPackage ../data/fonts/vollkorn { };
weather-icons = callPackage ../data/fonts/weather-icons { };
@ -26757,9 +26763,7 @@ in
polylith = callPackage ../development/tools/misc/polylith { };
polymake = callPackage ../applications/science/math/polymake {
openjdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
polymake = callPackage ../applications/science/math/polymake { };
pond = callPackage ../applications/networking/instant-messengers/pond { };
@ -27099,8 +27103,6 @@ in
rtl-sdr = callPackage ../applications/radio/rtl-sdr { };
librtlsdr = callPackage ../development/libraries/librtlsdr { };
rtv = callPackage ../applications/misc/rtv { };
rubyripper = callPackage ../applications/audio/rubyripper {};
runc = callPackage ../applications/virtualization/runc {};
@ -30085,6 +30087,12 @@ in
eigen = eigen2;
};
avogadrolibs = libsForQt5.callPackage ../development/libraries/science/chemistry/avogadrolibs { };
molequeue = libsForQt5.callPackage ../development/libraries/science/chemistry/molequeue { };
avogadro2 = libsForQt5.callPackage ../applications/science/chemistry/avogadro2 { };
chemtool = callPackage ../applications/science/chemistry/chemtool { };
cp2k = callPackage ../applications/science/chemistry/cp2k { };