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 ```ShellSession
$ nix-build nixos/tests/login.nix -A driverInteractive $ 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 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 you to inspect the state of the VMs after the test (e.g. to debug the
test script). 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 You can re-use the VM states coming from a previous run by setting the
`--keep-vm-state` flag. `--keep-vm-state` flag.
```ShellSession ```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` The machine state is stored in the `$TMPDIR/vm-state-machinename`

View file

@ -6,7 +6,7 @@
</para> </para>
<programlisting> <programlisting>
$ nix-build nixos/tests/login.nix -A driverInteractive $ 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 starting VDE switch for network 1
&gt; &gt;
</programlisting> </programlisting>
@ -25,23 +25,12 @@ starting VDE switch for network 1
completion. This allows you to inspect the state of the VMs after completion. This allows you to inspect the state of the VMs after
the test (e.g. to debug the test script). the test (e.g. to debug the test script).
</para> </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> <para>
You can re-use the VM states coming from a previous run by setting You can re-use the VM states coming from a previous run by setting
the <literal>--keep-vm-state</literal> flag. the <literal>--keep-vm-state</literal> flag.
</para> </para>
<programlisting> <programlisting>
$ ./result/bin/nixos-run-vms --keep-vm-state $ ./result/bin/nixos-test-driver --interactive --keep-vm-state
</programlisting> </programlisting>
<para> <para>
The machine state is stored in the 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 telnetlib
import tempfile import tempfile
import time import time
import traceback
import unicodedata import unicodedata
CHAR_TO_KEY = { CHAR_TO_KEY = {
@ -930,29 +929,16 @@ def join_all() -> None:
machine.wait_for_shutdown() machine.wait_for_shutdown()
def test_script() -> None: def run_tests(interactive: bool = False) -> None:
exec(os.environ["testScript"])
def run_tests() -> None:
global machines global machines
tests = os.environ.get("tests", None) if interactive:
if tests is not None: ptpython.repl.embed(globals(), locals())
with log.nested("running the VM test script"):
try:
exec(tests, globals())
except Exception as e:
eprint("error: ")
traceback.print_exc()
sys.exit(1)
else: else:
ptpython.repl.embed(locals(), globals()) test_script()
# TODO: Collect coverage data
# TODO: Collect coverage data for machine in machines:
if machine.is_up():
for machine in machines: machine.execute("sync")
if machine.is_up():
machine.execute("sync")
def serial_stdout_on() -> None: def serial_stdout_on() -> None:
@ -965,6 +951,31 @@ def serial_stdout_off() -> None:
log._print_serial_logs = False 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 @contextmanager
def subtest(name: str) -> Iterator[None]: def subtest(name: str) -> Iterator[None]:
with log.nested(name): with log.nested(name):
@ -986,18 +997,52 @@ if __name__ == "__main__":
help="re-use a VM state coming from a previous run", help="re-use a VM state coming from a previous run",
action="store_true", 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() log = Logger()
vlan_nrs = list(dict.fromkeys(os.environ.get("VLANS", "").split())) vde_sockets = [create_vlan(v) for v in args.vlans]
vde_sockets = [create_vlan(v) for v in vlan_nrs]
for nr, vde_socket, _, _ in vde_sockets: for nr, vde_socket, _, _ in vde_sockets:
os.environ["QEMU_VDE_SOCKET_{}".format(nr)] = vde_socket os.environ["QEMU_VDE_SOCKET_{}".format(nr)] = vde_socket
machines = [ machines = [
create_machine({"startCommand": s, "keepVmState": cli_args.keep_vm_state}) create_machine({"startCommand": s, "keepVmState": args.keep_vm_state})
for s in vm_scripts for s in args.start_scripts
] ]
machine_eval = [ machine_eval = [
"{0} = machines[{1}]".format(m.name, idx) for idx, m in enumerate(machines) "{0} = machines[{1}]".format(m.name, idx) for idx, m in enumerate(machines)
@ -1017,6 +1062,6 @@ if __name__ == "__main__":
log.close() log.close()
tic = time.time() tic = time.time()
run_tests() run_tests(args.interactive)
toc = time.time() toc = time.time()
print("test script finished in {:.2f}s".format(toc - tic)) print("test script finished in {:.2f}s".format(toc - tic))

View file

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

View file

@ -98,6 +98,29 @@ in
EnvironmentFile = if cfg.adminCredentialsFile == null EnvironmentFile = if cfg.adminCredentialsFile == null
then defaultCredentials then defaultCredentials
else cfg.adminCredentialsFile; 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; environment = cfg.config;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -4,7 +4,7 @@ stdenv.mkDerivation {
pname = "example-unfree-package"; pname = "example-unfree-package";
version = "1.0"; version = "1.0";
phases = [ "installPhase" "fixupPhase" ]; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin 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 { stdenv.mkDerivation rec {
name = "smos-${version}"; pname = "smos";
version = "0.1.0"; version = "0.1.0";
src = fetchurl { src = fetchurl {
@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256:07yavk7xl92yjwwjdig90yq421n8ldv4fjfw7izd4hfpzw849a12"; sha256 = "sha256:07yavk7xl92yjwwjdig90yq421n8ldv4fjfw7izd4hfpzw849a12";
}; };
phases = [ "unpackPhase" ]; dontInstall = true;
unpackCmd = "${unzip}/bin/unzip -d $out $curSrc"; unpackCmd = "${unzip}/bin/unzip -d $out $curSrc";
sourceRoot = "."; sourceRoot = ".";

View file

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

View file

@ -1,21 +1,34 @@
{ lib { lib
, stdenv
, fetchpatch
, python3Packages , python3Packages
, wrapGAppsHook , wrapGAppsHook
, gtk3 , gtk3
, gobject-introspection , gobject-introspection
, libcanberra-gtk3 , libcanberra-gtk3
, poppler_gi , poppler_gi
, withGstreamer ? stdenv.isLinux
, withVLC ? stdenv.isLinux
}: }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "pympress"; pname = "pympress";
version = "1.5.1"; version = "1.6.3";
src = python3Packages.fetchPypi { src = python3Packages.fetchPypi {
inherit pname version; 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 = [ nativeBuildInputs = [
wrapGAppsHook wrapGAppsHook
]; ];
@ -23,16 +36,15 @@ python3Packages.buildPythonApplication rec {
buildInputs = [ buildInputs = [
gtk3 gtk3
gobject-introspection gobject-introspection
libcanberra-gtk3
poppler_gi poppler_gi
]; ] ++ lib.optional withGstreamer libcanberra-gtk3;
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
pycairo pycairo
pygobject3 pygobject3
python-vlc setuptools
watchdog watchdog
]; ] ++ lib.optional withVLC python-vlc;
doCheck = false; # there are no tests 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 , bison
, flex , flex
, verilog , verilog
, which
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
bison bison
flex flex
which
]; ];
buildInputs = [ buildInputs = [
@ -36,8 +38,9 @@ stdenv.mkDerivation rec {
]; ];
installPhase = '' installPhase = ''
mkdir -p $out/bin runHook preInstall
cp src/vhd2vl $out/bin/ install -D -m755 src/vhd2vl $out/bin/vdh2vl
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {

View file

@ -1,27 +1,32 @@
{ lib, stdenv, fetchurl { lib, stdenv, fetchurl
, ninja, libxml2, libxslt, readline, perl, gmp, mpfr, boost , perl, gmp, mpfr, flint, boost
, bliss, ppl, singular, cddlib, lrs, nauty , bliss, ppl, singular, cddlib, lrs, nauty
, ant, openjdk , ninja, ant, openjdk
, perlPackages , perlPackages
, makeWrapper , 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 { stdenv.mkDerivation rec {
pname = "polymake"; pname = "polymake";
version = "3.2.rc4"; version = "4.4";
src = fetchurl { src = fetchurl {
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-3.2r4.tar.bz2"; # "The minimal version is a packager friendly version which omits
sha256 = "02jpkvy1cc6kc23vkn7nkndzr40fq1gkb3v257bwyi1h5d37fyqy"; # 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 = [ buildInputs = [
libxml2 libxslt readline perl gmp mpfr boost perl gmp mpfr flint boost
bliss ppl singular cddlib lrs nauty bliss ppl singular cddlib lrs nauty
openjdk openjdk
] ++ ] ++ (with perlPackages; [
(with perlPackages; [ JSON TermReadLineGnu TermReadKey XMLSAX
XMLLibXML XMLLibXSLT XMLWriter TermReadLineGnu TermReadKey
]); ]);
nativeBuildInputs = [ nativeBuildInputs = [
@ -36,11 +41,11 @@ stdenv.mkDerivation rec {
done done
''; '';
meta = { meta = with lib; {
description = "Software for research in polyhedral geometry"; description = "Software for research in polyhedral geometry";
license = lib.licenses.gpl2 ; license = licenses.gpl2Plus;
maintainers = [lib.maintainers.raskin]; maintainers = teams.sage.members;
platforms = lib.platforms.linux; platforms = platforms.linux;
homepage = "https://www.polymake.org/doku.php"; 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 wrapGAppsHook
]; ];
buildInputs = [ propagatedBuildInputs = [
glib glib
gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format"
gtk3 gtk3
libgee libgee
]; ];
propagatedBuildInputs = [
gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format"
];
postPatch = '' postPatch = ''
chmod +x meson/post_install.py chmod +x meson/post_install.py
patchShebangs 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" echo "Installing libs into $clojure_lib_dir"
install -Dm644 deps.edn "$clojure_lib_dir/deps.edn" install -Dm644 deps.edn "$clojure_lib_dir/deps.edn"
install -Dm644 example-deps.edn "$clojure_lib_dir/example-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 exec.jar "$clojure_lib_dir/libexec/exec.jar"
install -Dm644 clojure-tools-${version}.jar "$clojure_lib_dir/libexec/clojure-tools-${version}.jar" install -Dm644 clojure-tools-${version}.jar "$clojure_lib_dir/libexec/clojure-tools-${version}.jar"
@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = '' installCheckPhase = ''
CLJ_CONFIG=$out CLJ_CACHE=$out/libexec $out/bin/clojure \ CLJ_CONFIG=$TMPDIR CLJ_CACHE=$TMPDIR/.clj_cache $out/bin/clojure \
-Spath \ -Spath \
-Sverbose \ -Sverbose \
-Scp $out/libexec/clojure-tools-${version}.jar -Scp $out/libexec/clojure-tools-${version}.jar

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pugixml"; pname = "pugixml";
version = "1.11.1"; version = "1.11.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zeux"; owner = "zeux";
repo = "pugixml"; repo = "pugixml";
rev = "v${version}"; rev = "v${version}";
sha256 = "0iwn627wynrqrwb2ddm38p6y6cpgcavgbkrrxwxa0d26m9v2avpr"; sha256 = "sha256-pXadPs2Dlht3BMNYDVxWZqnVv0umDgYVcqH5YVxr+uA=";
}; };
outputs = if shared then [ "out" "dev" ] else [ "out" ]; 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"; sha256 = "120qar8iaxj6dmnhjw1c40n2w06f1nyxy57dwh06xdiany698fg4";
}; };
postPatch = ''
substituteInPlace requirements/base.txt \
--replace 'simplejson==3' 'simplejson~=3'
'';
propagatedBuildInputs = [ simplejson ]; propagatedBuildInputs = [ simplejson ];
nativeBuildInputs = [ autoconf automake cmake libtool perl ]; nativeBuildInputs = [ autoconf automake cmake libtool perl ];
@ -21,10 +26,6 @@ buildPythonPackage rec {
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
preBuild = ''
substituteInPlace requirements/base.txt --replace 'simplejson==3' 'simplejson~=3'
'';
checkInputs = [ pytestCheckHook ]; checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "awslambdaric" "runtime_client" ]; pythonImportsCheck = [ "awslambdaric" "runtime_client" ];

View file

@ -3,6 +3,7 @@
, fetchFromGitHub , fetchFromGitHub
, pytestCheckHook , pytestCheckHook
, pytest-xdist , pytest-xdist
, torchvision
, pythonOlder , pythonOlder
, matplotlib , matplotlib
, mock , mock
@ -14,16 +15,16 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ignite"; pname = "ignite";
version = "0.4.5"; version = "0.4.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pytorch"; owner = "pytorch";
repo = pname; repo = pname;
rev = "v${version}"; 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 ]; propagatedBuildInputs = [ pytorch scikit-learn tqdm pynvml ];
# runs succesfully in 3.9, however, async isn't correctly closed so it will fail after test suite. # 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/contrib/handlers/test_trains_logger.py"
"--ignore=tests/ignite/metrics/nlp/test_bleu.py" "--ignore=tests/ignite/metrics/nlp/test_bleu.py"
"--ignore=tests/ignite/metrics/nlp/test_rouge.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_dill.py"
"--ignore=tests/ignite/metrics/test_psnr.py" "--ignore=tests/ignite/metrics/test_psnr.py"
"--ignore=tests/ignite/metrics/test_ssim.py" "--ignore=tests/ignite/metrics/test_ssim.py"

View file

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

View file

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

View file

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

View file

@ -13,6 +13,11 @@ buildGoModule rec {
sha256 = "sha256-pjg52ONseKNw06EOBzD6Elge+Cz+C3llPvjJPHkn1cw="; sha256 = "sha256-pjg52ONseKNw06EOBzD6Elge+Cz+C3llPvjJPHkn1cw=";
}; };
patches = [
# fix kernel module path used by kind
./kernel-module-path.patch
];
vendorSha256 = "sha256-HiVdekSZrC/RkMSvcwm1mv6AE4bA5kayUsMdVCbckiE="; vendorSha256 = "sha256-HiVdekSZrC/RkMSvcwm1mv6AE4bA5kayUsMdVCbckiE=";
doCheck = false; 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 { stdenv.mkDerivation rec {
pname = "teensy-loader-cli"; pname = "teensy-loader-cli";
version = "2.1.20191110"; version = "2.1+unstable=2021-04-10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PaulStoffregen"; owner = "PaulStoffregen";
repo = "teensy_loader_cli"; repo = "teensy_loader_cli";
rev = "e98b5065cdb9f04aa4dde3f2e6e6e6f12dd97592"; rev = "9dbbfa3b367b6c37e91e8a42dae3c6edfceccc4d";
sha256 = "1yx8vsh6b29pqr4zb6sx47429i9x51hj9psn8zksfz75j5ivfd5i"; sha256 = "lQ1XtaWPr6nvE8NArD1980QVOH6NggO3FlfsntUjY7s=";
}; };
buildInputs = [ libusb-compat-0_1 ]; nativeBuildInputs = [
go-md2man
installShellFiles
];
nativeBuildInputs = [ go-md2man installShellFiles ]; buildInputs = [
libusb-compat-0_1
];
installPhase = '' installPhase = ''
runHook preInstall
install -Dm555 teensy_loader_cli $out/bin/teensy-loader-cli install -Dm555 teensy_loader_cli $out/bin/teensy-loader-cli
install -Dm444 -t $out/share/doc/${pname} *.md *.txt install -Dm444 -t $out/share/doc/${pname} *.md *.txt
go-md2man -in README.md -out ${pname}.1 go-md2man -in README.md -out ${pname}.1
installManPage *.1 installManPage *.1
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
description = "Firmware uploader for the Teensy microcontroller boards"; description = "Firmware uploader for the Teensy microcontroller boards";
homepage = "https://www.pjrc.com/teensy/"; homepage = "https://www.pjrc.com/teensy/";
license = licenses.gpl3; license = licenses.gpl3Only;
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -3,10 +3,12 @@
tree-sitter-bash = (builtins.fromJSON (builtins.readFile ./tree-sitter-bash.json)); 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 = (builtins.fromJSON (builtins.readFile ./tree-sitter-c.json));
tree-sitter-c-sharp = (builtins.fromJSON (builtins.readFile ./tree-sitter-c-sharp.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-cpp = (builtins.fromJSON (builtins.readFile ./tree-sitter-cpp.json));
tree-sitter-css = (builtins.fromJSON (builtins.readFile ./tree-sitter-css.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-embedded-template = (builtins.fromJSON (builtins.readFile ./tree-sitter-embedded-template.json));
tree-sitter-fennel = (builtins.fromJSON (builtins.readFile ./tree-sitter-fennel.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-fluent = (builtins.fromJSON (builtins.readFile ./tree-sitter-fluent.json));
tree-sitter-go = (builtins.fromJSON (builtins.readFile ./tree-sitter-go.json)); tree-sitter-go = (builtins.fromJSON (builtins.readFile ./tree-sitter-go.json));
tree-sitter-haskell = (builtins.fromJSON (builtins.readFile ./tree-sitter-haskell.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, # If you need a grammar that already exists in the official orga,
# make sure to give it a different name. # make sure to give it a different name.
otherGrammars = { otherGrammars = {
"tree-sitter-comment" = {
orga = "stsewd";
repo = "tree-sitter-comment";
};
"tree-sitter-nix" = { "tree-sitter-nix" = {
orga = "cstrahan"; orga = "cstrahan";
repo = "tree-sitter-nix"; repo = "tree-sitter-nix";
@ -106,6 +110,10 @@ let
orga = "GrayJack"; orga = "GrayJack";
repo = "tree-sitter-zig"; repo = "tree-sitter-zig";
}; };
"tree-sitter-fish" = {
orga = "ram02z";
repo = "tree-sitter-fish";
};
}; };
allGrammars = allGrammars =

View file

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

View file

@ -44,16 +44,16 @@ in rec {
unstable = fetchurl rec { unstable = fetchurl rec {
# NOTE: Don't forget to change the SHA256 for staging as well. # 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"; 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; inherit (stable) gecko32 gecko64;
## see http://wiki.winehq.org/Mono ## see http://wiki.winehq.org/Mono
mono = fetchurl rec { 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"; url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
sha256 = "sha256-zY1TUT2DV7KHama6sIllTvmUH0LvaQ+1VcZJP1OB28o="; sha256 = "sha256-pfAtMqAoNpKkpiX1Qc+7tFGIMShHTFyANiOFMXzQmfA=";
}; };
patches = [ patches = [
@ -65,7 +65,7 @@ in rec {
staging = fetchFromGitHub rec { staging = fetchFromGitHub rec {
# https://github.com/wine-staging/wine-staging/releases # https://github.com/wine-staging/wine-staging/releases
inherit (unstable) version; inherit (unstable) version;
sha256 = "sha256-3IpO+eQ/+DiQZH6en5Q/p+j441LDvjn4i9Ex7PY8KCk="; sha256 = "sha256-yzpRWNx/e3BDCh1dyf8VdjLgvu6yZ/CXre/cb1roaVs=";
owner = "wine-staging"; owner = "wine-staging";
repo = "wine-staging"; repo = "wine-staging";
rev = "v${version}"; rev = "v${version}";

View file

@ -59,6 +59,9 @@ stdenv.mkDerivation rec {
cp -a usr/share/* $out/share cp -a usr/share/* $out/share
cp -a opt/balenaEtcher/{locales,resources} $out/share/${pname} 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 runHook postInstall
''; '';

View file

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

View file

@ -1,21 +1,29 @@
{ lib, fetchFromGitHub, rustPlatform }: { lib, fetchFromGitHub, rustPlatform, makeWrapper, openssh, nix-serve }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "nix-simple-deploy"; pname = "nix-simple-deploy";
version = "0.1.1"; version = "0.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "misuzu"; owner = "misuzu";
repo = pname; repo = pname;
rev = version; 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; { meta = with lib; {
description = "Deploy software or an entire NixOS system configuration to another NixOS system"; description = "Deploy software or an entire NixOS system configuration to another NixOS system";
homepage = "https://github.com/misuzu/nix-simple-deploy"; homepage = "https://github.com/misuzu/nix-simple-deploy";
platforms = platforms.unix;
license = with licenses; [ asl20 /* OR */ mit ]; license = with licenses; [ asl20 /* OR */ mit ];
maintainers = with maintainers; [ misuzu ]; maintainers = with maintainers; [ misuzu ];
}; };

View file

@ -2,22 +2,22 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "mdbook"; pname = "mdbook";
version = "0.4.10"; version = "0.4.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rust-lang-nursery"; owner = "rust-lang";
repo = "mdBook"; repo = "mdBook";
rev = "v${version}"; 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 ]; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
meta = with lib; { meta = with lib; {
description = "Create books from MarkDown"; description = "Create books from MarkDown";
homepage = "https://github.com/rust-lang-nursery/mdbook"; homepage = "https://github.com/rust-lang/mdBook";
license = [ licenses.mpl20 ]; license = [ licenses.mpl20 ];
maintainers = [ maintainers.havvy ]; maintainers = [ maintainers.havvy ];
}; };

View file

@ -709,6 +709,7 @@ mapAliases ({
redkite = throw "redkite was archived by upstream"; # added 2021-04-12 redkite = throw "redkite was archived by upstream"; # added 2021-04-12
rkt = throw "rkt was archived by upstream"; # added 2020-05-16 rkt = throw "rkt was archived by upstream"; # added 2020-05-16
rpiboot-unstable = rpiboot; # added 2021-07-30 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_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_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"; 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 {}; libmesode = callPackage ../development/libraries/libmesode {};
libmsym = callPackage ../development/libraries/science/chemistry/libmsym { };
libnabo = callPackage ../development/libraries/libnabo { }; libnabo = callPackage ../development/libraries/libnabo { };
libngspice = callPackage ../development/libraries/libngspice { }; libngspice = callPackage ../development/libraries/libngspice { };
@ -14082,6 +14084,8 @@ in
mkdocs = callPackage ../development/tools/documentation/mkdocs { }; mkdocs = callPackage ../development/tools/documentation/mkdocs { };
mmtf-cpp = callPackage ../development/libraries/science/chemistry/mmtf-cpp { };
mockgen = callPackage ../development/tools/mockgen { }; mockgen = callPackage ../development/tools/mockgen { };
modd = callPackage ../development/tools/modd { }; modd = callPackage ../development/tools/modd { };
@ -23102,6 +23106,8 @@ in
vistafonts-chs = callPackage ../data/fonts/vista-fonts-chs { }; vistafonts-chs = callPackage ../data/fonts/vista-fonts-chs { };
vistafonts-cht = callPackage ../data/fonts/vista-fonts-cht { };
vollkorn = callPackage ../data/fonts/vollkorn { }; vollkorn = callPackage ../data/fonts/vollkorn { };
weather-icons = callPackage ../data/fonts/weather-icons { }; weather-icons = callPackage ../data/fonts/weather-icons { };
@ -26757,9 +26763,7 @@ in
polylith = callPackage ../development/tools/misc/polylith { }; polylith = callPackage ../development/tools/misc/polylith { };
polymake = callPackage ../applications/science/math/polymake { polymake = callPackage ../applications/science/math/polymake { };
openjdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
pond = callPackage ../applications/networking/instant-messengers/pond { }; pond = callPackage ../applications/networking/instant-messengers/pond { };
@ -27099,8 +27103,6 @@ in
rtl-sdr = callPackage ../applications/radio/rtl-sdr { }; rtl-sdr = callPackage ../applications/radio/rtl-sdr { };
librtlsdr = callPackage ../development/libraries/librtlsdr { }; librtlsdr = callPackage ../development/libraries/librtlsdr { };
rtv = callPackage ../applications/misc/rtv { };
rubyripper = callPackage ../applications/audio/rubyripper {}; rubyripper = callPackage ../applications/audio/rubyripper {};
runc = callPackage ../applications/virtualization/runc {}; runc = callPackage ../applications/virtualization/runc {};
@ -30085,6 +30087,12 @@ in
eigen = eigen2; 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 { }; chemtool = callPackage ../applications/science/chemistry/chemtool { };
cp2k = callPackage ../applications/science/chemistry/cp2k { }; cp2k = callPackage ../applications/science/chemistry/cp2k { };