diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.section.md b/nixos/doc/manual/development/running-nixos-tests-interactively.section.md index 3ba4e16e77f4..f87298201791 100644 --- a/nixos/doc/manual/development/running-nixos-tests-interactively.section.md +++ b/nixos/doc/manual/development/running-nixos-tests-interactively.section.md @@ -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` diff --git a/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml b/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml index a2030e9c0739..17003cbcbfdc 100644 --- a/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml +++ b/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml @@ -6,7 +6,7 @@ $ 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 > @@ -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). - - To just start and experiment with the VMs, run: - - -$ 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. -$ ./result/bin/nixos-run-vms --keep-vm-state +$ ./result/bin/nixos-test-driver --interactive --keep-vm-state The machine state is stored in the diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py old mode 100644 new mode 100755 index 2a3e4d94b948..1720e553d733 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -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)) diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index c703484666d5..6369d6ef05d4 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -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 diff --git a/nixos/modules/services/web-apps/miniflux.nix b/nixos/modules/services/web-apps/miniflux.nix index 01710b1bd59c..1bbadafa2078 100644 --- a/nixos/modules/services/web-apps/miniflux.nix +++ b/nixos/modules/services/web-apps/miniflux.nix @@ -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; diff --git a/pkgs/applications/audio/cozy-audiobooks/default.nix b/pkgs/applications/audio/cozy-audiobooks/default.nix index 5eb71cbe04f3..88ac8002140e 100644 --- a/pkgs/applications/audio/cozy-audiobooks/default.nix +++ b/pkgs/applications/audio/cozy-audiobooks/default.nix @@ -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 = '' diff --git a/pkgs/applications/misc/audio/wavrsocvt/default.nix b/pkgs/applications/misc/audio/wavrsocvt/default.nix index 3b32f0d7f30b..6b09a2e38d8c 100644 --- a/pkgs/applications/misc/audio/wavrsocvt/default.nix +++ b/pkgs/applications/misc/audio/wavrsocvt/default.nix @@ -8,8 +8,6 @@ stdenv.mkDerivation { sha256 = "15qlvdfwbiclljj7075ycm78yzqahzrgl4ky8pymix5179acm05h"; }; - phases = [ "unpackPhase" "installPhase" ]; - unpackPhase = '' tar -zxf $src ''; diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix index 14b372d91e59..61cab2b6a2a4 100644 --- a/pkgs/applications/misc/avrdudess/default.nix +++ b/pkgs/applications/misc/avrdudess/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ unzip ]; - phases = [ "buildPhase" ]; + dontUnpack = true; + dontInstall = true; buildPhase = '' mkdir -p "$out/avrdudess" diff --git a/pkgs/applications/misc/azuredatastudio/default.nix b/pkgs/applications/misc/azuredatastudio/default.nix index 56894a29a662..fca1ad12fd1c 100644 --- a/pkgs/applications/misc/azuredatastudio/default.nix +++ b/pkgs/applications/misc/azuredatastudio/default.nix @@ -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"; diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix index ab718cdffcf2..f82ce53d9746 100644 --- a/pkgs/applications/misc/emem/default.nix +++ b/pkgs/applications/misc/emem/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "18x3s3jrph8k3pc75jgwkfqazygpsx93zjxx68zms58my17cybh1"; }; - phases = [ "buildPhase" "installPhase" ]; + dontUnpack = true; buildPhase = '' mkdir -p $out/bin $out/share/java diff --git a/pkgs/applications/misc/ganttproject-bin/default.nix b/pkgs/applications/misc/ganttproject-bin/default.nix index 2b4504a1dce2..76a19f5188c8 100644 --- a/pkgs/applications/misc/ganttproject-bin/default.nix +++ b/pkgs/applications/misc/ganttproject-bin/default.nix @@ -15,8 +15,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ jre ]; - phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; - installPhase = let desktopItem = makeDesktopItem { diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix index 59bb05f85ced..cc9f9df0c608 100644 --- a/pkgs/applications/misc/gollum/default.nix +++ b/pkgs/applications/misc/gollum/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - phases = [ "installPhase" ]; + dontUnpack = true; installPhase = let env = bundlerEnv { diff --git a/pkgs/applications/misc/hello-unfree/default.nix b/pkgs/applications/misc/hello-unfree/default.nix index 7c54c3201111..5c9a507fc071 100644 --- a/pkgs/applications/misc/hello-unfree/default.nix +++ b/pkgs/applications/misc/hello-unfree/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { pname = "example-unfree-package"; version = "1.0"; - phases = [ "installPhase" "fixupPhase" ]; + dontUnpack = true; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix deleted file mode 100644 index be539a37a301..000000000000 --- a/pkgs/applications/misc/rtv/default.nix +++ /dev/null @@ -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 ]; - }; -} diff --git a/pkgs/applications/misc/smos/default.nix b/pkgs/applications/misc/smos/default.nix index 7d994a749bd4..aa2f53b5a2c7 100644 --- a/pkgs/applications/misc/smos/default.nix +++ b/pkgs/applications/misc/smos/default.nix @@ -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 = "."; diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix index 9026738133b0..61e2063f2cb2 100644 --- a/pkgs/applications/networking/cloudflared/default.nix +++ b/pkgs/applications/networking/cloudflared/default.nix @@ -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; diff --git a/pkgs/applications/office/pympress/default.nix b/pkgs/applications/office/pympress/default.nix index ebc93edba6ef..2a97de6ca5b8 100644 --- a/pkgs/applications/office/pympress/default.nix +++ b/pkgs/applications/office/pympress/default.nix @@ -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 diff --git a/pkgs/applications/science/chemistry/avogadro2/default.nix b/pkgs/applications/science/chemistry/avogadro2/default.nix new file mode 100644 index 000000000000..437123faafd8 --- /dev/null +++ b/pkgs/applications/science/chemistry/avogadro2/default.nix @@ -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; + }; +} diff --git a/pkgs/applications/science/electronics/vhd2vl/default.nix b/pkgs/applications/science/electronics/vhd2vl/default.nix index adce30551071..f0dd990a35bc 100644 --- a/pkgs/applications/science/electronics/vhd2vl/default.nix +++ b/pkgs/applications/science/electronics/vhd2vl/default.nix @@ -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; { diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix index b1abb31c7650..9566801479a3 100644 --- a/pkgs/applications/science/math/polymake/default.nix +++ b/pkgs/applications/science/math/polymake/default.nix @@ -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"; }; } diff --git a/pkgs/data/fonts/vista-fonts-cht/default.nix b/pkgs/data/fonts/vista-fonts-cht/default.nix new file mode 100644 index 000000000000..264d5a41bf48 --- /dev/null +++ b/pkgs/data/fonts/vista-fonts-cht/default.nix @@ -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; + }; +} diff --git a/pkgs/data/fonts/vista-fonts-cht/no-op.conf b/pkgs/data/fonts/vista-fonts-cht/no-op.conf new file mode 100644 index 000000000000..3f8a9b9b5444 --- /dev/null +++ b/pkgs/data/fonts/vista-fonts-cht/no-op.conf @@ -0,0 +1,9 @@ + + + + + diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index 2397dd8ffcf5..7f3a6dc0983e 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -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 diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 77ec74e8c3f5..3fca18f65a6e 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -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 diff --git a/pkgs/development/libraries/pugixml/default.nix b/pkgs/development/libraries/pugixml/default.nix index 14ef8130431a..57335fa3d970 100644 --- a/pkgs/development/libraries/pugixml/default.nix +++ b/pkgs/development/libraries/pugixml/default.nix @@ -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" ]; diff --git a/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix b/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix new file mode 100644 index 000000000000..1130f5c44e70 --- /dev/null +++ b/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix @@ -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; + }; +} diff --git a/pkgs/development/libraries/science/chemistry/libmsym/default.nix b/pkgs/development/libraries/science/chemistry/libmsym/default.nix new file mode 100644 index 000000000000..8c605f3e07d4 --- /dev/null +++ b/pkgs/development/libraries/science/chemistry/libmsym/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix b/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix new file mode 100644 index 000000000000..ec1fed68ff93 --- /dev/null +++ b/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/libraries/science/chemistry/molequeue/default.nix b/pkgs/development/libraries/science/chemistry/molequeue/default.nix new file mode 100644 index 000000000000..1e8ca2d961d3 --- /dev/null +++ b/pkgs/development/libraries/science/chemistry/molequeue/default.nix @@ -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; + }; +} diff --git a/pkgs/development/python-modules/awslambdaric/default.nix b/pkgs/development/python-modules/awslambdaric/default.nix index 6bb6702b1e2b..f5d282ac0ee1 100644 --- a/pkgs/development/python-modules/awslambdaric/default.nix +++ b/pkgs/development/python-modules/awslambdaric/default.nix @@ -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" ]; diff --git a/pkgs/development/python-modules/ignite/default.nix b/pkgs/development/python-modules/ignite/default.nix index 72a607505cdc..177fd8915607 100644 --- a/pkgs/development/python-modules/ignite/default.nix +++ b/pkgs/development/python-modules/ignite/default.nix @@ -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" diff --git a/pkgs/development/python-modules/pynvml/default.nix b/pkgs/development/python-modules/pynvml/default.nix index 75d8056fa557..59698fa18767 100644 --- a/pkgs/development/python-modules/pynvml/default.nix +++ b/pkgs/development/python-modules/pynvml/default.nix @@ -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 ]; diff --git a/pkgs/development/python-modules/threadpoolctl/default.nix b/pkgs/development/python-modules/threadpoolctl/default.nix index 20fad7c18a0a..7ba82aaec296 100644 --- a/pkgs/development/python-modules/threadpoolctl/default.nix +++ b/pkgs/development/python-modules/threadpoolctl/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/xml-marshaller/default.nix b/pkgs/development/python-modules/xml-marshaller/default.nix index 748b68756208..30300c61045d 100644 --- a/pkgs/development/python-modules/xml-marshaller/default.nix +++ b/pkgs/development/python-modules/xml-marshaller/default.nix @@ -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/"; diff --git a/pkgs/development/tools/kind/default.nix b/pkgs/development/tools/kind/default.nix index 88bc30943c38..e667238b9b09 100644 --- a/pkgs/development/tools/kind/default.nix +++ b/pkgs/development/tools/kind/default.nix @@ -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; diff --git a/pkgs/development/tools/kind/kernel-module-path.patch b/pkgs/development/tools/kind/kernel-module-path.patch new file mode 100644 index 000000000000..833cd3388ec2 --- /dev/null +++ b/pkgs/development/tools/kind/kernel-module-path.patch @@ -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..., + ) diff --git a/pkgs/development/tools/misc/teensy-loader-cli/default.nix b/pkgs/development/tools/misc/teensy-loader-cli/default.nix index 156e3f7f895d..ccae93770249 100644 --- a/pkgs/development/tools/misc/teensy-loader-cli/default.nix +++ b/pkgs/development/tools/misc/teensy-loader-cli/default.nix @@ -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; }; } diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix index 2671e4148b1d..10c551c1442a 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix @@ -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)); diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json new file mode 100644 index 000000000000..54e275adf6ec --- /dev/null +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json @@ -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 +} diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json new file mode 100644 index 000000000000..4dc81284db91 --- /dev/null +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json @@ -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 +} diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix index 55237b298d2a..308ca3eeb69f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/update.nix +++ b/pkgs/development/tools/parsing/tree-sitter/update.nix @@ -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 = diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix index 1868bdaf2c32..10012e552ced 100644 --- a/pkgs/development/tools/yarn/default.nix +++ b/pkgs/development/tools/yarn/default.nix @@ -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 ]; diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index 6accb486d57c..7e278684cef4 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -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}"; diff --git a/pkgs/tools/misc/etcher/default.nix b/pkgs/tools/misc/etcher/default.nix index d0fae336d9d3..6834179cfe9a 100644 --- a/pkgs/tools/misc/etcher/default.nix +++ b/pkgs/tools/misc/etcher/default.nix @@ -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 ''; diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix index 7a49af85d39d..3debf67f81a9 100644 --- a/pkgs/tools/networking/dnsproxy/default.nix +++ b/pkgs/tools/networking/dnsproxy/default.nix @@ -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; diff --git a/pkgs/tools/package-management/nix-simple-deploy/default.nix b/pkgs/tools/package-management/nix-simple-deploy/default.nix index 75f47d35ce2c..bd16ecc6f3fc 100644 --- a/pkgs/tools/package-management/nix-simple-deploy/default.nix +++ b/pkgs/tools/package-management/nix-simple-deploy/default.nix @@ -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 ]; }; diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix index 29007dd1282d..d3a136d6bf75 100644 --- a/pkgs/tools/text/mdbook/default.nix +++ b/pkgs/tools/text/mdbook/default.nix @@ -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 ]; }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index a91db037114c..ae0194850666 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f402775f9af8..dac91c0ad2f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };