diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bc1cf0f8b8f..e1b00052948 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9081,6 +9081,12 @@ githubId = 483735; name = "Dmitry Geurkov"; }; + truh = { + email = "jakob-nixos@truh.in"; + github = "truh"; + githubId = 1183303; + name = "Jakob Klepp"; + }; tscholak = { email = "torsten.scholak@googlemail.com"; github = "tscholak"; diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index 458170e803b..2b0144a69c2 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -278,6 +278,15 @@ = true; + + + The options services.slurm.dbdserver.storagePass + and services.slurm.dbdserver.configFile have been removed. + Use services.slurm.dbdserver.storagePassFile instead to provide the database password. + Extra config options can be given via the option services.slurm.dbdserver.extraConfig. The actual configuration file is created on the fly on startup of the service. + This avoids that the password gets exposed in the nix store. + + diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d3f6e85327b..bbc8b49c43f 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -876,6 +876,7 @@ ./services/web-apps/moodle.nix ./services/web-apps/nextcloud.nix ./services/web-apps/nexus.nix + ./services/web-apps/plantuml-server.nix ./services/web-apps/pgpkeyserver-lite.nix ./services/web-apps/matomo.nix ./services/web-apps/moinmoin.nix diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix index 705390a21d4..302f058926c 100644 --- a/nixos/modules/services/computing/slurm/slurm.nix +++ b/nixos/modules/services/computing/slurm/slurm.nix @@ -34,13 +34,12 @@ let ${cfg.extraCgroupConfig} ''; - slurmdbdConf = pkgs.writeTextDir "slurmdbd.conf" + slurmdbdConf = pkgs.writeText "slurmdbd.conf" '' DbdHost=${cfg.dbdserver.dbdHost} SlurmUser=${cfg.user} StorageType=accounting_storage/mysql StorageUser=${cfg.dbdserver.storageUser} - ${optionalString (cfg.dbdserver.storagePass != null) "StoragePass=${cfg.dbdserver.storagePass}"} ${cfg.dbdserver.extraConfig} ''; @@ -95,26 +94,12 @@ in ''; }; - storagePass = mkOption { - type = types.nullOr types.str; + storagePassFile = mkOption { + type = with types; nullOr str; default = null; description = '' - Database password. Note that this password will be publicable - readable in the nix store. Use - to store the and config file and password outside the nix store. - ''; - }; - - configFile = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Path to slurmdbd.conf. The password for the database connection - is stored in the config file. Use this option to specfify a path - outside the nix store. If this option is unset a configuration file - will be generated. See also: - slurmdbd.conf - 8. + Path to file with database password. The content of this will be used to + create the password for the StoragePass option. ''; }; @@ -122,7 +107,9 @@ in type = types.lines; default = ""; description = '' - Extra configuration for slurmdbd.conf + Extra configuration for slurmdbd.conf See also: + slurmdbd.conf + 8. ''; }; }; @@ -292,6 +279,16 @@ in }; + imports = [ + (mkRemovedOptionModule [ "services" "slurm" "dbdserver" "storagePass" ] '' + This option has been removed so that the database password is not exposed via the nix store. + Use services.slurm.dbdserver.storagePassFile to provide the database password. + '') + (mkRemovedOptionModule [ "services" "slurm" "dbdserver" "configFile" ] '' + This option has been removed. Use services.slurm.dbdserver.storagePassFile + and services.slurm.dbdserver.extraConfig instead. + '') + ]; ###### implementation @@ -386,23 +383,34 @@ in ''; }; - systemd.services.slurmdbd = mkIf (cfg.dbdserver.enable) { + systemd.services.slurmdbd = let + # slurm strips the last component off the path + configPath = "$RUNTIME_DIRECTORY/slurmdbd.conf"; + in mkIf (cfg.dbdserver.enable) { path = with pkgs; [ wrappedSlurm munge coreutils ]; wantedBy = [ "multi-user.target" ]; after = [ "network.target" "munged.service" "mysql.service" ]; requires = [ "munged.service" "mysql.service" ]; - # slurm strips the last component off the path - environment.SLURM_CONF = - if (cfg.dbdserver.configFile == null) then - "${slurmdbdConf}/slurm.conf" - else - cfg.dbdserver.configFile; + preStart = '' + cp ${slurmdbdConf} ${configPath} + chmod 600 ${configPath} + chown ${cfg.user} ${configPath} + ${optionalString (cfg.dbdserver.storagePassFile != null) '' + echo "StoragePass=$(cat ${cfg.dbdserver.storagePassFile})" \ + >> ${configPath} + ''} + ''; + + script = '' + export SLURM_CONF=${configPath} + exec ${cfg.package}/bin/slurmdbd -D + ''; serviceConfig = { - Type = "forking"; - ExecStart = "${cfg.package}/bin/slurmdbd"; + RuntimeDirectory = "slurmdbd"; + Type = "simple"; PIDFile = "/run/slurmdbd.pid"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; diff --git a/nixos/modules/services/web-apps/plantuml-server.nix b/nixos/modules/services/web-apps/plantuml-server.nix new file mode 100644 index 00000000000..a39f594c274 --- /dev/null +++ b/nixos/modules/services/web-apps/plantuml-server.nix @@ -0,0 +1,123 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.plantuml-server; + +in + +{ + options = { + services.plantuml-server = { + enable = mkEnableOption "PlantUML server"; + + package = mkOption { + type = types.package; + default = pkgs.plantuml-server; + description = "PlantUML server package to use"; + }; + + user = mkOption { + type = types.str; + default = "plantuml"; + description = "User which runs PlantUML server."; + }; + + group = mkOption { + type = types.str; + default = "plantuml"; + description = "Group which runs PlantUML server."; + }; + + home = mkOption { + type = types.str; + default = "/var/lib/plantuml"; + description = "Home directory of the PlantUML server instance."; + }; + + listenHost = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Host to listen on."; + }; + + listenPort = mkOption { + type = types.int; + default = 8080; + description = "Port to listen on."; + }; + + plantumlLimitSize = mkOption { + type = types.int; + default = 4096; + description = "Limits image width and height."; + }; + + graphvizPackage = mkOption { + type = types.package; + default = pkgs.graphviz_2_32; + description = "Package containing the dot executable."; + }; + + plantumlStats = mkOption { + type = types.bool; + default = false; + description = "Set it to on to enable statistics report (https://plantuml.com/statistics-report)."; + }; + + httpAuthorization = mkOption { + type = types.nullOr types.str; + default = null; + description = "When calling the proxy endpoint, the value of HTTP_AUTHORIZATION will be used to set the HTTP Authorization header."; + }; + + allowPlantumlInclude = mkOption { + type = types.bool; + default = false; + description = "Enables !include processing which can read files from the server into diagrams. Files are read relative to the current working directory."; + }; + }; + }; + + config = mkIf cfg.enable { + users.users.${cfg.user} = { + isSystemUser = true; + group = cfg.group; + home = cfg.home; + createHome = true; + }; + + users.groups.${cfg.group} = {}; + + systemd.services.plantuml-server = { + description = "PlantUML server"; + wantedBy = [ "multi-user.target" ]; + path = [ cfg.home ]; + environment = { + PLANTUML_LIMIT_SIZE = builtins.toString cfg.plantumlLimitSize; + GRAPHVIZ_DOT = "${cfg.graphvizPackage}/bin/dot"; + PLANTUML_STATS = if cfg.plantumlStats then "on" else "off"; + HTTP_AUTHORIZATION = cfg.httpAuthorization; + ALLOW_PLANTUML_INCLUDE = if cfg.allowPlantumlInclude then "true" else "false"; + }; + script = '' + ${pkgs.jre}/bin/java \ + -jar ${pkgs.jetty}/start.jar \ + --module=deploy,http,jsp \ + jetty.home=${pkgs.jetty} \ + jetty.base=${cfg.package} \ + jetty.http.host=${cfg.listenHost} \ + jetty.http.port=${builtins.toString cfg.listenPort} + ''; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + PrivateTmp = true; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ truh ]; +} diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix index a54c5d9db48..97e031a6279 100644 --- a/nixos/tests/slurm.nix +++ b/nixos/tests/slurm.nix @@ -86,14 +86,16 @@ in { dbd = { pkgs, ... } : - { + let + passFile = pkgs.writeText "dbdpassword" "password123"; + in { networking.firewall.enable = false; systemd.tmpfiles.rules = [ "f /etc/munge/munge.key 0400 munge munge - mungeverryweakkeybuteasytointegratoinatest" ]; services.slurm.dbdserver = { enable = true; - storagePass = "password123"; + storagePassFile = "${passFile}"; }; services.mysql = { enable = true; diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix index a84cb41bf30..101dbdaa2e9 100644 --- a/pkgs/applications/editors/emacs/generic.nix +++ b/pkgs/applications/editors/emacs/generic.nix @@ -42,7 +42,12 @@ assert withXwidgets -> withGTK3 && webkitgtk != null; let -in stdenv.mkDerivation { +in stdenv.mkDerivation (lib.optionalAttrs nativeComp { + NATIVE_FULL_AOT = "1"; + LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib"; +} // lib.optionalAttrs stdenv.isDarwin { + CFLAGS = "-DMAC_OS_X_VERSION_MAX_ALLOWED=101200"; +} // { inherit pname version patches; src = fetchurl { @@ -88,10 +93,6 @@ in stdenv.mkDerivation { "" ]; - CFLAGS = "-DMAC_OS_X_VERSION_MAX_ALLOWED=101200"; - - LIBRARY_PATH = if nativeComp then "${lib.getLib stdenv.cc.libc}/lib" else ""; - nativeBuildInputs = [ pkgconfig makeWrapper ] ++ lib.optionals srcRepo [ autoreconfHook texinfo ] ++ lib.optional (withX && (withGTK3 || withXwidgets)) wrapGAppsHook; @@ -155,6 +156,11 @@ in stdenv.mkDerivation { mv nextstep/Emacs.app $out/Applications '' + lib.optionalString (nativeComp && withNS) '' ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp + '' + lib.optionalString nativeComp '' + mkdir -p $out/share/emacs/native-lisp + $out/bin/emacs --batch \ + --eval "(add-to-list 'comp-eln-load-path \"$out/share/emacs/native-lisp\")" \ + -f batch-native-compile $out/share/emacs/site-lisp/site-start.el ''; postFixup = lib.concatStringsSep "\n" [ @@ -195,4 +201,4 @@ in stdenv.mkDerivation { separately. ''; }; -} +}) diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index 86cad1132f6..01a6422d731 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -34,6 +34,25 @@ least specific (the system profile)" (setenv "EMACSLOADPATH" (when new-env-list (mapconcat 'identity new-env-list ":")))))) +(let ((wrapper-site-lisp (getenv "emacsWithPackages_siteLispNative")) + (env-load-path (getenv "EMACSNATIVELOADPATH"))) + (when wrapper-site-lisp + (setenv "emacsWithPackages_siteLispNative" nil)) + (when (and wrapper-site-lisp env-load-path) + (let* ((env-list (split-string env-load-path ":")) + (new-env-list (delete wrapper-site-lisp env-list))) + (setenv "EMACSNATIVELOADPATH" (when new-env-list + (mapconcat 'identity new-env-list ":")))))) + +;;; Set up native-comp load path. +(when (featurep 'comp) + ;; Append native-comp subdirectories from `NIX_PROFILES'. + (setq comp-eln-load-path + (append (mapcar (lambda (profile-dir) + (concat profile-dir "/share/emacs/native-lisp/")) + (nix--profile-paths)) + comp-eln-load-path))) + ;;; Make `woman' find the man pages (defvar woman-manpath) (eval-after-load 'woman diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index b201f9dbf0d..d0c8d1c9ee9 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -66,7 +66,6 @@ mkDerivation rec { libGLU libGL libXt openmpi - (python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ])) tbb boost ffmpeg @@ -78,6 +77,10 @@ mkDerivation rec { qtsvg ]; + propagatedBuildInputs = [ + (python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ])) + ]; + meta = with stdenv.lib; { homepage = "https://www.paraview.org/"; description = "3D Data analysis and visualization application"; diff --git a/pkgs/applications/misc/xdg-launch/default.nix b/pkgs/applications/misc/xdg-launch/default.nix new file mode 100644 index 00000000000..257b15387ba --- /dev/null +++ b/pkgs/applications/misc/xdg-launch/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, lib +, fetchFromGitHub +, autoconf +, automake +, gettext +, libtool +, perl +, pkg-config +, glib +, xorg +}: +stdenv.mkDerivation rec { + pname = "xdg-launch"; + version = "1.10"; + + postPatch = '' + # fix gettext configuration + echo 'AM_GNU_GETTEXT_VERSION' >> configure.ac + echo 'AM_GNU_GETTEXT([external])' >> configure.ac + + sed -i data/*.desktop \ + -e "s,/usr/bin,/$out/bin,g" + ''; + + src = fetchFromGitHub { + owner = "bbidulock"; + repo = pname; + rev = version; + sha256 = "sha256-WY1TAPnXAn5GOaP9aMHar761m1MkKm4vavLlWELWUu8="; + }; + + preConfigure = "./autogen.sh"; + + buildInputs = [ + xorg.libX11 + xorg.libXrandr + glib # can be optional + ]; + + nativeBuildInputs = [ + autoconf + automake + gettext + libtool + perl # pod2man + pkg-config + ]; + + meta = with lib; { + homepage = "https://github.com/bbidulock/xdg-launch"; + description = "A command line XDG compliant launcher and tools"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.ck3d ]; + }; +} diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index 222b1b5b767..ab8a21c5b71 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -91,19 +91,19 @@ let fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; # Upstream source - version = "10.0.5"; + version = "10.0.7"; lang = "en-US"; srcs = { x86_64-linux = fetchurl { url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"; - sha256 = "1cxh39x69m4lgqin5k5p67gs9g26w7cnlbdpjqi8dw47y0bpr9xw"; + sha256 = "1phqsdf9lav0s111chlgyh4xiq2rm5zcxbx676i9711lkmc5l053"; }; i686-linux = fetchurl { url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"; - sha256 = "1cyg5ic7mrj6x1gxw5w609933d9ripa5b5gxyqnvnxfa23dkh608"; + sha256 = "1nkppwdcjbrx8nh3d6qvvkgd5by6ja5ckjgpbkhavyy2pqlxyqk8"; }; }; in diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix index be255a6c146..b41178922af 100644 --- a/pkgs/applications/networking/sync/onedrive/default.nix +++ b/pkgs/applications/networking/sync/onedrive/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "onedrive"; - version = "2.4.2"; + version = "2.4.7"; src = fetchFromGitHub { owner = "abraunegg"; repo = pname; rev = "v${version}"; - sha256 = "10s33p1xzq9c5n1bxv9n7n31afxgx9i6c17w0xgxdrma75micm3a"; + sha256 = "12g2z6c4f65y8cc7vyhk9nlg1mpbsmlsj7ghlny452qhr13m7qpn"; }; nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkgconfig ]; diff --git a/pkgs/build-support/emacs/generic.nix b/pkgs/build-support/emacs/generic.nix index 956787ad59e..588699517ba 100644 --- a/pkgs/build-support/emacs/generic.nix +++ b/pkgs/build-support/emacs/generic.nix @@ -60,10 +60,13 @@ stdenv.mkDerivation ({ LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib"; - postInstall = '' - find $out/share/emacs -type f -name '*.el' -print0 | xargs -0 -n 1 -I {} -P $NIX_BUILD_CORES sh -c "emacs --batch -f batch-native-compile {} || true" - ''; + addEmacsNativeLoadPath = true; + postInstall = '' + find $out/share/emacs -type f -name '*.el' -print0 \ + | xargs -0 -n 1 -I {} -P $NIX_BUILD_CORES sh -c \ + "emacs --batch --eval=\"(add-to-list 'comp-eln-load-path \\\"$out/share/emacs/native-lisp/\\\")\" -f batch-native-compile {} || true" + ''; } // removeAttrs args [ "buildInputs" "packageRequires" diff --git a/pkgs/build-support/emacs/setup-hook.sh b/pkgs/build-support/emacs/setup-hook.sh index 83e995631b3..f6f2331b8e0 100644 --- a/pkgs/build-support/emacs/setup-hook.sh +++ b/pkgs/build-support/emacs/setup-hook.sh @@ -7,9 +7,20 @@ addToEmacsLoadPath() { fi } +addToEmacsNativeLoadPath() { + local nativeDir="$1" + if [[ -d $nativeDir && ${EMACSNATIVELOADPATH-} != *"$nativeDir":* ]]; then + export EMACSNATIVELOADPATH="$nativeDir:${EMACSNATIVELOADPATH-}" + fi +} + addEmacsVars () { addToEmacsLoadPath "$1/share/emacs/site-lisp" + if [ -n "${addEmacsNativeLoadPath:-}" ]; then + addToEmacsNativeLoadPath "$1/share/emacs/native-lisp" + fi + # Add sub paths to the Emacs load path if it is a directory # containing .el files. This is necessary to build some packages, # e.g., using trivialBuild. diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index 0afd0f831fe..eca80ecf0af 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -34,7 +34,15 @@ in customEmacsPackages.emacsWithPackages (epkgs: [ epkgs.evil epkgs.magit ]) { lib, lndir, makeWrapper, runCommand }: self: -with lib; let inherit (self) emacs; in +with lib; + +let + + inherit (self) emacs; + + nativeComp = emacs.nativeComp or false; + +in packagesFun: # packages explicitly requested by the user @@ -95,6 +103,9 @@ runCommand } mkdir -p $out/bin mkdir -p $out/share/emacs/site-lisp + ${optionalString emacs.nativeComp '' + mkdir -p $out/share/emacs/native-lisp + ''} local requires for pkg in $explicitRequires; do @@ -116,6 +127,9 @@ runCommand linkEmacsPackage() { linkPath "$1" "bin" "bin" linkPath "$1" "share/emacs/site-lisp" "share/emacs/site-lisp" + ${optionalString nativeComp '' + linkPath "$1" "share/emacs/native-lisp" "share/emacs/native-lisp" + ''} } # Iterate over the array of inputs (avoiding nix's own interpolation) @@ -138,12 +152,21 @@ runCommand (load-file "$emacs/share/emacs/site-lisp/site-start.el") (add-to-list 'load-path "$out/share/emacs/site-lisp") (add-to-list 'exec-path "$out/bin") + ${optionalString nativeComp '' + (add-to-list 'comp-eln-load-path "$out/share/emacs/native-lisp/") + ''} EOF # Link subdirs.el from the emacs distribution ln -s $emacs/share/emacs/site-lisp/subdirs.el -T $subdirs # Byte-compiling improves start-up time only slightly, but costs nothing. $emacs/bin/emacs --batch -f batch-byte-compile "$siteStart" "$subdirs" + + ${optionalString nativeComp '' + $emacs/bin/emacs --batch \ + --eval "(add-to-list 'comp-eln-load-path \"$out/share/emacs/native-lisp/\")" \ + -f batch-native-compile "$siteStart" "$subdirs" + ''} ''; inherit (emacs) meta; @@ -159,8 +182,14 @@ runCommand substitute ${./wrapper.sh} $out/bin/$progname \ --subst-var-by bash ${emacs.stdenv.shell} \ --subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \ + --subst-var-by wrapperSiteLispNative "$deps/share/emacs/native-lisp:" \ --subst-var prog chmod +x $out/bin/$progname + + makeWrapper "$prog" "$out/bin/$progname" \ + --suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:" \ + --suffix EMACSNATIVELOADPATH ":" "$deps/share/emacs/native-lisp:" + done # Wrap MacOS app @@ -173,11 +202,16 @@ runCommand $emacs/Applications/Emacs.app/Contents/Resources \ $out/Applications/Emacs.app/Contents + substitute ${./wrapper.sh} $out/Applications/Emacs.app/Contents/MacOS/Emacs \ --subst-var-by bash ${emacs.stdenv.shell} \ --subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \ --subst-var-by prog "$emacs/Applications/Emacs.app/Contents/MacOS/Emacs" chmod +x $out/Applications/Emacs.app/Contents/MacOS/Emacs + + makeWrapper $emacs/Applications/Emacs.app/Contents/MacOS/Emacs $out/Applications/Emacs.app/Contents/MacOS/Emacs \ + --suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:" \ + --suffix EMACSNATIVELOADPATH ":" "$deps/share/emacs/native-lisp:" fi mkdir -p $out/share diff --git a/pkgs/build-support/emacs/wrapper.sh b/pkgs/build-support/emacs/wrapper.sh index 96c9a8a60ea..e8eecb8c869 100644 --- a/pkgs/build-support/emacs/wrapper.sh +++ b/pkgs/build-support/emacs/wrapper.sh @@ -3,6 +3,7 @@ IFS=: newLoadPath=() +newNativeLoadPath=() added= if [[ -n $EMACSLOADPATH ]] @@ -21,7 +22,26 @@ else newLoadPath+=("") fi +if [[ -n $EMACSNATIVELOADPATH ]] +then + while read -rd: entry + do + if [[ -z $entry && -z $added ]] + then + newNativeLoadPath+=(@wrapperSiteLispNative@) + added=1 + fi + newNativeLoadPath+=("$entry") + done <<< "$EMACSNATIVELOADPATH:" +else + newNativeLoadPath+=(@wrapperSiteLispNative@) + newNativeLoadPath+=("") +fi + export EMACSLOADPATH="${newLoadPath[*]}" export emacsWithPackages_siteLisp=@wrapperSiteLisp@ +export EMACSNATIVELOADPATH="${newNativeLoadPath[*]}" +export emacsWithPackages_siteLispNative=@wrapperSiteLispNative@ + exec @prog@ "$@" diff --git a/pkgs/development/libraries/libow/default.nix b/pkgs/development/libraries/libow/default.nix index 1f67e1fc791..d7e83e7a9e3 100644 --- a/pkgs/development/libraries/libow/default.nix +++ b/pkgs/development/libraries/libow/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, libtool }: stdenv.mkDerivation rec { - version = "3.2p3"; + version = "3.2p4"; pname = "libow"; src = fetchFromGitHub { owner = "owfs"; repo = "owfs"; rev = "v${version}"; - sha256 = "02l3r4ixhicph5iqxdjanck2gbqkfs9vnnac112bzlvlw3x9r03m"; + sha256 = "0dln1ar7bxwhpi36sccmpwapy7iz4j097rbf02mgn42lw5vrcg3s"; }; nativeBuildInputs = [ autoconf automake pkgconfig ]; diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index a723ded6bb6..c6547f118d0 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -162,15 +162,11 @@ stdenv.mkDerivation { # This prevents cmake from using libraries in impure paths (which # causes build failure on non NixOS) - # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with - # what appears to be some stray headers in dnn/misc/tensorflow - # in contrib when generating the Python bindings: patches = [ ./cmake-don-t-use-OpenCVFindOpenEXR.patch ] ++ lib.optional enableCuda ./cuda_opt_flow.patch; postPatch = '' sed -i '/Add these standard paths to the search paths for FIND_LIBRARY/,/^\s*$/{d}' CMakeLists.txt - sed -i -e 's|if len(decls) == 0:|if len(decls) == 0 or "opencv2/" not in hdr:|' ./modules/python/src2/gen2.py ''; preConfigure = diff --git a/pkgs/development/python-modules/bids-validator/default.nix b/pkgs/development/python-modules/bids-validator/default.nix index b139a88820e..22807bb3535 100644 --- a/pkgs/development/python-modules/bids-validator/default.nix +++ b/pkgs/development/python-modules/bids-validator/default.nix @@ -4,12 +4,12 @@ }: buildPythonPackage rec { - version = "1.5.7"; + version = "1.5.8"; pname = "bids-validator"; src = fetchPypi { inherit pname version; - sha256 = "624fade609636c64e7829ff072bdf12f93512948a803059b059e5c90df894be2"; + sha256 = "5b8c3b9047d2e00e25746d55f56f62071f0a82dd2de59371a1ee589fe28b2852"; }; # needs packages which are not available in nixpkgs diff --git a/pkgs/development/python-modules/django-cors-headers/default.nix b/pkgs/development/python-modules/django-cors-headers/default.nix index 6dc4ad3402b..313ae32f04e 100644 --- a/pkgs/development/python-modules/django-cors-headers/default.nix +++ b/pkgs/development/python-modules/django-cors-headers/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "django-cors-headers"; - version = "3.5.0"; + version = "3.6.0"; src = fetchPypi { inherit pname version; - sha256 = "db82b2840f667d47872ae3e4a4e0a0d72fbecb42779b8aa233fa8bb965f7836a"; + sha256 = "5665fc1b1aabf1b678885cf6f8f8bd7da36ef0a978375e767d491b48d3055d8f"; }; propagatedBuildInputs = [ django ]; diff --git a/pkgs/development/python-modules/docplex/default.nix b/pkgs/development/python-modules/docplex/default.nix index 9b32bab7d6b..0fa202addb9 100644 --- a/pkgs/development/python-modules/docplex/default.nix +++ b/pkgs/development/python-modules/docplex/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "docplex"; - version = "2.18.200"; + version = "2.19.202"; # No source available from official repo src = fetchPypi { inherit pname version; - sha256 = "340848e67e1389b32b44d16a100aed1ebb0a6f0519b0f3cbce7cd0de6478fd6c"; + sha256 = "2b606dc645f99feae67dfc528620dddc773ecef5d59bcaeae68bba601f25162b"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix b/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix index 80bdcd1b83c..d4fb4c59a18 100644 --- a/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix +++ b/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "google-cloud-runtimeconfig"; - version = "0.32.0"; + version = "0.32.1"; src = fetchPypi { inherit pname version; - sha256 = "3d125c01817d5bef2b644095b044d22b03b9d8d4591088cadd8e97851f7a150a"; + sha256 = "57143ec3c5ed3e0bee590a98857eec06c68aa2eacbce477403226a0d2e85a8ad"; }; disabled = pythonOlder "3.5"; diff --git a/pkgs/development/python-modules/howdoi/default.nix b/pkgs/development/python-modules/howdoi/default.nix index 5b8cb6cecb9..cc6003fa952 100644 --- a/pkgs/development/python-modules/howdoi/default.nix +++ b/pkgs/development/python-modules/howdoi/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "howdoi"; - version = "2.0.7"; + version = "2.0.8"; src = fetchPypi { inherit pname version; - sha256 = "09362f7390119dffd83c61a942801ad4d19aee499340ef7e8d5871167391d3d6"; + sha256 = "9b7cabab87cd614e26b408653bc8937ec27b79ca2fde6b9457da55d2541f75fb"; }; postPatch = '' diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix index 141412d5bd3..bc2f39ad217 100644 --- a/pkgs/development/python-modules/influxdb-client/default.nix +++ b/pkgs/development/python-modules/influxdb-client/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "influxdb-client"; - version = "1.12.0"; + version = "1.13.0"; disabled = pythonOlder "3.6"; # requires python version >=3.6 @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "influxdata"; repo = "influxdb-client-python"; rev = "v${version}"; - sha256 = "0b4xr8nwrnikj2rnyrrcl6pym2il8iirr9f9cyg6vzfgx8l8brk9"; + sha256 = "0g7jhjnag8jx8zbjh6xlqds42alpj87a4dpqc37xqa4ir55m3c2q"; }; # makes test not reproducible diff --git a/pkgs/development/python-modules/pyatv/default.nix b/pkgs/development/python-modules/pyatv/default.nix index adec3bd07b3..647866b143f 100644 --- a/pkgs/development/python-modules/pyatv/default.nix +++ b/pkgs/development/python-modules/pyatv/default.nix @@ -18,12 +18,12 @@ buildPythonPackage rec { pname = "pyatv"; - version = "0.7.4"; + version = "0.7.5"; src = fetchFromGitHub { owner = "postlund"; repo = pname; rev = "v${version}"; - sha256 = "17gsamn4aibsx4w50r9dwr5kr9anc7dd0f0dvmdl717rkgh13zyi"; + sha256 = "06qj6r9kcal2nimg8rpjfid8rnlz43l7hn0v9v1mpayjmv2fl8sp"; }; nativeBuildInputs = [ pytestrunner]; diff --git a/pkgs/development/python-modules/telethon/default.nix b/pkgs/development/python-modules/telethon/default.nix index 4772c13d9c3..dbf0f26c3a3 100644 --- a/pkgs/development/python-modules/telethon/default.nix +++ b/pkgs/development/python-modules/telethon/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, async_generator, rsa, pyaes, pythonOlder }: +{ lib, buildPythonPackage, fetchPypi, openssl, async_generator, rsa, pyaes, pythonOlder }: buildPythonPackage rec { pname = "telethon"; @@ -10,6 +10,11 @@ buildPythonPackage rec { sha256 = "1v1rgr030z8s1ldv5lm1811znyd568c22pmlrzzf3ls972xk514m"; }; + patchPhase = '' + substituteInPlace telethon/crypto/libssl.py --replace \ + "ctypes.util.find_library('ssl')" "'${openssl.out}/lib/libssl.so'" + ''; + propagatedBuildInputs = [ rsa pyaes diff --git a/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch b/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch index bcb3ac1d146..16470740877 100644 --- a/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch +++ b/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch @@ -1,22 +1,24 @@ -From 6ab08bc1c889e4fb9a39432b1a654eaa19ee65eb Mon Sep 17 00:00:00 2001 -From: Austin Seipp -Date: Fri, 2 May 2014 12:28:23 -0500 -Subject: [PATCH] Fix scan-build to use NIX_CFLAGS_COMPILE +From 40239d92957f1969652cdd41d6d2749c41ac4338 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= +Date: Fri, 31 Jul 2020 09:22:03 +0100 +Subject: [PATCH] [PATCH] Fix scan-build to use NIX_CFLAGS_COMPILE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit -Signed-off-by: Austin Seipp +Signed-off-by: Jörg Thalheim --- - tools/scan-build/ccc-analyzer | 9 +++++++++ - 1 file changed, 9 insertions(+) + tools/scan-build/libexec/ccc-analyzer | 8 ++++++++ + 1 file changed, 8 insertions(+) -diff --git a/tools/scan-build/ccc-analyzer b/tools/scan-build/ccc-analyzer -index b463ec0..9d39dd0 100755 ---- a/tools/scan-build/ccc-analyzer -+++ b/tools/scan-build/ccc-analyzer -@@ -207,6 +207,15 @@ sub Analyze { - push @Args, "-Xclang", "-analyzer-viz-egraph-ubigraph"; +diff --git a/tools/scan-build/libexec/ccc-analyzer b/tools/scan-build/libexec/ccc-analyzer +index 800f38b5..0fb50fb3 100755 +--- a/tools/scan-build/libexec/ccc-analyzer ++++ b/tools/scan-build/libexec/ccc-analyzer +@@ -246,6 +246,14 @@ sub Analyze { + push @Args, "-target", $AnalyzerTarget; } -+ + # Add Nix flags to analysis + if (defined $ENV{'NIX_CFLAGS_COMPILE'}) { + my @nixArgs = split(/\s+/, $ENV{'NIX_CFLAGS_COMPILE'}); @@ -25,9 +27,9 @@ index b463ec0..9d39dd0 100755 + } + } + - my $AnalysisArgs = GetCCArgs("--analyze", \@Args); + my $AnalysisArgs = GetCCArgs($HtmlDir, "--analyze", \@Args); @CmdArgs = @$AnalysisArgs; } -- -1.8.3.2 +2.27.0 diff --git a/pkgs/development/tools/analysis/clang-analyzer/default.nix b/pkgs/development/tools/analysis/clang-analyzer/default.nix index 6b0c1b401f6..43b32052bf3 100644 --- a/pkgs/development/tools/analysis/clang-analyzer/default.nix +++ b/pkgs/development/tools/analysis/clang-analyzer/default.nix @@ -1,26 +1,24 @@ -{ stdenv, fetchurl, clang, llvmPackages, perl, makeWrapper }: +{ stdenv, fetchurl, clang, llvmPackages, perl, makeWrapper, python3 }: stdenv.mkDerivation rec { pname = "clang-analyzer"; - version = "3.4"; - - src = fetchurl { - url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz"; - sha256 = "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"; - }; + inherit (llvmPackages.clang-unwrapped) src version; patches = [ ./0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch ]; - buildInputs = [ clang llvmPackages.clang perl makeWrapper ]; + buildInputs = [ clang llvmPackages.clang perl python3 ]; + nativeBuildInputs = [ makeWrapper ]; dontBuild = true; installPhase = '' - mkdir -p $out/bin $out/libexec - cp -R tools/scan-view $out/libexec - cp -R tools/scan-build $out/libexec + mkdir -p $out/share/scan-view $out/bin + cp -R tools/scan-view/share/* $out/share/scan-view + cp -R tools/scan-view/bin/* $out/bin/scan-view + cp -R tools/scan-build/* $out - makeWrapper $out/libexec/scan-view/scan-view $out/bin/scan-view - makeWrapper $out/libexec/scan-build/scan-build $out/bin/scan-build \ + rm $out/bin/*.bat $out/libexec/*.bat $out/CMakeLists.txt + + wrapProgram $out/bin/scan-build \ --add-flags "--use-cc=${clang}/bin/clang" \ --add-flags "--use-c++=${clang}/bin/clang++" \ --add-flags "--use-analyzer='${llvmPackages.clang}/bin/clang'" diff --git a/pkgs/development/tools/packet-sd/default.nix b/pkgs/development/tools/packet-sd/default.nix index 33d61eca718..0008fab7442 100644 --- a/pkgs/development/tools/packet-sd/default.nix +++ b/pkgs/development/tools/packet-sd/default.nix @@ -18,7 +18,7 @@ buildGoModule rec { description = "Prometheus service discovery for Equinix Metal"; homepage = "https://github.com/packethost/prometheus-packet-sd"; license = licenses.asl20; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.andir ]; }; } diff --git a/pkgs/games/minecraft/update.sh b/pkgs/games/minecraft/update.sh index 02b362e839b..485fb5a560f 100755 --- a/pkgs/games/minecraft/update.sh +++ b/pkgs/games/minecraft/update.sh @@ -1,7 +1,7 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl jq gnugrep common-updater-scripts +#!nix-shell -i bash -p curl jq common-updater-scripts set -eu -o pipefail -version=$(curl -s 'https://aur.archlinux.org/rpc/?v=5&type=info&arg[]=minecraft-launcher' | jq '.results[0].Version' | grep -Po '[.\d]*(?=-)') -update-source-version minecraft "$version" +version=$(curl -s 'https://launchermeta.mojang.com/v1/products/launcher/6f083b80d5e6fabbc4236f81d0d8f8a350c665a9/linux.json' | jq -r '."launcher-core"[0].version.name') +update-source-version minecraft "${version}" diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index d3d5b3a2271..6f9d13671dc 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -60,7 +60,7 @@ let #!${runtimeShell} runtime_paths="/lib32:/lib64:${lib.concatStringsSep ":" ldPath}" if [ "$1" == "--print-steam-runtime-library-paths" ]; then - echo "$runtime_paths" + echo "$runtime_paths''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" exit 0 fi export LD_LIBRARY_PATH="$runtime_paths''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 0b30d6239a6..7aac31cdbaa 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -65,12 +65,12 @@ let ale = buildVimPluginFrom2Nix { pname = "ale"; - version = "2020-11-29"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "dense-analysis"; repo = "ale"; - rev = "03b6978a270107b670b0363d50f3eed4b365ba26"; - sha256 = "093h23phmpn7c4w519klja7s8saa889y2r3i6rbxjzxg8qbqd44v"; + rev = "f996ede5999c99b1b3e3cecc02dbd06cb286d3ff"; + sha256 = "0sdi933zl64j31i72m6hwx6bayrms3j4z3mkwhyb51qy8bg55kpv"; }; meta.homepage = "https://github.com/dense-analysis/ale/"; }; @@ -291,6 +291,18 @@ let meta.homepage = "https://github.com/euclidianAce/BetterLua.vim/"; }; + brainfuck-vim = buildVimPluginFrom2Nix { + pname = "brainfuck-vim"; + version = "2020-12-16"; + src = fetchFromGitHub { + owner = "fruit-in"; + repo = "brainfuck-vim"; + rev = "1e0f81c11214c6cc27dc55775fe6f43216fcf09a"; + sha256 = "0wvz7gbjnk2lm6jbxmsxfs6hc38g8zwmrqw2clkzpj7kvs1ayw26"; + }; + meta.homepage = "https://github.com/fruit-in/brainfuck-vim/"; + }; + bufexplorer = buildVimPluginFrom2Nix { pname = "bufexplorer"; version = "2020-02-17"; @@ -485,12 +497,12 @@ let coc-nvim = buildVimPluginFrom2Nix { pname = "coc-nvim"; - version = "2020-12-14"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "63cbd7bfecb6ed5598b136e859c675ae8e7156ea"; - sha256 = "1mzbsx9386bgwk5y52fsgq1gp2sh3v8vxwq0m2idlwqwdm2ahz6z"; + rev = "8c9d90539cdaecfd782d78a7a729100d9e30557d"; + sha256 = "1jgbilhldxc6cd7wmffcahp2yr2fv7lmnx5g4j0kcgw5fcd79nsn"; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; }; @@ -1403,12 +1415,12 @@ let gentoo-syntax = buildVimPluginFrom2Nix { pname = "gentoo-syntax"; - version = "2020-10-07"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "gentoo"; repo = "gentoo-syntax"; - rev = "3d90ee5686e54fb1c3242f10e644a789579a4372"; - sha256 = "0qvfqw38vk9ijwhgivjwh289vnmzc2p7cp6jiqpj98zsnank0yw2"; + rev = "4cc031a5d3384ee9cc3225ff038a633be6b7125f"; + sha256 = "0pdska6qkk734hplhyp2cw89xn2c897vgw72fgn2239pqryz5g4n"; }; meta.homepage = "https://github.com/gentoo/gentoo-syntax/"; }; @@ -2772,24 +2784,24 @@ let nvim-tree-lua = buildVimPluginFrom2Nix { pname = "nvim-tree-lua"; - version = "2020-12-14"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "kyazdani42"; repo = "nvim-tree.lua"; - rev = "c84b8b4ab9944ce7d248b9b34000403648506947"; - sha256 = "0rqnf5aic1gqzw4z5819k0afq602pggr7d1azn0kc1k5zy17avqb"; + rev = "bc8245c7bb57059ced9d957d9f15f56957656807"; + sha256 = "1lnbi746c5zhjlwsqbchhy8pna8d9drg7yi2jwsagj4jr2n4knwa"; }; meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/"; }; nvim-treesitter = buildVimPluginFrom2Nix { pname = "nvim-treesitter"; - version = "2020-12-14"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "e22b109a1fc982f0bb77b2d2352fd3d84107d863"; - sha256 = "0pqiigidax9jgxcrwa4p9946skvszwmzmamfd8g94is2jvgfka3c"; + rev = "775021cbd5a5c242af74ee0892d3678971b5452b"; + sha256 = "1rsf19vpnbk4vs5a8kzbq3s8svvnf7kbrkswb1hy9qrfp94zmdvi"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; }; @@ -2832,12 +2844,12 @@ let nvim-ts-rainbow = buildVimPluginFrom2Nix { pname = "nvim-ts-rainbow"; - version = "2020-11-30"; + version = "2020-12-15"; src = fetchFromGitHub { owner = "p00f"; repo = "nvim-ts-rainbow"; - rev = "a17dc0244045239f323b237b7c30d3ef7597b346"; - sha256 = "02gnicvrbrl6d09zmxn7r34j7g1mdsdaw7w51qpgddm7p295qaqi"; + rev = "7887fe8847c5c2ad67bd05c1da3f6613ee30bd8d"; + sha256 = "00030lnb80h7yrjdjz1pzwxg2gcp6kfjj9glckk5zl4sjk5gp31j"; }; meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/"; }; @@ -3048,12 +3060,12 @@ let popfix = buildVimPluginFrom2Nix { pname = "popfix"; - version = "2020-12-14"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "RishabhRD"; repo = "popfix"; - rev = "7aed4ff31ba6c2b603a7bc3be4e98cef09e6f7f7"; - sha256 = "01rz5rpnjjsf3zd6dh14wx6p2pkr8adjcp83jg28rkkzlw8qlv6l"; + rev = "e610f0ec1639f28e9efb87b16f7fbf9c0e90d141"; + sha256 = "18hf65fwxl3m3gf8pi5j3dnphnqki3wz59ld3fqbq9720cfrcs2y"; fetchSubmodules = true; }; meta.homepage = "https://github.com/RishabhRD/popfix/"; @@ -3541,12 +3553,12 @@ let splitjoin-vim = buildVimPluginFrom2Nix { pname = "splitjoin-vim"; - version = "2020-12-04"; + version = "2020-12-15"; src = fetchFromGitHub { owner = "AndrewRadev"; repo = "splitjoin.vim"; - rev = "680aff68e0848dcfd5c33f886cabd7c9755b29e0"; - sha256 = "1h29g177fx9yp7hzw0vy94wf5flcw8q9iicwirpg5cvda8kx7i2w"; + rev = "91ba14b41f6e767414d7bf2a8e82947c6bfdb978"; + sha256 = "0q01xfnjqk3vnmknb01zlkzn1jj03lqsygk863vwrdazq86g5aci"; fetchSubmodules = true; }; meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/"; @@ -3710,12 +3722,12 @@ let telescope-nvim = buildVimPluginFrom2Nix { pname = "telescope-nvim"; - version = "2020-12-14"; + version = "2020-12-15"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope.nvim"; - rev = "dfeebffd93ecf4a6abac29c078ca58ddf6bf107c"; - sha256 = "02psxqg1wa3lgn1jhf2w1ip8sxpm8ypsm19f4g0qgsj91k6d659r"; + rev = "af8d990c2cc19577f9503fae29c59d256e304bee"; + sha256 = "021978fdd73rdwwsz2zjghkg7x4d0d33589xvyvhxbca1fnznf3v"; }; meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/"; }; @@ -4431,12 +4443,12 @@ let vim-clap = buildVimPluginFrom2Nix { pname = "vim-clap"; - version = "2020-12-10"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "liuchengxu"; repo = "vim-clap"; - rev = "610fc0186f2c13e5e24e3be3abf01954a5fcff22"; - sha256 = "1ibsrp34i856qg8x879y4gmbfpkryjs2c5ycgmw740bg478n9v2v"; + rev = "af939a85cc78c9974dcf202a95ff8793755d575d"; + sha256 = "1kcnj0jqbag62gvxrr54hmri5qpskfs0i0l2m8z4ffliixy0mkan"; }; meta.homepage = "https://github.com/liuchengxu/vim-clap/"; }; @@ -4887,12 +4899,12 @@ let vim-exchange = buildVimPluginFrom2Nix { pname = "vim-exchange"; - version = "2020-11-15"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "tommcdo"; repo = "vim-exchange"; - rev = "13d3895709277d7b35bb4e30cc6ad0409a30ff0a"; - sha256 = "0fgdqbkpk4220q1l00c7wcim24pbpxqj30lcfid2afkf953zhzhp"; + rev = "17f1a2cc0d009cfd7f0dcda06dd0f017fcc1c70b"; + sha256 = "0c4s9cmyx1myqz9k35waply2mv0yr3agpkv64ndhwgqbmlxyifnj"; }; meta.homepage = "https://github.com/tommcdo/vim-exchange/"; }; @@ -6066,12 +6078,12 @@ let vim-nong-theme = buildVimPluginFrom2Nix { pname = "vim-nong-theme"; - version = "2020-12-03"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "fruit-in"; repo = "vim-nong-theme"; - rev = "ea4c8558970b2c6e724483e3031940906420aa7e"; - sha256 = "09ws0wj2zldyfn7752rzh0wx24271yi4c390gd9f60d33pkc0s80"; + rev = "cf7eacc6140ef67f7fc6b3099a6ef82767af82e0"; + sha256 = "17lvmszydpgn54n54z4mhcipzrwxggnq7lr69k8vwbwmrr8sk0qa"; }; meta.homepage = "https://github.com/fruit-in/vim-nong-theme/"; }; @@ -6654,12 +6666,12 @@ let vim-sandwich = buildVimPluginFrom2Nix { pname = "vim-sandwich"; - version = "2020-07-27"; + version = "2020-12-15"; src = fetchFromGitHub { owner = "machakann"; repo = "vim-sandwich"; - rev = "f0bb324395bf6e00ec17fc7af60d2ccb8d494595"; - sha256 = "19fqpccvawh2wjkzgp64jijq4nnhirmgvrrycxzcx7lj612mbpmc"; + rev = "9e6340affe9f53c11a6975a5f50b9bf48adb692c"; + sha256 = "0ghli93qzr3i8ai90waikylwas3xgy5bdgykng55b9mqgpmc3faf"; }; meta.homepage = "https://github.com/machakann/vim-sandwich/"; }; @@ -7435,12 +7447,12 @@ let vim-which-key = buildVimPluginFrom2Nix { pname = "vim-which-key"; - version = "2020-10-02"; + version = "2020-12-15"; src = fetchFromGitHub { owner = "liuchengxu"; repo = "vim-which-key"; - rev = "30c0810b012a7acdccc6b72f0e99c0388986844f"; - sha256 = "18rflksd58mwkq0lc64frfimj1l1k8cc0l45jpv0z4w118v92jyv"; + rev = "9d08a9416787ef0f3ede6ef9bc66f78cecf6d72b"; + sha256 = "1adb3r9iyni86k2hxrkj4hr7zdz0v9a1h84dn0yhjy1dwgwlxjrq"; }; meta.homepage = "https://github.com/liuchengxu/vim-which-key/"; }; @@ -7567,12 +7579,12 @@ let VimOrganizer = buildVimPluginFrom2Nix { pname = "VimOrganizer"; - version = "2014-04-10"; + version = "2020-12-15"; src = fetchFromGitHub { owner = "hsitz"; repo = "VimOrganizer"; - rev = "cab0baf635eb9470e62d57d42f2d470180b06c8d"; - sha256 = "0qncr00xn7lj1i469fzjaaghhqrlyg5s2wj4v6625dhg98y0irix"; + rev = "09636aed78441a9de2767fcef6d7c567f322cc40"; + sha256 = "0phpcxmyz562yyp88rbx9pqg46w8r1lyapb700nvxwvqkcd82pfw"; }; meta.homepage = "https://github.com/hsitz/VimOrganizer/"; }; @@ -7656,8 +7668,8 @@ let src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "ab5acf850679451ad19c96d9c081b35b29175db4"; - sha256 = "12inbcl2d4b3i18p8x9l565xlp9liv9y3szlx9r37r05szb8c18b"; + rev = "83f4b63d4043aeb808c8cdc01f883c9a95446530"; + sha256 = "10d72r81m2cr4vzp61l8kg9bcpkrwbbx7wqxicqj1j00xln7p29i"; }; meta.homepage = "https://github.com/lervag/vimtex/"; }; @@ -7833,12 +7845,12 @@ let YouCompleteMe = buildVimPluginFrom2Nix { pname = "YouCompleteMe"; - version = "2020-12-13"; + version = "2020-12-16"; src = fetchFromGitHub { owner = "ycm-core"; repo = "YouCompleteMe"; - rev = "4904077bec593da031a73c972dfc516544f72f78"; - sha256 = "1m73bm7pqwj1sjr518hgwzgz4xx2hi3arfjbq0jlj010nawn31fd"; + rev = "e252f6512f1f4a9a515dfc42401baf30a5fe72c8"; + sha256 = "0f0jrap8ivrywkzc7rwy27p6ssa5kll26df251ipsg1frmc7fmjm"; fetchSubmodules = true; }; meta.homepage = "https://github.com/ycm-core/YouCompleteMe/"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 95f341e1606..d77ace1b04e 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -121,6 +121,7 @@ flazz/vim-colorschemes floobits/floobits-neovim freitass/todo.txt-vim frigoeu/psc-ide-vim +fruit-in/brainfuck-vim fruit-in/vim-nong-theme fsharp/vim-fsharp fszymanski/deoplete-emoji diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix index bde82468b72..ac261a9a113 100644 --- a/pkgs/servers/computing/slurm/default.nix +++ b/pkgs/servers/computing/slurm/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { pname = "slurm"; - version = "20.02.6.1"; + version = "20.11.0.1"; # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php # because the latter does not keep older releases. @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { repo = "slurm"; # The release tags use - instead of . rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}"; - sha256 = "0vllyljsmv3y9hw4vfgnz9cnjqhlk55dy1bipssw872aldlxfcdk"; + sha256 = "0f750wlvm48j5b2fkvhy47zyagxfl6kbn2m9lx0spxwyn9qgh6bn"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 456b30cb397..2ac4d3beccd 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "0.118.5"; + version = "2020.12.0"; components = { "abode" = ps: with ps; [ abodepy ]; "accuweather" = ps: with ps; [ accuweather ]; @@ -56,7 +56,7 @@ "aten_pe" = ps: with ps; [ ]; # missing inputs: atenpdu "atome" = ps: with ps; [ ]; # missing inputs: pyatome "august" = ps: with ps; [ ]; # missing inputs: py-august - "aurora" = ps: with ps; [ ]; + "aurora" = ps: with ps; [ ]; # missing inputs: auroranoaa "aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy "auth" = ps: with ps; [ aiohttp-cors ]; "automation" = ps: with ps; [ aiohttp-cors ]; @@ -253,6 +253,7 @@ "filesize" = ps: with ps; [ ]; "filter" = ps: with ps; [ aiohttp-cors sqlalchemy ]; "fints" = ps: with ps; [ fints ]; + "fireservicerota" = ps: with ps; [ ]; # missing inputs: pyfireservicerota "firmata" = ps: with ps; [ ]; # missing inputs: pymata-express "fitbit" = ps: with ps; [ aiohttp-cors fitbit ]; "fixer" = ps: with ps; [ ]; # missing inputs: fixerio @@ -421,6 +422,7 @@ "knx" = ps: with ps; [ ]; # missing inputs: xknx "kodi" = ps: with ps; [ ]; # missing inputs: pykodi "konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected + "kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky "kwb" = ps: with ps; [ ]; # missing inputs: pykwb "lacrosse" = ps: with ps; [ ]; # missing inputs: pylacrosse "lametric" = ps: with ps; [ ]; # missing inputs: lmnotify @@ -506,6 +508,7 @@ "mold_indicator" = ps: with ps; [ ]; "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice "moon" = ps: with ps; [ ]; + "motion_blinds" = ps: with ps; [ ]; # missing inputs: motionblinds "mpchc" = ps: with ps; [ ]; "mpd" = ps: with ps; [ mpd2 ]; "mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ]; @@ -558,6 +561,7 @@ "nuimo_controller" = ps: with ps; [ ]; # missing inputs: --only-binary=all nuimo "nuki" = ps: with ps; [ ]; # missing inputs: pynuki "numato" = ps: with ps; [ ]; # missing inputs: numato-gpio + "number" = ps: with ps; [ ]; "nut" = ps: with ps; [ ]; # missing inputs: pynut2 "nws" = ps: with ps; [ ]; # missing inputs: pynws "nx584" = ps: with ps; [ ]; # missing inputs: pynx584 @@ -596,7 +600,7 @@ "otp" = ps: with ps; [ pyotp ]; "ovo_energy" = ps: with ps; [ ]; # missing inputs: ovoenergy "owntracks" = ps: with ps; [ pynacl aiohttp-cors hass-nabucasa paho-mqtt ]; - "ozw" = ps: with ps; [ aiohttp-cors paho-mqtt ]; # missing inputs: python-openzwave-mqtt + "ozw" = ps: with ps; [ aiohttp-cors paho-mqtt ]; # missing inputs: python-openzwave-mqtt[mqtt-client] "panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta "panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera "pandora" = ps: with ps; [ pexpect ]; @@ -618,7 +622,7 @@ "plaato" = ps: with ps; [ aiohttp-cors ]; "plant" = ps: with ps; [ sqlalchemy ]; "plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ]; - "plugwise" = ps: with ps; [ ]; # missing inputs: Plugwise_Smile + "plugwise" = ps: with ps; [ ]; # missing inputs: plugwise "plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad "pocketcasts" = ps: with ps; [ ]; # missing inputs: pocketcasts "point" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pypoint @@ -697,7 +701,6 @@ "sabnzbd" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: pysabnzbd "safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa pillow ]; # missing inputs: home-assistant-frontend "saj" = ps: with ps; [ ]; # missing inputs: pysaj - "salt" = ps: with ps; [ ]; # missing inputs: saltbox "samsungtv" = ps: with ps; [ samsungctl samsungtvws ]; "satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra "scene" = ps: with ps; [ ]; @@ -774,6 +777,7 @@ "spotify" = ps: with ps; [ aiohttp-cors spotipy ]; "sql" = ps: with ps; [ sqlalchemy ]; "squeezebox" = ps: with ps; [ pysqueezebox ]; + "srp_energy" = ps: with ps; [ ]; # missing inputs: srpenergy "ssdp" = ps: with ps; [ aiohttp-cors defusedxml netdisco zeroconf ]; "starline" = ps: with ps; [ ]; # missing inputs: starline "starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank @@ -801,7 +805,7 @@ "syncthru" = ps: with ps; [ ]; # missing inputs: pysyncthru url-normalize "synology" = ps: with ps; [ ]; # missing inputs: py-synology "synology_chat" = ps: with ps; [ ]; - "synology_dsm" = ps: with ps; [ ]; # missing inputs: python-synology + "synology_dsm" = ps: with ps; [ ]; # missing inputs: synologydsm-api "synology_srm" = ps: with ps; [ ]; # missing inputs: synology-srm "syslog" = ps: with ps; [ ]; "system_health" = ps: with ps; [ aiohttp-cors ]; @@ -864,9 +868,9 @@ "twilio" = ps: with ps; [ aiohttp-cors twilio ]; "twilio_call" = ps: with ps; [ aiohttp-cors twilio ]; "twilio_sms" = ps: with ps; [ aiohttp-cors twilio ]; + "twinkly" = ps: with ps; [ ]; # missing inputs: twinkly-client "twitch" = ps: with ps; [ ]; # missing inputs: python-twitch-client "twitter" = ps: with ps; [ ]; # missing inputs: TwitterAPI - "ubee" = ps: with ps; [ ]; # missing inputs: pyubee "ubus" = ps: with ps; [ ]; "ue_smart_radio" = ps: with ps; [ ]; "uk_transport" = ps: with ps; [ ]; @@ -954,7 +958,6 @@ "yandextts" = ps: with ps; [ ]; "yeelight" = ps: with ps; [ yeelight ]; "yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower - "yessssms" = ps: with ps; [ ]; # missing inputs: YesssSMS "yi" = ps: with ps; [ aioftp ha-ffmpeg ]; "zabbix" = ps: with ps; [ ]; # missing inputs: py-zabbix "zamg" = ps: with ps; [ ]; @@ -962,7 +965,7 @@ "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ]; "zerproc" = ps: with ps; [ ]; # missing inputs: pyzerproc "zestimate" = ps: with ps; [ xmltodict ]; - "zha" = ps: with ps; [ bellows pyserial zha-quirks zigpy-cc zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zigpy ]; + "zha" = ps: with ps; [ bellows pyserial-asyncio pyserial zha-quirks zigpy-cc zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zigpy ]; "zhong_hong" = ps: with ps; [ ]; # missing inputs: zhong_hong_hvac "ziggo_mediabox_xl" = ps: with ps; [ ]; # missing inputs: ziggo-mediabox-xl "zodiac" = ps: with ps; [ ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 147ea06434b..4cfc6ed84bb 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -62,7 +62,7 @@ let extraBuildInputs = extraPackages py.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "0.118.5"; + hassVersion = "2020.12.0"; in with py.pkgs; buildPythonApplication rec { pname = "homeassistant"; @@ -78,7 +78,7 @@ in with py.pkgs; buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = version; - sha256 = "1711qhcvrzl599cryd9wzamacn1vv37w67vprqgibnbw58kcpilj"; + sha256 = "04bmyzran5ylmar8m73n7p34dsz73m37r1nibd13yyfhvn1j1i1l"; }; # leave this in, so users don't have to constantly update their downstream patch handling diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 825576e92ad..36f89dc0069 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20201111.2"; + version = "20201212.0"; src = fetchPypi { inherit pname version; - sha256 = "1pk4l78j72zn6gxc0yr3azdlcqwkvf7ki0khm176qpvs34scs1l8"; + sha256 = "1nz5f7bpj0xs740af8i6j33idff6yzx7z9vydlah2sxcdgpwmz84"; }; # no Python tests implemented diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 918c0419e00..8d4b52a0159 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -58,7 +58,7 @@ in { }; nextcloud20 = generic { - version = "20.0.3"; - sha256 = "sha256-4PZFBNM49k08Z3NX8AEs+LDtDcQuwI+Vi23E/3Dt8XU="; + version = "20.0.4"; + sha256 = "sha256-Jp8WIuMm9dEeOH04YarU4rDnkzSul+7Vp7M1K6dmFCA="; }; } diff --git a/pkgs/tools/misc/plantuml-server/default.nix b/pkgs/tools/misc/plantuml-server/default.nix new file mode 100644 index 00000000000..11db08dd973 --- /dev/null +++ b/pkgs/tools/misc/plantuml-server/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub, maven, jdk }: + +let + version = "1.2020.14"; + + src = fetchFromGitHub { + owner = "plantuml"; + repo = "plantuml-server"; + rev = "v${version}"; + sha256 = "08g6ddpkly5yhjhw7gpsanyspar1752jy9cypwxsqrdzqrv738b8"; + }; + + # perform fake build to make a fixed-output derivation out of the files downloaded from maven central + deps = stdenv.mkDerivation { + name = "plantuml-server-${version}-deps"; + inherit src; + buildInputs = [ jdk maven ]; + buildPhase = '' + while mvn package -Dmaven.repo.local=$out/.m2; [ $? = 1 ]; do + echo "timeout, restart maven to continue downloading" + done + ''; + # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside + installPhase = ''find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "1wwgyjalhlj5azggs9vvsrr54pg7gl8p36pgf6pk12rsszzl7a97"; + }; +in + +stdenv.mkDerivation rec { + pname = "plantuml-server"; + inherit version; + inherit src; + + buildInputs = [ jdk maven ]; + + buildPhase = '' + # 'maven.repo.local' must be writable so copy it out of nix store + cp -R $src repo + chmod +w -R repo + cd repo + mvn package --offline -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 + ''; + + installPhase = '' + mkdir -p "$out/webapps" + cp "target/plantuml.war" "$out/webapps/plantuml.war" + ''; + + meta = with stdenv.lib; { + description = "A web application to generate UML diagrams on-the-fly."; + homepage = "https://plantuml.com/"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = with maintainers; [ truh ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f0c412e5c9b..3925a3a4154 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6588,6 +6588,8 @@ in graphviz = graphviz_2_32; }; + plantuml-server = callPackage ../tools/misc/plantuml-server { }; + plan9port = callPackage ../tools/system/plan9port { }; platformioPackages = dontRecurseIntoAttrs (callPackage ../development/arduino/platformio { }); @@ -8296,6 +8298,8 @@ in xbrightness = callPackage ../tools/X11/xbrightness { }; + xdg-launch = callPackage ../applications/misc/xdg-launch { }; + xkbvalidate = callPackage ../tools/X11/xkbvalidate { }; xfstests = callPackage ../tools/misc/xfstests { }; @@ -8928,7 +8932,10 @@ in llvmPackages = llvmPackages_latest; }; - clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer { }; + clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer { + llvmPackages = llvmPackages_latest; + inherit (llvmPackages_latest) clang; + }; #Use this instead of stdenv to build with clang clangStdenv = if stdenv.cc.isClang then stdenv else lowPrio llvmPackages.stdenv; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ee967f655d6..4c57648ae29 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7202,7 +7202,9 @@ in { telegram = callPackage ../development/python-modules/telegram { }; - telethon = callPackage ../development/python-modules/telethon { }; + telethon = callPackage ../development/python-modules/telethon { + inherit (pkgs) openssl; + }; telethon-session-sqlalchemy = callPackage ../development/python-modules/telethon-session-sqlalchemy { };