diff --git a/doc/builders/special/fhs-environments.section.md b/doc/builders/special/fhs-environments.section.md index 146ded53240..43dc99b7c18 100644 --- a/doc/builders/special/fhs-environments.section.md +++ b/doc/builders/special/fhs-environments.section.md @@ -18,6 +18,8 @@ Additional commands to be executed for finalizing the derivation with runner script. - `runScript` A command that would be executed inside the sandbox and passed all the command line arguments. It defaults to `bash`. +- `profile` + Optional script for `/etc/profile` within the sandbox. One can create a simple environment using a `shell.nix` like that: diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e1e77aa83ef..7e4e02c5a7f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10678,6 +10678,16 @@ githubId = 9853194; name = "Philipp Bartsch"; }; + toastal = { + email = "toastal+nix@posteo.net"; + github = "toastal"; + githubId = 561087; + name = "toastal"; + keys = [{ + longkeyid = "ed25519/5CCE6F1466D47C9E"; + fingerprint = "7944 74B7 D236 DAB9 C9EF E7F9 5CCE 6F14 66D4 7C9E"; + }]; + }; tobim = { email = "nix@tobim.fastmail.fm"; github = "tobim"; @@ -11878,12 +11888,6 @@ githubId = 8686360; name = "Illia Shestakov"; }; - foxit64 = { - email = "o4nsxy05@gmail.com"; - github = "foxit64"; - githubId = 56247270; - name = "Foxit"; - }; masaeedu = { email = "masaeedu@gmail.com"; github = "masaeedu"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 6f2a7fd8dd5..b9967ffb982 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -486,7 +486,7 @@ - + yggdrasil was upgraded to a new major @@ -495,6 +495,14 @@ changelog. + + + icingaweb2 was upgraded to a new release + which requires a manual database upgrade, see + upstream + changelog. + +
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 5a1a29c270a..377dbf598d9 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -124,6 +124,8 @@ In addition to numerous new and upgraded packages, this release has the followin - `yggdrasil` was upgraded to a new major release with breaking changes, see [upstream changelog](https://github.com/yggdrasil-network/yggdrasil-go/releases/tag/v0.4.0). +- `icingaweb2` was upgraded to a new release which requires a manual database upgrade, see [upstream changelog](https://github.com/Icinga/icingaweb2/releases/tag/v2.9.0). + ## Other Notable Changes {#sec-release-21.11-notable-changes} - The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets. diff --git a/nixos/modules/programs/xwayland.nix b/nixos/modules/programs/xwayland.nix index 7e9a424a715..cb3c9c5b156 100644 --- a/nixos/modules/programs/xwayland.nix +++ b/nixos/modules/programs/xwayland.nix @@ -10,14 +10,16 @@ in { options.programs.xwayland = { - enable = mkEnableOption '' - Xwayland X server allows running X programs on a Wayland compositor. - ''; + enable = mkEnableOption "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)"; defaultFontPath = mkOption { type = types.str; default = optionalString config.fonts.fontDir.enable "/run/current-system/sw/share/X11/fonts"; + defaultText = literalExample '' + optionalString config.fonts.fontDir.enable + "/run/current-system/sw/share/X11/fonts"; + ''; description = '' Default font path. Setting this option causes Xwayland to be rebuilt. ''; @@ -25,7 +27,15 @@ in package = mkOption { type = types.path; - description = "The Xwayland package"; + default = pkgs.xwayland.override (oldArgs: { + inherit (cfg) defaultFontPath; + }); + defaultText = literalExample '' + pkgs.xwayland.override (oldArgs: { + inherit (config.programs.xwayland) defaultFontPath; + }); + ''; + description = "The Xwayland package to use."; }; }; @@ -37,9 +47,5 @@ in environment.systemPackages = [ cfg.package ]; - programs.xwayland.package = pkgs.xwayland.override (oldArgs: { - inherit (cfg) defaultFontPath; - }); - }; } diff --git a/nixos/modules/services/cluster/k3s/default.nix b/nixos/modules/services/cluster/k3s/default.nix index 300c182406c..d0fb8cc5098 100644 --- a/nixos/modules/services/cluster/k3s/default.nix +++ b/nixos/modules/services/cluster/k3s/default.nix @@ -35,10 +35,20 @@ in token = mkOption { type = types.str; - description = "The k3s token to use when connecting to the server. This option only makes sense for an agent."; + description = '' + The k3s token to use when connecting to the server. This option only makes sense for an agent. + WARNING: This option will expose store your token unencrypted world-readable in the nix store. + If this is undesired use the tokenFile option instead. + ''; default = ""; }; + tokenFile = mkOption { + type = types.nullOr types.path; + description = "File path containing k3s token to use when connecting to the server. This option only makes sense for an agent."; + default = null; + }; + docker = mkOption { type = types.bool; default = false; @@ -68,8 +78,8 @@ in message = "serverAddr should be set if role is 'agent'"; } { - assertion = cfg.role == "agent" -> cfg.token != ""; - message = "token should be set if role is 'agent'"; + assertion = cfg.role == "agent" -> cfg.token != "" || cfg.tokenFile != null; + message = "token or tokenFile should be set if role is 'agent'"; } ]; @@ -105,7 +115,12 @@ in "${cfg.package}/bin/k3s ${cfg.role}" ] ++ (optional cfg.docker "--docker") ++ (optional cfg.disableAgent "--disable-agent") - ++ (optional (cfg.role == "agent") "--server ${cfg.serverAddr} --token ${cfg.token}") + ++ (optional (cfg.role == "agent") "--server ${cfg.serverAddr} ${ + if cfg.tokenFile != null then + "--token-file ${cfg.tokenFile}" + else + "--token ${cfg.token}" + }") ++ [ cfg.extraFlags ] ); }; diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index d3ae072f86a..8d5302ba267 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -475,21 +475,16 @@ in plugins = lib.mkOption { type = lib.types.listOf lib.types.package; default = []; - example = '' - [ - (pkgs.fetchFromGitHub { - owner = "discourse"; - repo = "discourse-spoiler-alert"; - rev = "e200cfa571d252cab63f3d30d619b370986e4cee"; - sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33"; - }) + example = lib.literalExample '' + with config.services.discourse.package.plugins; [ + discourse-canned-replies + discourse-github ]; ''; description = '' - Discourse plugins to install as a - list of derivations. As long as a plugin supports the - standard install method, packaging it should only require - fetching its source with an appropriate fetcher. + Plugins to install as part of + Discourse, expressed as a list of + derivations. ''; }; diff --git a/nixos/modules/services/web-apps/discourse.xml b/nixos/modules/services/web-apps/discourse.xml index bae56242321..1d6866e7b35 100644 --- a/nixos/modules/services/web-apps/discourse.xml +++ b/nixos/modules/services/web-apps/discourse.xml @@ -262,9 +262,31 @@ services.discourse = { You can install Discourse plugins using the - option. As long as a plugin supports the standard install - method, packaging it should only require fetching its source - with an appropriate fetcher. + option. Pre-packaged plugins are provided in + <your_discourse_package_here>.plugins. If + you want the full suite of plugins provided through + nixpkgs, you can also set the option to + pkgs.discourseAllPlugins. + + + + Plugins can be built with the + <your_discourse_package_here>.mkDiscoursePlugin + function. Normally, it should suffice to provide a + name and src attribute. If + the plugin has Ruby dependencies, however, they need to be + packaged in accordance with the Developing + with Ruby section of the Nixpkgs manual and the + appropriate gem options set in bundlerEnvArgs + (normally gemdir is sufficient). A plugin's + Ruby dependencies are listed in its + plugin.rb file as function calls to + gem. To construct the corresponding + Gemfile, run bundle + init, then add the gem lines to it + verbatim. @@ -280,7 +302,10 @@ services.discourse = { For example, to add the discourse-spoiler-alert - plugin and disable it by default: + and discourse-solved + plugins, and disable discourse-spoiler-alert + by default: services.discourse = { @@ -301,13 +326,9 @@ services.discourse = { passwordFile = "/path/to/smtp_password_file"; }; mail.incoming.enable = true; - plugins = [ - (pkgs.fetchFromGitHub { - owner = "discourse"; - repo = "discourse-spoiler-alert"; - rev = "e200cfa571d252cab63f3d30d619b370986e4cee"; - sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33"; - }) + plugins = with config.services.discourse.package.plugins; [ + discourse-spoiler-alert + discourse-solved ]; siteSettings = { plugins = { diff --git a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix index eea49bda283..f8f0854f1bc 100644 --- a/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix +++ b/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix @@ -23,6 +23,16 @@ in { ''; }; + libraryPaths = mkOption { + type = attrsOf package; + default = { }; + description = '' + Libraries to add to the Icingaweb2 library path. + The name of the attribute is the name of the library, the value + is the package to add. + ''; + }; + virtualHost = mkOption { type = nullOr str; default = "icingaweb2"; @@ -167,6 +177,9 @@ in { services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") { ${poolName} = { user = "icingaweb2"; + phpEnv = { + ICINGAWEB_LIBDIR = toString (pkgs.linkFarm "icingaweb2-libdir" (mapAttrsToList (name: path: { inherit name path; }) cfg.libraryPaths)); + }; phpPackage = pkgs.php.withExtensions ({ enabled, all }: [ all.imagick ] ++ enabled); phpOptions = '' date.timezone = "${cfg.timezone}" @@ -184,6 +197,11 @@ in { }; }; + services.icingaweb2.libraryPaths = { + ipl = pkgs.icingaweb2-ipl; + thirdparty = pkgs.icingaweb2-thirdparty; + }; + systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ]; services.nginx = { diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix new file mode 100644 index 00000000000..b6dea53012d --- /dev/null +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -0,0 +1,75 @@ +{ stdenv, fetchurl, alsa-lib, cairo, dpkg, freetype +, gdk-pixbuf, glib, gtk3, lib, xorg +, libglvnd, libjack2, ffmpeg +, libxkbcommon, xdg-utils, zlib, pulseaudio +, wrapGAppsHook, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "bitwig-studio"; + version = "4.0"; + + src = fetchurl { + url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; + sha256 = "38381c1a382abd9543931f34d5ae1789c31ec1217a1c852b5c5c442ccaf97063"; + }; + + nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; + + unpackCmd = '' + mkdir -p root + dpkg-deb -x $curSrc root + ''; + + dontBuild = true; + dontWrapGApps = true; # we only want $gappsWrapperArgs here + + buildInputs = with xorg; [ + alsa-lib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pulseaudio libjack2 libX11 libglvnd libXcursor stdenv.cc.cc.lib + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp -r opt/bitwig-studio $out/libexec + ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio + cp -r usr/share $out/share + substitute usr/share/applications/com.bitwig.BitwigStudio.desktop \ + $out/share/applications/com.bitwig.BitwigStudio.desktop \ + --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio + + runHook postInstall + ''; + + postFixup = '' + # patchelf fails to set rpath on BitwigStudioEngine, so we use + # the LD_LIBRARY_PATH way + + find $out -type f -executable \ + -not -name '*.so.*' \ + -not -name '*.so' \ + -not -name '*.jar' \ + -not -path '*/resources/*' | \ + while IFS= read -r f ; do + patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f + wrapProgram $f \ + "''${gappsWrapperArgs[@]}" \ + --prefix PATH : "${lib.makeBinPath [ xdg-utils ffmpeg ]}" \ + --suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}" + done + + ''; + + meta = with lib; { + description = "A digital audio workstation"; + longDescription = '' + Bitwig Studio is a multi-platform music-creation system for + production, performance and DJing, with a focus on flexible + editing tools and a super-fast workflow. + ''; + homepage = "https://www.bitwig.com/"; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ bfortz michalrus mrVanDalo ]; + }; +} diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index db0f69c80ab..d81ab4b3ac7 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeWrapper, openssl, freetype +{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeWrapper, wrapGAppsHook, openssl, freetype , glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss, libpng, libnotify , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg, curl, zlib, gnome , at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon @@ -82,7 +82,7 @@ stdenv.mkDerivation { sha512 = "dabb55d2ba41f977b6d3f03bfcf147d11785136dd1277efc62011c8371ef25cc04531266bd16608639b9b6a500c1a18a45f44ba7a43e17ab5ac139e36eff7149"; }; - nativeBuildInputs = [ makeWrapper squashfsTools ]; + nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ]; dontStrip = true; dontPatchELF = true; @@ -109,6 +109,9 @@ stdenv.mkDerivation { runHook postUnpack ''; + # Prevent double wrapping + dontWrapGApps = true; + installPhase = '' runHook preInstall @@ -138,6 +141,7 @@ stdenv.mkDerivation { librarypath="${lib.makeLibraryPath deps}:$libdir" wrapProgram $out/share/spotify/spotify \ + ''${gappsWrapperArgs[@]} \ --prefix LD_LIBRARY_PATH : "$librarypath" \ --prefix PATH : "${gnome.zenity}/bin" diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix index 59e09939e80..d7a27dd4bcc 100644 --- a/pkgs/applications/blockchains/monero-gui/default.nix +++ b/pkgs/applications/blockchains/monero-gui/default.nix @@ -9,14 +9,9 @@ , boost, libunwind, libsodium, pcsclite , randomx, zeromq, libgcrypt, libgpgerror , hidapi, rapidjson, quirc -, trezorSupport ? true -, libusb1 -, protobuf -, python3 +, trezorSupport ? true, libusb1, protobuf, python3 }: -with lib; - stdenv.mkDerivation rec { pname = "monero-gui"; version = "0.17.2.2"; @@ -30,7 +25,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook - (getDev qttools) + (lib.getDev qttools) ]; buildInputs = [ @@ -41,8 +36,8 @@ stdenv.mkDerivation rec { randomx libgcrypt libgpgerror boost libunwind libsodium pcsclite zeromq hidapi rapidjson quirc - ] ++ optionals trezorSupport [ libusb1 protobuf python3 ] - ++ optionals stdenv.isDarwin [ qtmacextras ]; + ] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ] + ++ lib.optionals stdenv.isDarwin [ qtmacextras ]; postUnpack = '' # copy monero sources here @@ -98,7 +93,7 @@ stdenv.mkDerivation rec { done; ''; - meta = { + meta = with lib; { description = "Private, secure, untraceable currency"; homepage = "https://getmonero.org/"; license = licenses.bsd3; diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix index 2a12bfe872b..7dd2e569021 100644 --- a/pkgs/applications/blockchains/monero/default.nix +++ b/pkgs/applications/blockchains/monero/default.nix @@ -4,17 +4,9 @@ , zeromq, pcsclite, readline, libsodium, hidapi , randomx, rapidjson , CoreData, IOKit, PCSC -, trezorSupport ? true -, libusb1 ? null -, protobuf ? null -, python3 ? null +, trezorSupport ? true, libusb1, protobuf, python3 }: -with lib; - -assert stdenv.isDarwin -> IOKit != null; -assert trezorSupport -> all (x: x!=null) [ libusb1 protobuf python3 ]; - stdenv.mkDerivation rec { pname = "monero"; version = "0.17.2.0"; @@ -45,8 +37,8 @@ stdenv.mkDerivation rec { zeromq pcsclite readline libsodium hidapi randomx rapidjson protobuf - ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ] - ++ optionals trezorSupport [ libusb1 protobuf python3 ]; + ] ++ lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ] + ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" @@ -54,7 +46,7 @@ stdenv.mkDerivation rec { "-DBUILD_GUI_DEPS=ON" "-DReadline_ROOT_DIR=${readline.dev}" "-DRandomX_ROOT_DIR=${randomx}" - ] ++ optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"; + ] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"; outputs = [ "out" "source" ]; diff --git a/pkgs/applications/blockchains/oxen/default.nix b/pkgs/applications/blockchains/oxen/default.nix new file mode 100644 index 00000000000..6fd91495b47 --- /dev/null +++ b/pkgs/applications/blockchains/oxen/default.nix @@ -0,0 +1,67 @@ +{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch +, cmake, pkg-config +, boost, openssl, unbound +, pcsclite, readline, libsodium, hidapi +, rapidjson +, curl, sqlite +, trezorSupport ? true +, libusb1 +, protobuf +, python3 +}: + +stdenv.mkDerivation rec { + pname = "oxen"; + version = "9.1.3"; + + src = fetchFromGitHub { + owner = "oxen-io"; + repo = "oxen-core"; + rev = "v${version}"; + sha256 = "11g3wqn0syk47yfcsdql5737kpad8skwdxhifn2yaz9zy8n3xqqb"; + fetchSubmodules = true; + }; + + # Required for static linking, the only supported install path + lbzmqsrc = fetchurl { + url = "https://github.com/zeromq/libzmq/releases/download/v4.3.3/zeromq-4.3.3.tar.gz"; + sha512 = "4c18d784085179c5b1fcb753a93813095a12c8d34970f2e1bfca6499be6c9d67769c71c68b7ca54ff181b20390043170e89733c22f76ff1ea46494814f7095b1"; + }; + + postPatch = '' + # remove vendored libraries + rm -r external/rapidjson + sed -i s,/lib/,/lib64/, external/loki-mq/cmake/local-libzmq//LocalLibzmq.cmake + ''; + + postInstall = '' + rm -R $out/lib $out/include + ''; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ + boost openssl unbound + pcsclite readline + libsodium hidapi rapidjson + protobuf curl sqlite + ] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + # "-DUSE_DEVICE_TREZOR=ON" + # "-DBUILD_GUI_DEPS=ON" + "-DReadline_ROOT_DIR=${readline.dev}" + # It build with shared libs but doesn't install them. Fail. + # "-DBUILD_SHARED_LIBS=ON" + "-DLIBZMQ_TARBALL_URL=${lbzmqsrc}" + ] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"; + + meta = with lib; { + description = "Private cryptocurrency based on Monero"; + homepage = "https://oxen.io/"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [ maintainers.viric ]; + }; +} diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix index b19b1ac2b68..0b550c5f11d 100644 --- a/pkgs/applications/editors/lighttable/default.nix +++ b/pkgs/applications/editors/lighttable/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { sha256 = "06fj725xfhf3fwrf7dya7ijmxq3v76kfmd4lr2067a92zhlwr5pv"; }; - phases = [ "installPhase" ]; + dontConfigure = true; installPhase = '' tar xf ${src} diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix index c7484f4cbfe..31d14185dcd 100644 --- a/pkgs/applications/graphics/fig2dev/default.nix +++ b/pkgs/applications/graphics/fig2dev/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchurl +, fetchpatch , ghostscript , libpng , makeWrapper @@ -20,6 +21,15 @@ stdenv.mkDerivation rec { sha256 = "1bm75lf9j54qpbjx8hzp6ixaayp1x9w4v3yxl6vxyw8g5m4sqdk3"; }; + patches = [ + (fetchpatch { + name = "CVE-2021-3561.patch"; + # Using Debian patch since it is not possible to download it directly from Sourceforge + url = "https://sources.debian.org/data/main/f/fig2dev/1:3.2.8-3/debian/patches/33_sanitize-color.patch"; + sha256 = "1bppr3li03nj4qjibnddr2f38mpk55pcn5z6k98pf00gabq33fgs"; + }) + ]; + nativeBuildInputs = [ makeWrapper ]; buildInputs = [ libpng ]; diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix index e9507129a2c..c9d119a7d60 100644 --- a/pkgs/applications/graphics/swingsane/default.nix +++ b/pkgs/applications/graphics/swingsane/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ unzip ]; - phases = [ "unpackPhase" "installPhase" ]; + dontConfigure = true; installPhase = let diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix index c6861b218de..587877ad7a7 100644 --- a/pkgs/applications/kde/spectacle.nix +++ b/pkgs/applications/kde/spectacle.nix @@ -1,24 +1,26 @@ -{ - mkDerivation, lib, - extra-cmake-modules, kdoctools, - ki18n, xcb-util-cursor, - kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins, - knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi, - qtx11extras, knewstuff, kwayland, qttools +{ mkDerivation, lib +, extra-cmake-modules, kdoctools +, ki18n, xcb-util-cursor +, kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins +, knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi +, qtbase, qtx11extras, knewstuff, kwayland, qttools, kcolorpicker, kimageannotator }: mkDerivation { pname = "spectacle"; - meta = with lib; { maintainers = with maintainers; [ ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor - knewstuff kwayland + knewstuff kwayland kcolorpicker kimageannotator ]; postPatch = '' substituteInPlace desktop/org.kde.spectacle.desktop.cmake \ --replace "Exec=@QtBinariesDir@/qdbus" "Exec=${lib.getBin qttools}/bin/qdbus" ''; propagatedUserEnvPkgs = [ kipi-plugins libkipi ]; + meta = with lib; { + maintainers = with maintainers; [ ttuegel ]; + broken = versionOlder qtbase.version "5.15"; + }; } diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix index 08d5524fc3a..0a89e4f4765 100644 --- a/pkgs/applications/misc/archivy/default.nix +++ b/pkgs/applications/misc/archivy/default.nix @@ -21,11 +21,11 @@ buildPythonApplication rec { pname = "archivy"; - version = "1.3.1"; + version = "1.4.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-g7H22zJOQuxSmoJ3373eRcbderC67vkuiLN1CgaytFM="; + sha256 = "sha256-wQuR7cltDLr2u8BQ851MSjKmeLW8mQ/3bdEF5c9nxL0="; }; # Relax some dependencies @@ -38,7 +38,10 @@ buildPythonApplication rec { --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \ --replace 'requests ==' 'requests >=' \ --replace 'validators ==' 'validators >=' \ - --replace 'tinydb ==' 'tinydb >=' + --replace 'tinydb ==' 'tinydb >=' \ + --replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \ + --replace 'Werkzeug ==' 'Werkzeug >=' \ + --replace 'Flask ==' 'Flask >=' ''; propagatedBuildInputs = [ diff --git a/pkgs/applications/misc/dstask/default.nix b/pkgs/applications/misc/dstask/default.nix index cd1c659ec5b..c17ed9b3af5 100644 --- a/pkgs/applications/misc/dstask/default.nix +++ b/pkgs/applications/misc/dstask/default.nix @@ -36,7 +36,7 @@ buildGoModule rec { description = "Command line todo list with super-reliable git sync"; homepage = src.meta.homepage; license = licenses.mit; - maintainers = with maintainers; [ stianlagstad foxit64 ]; + maintainers = with maintainers; [ stianlagstad ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/gopacked/default.nix b/pkgs/applications/misc/gopacked/default.nix index 57f6be40ab0..42b886e4c72 100644 --- a/pkgs/applications/misc/gopacked/default.nix +++ b/pkgs/applications/misc/gopacked/default.nix @@ -19,7 +19,6 @@ buildGoModule rec { description = "A simple text-based Minecraft modpack manager"; license = licenses.agpl3; homepage = src.meta.homepage; - maintainers = with maintainers; [ foxit64 ]; + maintainers = with maintainers; [ ]; }; - } diff --git a/pkgs/applications/misc/nwg-wrapper/default.nix b/pkgs/applications/misc/nwg-wrapper/default.nix new file mode 100644 index 00000000000..9567b051f59 --- /dev/null +++ b/pkgs/applications/misc/nwg-wrapper/default.nix @@ -0,0 +1,41 @@ +{ lib, python3Packages, fetchFromGitHub, gtk-layer-shell, gtk3, gobject-introspection, wrapGAppsHook, wlr-randr }: + +python3Packages.buildPythonPackage rec { + pname = "nwg-wrapper"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "nwg-piotr"; + repo = pname; + rev = "v${version}"; + sha256 = "1rpkcjr0chmgsfkan88lsi476bamg9a6y7h0x9zsh60a9rdf7dl8"; + }; + + nativeBuildInputs = [ gobject-introspection wrapGAppsHook ]; + + buildInputs = [ gtk3 gtk-layer-shell ]; + + propagatedBuildInputs = with python3Packages; [ i3ipc pygobject3 ]; + + # ValueError: Namespace GtkLayerShell not available + strictDeps = false; + + # No tests + doCheck = false; + + preFixup = '' + makeWrapperArgs+=( + "''${gappsWrapperArgs[@]}" + --prefix PATH : "${lib.makeBinPath [ wlr-randr ]}" + ) + ''; + + pythonImportsCheck = [ "nwg_wrapper" ]; + + meta = with lib; { + description = "Wrapper to display a script output or a text file content on the desktop in sway or other wlroots-based compositors"; + homepage = "https://github.com/nwg-piotr/nwg-wrapper/"; + license = licenses.mit; + maintainers = with maintainers; [ artturin ]; + }; +} diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix index 2e3f3230512..aad2a4d0e48 100644 --- a/pkgs/applications/misc/phoc/default.nix +++ b/pkgs/applications/misc/phoc/default.nix @@ -36,14 +36,14 @@ let }); in stdenv.mkDerivation rec { pname = "phoc"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitLab { domain = "source.puri.sm"; owner = "Librem5"; repo = pname; rev = "v${version}"; - sha256 = "0afiyr2slg38ksrqn19zygsmjy9k5bpwv6n7zjas3s5djr6hch45"; + sha256 = "0n188xa2pwl4258naxhz45cvipcid8y1zvlbddll9xydrrh9bwqn"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index a8afe2ea8af..3270024d764 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -18,9 +18,9 @@ } }, "beta": { - "version": "92.0.4515.93", - "sha256": "077i1rw84cgcmg2k0p1ycg5pwvnhgsa3qdfsr7icrn7gmagagqd0", - "sha256bin64": "1gf4qv8wvaagdgsinf2gprx9wcfgm8jql6870k50bi26mjqv9800", + "version": "92.0.4515.101", + "sha256": "1jcas265hhlqd9f63h4zw4n4xsl26c5zmjlmbf1px5icvcjfb2xd", + "sha256bin64": "0sb5l5nzfzisvrnhcfwhdh9rn6z6pkzqz4p92c40q2mlhmjrfhj0", "deps": { "gn": { "version": "2021-05-07", diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix index ed4ffffe451..374062f0d80 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.6.0"; + version = "2021.7.0"; src = fetchFromGitHub { owner = "cloudflare"; repo = "cloudflared"; rev = version; - sha256 = "sha256-cX0kdBPDgwjHphxGWrnXohHPp1nzs4SnvCry4AxMtp0="; + sha256 = "sha256-FQejuKBDUCCcEq9ZmSMigdvqowTurCYEhOiXQN7exIE="; }; vendorSha256 = null; diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix index dcdf134b26a..dbbf6524871 100644 --- a/pkgs/applications/networking/cluster/octant/default.nix +++ b/pkgs/applications/networking/cluster/octant/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "octant"; - version = "0.21.0"; + version = "0.22.0"; src = let @@ -19,10 +19,10 @@ stdenv.mkDerivation rec { }; in fetchsrc version { - x86_64-linux = "sha256-Ben2wAquHADWBv1MEfPWxs96pLz1bK2F6bLoYVTSkng="; - aarch64-linux = "sha256-1kK0Gu4cQYk+QDJJJiiDan4SnP3Xjr8nLOBtv26UDV4="; - x86_64-darwin = "sha256-gOkHpUTWKrikKYZmkfgck3Lf3g5Pakcn0i2A9Hd07UE="; - aarch64-darwin = "sha256-Xpl8odVXw4WzF7CEZ+Bbxa6oQDBv9VMzHCNOjIcFGzE="; + x86_64-linux = "sha256-1/vyV6pUqovVpovTYFF4d75wJvtTNdrbLZyjw1lLacA="; + aarch64-linux = "sha256-1duNW0Edj0jrpv/RMrebtZF4ph6j3PXCJ2RFejOopGQ="; + x86_64-darwin = "sha256-Ur5jBPk5hA6cGg+pPf36Ijh94gWEdaWlJK3yCMBYyEU="; + aarch64-darwin = "sha256-RaiXW+MUihk291UWmrf6gLpyrd5stIkhyWNFEQ0daCk="; }; dontConfigure = true; diff --git a/pkgs/applications/networking/cluster/octant/desktop.nix b/pkgs/applications/networking/cluster/octant/desktop.nix index 4095a7907eb..e793df71a58 100644 --- a/pkgs/applications/networking/cluster/octant/desktop.nix +++ b/pkgs/applications/networking/cluster/octant/desktop.nix @@ -2,7 +2,7 @@ let pname = "octant-desktop"; - version = "0.21.0"; + version = "0.22.0"; name = "${pname}-${version}"; inherit (stdenv.hostPlatform) system; @@ -15,8 +15,8 @@ let src = fetchurl { url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}"; sha256 = { - x86_64-linux = "sha256-Woridi8uGsxvccdeaDzVLs+2YrRKUnm3WbX5LhorM1Y="; - x86_64-darwin = "sha256-NF3bm8WFEs4kgrUp+7qCbj6Z6pUMRUp7h4nhJQDJnoY="; + x86_64-linux = "sha256-xMdNoH0UE/KLIQ0DjJfb+ZB/q2F+kyFEncrQ9YYJgE0="; + x86_64-darwin = "sha256-y3fmxrsQ0hCa1wuMiRGHf79kpi25qXv/idKrVT87oc0="; }.${system}; }; diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix index a7778af231d..0db134bdb21 100644 --- a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix +++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix @@ -2,20 +2,18 @@ buildGoModule rec { pname = "tektoncd-cli"; - version = "0.19.1"; + version = "0.20.0"; src = fetchFromGitHub { owner = "tektoncd"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-duJSTk5LmJWbaVYybZZHWDe8E/ZqZLCCsdPIiH5d/G4="; + sha256 = "sha256-aVR1xNmL6M/m+1znt70vrCtuABCqDz0sDp8mDFI2uIg="; }; vendorSha256 = null; - preBuild = '' - buildFlagsArray+=("-ldflags" "-s -w -X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}") - ''; + ldflags = [ "-s" "-w" "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" ]; nativeBuildInputs = [ installShellFiles ]; @@ -27,7 +25,7 @@ buildGoModule rec { # Some tests try to write to the home dir export HOME="$TMPDIR" # Change the golden files to match our desired version - sed -i "s/dev/${version}/" pkg/cmd/version/testdata/TestGetVersions-*.golden + sed -i "s/dev/${version}/" pkg/cmd/version/testdata/{TestGetVersions-,TestGetComponentVersions/}*.golden ''; postInstall = '' @@ -43,8 +41,7 @@ buildGoModule rec { installCheckPhase = '' runHook preInstallCheck $out/bin/tkn --help - # New tkn version functionality outputs empty https://github.com/tektoncd/cli/issues/1389 - # $out/bin/tkn version | grep "Client version: ${version}" + $out/bin/tkn version | grep "Client version: ${version}" runHook postInstallCheck ''; diff --git a/pkgs/applications/networking/instant-messengers/discord/base.nix b/pkgs/applications/networking/instant-messengers/discord/base.nix index a8b2b02f0bf..2d67236c90e 100644 --- a/pkgs/applications/networking/instant-messengers/discord/base.nix +++ b/pkgs/applications/networking/instant-messengers/discord/base.nix @@ -5,6 +5,7 @@ , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence , mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu +, writeScript, common-updater-scripts }: let @@ -71,7 +72,15 @@ in stdenv.mkDerivation rec { mimeType = "x-scheme-handler/discord"; }; - passthru.updateScript = ./update-discord.sh; + passthru.updateScript = writeScript "discord-update-script" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl gnugrep common-updater-scripts + set -eou pipefail; + url=$(curl -sI "https://discordapp.com/api/download/${builtins.replaceStrings ["discord-" "discord"] ["" "stable"] pname}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+') + version=''${url##https://dl*.discordapp.net/apps/linux/} + version=''${version%%/*.tar.gz} + update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix + ''; meta = with lib; { description = "All-in-one cross-platform voice and text chat for gamers"; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index f7435aa3ae3..d2d8c9a3ec5 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -27,10 +27,10 @@ in { pname = "discord-canary"; binaryName = "DiscordCanary"; desktopName = "Discord Canary"; - version = "0.0.125"; + version = "0.0.126"; src = fetchurl { url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; - sha256 = "0ly5a6l7rvl54mc39xma14jrcrf11q3ndnkkr16by5hy3palmz9g"; + sha256 = "EraTDRKd6t0c9U68tSRdGkeB1hfqNS4KUewEXwkL8io="; }; }; }.${branch} diff --git a/pkgs/applications/networking/instant-messengers/discord/update-discord.sh b/pkgs/applications/networking/instant-messengers/discord/update-discord.sh deleted file mode 100755 index 34c1574c65a..00000000000 --- a/pkgs/applications/networking/instant-messengers/discord/update-discord.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# script to generate ./default.nix - -set -e -exec >"${BASH_SOURCE%/*}/default.nix" - -cat < enablePlugins; + mkDerivation rec { pname = "psi-plus"; version = "1.5.1549"; @@ -21,19 +52,40 @@ mkDerivation rec { }; cmakeFlags = [ - "-DENABLE_PLUGINS=ON" + "-DCHAT_TYPE=${chatType}" + "-DENABLE_PLUGINS=${if enablePlugins then "ON" else "OFF"}" + "-DBUILD_PSIMEDIA=${if enablePsiMedia then "ON" else "OFF"}" ]; - nativeBuildInputs = [ cmake qttools ]; + nativeBuildInputs = [ + cmake + qttools + ] ++ lib.optionals enablePsiMedia [ + pkg-config + ]; buildInputs = [ - qtbase qtmultimedia qtx11extras qtwebengine - libidn qca-qt5 libXScrnSaver hunspell - libsecret libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c + qtbase + qtmultimedia + qtx11extras + libidn + qca-qt5 + libXScrnSaver + hunspell + libsecret + libgcrypt + libotr + html-tidy + libgpgerror + libsignal-protocol-c usrsctp ] ++ lib.optionals voiceMessagesSupport [ gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good + ] ++ lib.optionals (chatType == "webkit") [ + qtwebkit + ] ++ lib.optionals (chatType == "webengine") [ + qtwebengine ]; preFixup = lib.optionalString voiceMessagesSupport '' diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 9357a02a640..daf1c476e67 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -28,7 +28,7 @@ let else ""); in stdenv.mkDerivation rec { pname = "signal-desktop"; - version = "5.8.0"; # Please backport all updates to the stable channel. + version = "5.9.0"; # Please backport all updates to the stable channel. # All releases have a limited lifetime and "expire" 90 days after the release. # When releases "expire" the application becomes unusable until an update is # applied. The expiration date for the current release can be extracted with: @@ -38,7 +38,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "0icwmlnnnlsj2g1p2q4lf7hlhys3rakaim7bah5qkmhwkrzkk30y"; + sha256 = "1pmyi9b0b5h6mi6dwml41x4igy8rfpsv6j67izh78m5gla8wp34h"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/logic/gappa/default.nix b/pkgs/applications/science/logic/gappa/default.nix index c7c5c9c6fa7..be1d6f253bc 100644 --- a/pkgs/applications/science/logic/gappa/default.nix +++ b/pkgs/applications/science/logic/gappa/default.nix @@ -4,8 +4,8 @@ stdenv.mkDerivation { name = "gappa-1.4.0"; src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/file/38044/gappa-1.4.0.tar.gz"; - sha256 = "sha256-/IDIf5XnFBqVllgH5GtQ6C8g7vxheaVcXNoZiXlsPGA="; + url = "https://gforge.inria.fr/frs/download.php/file/38436/gappa-1.4.0.tar.gz"; + sha256 = "12x42z901pr05ldmparqdi8sq9s7fxbavhzk2dbq3l6hy247dwbb"; }; buildInputs = [ gmp mpfr boost.dev ]; diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix index 2d625a1c1b2..e426f7b8098 100644 --- a/pkgs/applications/science/logic/verifast/default.nix +++ b/pkgs/applications/science/logic/verifast/default.nix @@ -27,8 +27,8 @@ stdenv.mkDerivation rec { sha256 = "169kshjq4cf4i9v92azv0xaflrnik5686w7fwcgdhd6qkbzflzl6"; }; + dontConfigure = true; dontStrip = true; - phases = "unpackPhase installPhase"; installPhase = '' mkdir -p $out/bin cp -R bin $out/libexec diff --git a/pkgs/applications/science/logic/workcraft/default.nix b/pkgs/applications/science/logic/workcraft/default.nix index 7fb73419c07..63a94636560 100644 --- a/pkgs/applications/science/logic/workcraft/default.nix +++ b/pkgs/applications/science/logic/workcraft/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + dontConfigure = true; installPhase = '' mkdir -p $out/share @@ -28,6 +28,5 @@ stdenv.mkDerivation rec { platforms = lib.platforms.linux; license = lib.licenses.mit; maintainers = with lib.maintainers; [ timor ]; - inherit version; }; } diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix index d9f6a0c74e8..7de63c287ea 100644 --- a/pkgs/applications/science/math/mathematica/l10ns.nix +++ b/pkgs/applications/science/math/mathematica/l10ns.nix @@ -8,10 +8,10 @@ let allVersions = with lib; flip map # N.B. Versions in this list should be ordered from newest to oldest. [ { - version = "12.3.0"; + version = "12.3.1"; lang = "en"; language = "English"; - sha256 = "045df045f6e796ded59f64eb2e0f1949ac88dcba1d5b6e05fb53ea0a4aed7215"; + sha256 = "51b9cab12fd91b009ea7ad4968a2c8a59e94dc55d2e6cc1d712acd5ba2c4d509"; } { version = "11.3.0"; diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix index 75607fdda34..0da3014507a 100644 --- a/pkgs/applications/science/misc/root/5.nix +++ b/pkgs/applications/science/misc/root/5.nix @@ -1,6 +1,27 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, pcre, pkg-config, python2 -, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, xz, gsl_1, xxHash -, Cocoa, OpenGL, noSplash ? false }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, cmake +, pcre +, pkg-config +, python2 +, libX11 +, libXpm +, libXft +, libXext +, libGLU +, libGL +, zlib +, libxml2 +, lz4 +, xz +, gsl_1 +, xxHash +, Cocoa +, OpenGL +, noSplash ? false +}: stdenv.mkDerivation rec { pname = "root"; @@ -15,7 +36,7 @@ stdenv.mkDerivation rec { buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl_1 xxHash ] ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ] ++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] - ; + ; patches = [ ./sw_vers_root5.patch diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index a97be6ec76f..8aa9006d523 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,23 +1,73 @@ -{ stdenv, lib, fetchurl, makeWrapper, cmake, git, ftgl, gl2ps, glew, gsl -, libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, xz, pcre, nlohmann_json -, pkg-config, python, xxHash, zlib, zstd -, libAfterImage, giflib, libjpeg, libtiff, libpng -, Cocoa, CoreSymbolication, OpenGL, noSplash ? false }: +{ stdenv +, lib +, fetchurl +, makeWrapper +, cmake +, git +, ftgl +, gl2ps +, glew +, gsl +, libX11 +, libXpm +, libXft +, libXext +, libGLU +, libGL +, libxml2 +, lz4 +, xz +, pcre +, nlohmann_json +, pkg-config +, python +, xxHash +, zlib +, zstd +, libAfterImage +, giflib +, libjpeg +, libtiff +, libpng +, Cocoa +, CoreSymbolication +, OpenGL +, noSplash ? false +}: stdenv.mkDerivation rec { pname = "root"; - version = "6.24.00"; + version = "6.24.02"; src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; - sha256 = "12crjzd7pzx5qpk2pb3z0rhmxlw5gsqaqzfl48qiq8c9l940b8wx"; + sha256 = "sha256-BQfhCV4nnMxyQPZR0llmAkMlF5+oWhJZtpS1ZyOtfBw="; }; nativeBuildInputs = [ makeWrapper cmake pkg-config git ]; - buildInputs = [ ftgl gl2ps glew pcre zlib zstd libxml2 lz4 xz gsl xxHash libAfterImage giflib libjpeg libtiff libpng nlohmann_json python.pkgs.numpy ] - ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ] - ++ lib.optionals (stdenv.isDarwin) [ Cocoa CoreSymbolication OpenGL ] - ; + buildInputs = [ + ftgl + gl2ps + glew + pcre + zlib + zstd + libxml2 + lz4 + xz + gsl + xxHash + libAfterImage + giflib + libjpeg + libtiff + libpng + nlohmann_json + python.pkgs.numpy + ] + ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ] + ++ lib.optionals (stdenv.isDarwin) [ Cocoa CoreSymbolication OpenGL ] + ; patches = [ ./sw_vers.patch diff --git a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix index add7bfc5526..15d0fe9bc0f 100644 --- a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix @@ -1,15 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, coreutils, gnugrep, gnused, makeWrapper, git -}: +{ lib, stdenv, fetchFromGitHub, coreutils, git, gnugrep, gnused, makeWrapper, inotify-tools }: stdenv.mkDerivation rec { pname = "git-sync"; - version = "20151024"; + version = "unstable-2021-07-14"; src = fetchFromGitHub { owner = "simonthum"; repo = "git-sync"; - rev = "eb9adaf2b5fd65aac1e83d6544b9076aae6af5b7"; - sha256 = "01if8y93wa0mwbkzkzx2v1vqh47zlz4k1dysl6yh5rmppd1psknz"; + rev = "7d3d34bf3ee2483fba00948f5b97f964b849a590"; + sha256 = "sha256-PuYREW5NBkYF1tlcLTbOI8570nvHn5ifN8OIInfNNxI="; }; nativeBuildInputs = [ makeWrapper ]; @@ -18,10 +17,11 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin - cp -a git-sync $out/bin/git-sync + cp -a git-* $out/bin/ ''; wrapperPath = with lib; makeBinPath [ + inotify-tools coreutils git gnugrep diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix index c0cc9d5e2b1..3e10add49d4 100644 --- a/pkgs/applications/version-management/gitkraken/default.nix +++ b/pkgs/applications/version-management/gitkraken/default.nix @@ -13,11 +13,11 @@ let in stdenv.mkDerivation rec { pname = "gitkraken"; - version = "7.6.1"; + version = "7.7.0"; src = fetchzip { url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz"; - sha256 = "sha256-wpfTozXxanZkYtYQHY950PLsVO4lXLt5OOP/xDCrFEw="; + sha256 = "0zb94ipi777qkznxpgb7ah31mx9b63713k92vhxhz4glna59lvk3"; }; dontBuild = true; diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index ee7c4d6bcfa..ec358507c2d 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -8,7 +8,7 @@ rec { , moby-src , runcRev, runcSha256 , containerdRev, containerdSha256 - , tiniRev, tiniSha256, buildxSupport ? false + , tiniRev, tiniSha256, buildxSupport ? true # package dependencies , stdenv, fetchFromGitHub, buildGoPackage , makeWrapper, installShellFiles, pkg-config, glibc @@ -77,6 +77,10 @@ rec { extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute2 iptables e2fsprogs xz xfsprogs procps util-linux git ]); + postPatch = '' + patchShebangs hack/make.sh hack/make/ + ''; + buildPhase = '' export GOCACHE="$TMPDIR/go-cache" # build engine @@ -88,11 +92,6 @@ rec { cd - ''; - postPatch = '' - patchShebangs . - substituteInPlace ./hack/make.sh --replace libsystemd-journal libsystemd - ''; - installPhase = '' cd ./go/src/${goPackagePath} install -Dm755 ./bundles/dynbinary-daemon/dockerd $out/libexec/docker/dockerd @@ -144,6 +143,14 @@ rec { sqlite lvm2 btrfs-progs systemd libseccomp ] ++ optionals (buildxSupport) [ docker-buildx ]; + postPatch = '' + patchShebangs man scripts/build/ + substituteInPlace ./scripts/build/.variables --replace "set -eu" "" + '' + optionalString buildxSupport '' + substituteInPlace ./cli-plugins/manager/manager_unix.go --replace /usr/libexec/docker/cli-plugins \ + ${lib.strings.makeSearchPathOutput "bin" "libexec/docker/cli-plugins" [docker-buildx]} + ''; + # Keep eyes on BUILDTIME format - https://github.com/docker/cli/blob/${version}/scripts/build/.variables buildPhase = '' export GOCACHE="$TMPDIR/go-cache" @@ -162,14 +169,6 @@ rec { cd - ''; - postPatch = '' - patchShebangs . - substituteInPlace ./scripts/build/.variables --replace "set -eu" "" - '' + optionalString buildxSupport '' - substituteInPlace ./cli-plugins/manager/manager_unix.go --replace /usr/libexec/docker/cli-plugins \ - ${lib.strings.makeSearchPathOutput "bin" "libexec/docker/cli-plugins" [docker-buildx]} - ''; - outputs = ["out" "man"]; installPhase = '' @@ -211,7 +210,7 @@ rec { homepage = "https://www.docker.com/"; description = "An open source project to pack, ship and run any application as a lightweight container"; license = licenses.asl20; - maintainers = with maintainers; [ offline tailhook vdemeester periklis ]; + maintainers = with maintainers; [ offline tailhook vdemeester periklis mikroskeem ]; platforms = with platforms; linux ++ darwin; }; @@ -222,14 +221,14 @@ rec { # Get revisions from # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/* docker_20_10 = callPackage dockerGen rec { - version = "20.10.6"; + version = "20.10.7"; rev = "v${version}"; - sha256 = "15kknb26vyzjgqmn8r81a1sy1i5br6bvngqd5xljihppnxvp2gvl"; + sha256 = "1r854jrjph4v1n5lr82z0cl0241ycili4qr3qh3k3bmqx790cds3"; moby-src = fetchFromGitHub { owner = "moby"; repo = "moby"; rev = "v${version}"; - sha256 = "1l4ra9bsvydaxd2fy7dgxp7ynpp0mrlwvcdhxiafw596559ab6qk"; + sha256 = "0xhn11kgcbzda4z9j0rflvq0nfivizh3jrzhanwn5vnghafy4zqw"; }; runcRev = "b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7"; # v1.0.0-rc95 runcSha256 = "18sbvmlvb6kird4w3rqsfrjdj7n25firabvdxsl0rxjfy9r1g2xb"; diff --git a/pkgs/applications/window-managers/afterstep/default.nix b/pkgs/applications/window-managers/afterstep/default.nix index fbb4a7a5e49..ec7d3ae5004 100644 --- a/pkgs/applications/window-managers/afterstep/default.nix +++ b/pkgs/applications/window-managers/afterstep/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, pkg-config -, libjpeg, libtiff, libpng, freetype +, libtiff , fltk, gtk -, libX11, libXext, libICE +, libICE, libSM , dbus , fetchpatch }: @@ -24,8 +24,16 @@ stdenv.mkDerivation rec { }) ]; + postPatch = '' + # Causes fatal ldconfig cache generation attempt on non-NixOS Linux + for mkfile in autoconf/Makefile.common.lib.in libAfter{Base,Image}/Makefile.in; do + substituteInPlace $mkfile \ + --replace 'test -w /etc' 'false' + done + ''; + nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libjpeg libtiff libpng freetype fltk gtk libX11 libXext libICE dbus dbus ]; + buildInputs = [ libtiff fltk gtk libICE libSM dbus ]; # A strange type of bug: dbus is not immediately found by pkg-config preConfigure = '' diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix index dc1080d97b2..9fa0959ed50 100644 --- a/pkgs/applications/window-managers/phosh/default.nix +++ b/pkgs/applications/window-managers/phosh/default.nix @@ -37,14 +37,14 @@ let }; in stdenv.mkDerivation rec { pname = "phosh"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitLab { domain = "source.puri.sm"; owner = "Librem5"; repo = pname; rev = "v${version}"; - sha256 = "104qib4blh32s7bg6j3xza3s9syrxrvyh2wpyh5yx7v5wqarr20x"; + sha256 = "1s0lgq04qz562iri535wpwvfkmmngdpclyl329cf7rc9ihy1kjvs"; }; nativeBuildInputs = [ diff --git a/pkgs/data/fonts/kanit/default.nix b/pkgs/data/fonts/kanit/default.nix new file mode 100644 index 00000000000..9b5be79061c --- /dev/null +++ b/pkgs/data/fonts/kanit/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "kanit"; + version = "unstable-2020-06-16"; + + src = fetchFromGitHub { + owner = "cadsondemak"; + repo = pname; + rev = "467dfe842185681d8042cd608b8291199dd37cda"; + sha256 = "0p0klb0376r8ki4ap2j99j7jcsq6wgb7m1hf3j1dkncwm7ikmg3h"; + }; + + installPhase = '' + mkdir -p $out/share/doc/${pname}/css/ $out/share/fonts/{opentype,truetype} + + cp $src/OFL.txt $src/documentation/{BRIEF.md,features.html} $out/share/doc/${pname} + cp $src/documentation/css/fonts.css $out/share/doc/${pname}/css + cp $src/fonts/otf/*.otf $out/share/fonts/opentype + cp $src/fonts/ttf/*.ttf $out/share/fonts/truetype + ''; + + meta = with lib; { + homepage = "https://cadsondemak.github.io/kanit/"; + description = "A loopless Thai and sans serif Latin typeface for contemporary and futuristic uses"; + longDescription = '' + Kanit means mathematics in Thai, and the Kanit typeface family is a formal + Loopless Thai and Sans Latin design. It is a combination of concepts, + mixing a Humanist Sans Serif motif with the curves of Capsulated Geometric + styles that makes it suitable for various uses, contemporary and + futuristic. A notable detail is that the stroke terminals have flat angles, + which allows the design to enjoy decreased spacing between letters while + preserving readability and legibility at smaller point sizes. + ''; + license = licenses.ofl; + platforms = platforms.all; + maintainers = [ maintainers.toastal ]; + }; +} diff --git a/pkgs/data/icons/qogir-icon-theme/default.nix b/pkgs/data/icons/qogir-icon-theme/default.nix index e647b02f010..00de4f6760c 100644 --- a/pkgs/data/icons/qogir-icon-theme/default.nix +++ b/pkgs/data/icons/qogir-icon-theme/default.nix @@ -1,32 +1,39 @@ -{ lib, stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }: +{ lib, stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme, jdupes }: stdenv.mkDerivation rec { pname = "qogir-icon-theme"; - version = "2020-11-22"; + version = "2021-07-14"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "04rkpsiz8jg9i55mslsh7a6wgyp30ja3xss7qacqimdab236300d"; + sha256 = "0anma2ss3yqr9njx4ay2nyxjkgnj7ky17c93ipwgrvgsv8jk5nn2"; }; - nativeBuildInputs = [ gtk3 ]; + nativeBuildInputs = [ gtk3 jdupes ]; propagatedBuildInputs = [ hicolor-icon-theme ]; dontDropIconThemeCache = true; + # These fixup steps are slow and unnecessary. + dontPatchELF = true; + dontRewriteSymlinks = true; + installPhase = '' + runHook preInstall patchShebangs install.sh mkdir -p $out/share/icons name= ./install.sh -d $out/share/icons + jdupes -l -r $out/share/icons + runHook postInstall ''; meta = with lib; { description = "Flat colorful design icon theme"; homepage = "https://github.com/vinceliuice/Qogir-icon-theme"; - license = with licenses; [ gpl3 ]; + license = with licenses; [ gpl3Only ]; platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; diff --git a/pkgs/development/libraries/dqlite/default.nix b/pkgs/development/libraries/dqlite/default.nix index 83e63abb3c6..15785d25fe2 100644 --- a/pkgs/development/libraries/dqlite/default.nix +++ b/pkgs/development/libraries/dqlite/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "dqlite"; - version = "1.7.0"; + version = "1.8.0"; src = fetchFromGitHub { owner = "canonical"; repo = pname; rev = "v${version}"; - sha256 = "sha256-lCMTmKnDv/fb5fP/Ch8AwpuNfmR+gecxeIweO6hHj5U="; + sha256 = "0ghvwlgj5574kpgc53bfhqp4437xxvr05061wwxplpjxn37hy26d"; }; nativeBuildInputs = [ autoreconfHook file pkg-config ]; diff --git a/pkgs/development/libraries/fltk/1.4.nix b/pkgs/development/libraries/fltk/1.4.nix index 38926f298d4..2a430844ebe 100644 --- a/pkgs/development/libraries/fltk/1.4.nix +++ b/pkgs/development/libraries/fltk/1.4.nix @@ -1,52 +1,5 @@ -{ lib, stdenv, fetchurl, pkg-config, xlibsWrapper, xorgproto, libXi -, freeglut, libGLU, libGL, libjpeg, zlib, libXft, libpng -, libtiff, freetype, Cocoa, AGL, GLUT -}: - -let - version = "1.4.x-r13121"; -in - -stdenv.mkDerivation { - pname = "fltk"; - inherit version; - - src = fetchurl { - url = "https://www.fltk.org/pub/fltk/snapshots/fltk-${version}.tar.gz"; - sha256 = "1v8wxvxcbk99i82x2v5fpqg5vj8n7g8a38g30ry7nzcjn5sf3r63"; - }; - - patches = lib.optionals stdenv.isDarwin [ ./nsosv.patch ]; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ] - ++ lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ]; - - propagatedBuildInputs = [ xorgproto ] - ++ (if stdenv.isDarwin - then [ freetype libtiff ] - else [ xlibsWrapper libXi freeglut ]); - - configureFlags = [ - "--enable-gl" - "--enable-largefile" - "--enable-shared" - "--enable-threads" - "--enable-xft" - ]; - - preConfigure = '' - make clean - rm VERSION - ''; - - enableParallelBuilding = true; - - meta = with lib; { - description = "A C++ cross-platform lightweight GUI library"; - homepage = "https://www.fltk.org"; - platforms = platforms.linux ++ platforms.darwin; - license = licenses.gpl2; - }; - +import ./common.nix rec { + version = "1.4.x-2021-07-04"; + rev = "1008cdfab27609a6f6a0e82dadad9fd9cbd8a66d"; + sha256 = "1h057dyhd04b9bjci952b2l7brxv183l9jw9i50mn9qjfljmvqim"; } diff --git a/pkgs/development/libraries/fltk/common.nix b/pkgs/development/libraries/fltk/common.nix new file mode 100644 index 00000000000..06e1c05c7d0 --- /dev/null +++ b/pkgs/development/libraries/fltk/common.nix @@ -0,0 +1,205 @@ +{ version, rev, sha256 }: + +{ stdenv +, lib +, fetchFromGitHub +, cmake +, pkg-config +, zlib +, libjpeg +, libpng +, fontconfig +, freetype +, libX11 +, libXext +, libXinerama +, libXfixes +, libXcursor +, libXft +, libXrender +, ApplicationServices +, Carbon +, Cocoa + +, withGL ? true +, libGL +, libGLU +, glew +, OpenGL + +, withCairo ? true +, cairo + +, withPango ? (lib.strings.versionAtLeast version "1.4" && stdenv.hostPlatform.isLinux) +, pango + +, withDocs ? true +, doxygen +, graphviz +, texlive + +, withExamples ? true +, withShared ? true +}: + +let + onOff = value: if value then "ON" else "OFF"; + tex = texlive.combine { + inherit (texlive) + scheme-medium varwidth multirow hanging adjustbox collectbox stackengine + sectsty tocloft newunicodechar etoc; + }; +in +stdenv.mkDerivation rec { + pname = "fltk"; + inherit version; + + src = fetchFromGitHub { + owner = "fltk"; + repo = "fltk"; + inherit rev sha256; + }; + + outputs = [ "out" ] + ++ lib.optional withExamples "bin" + ++ lib.optional withDocs "doc"; + + # Manually move example & test binaries to $bin to avoid cyclic dependencies on dev binaries + outputBin = lib.optionalString withExamples "out"; + + patches = lib.optionals stdenv.hostPlatform.isDarwin [ + ./nsosv.patch + ]; + + postPatch = '' + patchShebangs documentation/make_* + ''; + + nativeBuildInputs = [ + cmake + pkg-config + ] ++ lib.optionals withDocs [ + doxygen + graphviz + tex + ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + ApplicationServices + Carbon + ] ++ lib.optionals (withGL && !stdenv.hostPlatform.isDarwin) [ + libGL + libGLU + ] ++ lib.optionals (withExamples && withGL) [ + glew + ]; + + propagatedBuildInputs = [ + zlib + libjpeg + libpng + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + freetype + fontconfig + libX11 + libXext + libXinerama + libXfixes + libXcursor + libXft + libXrender + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + Cocoa + ] ++ lib.optionals (withGL && stdenv.hostPlatform.isDarwin) [ + OpenGL + ] ++ lib.optionals withCairo [ + cairo + ] ++ lib.optionals withPango [ + pango + ]; + + cmakeFlags = [ + # Common + "-DOPTION_BUILD_SHARED_LIBS=${onOff withShared}" + "-DOPTION_USE_SYSTEM_ZLIB=ON" + "-DOPTION_USE_SYSTEM_LIBJPEG=ON" + "-DOPTION_USE_SYSTEM_LIBPNG=ON" + + # X11 + "-DOPTION_USE_XINERAMA=${onOff stdenv.hostPlatform.isLinux}" + "-DOPTION_USE_XFIXES=${onOff stdenv.hostPlatform.isLinux}" + "-DOPTION_USE_XCURSOR=${onOff stdenv.hostPlatform.isLinux}" + "-DOPTION_USE_XFT=${onOff stdenv.hostPlatform.isLinux}" + "-DOPTION_USE_XRENDER=${onOff stdenv.hostPlatform.isLinux}" + "-DOPTION_USE_XDBE=${onOff stdenv.hostPlatform.isLinux}" + + # GL + "-DOPTION_USE_GL=${onOff withGL}" + "-DOpenGL_GL_PREFERENCE=GLVND" + + # Cairo + "-DOPTION_CAIRO=${onOff withCairo}" + "-DOPTION_CAIROEXT=${onOff withCairo}" + + # Pango + "-DOPTION_USE_PANGO=${onOff withPango}" + + # Examples & Tests + "-DFLTK_BUILD_EXAMPLES=${onOff withExamples}" + + # Docs + "-DOPTION_BUILD_HTML_DOCUMENTATION=${onOff withDocs}" + "-DOPTION_BUILD_PDF_DOCUMENTATION=${onOff withDocs}" + "-DOPTION_INSTALL_HTML_DOCUMENTATION=${onOff withDocs}" + "-DOPTION_INSTALL_PDF_DOCUMENTATION=${onOff withDocs}" + "-DOPTION_INCLUDE_DRIVER_DOCUMENTATION=${onOff withDocs}" + ]; + + preBuild = lib.optionalString (withCairo && withShared && stdenv.hostPlatform.isDarwin) '' + # unresolved symbols in cairo dylib without this: https://github.com/fltk/fltk/issues/250 + export NIX_LDFLAGS="$NIX_LDFLAGS -undefined dynamic_lookup" + ''; + + postBuild = lib.optionalString withDocs '' + make docs + ''; + + postInstall = lib.optionalString withExamples '' + mkdir -p $bin/bin + mv bin/{test,examples}/* $bin/bin/ + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Library/Frameworks + mv $out{,/Library/Frameworks}/FLTK.framework + + moveAppBundles() { + echo "Moving and symlinking $1" + appname="$(basename "$1")" + binname="$(basename "$(find "$1"/Contents/MacOS/ -type f -executable | head -n1)")" + curpath="$(dirname "$1")" + + mkdir -p "$curpath"/../Applications/ + mv "$1" "$curpath"/../Applications/ + [ -f "$curpath"/"$binname" ] && rm "$curpath"/"$binname" + ln -s ../Applications/"$appname"/Contents/MacOS/"$binname" "$curpath"/"$binname" + } + + rm $out/bin/fluid.icns + for app in $out/bin/*.app ${lib.optionalString withExamples "$bin/bin/*.app"}; do + moveAppBundles "$app" + done + ''; + + postFixup = '' + substituteInPlace $out/bin/fltk-config \ + --replace "/$out/" "/" + ''; + + meta = with lib; { + description = "A C++ cross-platform lightweight GUI library"; + homepage = "https://www.fltk.org"; + platforms = platforms.unix; + # LGPL2 with static linking exception + # https://www.fltk.org/COPYING.php + license = licenses.lgpl2Only; + }; +} diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix index 5cbd993fc64..831a96f71f3 100644 --- a/pkgs/development/libraries/fltk/default.nix +++ b/pkgs/development/libraries/fltk/default.nix @@ -1,46 +1,5 @@ -{ lib, stdenv, fetchurl, pkg-config, xlibsWrapper, xorgproto, libXi -, freeglut, libGL, libGLU, libjpeg, zlib, libXft, libpng -, libtiff, freetype, Cocoa, AGL, GLUT -}: - -let - version = "1.3.5"; -in - -stdenv.mkDerivation { - pname = "fltk"; - inherit version; - - src = fetchurl { - url = "https://www.fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz"; - sha256 = "00jp24z1818k9n6nn6lx7qflqf2k13g4kxr0p8v1d37kanhb4ac7"; - }; - - patches = lib.optionals stdenv.isDarwin [ ./nsosv.patch ]; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ] - ++ lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ]; - - propagatedBuildInputs = [ xorgproto ] - ++ (if stdenv.isDarwin - then [ freetype libtiff ] - else [ xlibsWrapper libXi freeglut ]); - - configureFlags = [ - "--enable-gl" - "--enable-largefile" - "--enable-shared" - "--enable-threads" - "--enable-xft" - ]; - - enableParallelBuilding = true; - - meta = with lib; { - description = "A C++ cross-platform lightweight GUI library"; - homepage = "https://www.fltk.org"; - platforms = platforms.linux ++ platforms.darwin; - license = licenses.gpl2; - }; +import ./common.nix rec { + version = "1.3.6"; + rev = "release-${version}"; + sha256 = "0vzk4d6j927v7dxywr5xlqlf70myal1xikkdfvd11p94rcdf9bsv"; } diff --git a/pkgs/development/libraries/kcolorpicker/default.nix b/pkgs/development/libraries/kcolorpicker/default.nix new file mode 100644 index 00000000000..75a07b17a7e --- /dev/null +++ b/pkgs/development/libraries/kcolorpicker/default.nix @@ -0,0 +1,24 @@ +{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase }: + +mkDerivation rec { + pname = "kcolorpicker"; + version = "0.1.6"; + + src = fetchFromGitHub { + owner = "ksnip"; + repo = "kColorPicker"; + rev = "v${version}"; + sha256 = "1167xwk75yiz697vddbz3lq42l7ckhyl2cvigy4m05qgg9693ksd"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ qtbase ]; + + meta = with lib; { + description = "Qt based Color Picker with popup menu"; + homepage = "https://github.com/ksnip/kColorPicker"; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ fliegendewurst ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/kimageannotator/default.nix b/pkgs/development/libraries/kimageannotator/default.nix new file mode 100644 index 00000000000..3188415ea04 --- /dev/null +++ b/pkgs/development/libraries/kimageannotator/default.nix @@ -0,0 +1,24 @@ +{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, kcolorpicker, qttools }: + +mkDerivation rec { + pname = "kimageannotator"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "ksnip"; + repo = "kImageAnnotator"; + rev = "v${version}"; + sha256 = "0hfvrd78lgwd7bccz0fx2pr7g0v3s401y5plra63rxwk55ffkxf8"; + }; + + nativeBuildInputs = [ cmake qttools ]; + buildInputs = [ qtbase kcolorpicker ]; + + meta = with lib; { + description = "Tool for annotating images"; + homepage = "https://github.com/ksnip/kImageAnnotator"; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ fliegendewurst ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix index 7f5818ae1bb..840c9e773f4 100644 --- a/pkgs/development/libraries/portaudio/default.nix +++ b/pkgs/development/libraries/portaudio/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-mac-universal" "--enable-cxx" ]; - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-const-int-float-conversion -Wno-error=nullability-completeness-on-arrays"; + NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=deprecated-declarations -Wno-error=implicit-const-int-float-conversion -Wno-error=nullability-completeness-on-arrays"; propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AudioUnit AudioToolbox CoreAudio CoreServices Carbon ]; diff --git a/pkgs/development/libraries/tezos-rust-libs/default.nix b/pkgs/development/libraries/tezos-rust-libs/default.nix new file mode 100644 index 00000000000..bd406d63245 --- /dev/null +++ b/pkgs/development/libraries/tezos-rust-libs/default.nix @@ -0,0 +1,36 @@ +{ lib, fetchFromGitLab, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "tezos-rust-libs"; + version = "1.0"; + + src = fetchFromGitLab { + owner = "tezos"; + repo = "tezos-rust-libs"; + rev = "v${version}"; + sha256 = "1ffkzbvb0ls4wk9205g3xh2c26cmwnl68x43gh6dm9z4xsic94v5"; + }; + + cargoSha256 = "0dgyqfr3dvvdwdi1wvpd7v9j21740jy4zwrwiwknw7csb4bq9wfx"; + + preBuild = '' + mkdir .cargo + mv cargo-config .cargo/config + ''; + + postInstall = '' + mkdir $out/lib/tezos-rust-libs + cp -r rustc-bls12-381/include $out/include + cp $out/lib/librustc_bls12_381.a $out/lib/tezos-rust-libs + cp $out/lib/librustzcash.a $out/lib/tezos-rust-libs + ''; + + doCheck = true; + + meta = { + homepage = "https://gitlab.com/tezos/tezos-rust-libs"; + description = "Tezos: all rust dependencies and their dependencies"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.ulrikstrid ]; + }; +} diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index 5c99ceab208..daa97bfddde 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -35,6 +35,24 @@ let ''; }; + hyperspace-cli = super."@hyperspace/cli".override { + nativeBuildInputs = with pkgs; [ + makeWrapper + libtool + autoconf + automake + ]; + buildInputs = with pkgs; [ + nodePackages.node-gyp-build + nodejs + ]; + postInstall = '' + wrapProgram "$out/bin/hyp" --prefix PATH : ${ + pkgs.lib.makeBinPath [ pkgs.nodejs ] + } + ''; + }; + coc-imselect = super.coc-imselect.override { meta.broken = since "10"; }; @@ -107,6 +125,19 @@ let nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package self.pulp ]; }); + jsonplaceholder = super.jsonplaceholder.override (drv: { + buildInputs = [ nodejs ]; + postInstall = '' + exe=$out/bin/jsonplaceholder + mkdir -p $out/bin + cat >$exe <=0.7" \ --replace "docker~=4.2.0" "docker>=4.2.0" \ --replace "requests==2.23.0" "requests~=2.24" \ diff --git a/pkgs/development/tools/azure-functions-core-tools/default.nix b/pkgs/development/tools/azure-functions-core-tools/default.nix new file mode 100644 index 00000000000..9396821f8c6 --- /dev/null +++ b/pkgs/development/tools/azure-functions-core-tools/default.nix @@ -0,0 +1,74 @@ +{ stdenv +, lib +, config +, fetchurl +, unzip +, makeWrapper +, icu +, libunwind +, curl +, zlib +, libuuid +, dotnetbuildhelpers +, dotnetCorePackages +, coreclr +, openssl +}: + +stdenv.mkDerivation rec { + pname = "azure-functions-core-tools"; + version = "3.0.3568"; + + src = fetchurl { + url = "https://github.com/Azure/${pname}/releases/download/${version}/Azure.Functions.Cli.linux-x64.${version}.zip"; + sha256 = "0yxdqc5d1xsixjj2dlvs32d6fz4vh58ih2l00lc456fg15mfw3lg"; + }; + + buildInputs = [ + unzip + makeWrapper + dotnetbuildhelpers + ]; + + nativeBuildInputs = [ + icu + libunwind + curl + zlib + dotnetCorePackages.sdk_3_1 + ]; + + libPath = lib.makeLibraryPath [ + libunwind + libuuid + stdenv.cc.cc + curl + zlib + icu + openssl + ]; + + unpackPhase = '' + unzip $src + ''; + + installPhase = '' + mkdir -p $out/bin + cp -prd * $out/bin + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" "$out/bin/func" + chmod +x $out/bin/func $out/bin/gozip + find $out/bin -type f -name "*.so" -exec patchelf --set-rpath "${libPath}" {} \; + wrapProgram "$out/bin/func" --prefix LD_LIBRARY_PATH : ${libPath} + ''; + dontStrip = true; # Causes rpath patching to break if not set + + meta = with lib; { + homepage = "https://github.com/Azure/azure-functions-core-tools"; + description = "Command line tools for Azure Functions"; + license = licenses.mit; + maintainers = with maintainers; [ jshcmpbll ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix index fccee0ede2b..24e2e0fea6b 100644 --- a/pkgs/development/tools/misc/reviewdog/default.nix +++ b/pkgs/development/tools/misc/reviewdog/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "reviewdog"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "0n7hk3va25ym8sb900i1s1hjszgwrfl7gfsjbj1m330fidh3q6jc"; + sha256 = "18fk4xzl6ys3azyw9ap14zgf3av5fdsrdn4mxx9calimvzbl4nfp"; }; - vendorSha256 = "0xscirzi0gqww33ngwh29jiylarj0w5snn9kvv43wfrphb6c79s5"; + vendorSha256 = "1qcp8v426500cpfrchazsh5rw4nr0c31vmrhbfgb9js4vxrn8acr"; doCheck = false; @@ -22,7 +22,7 @@ buildGoModule rec { meta = with lib; { description = "Automated code review tool integrated with any code analysis tools regardless of programming language"; homepage = "https://github.com/reviewdog/reviewdog"; - changelog = "https://github.com/reviewdog/reviewdog/releases/tag/v${version}"; + changelog = "https://github.com/reviewdog/reviewdog/raw/v${version}/CHANGELOG.md"; maintainers = [ maintainers.marsam ]; license = licenses.mit; }; diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix index a07f2f91156..7cf36fd1f89 100644 --- a/pkgs/development/tools/omnisharp-roslyn/default.nix +++ b/pkgs/development/tools/omnisharp-roslyn/default.nix @@ -66,13 +66,13 @@ let in stdenv.mkDerivation rec { pname = "omnisharp-roslyn"; - version = "1.37.8"; + version = "1.37.12"; src = fetchFromGitHub { owner = "OmniSharp"; repo = pname; rev = "v${version}"; - sha256 = "1zi31m6ngk4rm7444n6q7mim096w5h4j2biwmvwmcf5yvig845za"; + sha256 = "0gyy49v3pslr0l0q6h8hzah4s0iwkhkyckyrj3g2cg08w20b10gw"; }; nativeBuildInputs = [ makeWrapper msbuild ]; diff --git a/pkgs/development/tools/omnisharp-roslyn/deps.nix b/pkgs/development/tools/omnisharp-roslyn/deps.nix index de6761045d4..b64d5894da8 100644 --- a/pkgs/development/tools/omnisharp-roslyn/deps.nix +++ b/pkgs/development/tools/omnisharp-roslyn/deps.nix @@ -1,34 +1,34 @@ { fetchurl }: [ { name = "cake.scripting.abstractions"; - version = "0.3.0"; + version = "0.6.4"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.abstractions/0.3.0/cake.scripting.abstractions.0.3.0.nupkg"; - sha256 = "009yca6zskcwx9hg3gpgapvzl5mvisl8ni737plbznx033bhw8s8"; + url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.abstractions/0.6.4/cake.scripting.abstractions.0.6.4.nupkg"; + sha256 = "14fcixlj2xazf6cb46gw8jgbsz89c6s8fnhvppxs8q12pygmkx0l"; }; } { name = "cake.scripting.transport"; - version = "0.3.0"; + version = "0.6.4"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.transport/0.3.0/cake.scripting.transport.0.3.0.nupkg"; - sha256 = "0sc7rlnrqq30753h5cg3fndrlmix4vp2sxqb4sl044296mzcszl4"; + url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.transport/0.6.4/cake.scripting.transport.0.6.4.nupkg"; + sha256 = "08cwj572mvmlagj5jry11j2l2fqc6yl4sw0szvql4ard9cx7j51n"; }; } { name = "dotnet.script.dependencymodel"; - version = "1.0.2"; + version = "1.1.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel/1.0.2/dotnet.script.dependencymodel.1.0.2.nupkg"; - sha256 = "0nqqplwykgbkpyidvkls9nrwxkpl1w1zrv8l7smjm62s18z5mqxb"; + url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel/1.1.0/dotnet.script.dependencymodel.1.1.0.nupkg"; + sha256 = "0ly1jwvzndrhgvrwy7kagabyca40j8w9p5jvvfj4wlpffvxq44xl"; }; } { name = "dotnet.script.dependencymodel.nuget"; - version = "1.0.1"; + version = "1.1.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel.nuget/1.0.1/dotnet.script.dependencymodel.nuget.1.0.1.nupkg"; - sha256 = "1ja9wsc73l5bqx0nv8lzyj2l65h1i7sk77wc7biplb80wm1rvsj4"; + url = "https://api.nuget.org/v3-flatcontainer/dotnet.script.dependencymodel.nuget/1.1.0/dotnet.script.dependencymodel.nuget.1.1.0.nupkg"; + sha256 = "1kvjrm28jlfmcsy5fna8hy814chbcsc39ka12h8mgpdvjkr93njr"; }; } { @@ -41,10 +41,10 @@ } { name = "icsharpcode.decompiler"; - version = "7.0.0.6372-preview3"; + version = "7.1.0.6543"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/icsharpcode.decompiler/7.0.0.6372-preview3/icsharpcode.decompiler.7.0.0.6372-preview3.nupkg"; - sha256 = "0g7ki0ia1qcp9z9hgs2f63yffx66y8zi43k7nrf2n122ll1f0hsg"; + url = "https://api.nuget.org/v3-flatcontainer/icsharpcode.decompiler/7.1.0.6543/icsharpcode.decompiler.7.1.0.6543.nupkg"; + sha256 = "1xrajs5dcd7aqsg9ibhdcy39yrd8737kknkmqf907n7fqs2jxr46"; }; } { @@ -113,26 +113,34 @@ } { name = "microsoft.build"; - version = "16.9.0"; + version = "16.10.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.build/16.9.0/microsoft.build.16.9.0.nupkg"; - sha256 = "0kgfx3iqmc58f3a59ggc1wi486fjrqnzgayxldhpr2w7q5600w5p"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.build/16.10.0/microsoft.build.16.10.0.nupkg"; + sha256 = "1ran3fp016wvj8d2ahv0cmwhm6hjjh64w82s7cy52s7qffrgjk46"; }; } { name = "microsoft.build.framework"; - version = "16.9.0"; + version = "16.10.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.framework/16.9.0/microsoft.build.framework.16.9.0.nupkg"; - sha256 = "1yddq21q82p28k6cdq3hzic20l6dcma2fzfbm35zanfljxdsb4cf"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.framework/16.10.0/microsoft.build.framework.16.10.0.nupkg"; + sha256 = "17a8qxgq0jzxpjannhxkcg0941b64yb7z0yq75gz6hsq9ln3agja"; + }; + } + { + name = "microsoft.build.locator"; + version = "1.4.1"; + src = fetchurl { + url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.locator/1.4.1/microsoft.build.locator.1.4.1.nupkg"; + sha256 = "0j119rri7a401rca67cxdyrn3rprzdl1b2wrblqc23xsff1xvlrx"; }; } { name = "microsoft.build.tasks.core"; - version = "16.9.0"; + version = "16.10.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.tasks.core/16.9.0/microsoft.build.tasks.core.16.9.0.nupkg"; - sha256 = "1gpra00srwvwzi0a3d5nkjik9y8glh6qn0qdba4f5wiza1l2bdzw"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.tasks.core/16.10.0/microsoft.build.tasks.core.16.10.0.nupkg"; + sha256 = "0yc3p4bksxmbq1n8wfqgn6b6x9ccyzq229f0mn08z4jfima3cnxg"; }; } { @@ -145,18 +153,18 @@ } { name = "microsoft.build.utilities.core"; - version = "16.9.0"; + version = "16.10.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.utilities.core/16.9.0/microsoft.build.utilities.core.16.9.0.nupkg"; - sha256 = "0g05hmpzj33bknigdz5samw5pqss1q0sscv34sr53w2aiki5nx2c"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.utilities.core/16.10.0/microsoft.build.utilities.core.16.10.0.nupkg"; + sha256 = "1rh3gzrz8mmzilvs33cxngv0a805nb47s615rvj4xk5igm384w14"; }; } { name = "microsoft.codeanalysis.analyzers"; - version = "3.0.0"; + version = "3.3.2"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.codeanalysis.analyzers/3.0.0/microsoft.codeanalysis.analyzers.3.0.0.nupkg"; - sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.codeanalysis.analyzers/3.3.2/microsoft.codeanalysis.analyzers.3.3.2.nupkg"; + sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4"; }; } { @@ -169,66 +177,82 @@ } { name = "microsoft.codeanalysis.common"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/3.10.0-1.21125.6/microsoft.codeanalysis.common.3.10.0-1.21125.6.nupkg"; - sha256 = "0rj7210v3i16pwjswa6fz3ksg19ncn8g7nm8qp8ly3xf9v5j25kn"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.0.0-2.21322.50/microsoft.codeanalysis.common.4.0.0-2.21322.50.nupkg"; + sha256 = "1j9yl7m0lr03fjklzjyiac1lrgs8541frqmi4xlldn8a2sx3h97x"; }; } { name = "microsoft.codeanalysis.csharp"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/3.10.0-1.21125.6/microsoft.codeanalysis.csharp.3.10.0-1.21125.6.nupkg"; - sha256 = "194h2r33f2w2ssbnrp21ly3m7md9mizhhanmccqbkqg3pbjd2lik"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.0.0-2.21322.50/microsoft.codeanalysis.csharp.4.0.0-2.21322.50.nupkg"; + sha256 = "1mmcl4rj3n1q7zh1n9b9ph3lvm8i51sdm87q3sgiczv2pxrihzs6"; }; } { name = "microsoft.codeanalysis.csharp.features"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/3.10.0-1.21125.6/microsoft.codeanalysis.csharp.features.3.10.0-1.21125.6.nupkg"; - sha256 = "027njgyzc4w136sa9f68n8fx62qpzb4nigx50knljgk622k3acjl"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.0.0-2.21322.50/microsoft.codeanalysis.csharp.features.4.0.0-2.21322.50.nupkg"; + sha256 = "11pzbswlznz71m248c1p4fi4i3zzvpc4a71px9j2lhnm57zy2lvy"; }; } { name = "microsoft.codeanalysis.csharp.scripting"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/3.10.0-1.21125.6/microsoft.codeanalysis.csharp.scripting.3.10.0-1.21125.6.nupkg"; - sha256 = "1378ad9cfv5zlzix96q0viqylqzhgcb52zb8bc5y9k8rvnjqgppk"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.0.0-2.21322.50/microsoft.codeanalysis.csharp.scripting.4.0.0-2.21322.50.nupkg"; + sha256 = "0piiyg1l27cy6s4ii80phrdsyhl8zvwbj9aljqkg53gki520x19p"; }; } { name = "microsoft.codeanalysis.csharp.workspaces"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/3.10.0-1.21125.6/microsoft.codeanalysis.csharp.workspaces.3.10.0-1.21125.6.nupkg"; - sha256 = "1yhcm1qm7jjmp1fkpkkzq136frjqc558w49ygdiknyk253llqvm7"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.0.0-2.21322.50/microsoft.codeanalysis.csharp.workspaces.4.0.0-2.21322.50.nupkg"; + sha256 = "0q6jkgjh1dylmjx8a79ighgbai1jr2fhls9m7khi87anzc3wdcl2"; + }; + } + { + name = "microsoft.codeanalysis.externalaccess.omnisharp"; + version = "4.0.0-2.21322.50"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.0.0-2.21322.50/microsoft.codeanalysis.externalaccess.omnisharp.4.0.0-2.21322.50.nupkg"; + sha256 = "1rv5qsj8lsfqxdzd6zazrzwzaxwmj6szd9hv2ckbb4lypkn8ifs8"; + }; + } + { + name = "microsoft.codeanalysis.externalaccess.omnisharp.csharp"; + version = "4.0.0-2.21322.50"; + src = fetchurl { + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.0.0-2.21322.50/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.0.0-2.21322.50.nupkg"; + sha256 = "0ygp7hnm6mn9khh6z573avhvbcx5459fmyz4z657dx9p2v1f0fs0"; }; } { name = "microsoft.codeanalysis.features"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/3.10.0-1.21125.6/microsoft.codeanalysis.features.3.10.0-1.21125.6.nupkg"; - sha256 = "1ydzx96a925a98zdxd6l9kgkl7b67sfbnkam61y0hkvgfdg1xg1a"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.0.0-2.21322.50/microsoft.codeanalysis.features.4.0.0-2.21322.50.nupkg"; + sha256 = "1grkql2wcqsqlmqnfchw6wxynwpz4x9wgqd00zpc1g04z9lqimq6"; }; } { name = "microsoft.codeanalysis.scripting.common"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/3.10.0-1.21125.6/microsoft.codeanalysis.scripting.common.3.10.0-1.21125.6.nupkg"; - sha256 = "1blr101n2l7k0bmc248blh36a7nxbbjw3kirsn154zrbmc8s8m1m"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.0.0-2.21322.50/microsoft.codeanalysis.scripting.common.4.0.0-2.21322.50.nupkg"; + sha256 = "1c14bg99ywxdvlp5zc08ijc030rxmpb3171kz2z6f5kr02vf296x"; }; } { name = "microsoft.codeanalysis.workspaces.common"; - version = "3.10.0-1.21125.6"; + version = "4.0.0-2.21322.50"; src = fetchurl { - url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/3.10.0-1.21125.6/microsoft.codeanalysis.workspaces.common.3.10.0-1.21125.6.nupkg"; - sha256 = "029scic0mdbmw8gm6wmg5wsnjfx0s4wbfw5lbvyrpbfvdcagvyb2"; + url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.0.0-2.21322.50/microsoft.codeanalysis.workspaces.common.4.0.0-2.21322.50.nupkg"; + sha256 = "1c0m5pg156x8zh50x7rp25p8cn09gbv50wpbz2p1nc5ff5dyavf5"; }; } { @@ -257,18 +281,18 @@ } { name = "microsoft.extensions.caching.abstractions"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.abstractions/3.1.12/microsoft.extensions.caching.abstractions.3.1.12.nupkg"; - sha256 = "1p65fs9rjrygviwbqdd214p9y7acpln6zhbd6b741slvp2jwjmyg"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.abstractions/5.0.0/microsoft.extensions.caching.abstractions.5.0.0.nupkg"; + sha256 = "0j83zapqhgqb4v5f6kn891km095pfhvsqha357a86ccclmv2czvb"; }; } { name = "microsoft.extensions.caching.memory"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.memory/3.1.12/microsoft.extensions.caching.memory.3.1.12.nupkg"; - sha256 = "0ydrnqwnph5npf3rwzw1kzq0g3c2kajicdk251fdnjkx6yiw1vsp"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.memory/5.0.0/microsoft.extensions.caching.memory.5.0.0.nupkg"; + sha256 = "0l8spndl3kvccjlay202msm31iy5iig0i9ddbsdy92wbcjr97lca"; }; } { @@ -281,10 +305,10 @@ } { name = "microsoft.extensions.configuration"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/3.1.12/microsoft.extensions.configuration.3.1.12.nupkg"; - sha256 = "02bp53ahr98q3h8fzjl9rrxi48zja966dalrkbsqxqk1c5g1kl48"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/5.0.0/microsoft.extensions.configuration.5.0.0.nupkg"; + sha256 = "01m9vzlq0vg0lhckj2dimwq42niwny8g3lm13c9a401hlyg90z1p"; }; } { @@ -297,10 +321,10 @@ } { name = "microsoft.extensions.configuration.abstractions"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.abstractions/3.1.12/microsoft.extensions.configuration.abstractions.3.1.12.nupkg"; - sha256 = "0g35m4q03aag60pi3i5xi3p9q398w4jlq18n0n5qzq0xrlmny6k9"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.abstractions/5.0.0/microsoft.extensions.configuration.abstractions.5.0.0.nupkg"; + sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k"; }; } { @@ -313,42 +337,42 @@ } { name = "microsoft.extensions.configuration.binder"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/3.1.12/microsoft.extensions.configuration.binder.3.1.12.nupkg"; - sha256 = "18xizhcjwknwvj0fwdm91pssrpwndz7gzdlx48hph53z8cqqvkbv"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/5.0.0/microsoft.extensions.configuration.binder.5.0.0.nupkg"; + sha256 = "0sld0bh2k5kss32i3nf8mwqkjagmw0d1cdfmxm87ckiicwm413a0"; }; } { name = "microsoft.extensions.configuration.commandline"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.commandline/3.1.12/microsoft.extensions.configuration.commandline.3.1.12.nupkg"; - sha256 = "1c2qldblfp5m376a2nc82ljxjk0ljzrj48iwcvl6j48sjwcn3jl4"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.commandline/5.0.0/microsoft.extensions.configuration.commandline.5.0.0.nupkg"; + sha256 = "084hnz5l0vr15ay23rksqipslqnz3pp30w9hsirpx1iqdm5688mc"; }; } { name = "microsoft.extensions.configuration.environmentvariables"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.environmentvariables/3.1.12/microsoft.extensions.configuration.environmentvariables.3.1.12.nupkg"; - sha256 = "08wb14rp6pgsqwakvn0491mmarqhwbihq8gnri7bnf6chaaqbxml"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.environmentvariables/5.0.0/microsoft.extensions.configuration.environmentvariables.5.0.0.nupkg"; + sha256 = "03gvckj10ljk1mir9g8cf3cajsnihhvmh8z8341gkr9h5653qkv0"; }; } { name = "microsoft.extensions.configuration.fileextensions"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.fileextensions/3.1.12/microsoft.extensions.configuration.fileextensions.3.1.12.nupkg"; - sha256 = "03qg5mjs2f6ihs5dp6d7gbv5bxd98xdvmpwzxp8qyqifjgpkprkj"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.fileextensions/5.0.0/microsoft.extensions.configuration.fileextensions.5.0.0.nupkg"; + sha256 = "1wq229r3xcmm9wh9sqdpvmfv4qpbp2zms9x6xk7g7sbb8h32hnz3"; }; } { name = "microsoft.extensions.configuration.json"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.json/3.1.12/microsoft.extensions.configuration.json.3.1.12.nupkg"; - sha256 = "0mhq8d6iijhjyk9jv2k3fnqr6gpbxlzarb5m6y48dx5amnf89k42"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.json/5.0.0/microsoft.extensions.configuration.json.5.0.0.nupkg"; + sha256 = "0hq5i483bjbvprp1la9l3si82x1ydxbvkpfc7r3s7zgxg957fyp9"; }; } { @@ -361,10 +385,10 @@ } { name = "microsoft.extensions.dependencyinjection"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection/3.1.12/microsoft.extensions.dependencyinjection.3.1.12.nupkg"; - sha256 = "0fkcyxayj1mzdj124mabzvhl1p5irwab02rxnwf8bnvszkwgam8l"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection/5.0.0/microsoft.extensions.dependencyinjection.5.0.0.nupkg"; + sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4"; }; } { @@ -377,42 +401,42 @@ } { name = "microsoft.extensions.dependencyinjection.abstractions"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/3.1.12/microsoft.extensions.dependencyinjection.abstractions.3.1.12.nupkg"; - sha256 = "0flixm1physp9gxqzrrplzqkpfz4lljiak7fw87g65av0cksval2"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/5.0.0/microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg"; + sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; }; } { name = "microsoft.extensions.dependencymodel"; - version = "3.1.6"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencymodel/3.1.6/microsoft.extensions.dependencymodel.3.1.6.nupkg"; - sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencymodel/5.0.0/microsoft.extensions.dependencymodel.5.0.0.nupkg"; + sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x"; }; } { name = "microsoft.extensions.fileproviders.abstractions"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.abstractions/3.1.12/microsoft.extensions.fileproviders.abstractions.3.1.12.nupkg"; - sha256 = "11plp1izss3sz03a76gpicwfs0l3jqad0yhz0dam6iirdniharvx"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.abstractions/5.0.0/microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg"; + sha256 = "01ahgd0b2z2zycrr2lcsq2cl59fn04bh51hdwdp9dcsdkpvnasj1"; }; } { name = "microsoft.extensions.fileproviders.physical"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.physical/3.1.12/microsoft.extensions.fileproviders.physical.3.1.12.nupkg"; - sha256 = "1lgqvpbqhq2izgq2cka9ls5l99gymhx1ynh1887rjb890cb9hg42"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.physical/5.0.0/microsoft.extensions.fileproviders.physical.5.0.0.nupkg"; + sha256 = "00vii8148a6pk12l9jl0rhjp7apil5q5qcy7v1smnv17lj4p8szd"; }; } { name = "microsoft.extensions.filesystemglobbing"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.filesystemglobbing/3.1.12/microsoft.extensions.filesystemglobbing.3.1.12.nupkg"; - sha256 = "16binlxq56n6a3vkmxhlrhiyl01fb2zvyzfh00hwa4ixxfl1is8n"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.filesystemglobbing/5.0.0/microsoft.extensions.filesystemglobbing.5.0.0.nupkg"; + sha256 = "0lm6n9vbyjh0l17qcc2y9qwn1cns3dyjmkvbxjp0g9sll32kjpmb"; }; } { @@ -425,18 +449,10 @@ } { name = "microsoft.extensions.logging"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging/3.1.12/microsoft.extensions.logging.3.1.12.nupkg"; - sha256 = "12i0kvv4fl2y15dgzqzhqhj7fxy4qapqd78xwi1wsvrlbn9pp9h0"; - }; - } - { - name = "microsoft.extensions.logging.abstractions"; - version = "1.1.0"; - src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/1.1.0/microsoft.extensions.logging.abstractions.1.1.0.nupkg"; - sha256 = "0vgp0jqi7rik4p5i86ib1lzhwldc3kyf4w38a1pd3086gfz021ab"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging/5.0.0/microsoft.extensions.logging.5.0.0.nupkg"; + sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; }; } { @@ -449,26 +465,34 @@ } { name = "microsoft.extensions.logging.abstractions"; - version = "3.1.12"; + version = "2.1.1"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/3.1.12/microsoft.extensions.logging.abstractions.3.1.12.nupkg"; - sha256 = "0yv681ddcrsn8cf0fnfi3jgcrmganf05r8lsw82d8rk0ljbjivz5"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/2.1.1/microsoft.extensions.logging.abstractions.2.1.1.nupkg"; + sha256 = "1sgpwj0sa0ac7m5fnkb482mnch8fsv8hfbvk53c6lyh47s1xhdjg"; + }; + } + { + name = "microsoft.extensions.logging.abstractions"; + version = "5.0.0"; + src = fetchurl { + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/5.0.0/microsoft.extensions.logging.abstractions.5.0.0.nupkg"; + sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; }; } { name = "microsoft.extensions.logging.configuration"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.configuration/3.1.12/microsoft.extensions.logging.configuration.3.1.12.nupkg"; - sha256 = "0nrijpk4azaw5xk4473yb9sc1aal7phjrbswdg7dr6yrfibpb3fn"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.configuration/5.0.0/microsoft.extensions.logging.configuration.5.0.0.nupkg"; + sha256 = "1kmjax24w0ph362jr64rr6f8pyn6ayq39k502q9yrgr7zgrv65pa"; }; } { name = "microsoft.extensions.logging.console"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.console/3.1.12/microsoft.extensions.logging.console.3.1.12.nupkg"; - sha256 = "0vr65vcw15kycbpxk5z04nwcxlkcq0ljsnb4njcbzdcj4p87bcmr"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.console/5.0.0/microsoft.extensions.logging.console.5.0.0.nupkg"; + sha256 = "162akclrhk5r62fza8yr30p5824inwmrpq2s510c3a64v76v9cqz"; }; } { @@ -481,10 +505,10 @@ } { name = "microsoft.extensions.options"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/3.1.12/microsoft.extensions.options.3.1.12.nupkg"; - sha256 = "0phxp1m5p2sfn7mgdb4dzb2rscda8wwzgr0hqqyh19faf0kg2msm"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/5.0.0/microsoft.extensions.options.5.0.0.nupkg"; + sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; }; } { @@ -497,10 +521,10 @@ } { name = "microsoft.extensions.options.configurationextensions"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options.configurationextensions/3.1.12/microsoft.extensions.options.configurationextensions.3.1.12.nupkg"; - sha256 = "1vvxhy31mf3z7al8gh9pvzn4z67ma6zc7wwc6f7bvbg6k235wz2v"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options.configurationextensions/5.0.0/microsoft.extensions.options.configurationextensions.5.0.0.nupkg"; + sha256 = "1085yrfgc70am43v8i5rxh14kal3bhdd5q85vgny5qp7y1rw0xyw"; }; } { @@ -513,10 +537,10 @@ } { name = "microsoft.extensions.primitives"; - version = "3.1.12"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/3.1.12/microsoft.extensions.primitives.3.1.12.nupkg"; - sha256 = "0ns4dsrfglas2qdn6qdyg004yjsk578fgfq76rs16hjr3iw9dkks"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/5.0.0/microsoft.extensions.primitives.5.0.0.nupkg"; + sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; }; } { @@ -639,6 +663,14 @@ sha256 = "1bqinq2nxnpqxziypg1sqy3ly0nymxxjpn8fwkn3rl4vl6gdg3rc"; }; } + { + name = "microsoft.net.stringtools"; + version = "1.0.0"; + src = fetchurl { + url = "https://api.nuget.org/v3-flatcontainer/microsoft.net.stringtools/1.0.0/microsoft.net.stringtools.1.0.0.nupkg"; + sha256 = "06yakiyzgss399giivfx6xdrnfxqfsvy5fzm90scjanvandv0sdj"; + }; + } { name = "microsoft.sourcelink.common"; version = "1.0.0"; @@ -657,26 +689,26 @@ } { name = "microsoft.testplatform.objectmodel"; - version = "16.6.1"; + version = "16.9.4"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.objectmodel/16.6.1/microsoft.testplatform.objectmodel.16.6.1.nupkg"; - sha256 = "0q98q1nw6jl4bajm66z4a9vvh928w8ffsd3k6fpsps23ykpsky7h"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.objectmodel/16.9.4/microsoft.testplatform.objectmodel.16.9.4.nupkg"; + sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6"; }; } { name = "microsoft.testplatform.translationlayer"; - version = "16.6.1"; + version = "16.9.4"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.translationlayer/16.6.1/microsoft.testplatform.translationlayer.16.6.1.nupkg"; - sha256 = "1j5pg3qdgqxila90x5h1hvq8wk53s4zf225x5zddmx6q26r9zq83"; + url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.translationlayer/16.9.4/microsoft.testplatform.translationlayer.16.9.4.nupkg"; + sha256 = "0y5w2zflvq06jim2i6d49qi45ix0b8vlyf024w29n5g1lb570qf0"; }; } { name = "microsoft.visualstudio.debugger.contracts"; - version = "16.9.0-beta.20604.1"; + version = "17.2.0-beta.21262.1"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.debugger.contracts/16.9.0-beta.20604.1/microsoft.visualstudio.debugger.contracts.16.9.0-beta.20604.1.nupkg"; - sha256 = "0sy1ahy1xv39mkk5inhb63lmfnmkcc6vjljhljx0l2lkrrc33k0h"; + url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/78665e4c-b767-412b-9804-2b1ef7a48b8a/nuget/v3/flat2/microsoft.visualstudio.debugger.contracts/17.2.0-beta.21262.1/microsoft.visualstudio.debugger.contracts.17.2.0-beta.21262.1.nupkg"; + sha256 = "10fi1jdxnxvww1qzfhqi53fn0a411gvpvcsb0pvwvj7qk0lzs7c9"; }; } { @@ -1191,22 +1223,6 @@ sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }; } - { - name = "system.componentmodel.annotations"; - version = "4.4.1"; - src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/system.componentmodel.annotations/4.4.1/system.componentmodel.annotations.4.4.1.nupkg"; - sha256 = "1d46yx6h36bssqyshq44qxx0fsx43bjf09zrlbvqfigacfsp9mph"; - }; - } - { - name = "system.componentmodel.annotations"; - version = "4.7.0"; - src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/system.componentmodel.annotations/4.7.0/system.componentmodel.annotations.4.7.0.nupkg"; - sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z"; - }; - } { name = "system.componentmodel.composition"; version = "4.5.0"; @@ -1263,6 +1279,14 @@ sha256 = "1m4j19zx50lbbdx1xxbgpsd1dai2r3kzkyapw47kdvkb89qjkl63"; }; } + { + name = "system.configuration.configurationmanager"; + version = "4.7.0"; + src = fetchurl { + url = "https://api.nuget.org/v3-flatcontainer/system.configuration.configurationmanager/4.7.0/system.configuration.configurationmanager.4.7.0.nupkg"; + sha256 = "0pav0n21ghf2ax6fiwjbng29f27wkb4a2ddma0cqx04s97yyk25d"; + }; + } { name = "system.console"; version = "4.3.0"; @@ -1287,6 +1311,14 @@ sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }; } + { + name = "system.diagnostics.diagnosticsource"; + version = "5.0.0"; + src = fetchurl { + url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.diagnosticsource/5.0.0/system.diagnostics.diagnosticsource.5.0.0.nupkg"; + sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga"; + }; + } { name = "system.diagnostics.process"; version = "4.3.0"; @@ -1409,10 +1441,10 @@ } { name = "system.io.pipelines"; - version = "5.0.0"; + version = "5.0.1"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/system.io.pipelines/5.0.0/system.io.pipelines.5.0.0.nupkg"; - sha256 = "1kdvbzr98sdddm18r3gbsbcxpv58gm1yy3iig8zg9dvp7mli7453"; + url = "https://api.nuget.org/v3-flatcontainer/system.io.pipelines/5.0.1/system.io.pipelines.5.0.1.nupkg"; + sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v"; }; } { @@ -1431,14 +1463,6 @@ sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }; } - { - name = "system.memory"; - version = "4.5.2"; - src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/system.memory/4.5.2/system.memory.4.5.2.nupkg"; - sha256 = "1g24dwqfcmf4gpbgbhaw1j49xmpsz389l6bw2xxbsmnzvsf860ld"; - }; - } { name = "system.memory"; version = "4.5.3"; @@ -1631,14 +1655,6 @@ sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }; } - { - name = "system.reflection.typeextensions"; - version = "4.1.0"; - src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg"; - sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; - }; - } { name = "system.reflection.typeextensions"; version = "4.3.0"; @@ -1847,6 +1863,14 @@ sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }; } + { + name = "system.security.cryptography.algorithms"; + version = "4.3.1"; + src = fetchurl { + url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.algorithms/4.3.1/system.security.cryptography.algorithms.4.3.1.nupkg"; + sha256 = "1m2wnzg3m3c0s11jg4lshcl2a47d78zri8khc21yrz34jjkbyls2"; + }; + } { name = "system.security.cryptography.cng"; version = "4.3.0"; @@ -1911,6 +1935,14 @@ sha256 = "1kg264xmqabyz8gfg8ymp6qp6aw43vawfp0znf0909d7b5jd3dq9"; }; } + { + name = "system.security.cryptography.protecteddata"; + version = "4.7.0"; + src = fetchurl { + url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.7.0/system.security.cryptography.protecteddata.4.7.0.nupkg"; + sha256 = "1s1sh8k10s0apa09c5m2lkavi3ys90y657whg2smb3y8mpkfr5vm"; + }; + } { name = "system.security.cryptography.x509certificates"; version = "4.3.0"; @@ -2017,10 +2049,10 @@ } { name = "system.text.encodings.web"; - version = "4.7.1"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/4.7.1/system.text.encodings.web.4.7.1.nupkg"; - sha256 = "1wj7r07mjwbf9a79kapy2l9m8mcq8b3nbhg0zaprlsav09k85fmb"; + url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/5.0.0/system.text.encodings.web.5.0.0.nupkg"; + sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1"; }; } { @@ -2033,10 +2065,10 @@ } { name = "system.text.json"; - version = "4.7.2"; + version = "5.0.0"; src = fetchurl { - url = "https://api.nuget.org/v3-flatcontainer/system.text.json/4.7.2/system.text.json.4.7.2.nupkg"; - sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4"; + url = "https://api.nuget.org/v3-flatcontainer/system.text.json/5.0.0/system.text.json.5.0.0.nupkg"; + sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks"; }; } { diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix index 6737f161754..17dc0900fdb 100644 --- a/pkgs/development/tools/open-policy-agent/default.nix +++ b/pkgs/development/tools/open-policy-agent/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "open-policy-agent"; - version = "0.30.0"; + version = "0.30.2"; src = fetchFromGitHub { owner = "open-policy-agent"; repo = "opa"; rev = "v${version}"; - sha256 = "sha256-AjNr+t30ftF92+cEfvt8iHBDVD/SO52ojJRLAkYF9l4="; + sha256 = "sha256-pyqG8k2jHUhYZ1ftfAjxpJ4H1P1uWfqSdGcyR7pw1rE="; }; vendorSha256 = null; diff --git a/pkgs/development/web/cypress/cypress-example-kitchensink/README.md b/pkgs/development/web/cypress/cypress-example-kitchensink/README.md new file mode 100644 index 00000000000..d5a6460ed9f --- /dev/null +++ b/pkgs/development/web/cypress/cypress-example-kitchensink/README.md @@ -0,0 +1,24 @@ + +# `cypress-example-kitchensink` + +This directory 'packages' [cypress-example-kitchensink](https://github.com/cypress-io/cypress-example-kitchensink), +which is used in `cypress.passthru.tests`. + +The app is not really intended for deployment, so I didn't bother with actual packaging, just testing. +If your real-world app looks like `cypress-example-kitchensink`, you'll want to use Nix multiple outputs so you don't deploy your test videos along with your app. +Alternatively, you can set it up so that one derivation builds your server exe and another derivation takes that server exe and runs it with the cypress e2e tests. + +## Peculiarities + +**cypress and Cypress** are distinct names. + - `cypress` is the npm module, containing the executable `cypress` + - whereas the executable `Cypress` comes from `pkgs.cypress`, a binary distribution (as of writing) by cypress.io. + +**updateScript** is not provided for this example project. This seems preferable, + because updates to it aren't particularly valuable and have a significant overhead. + The goal is to smoke test `cypress`; not run the latest test suite (which it isn't anyway). + +## Updating + + - update the hash in `src.nix` + - run `regen-nix` diff --git a/pkgs/development/web/cypress/cypress-example-kitchensink/cypress-example-kitchensink.nix b/pkgs/development/web/cypress/cypress-example-kitchensink/cypress-example-kitchensink.nix new file mode 100644 index 00000000000..653dbe4a257 --- /dev/null +++ b/pkgs/development/web/cypress/cypress-example-kitchensink/cypress-example-kitchensink.nix @@ -0,0 +1,17 @@ +# This file has been generated by node2nix 1.9.0. Do not edit! + +{pkgs ? import { + inherit system; + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}: + +let + nodeEnv = import ./node-env.nix { + inherit (pkgs) stdenv lib python2 runCommand writeTextFile; + inherit pkgs nodejs; + libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; + }; +in +import ./node-packages.nix { + inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit callPackage; + inherit nodeEnv; +} diff --git a/pkgs/development/web/cypress/cypress-example-kitchensink/default.nix b/pkgs/development/web/cypress/cypress-example-kitchensink/default.nix new file mode 100644 index 00000000000..86fec895000 --- /dev/null +++ b/pkgs/development/web/cypress/cypress-example-kitchensink/default.nix @@ -0,0 +1,59 @@ +{ callPackage +, cypress +, nodejs-12_x +, # FIXME: duplicated from ./regen-nix. node2nix should expose this + nodePackages +, xorg +, pkgs +, stdenv +, +}: + +let + fromNode2nix = import ./cypress-example-kitchensink.nix { + inherit pkgs; + }; + + nodeDependencies = fromNode2nix.shell.nodeDependencies.overrideAttrs (o: { + CYPRESS_INSTALL_BINARY = "0"; + PUPPETEER_SKIP_DOWNLOAD = "1"; + }); + + fontConfigEtc = ( + pkgs.nixos { config.fonts.fontconfig.enable = true; } + ).config.environment.etc.fonts.source; + +in +stdenv.mkDerivation { + name = "cypress-example-kitchensink"; + src = callPackage ./src.nix { }; + passthru.fc = fontConfigEtc; + nativeBuildInputs = [ + cypress + nodejs-12_x + xorg.xorgserver + nodePackages.jsonplaceholder + ]; + FONTCONFIG_PATH = fontConfigEtc; + postPatch = '' + # Use our own offline backend. 15011 means js0n ;) + sed -e 's^https://jsonplaceholder.cypress.io^http://localhost:15011^g' -i $(find . -type f) + ''; + buildPhase = '' + ln -s ${nodeDependencies}/lib/node_modules ./node_modules + PATH="${nodeDependencies}/bin:$PATH" + runHook preBuild + PORT=15011 jsonplaceholder & + # assumption: jsonplaceholder start far quicker than cypress run + + export CYPRESS_RUN_BINARY=${cypress}/bin/Cypress + export HOME=$PWD/home + mkdir $HOME + npm run test + runHook postBuild + ''; + installPhase = '' + mkdir $out + cp -r cypress/videos $out/ + ''; +} diff --git a/pkgs/development/web/cypress/cypress-example-kitchensink/node-env.nix b/pkgs/development/web/cypress/cypress-example-kitchensink/node-env.nix new file mode 100644 index 00000000000..c2b723195b7 --- /dev/null +++ b/pkgs/development/web/cypress/cypress-example-kitchensink/node-env.nix @@ -0,0 +1,567 @@ +# This file originates from node2nix + +{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}: + +let + # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master + utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux; + + python = if nodejs ? python then nodejs.python else python2; + + # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise + tarWrapper = runCommand "tarWrapper" {} '' + mkdir -p $out/bin + + cat > $out/bin/tar <> $out/nix-support/hydra-build-products + ''; + }; + + includeDependencies = {dependencies}: + lib.optionalString (dependencies != []) + (lib.concatMapStrings (dependency: + '' + # Bundle the dependencies of the package + mkdir -p node_modules + cd node_modules + + # Only include dependencies if they don't exist. They may also be bundled in the package. + if [ ! -e "${dependency.name}" ] + then + ${composePackage dependency} + fi + + cd .. + '' + ) dependencies); + + # Recursively composes the dependencies of a package + composePackage = { name, packageName, src, dependencies ? [], ... }@args: + builtins.addErrorContext "while evaluating node package '${packageName}'" '' + DIR=$(pwd) + cd $TMPDIR + + unpackFile ${src} + + # Make the base dir in which the target dependency resides first + mkdir -p "$(dirname "$DIR/${packageName}")" + + if [ -f "${src}" ] + then + # Figure out what directory has been unpacked + packageDir="$(find . -maxdepth 1 -type d | tail -1)" + + # Restore write permissions to make building work + find "$packageDir" -type d -exec chmod u+x {} \; + chmod -R u+w "$packageDir" + + # Move the extracted tarball into the output folder + mv "$packageDir" "$DIR/${packageName}" + elif [ -d "${src}" ] + then + # Get a stripped name (without hash) of the source directory. + # On old nixpkgs it's already set internally. + if [ -z "$strippedName" ] + then + strippedName="$(stripHash ${src})" + fi + + # Restore write permissions to make building work + chmod -R u+w "$strippedName" + + # Move the extracted directory into the output folder + mv "$strippedName" "$DIR/${packageName}" + fi + + # Unset the stripped name to not confuse the next unpack step + unset strippedName + + # Include the dependencies of the package + cd "$DIR/${packageName}" + ${includeDependencies { inherit dependencies; }} + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + ''; + + pinpointDependencies = {dependencies, production}: + let + pinpointDependenciesFromPackageJSON = writeTextFile { + name = "pinpointDependencies.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function resolveDependencyVersion(location, name) { + if(location == process.env['NIX_STORE']) { + return null; + } else { + var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); + + if(fs.existsSync(dependencyPackageJSON)) { + var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); + + if(dependencyPackageObj.name == name) { + return dependencyPackageObj.version; + } + } else { + return resolveDependencyVersion(path.resolve(location, ".."), name); + } + } + } + + function replaceDependencies(dependencies) { + if(typeof dependencies == "object" && dependencies !== null) { + for(var dependency in dependencies) { + var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); + + if(resolvedVersion === null) { + process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); + } else { + dependencies[dependency] = resolvedVersion; + } + } + } + } + + /* Read the package.json configuration */ + var packageObj = JSON.parse(fs.readFileSync('./package.json')); + + /* Pinpoint all dependencies */ + replaceDependencies(packageObj.dependencies); + if(process.argv[2] == "development") { + replaceDependencies(packageObj.devDependencies); + } + replaceDependencies(packageObj.optionalDependencies); + + /* Write the fixed package.json file */ + fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); + ''; + }; + in + '' + node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"} + + ${lib.optionalString (dependencies != []) + '' + if [ -d node_modules ] + then + cd node_modules + ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} + cd .. + fi + ''} + ''; + + # Recursively traverses all dependencies of a package and pinpoints all + # dependencies in the package.json file to the versions that are actually + # being used. + + pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args: + '' + if [ -d "${packageName}" ] + then + cd "${packageName}" + ${pinpointDependencies { inherit dependencies production; }} + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + fi + ''; + + # Extract the Node.js source code which is used to compile packages with + # native bindings + nodeSources = runCommand "node-sources" {} '' + tar --no-same-owner --no-same-permissions -xf ${nodejs.src} + mv node-* $out + ''; + + # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty) + addIntegrityFieldsScript = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function augmentDependencies(baseDir, dependencies) { + for(var dependencyName in dependencies) { + var dependency = dependencies[dependencyName]; + + // Open package.json and augment metadata fields + var packageJSONDir = path.join(baseDir, "node_modules", dependencyName); + var packageJSONPath = path.join(packageJSONDir, "package.json"); + + if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored + console.log("Adding metadata fields to: "+packageJSONPath); + var packageObj = JSON.parse(fs.readFileSync(packageJSONPath)); + + if(dependency.integrity) { + packageObj["_integrity"] = dependency.integrity; + } else { + packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads. + } + + if(dependency.resolved) { + packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided + } else { + packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories. + } + + if(dependency.from !== undefined) { // Adopt from property if one has been provided + packageObj["_from"] = dependency.from; + } + + fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2)); + } + + // Augment transitive dependencies + if(dependency.dependencies !== undefined) { + augmentDependencies(packageJSONDir, dependency.dependencies); + } + } + } + + if(fs.existsSync("./package-lock.json")) { + var packageLock = JSON.parse(fs.readFileSync("./package-lock.json")); + + if(![1, 2].includes(packageLock.lockfileVersion)) { + process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n"); + process.exit(1); + } + + if(packageLock.dependencies !== undefined) { + augmentDependencies(".", packageLock.dependencies); + } + } + ''; + }; + + # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes + reconstructPackageLock = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + var packageObj = JSON.parse(fs.readFileSync("package.json")); + + var lockObj = { + name: packageObj.name, + version: packageObj.version, + lockfileVersion: 1, + requires: true, + dependencies: {} + }; + + function augmentPackageJSON(filePath, dependencies) { + var packageJSON = path.join(filePath, "package.json"); + if(fs.existsSync(packageJSON)) { + var packageObj = JSON.parse(fs.readFileSync(packageJSON)); + dependencies[packageObj.name] = { + version: packageObj.version, + integrity: "sha1-000000000000000000000000000=", + dependencies: {} + }; + processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies); + } + } + + function processDependencies(dir, dependencies) { + if(fs.existsSync(dir)) { + var files = fs.readdirSync(dir); + + files.forEach(function(entry) { + var filePath = path.join(dir, entry); + var stats = fs.statSync(filePath); + + if(stats.isDirectory()) { + if(entry.substr(0, 1) == "@") { + // When we encounter a namespace folder, augment all packages belonging to the scope + var pkgFiles = fs.readdirSync(filePath); + + pkgFiles.forEach(function(entry) { + if(stats.isDirectory()) { + var pkgFilePath = path.join(filePath, entry); + augmentPackageJSON(pkgFilePath, dependencies); + } + }); + } else { + augmentPackageJSON(filePath, dependencies); + } + } + }); + } + } + + processDependencies("node_modules", lockObj.dependencies); + + fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2)); + ''; + }; + + prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}: + let + forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com"; + in + '' + # Pinpoint the versions of all dependencies to the ones that are actually being used + echo "pinpointing versions of dependencies..." + source $pinpointDependenciesScriptPath + + # Patch the shebangs of the bundled modules to prevent them from + # calling executables outside the Nix store as much as possible + patchShebangs . + + # Deploy the Node.js package by running npm install. Since the + # dependencies have been provided already by ourselves, it should not + # attempt to install them again, which is good, because we want to make + # it Nix's responsibility. If it needs to install any dependencies + # anyway (e.g. because the dependency parameters are + # incomplete/incorrect), it fails. + # + # The other responsibilities of NPM are kept -- version checks, build + # steps, postprocessing etc. + + export HOME=$TMPDIR + cd "${packageName}" + runHook preRebuild + + ${lib.optionalString bypassCache '' + ${lib.optionalString reconstructLock '' + if [ -f package-lock.json ] + then + echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" + echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" + rm package-lock.json + else + echo "No package-lock.json file found, reconstructing..." + fi + + node ${reconstructPackageLock} + ''} + + node ${addIntegrityFieldsScript} + ''} + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild + + if [ "''${dontNpmInstall-}" != "1" ] + then + # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. + rm -f npm-shrinkwrap.json + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install + fi + ''; + + # Builds and composes an NPM package including all its dependencies + buildNodePackage = + { name + , packageName + , version + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , preRebuild ? "" + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ]; + in + stdenv.mkDerivation ({ + name = "node_${name}-${version}"; + buildInputs = [ tarWrapper python nodejs ] + ++ lib.optional (stdenv.isLinux) utillinux + ++ lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit nodejs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall preRebuild unpackPhase buildPhase; + + compositionScript = composePackage args; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "compositionScript" "pinpointDependenciesScript" ]; + + installPhase = '' + # Create and enter a root node_modules/ folder + mkdir -p $out/lib/node_modules + cd $out/lib/node_modules + + # Compose the package and all its dependencies + source $compositionScriptPath + + ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} + + # Create symlink to the deployed executable folder, if applicable + if [ -d "$out/lib/node_modules/.bin" ] + then + ln -s $out/lib/node_modules/.bin $out/bin + fi + + # Create symlinks to the deployed manual page folders, if applicable + if [ -d "$out/lib/node_modules/${packageName}/man" ] + then + mkdir -p $out/share + for dir in "$out/lib/node_modules/${packageName}/man/"* + do + mkdir -p $out/share/man/$(basename "$dir") + for page in "$dir"/* + do + ln -s $page $out/share/man/$(basename "$dir") + done + done + fi + + # Run post install hook, if provided + runHook postInstall + ''; + } // extraArgs); + + # Builds a node environment (a node_modules folder and a set of binaries) + buildNodeDependencies = + { name + , packageName + , version + , src + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; + in + stdenv.mkDerivation ({ + name = "node-dependencies-${name}-${version}"; + + buildInputs = [ tarWrapper python nodejs ] + ++ lib.optional (stdenv.isLinux) utillinux + ++ lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall unpackPhase buildPhase; + + includeScript = includeDependencies { inherit dependencies; }; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; + + installPhase = '' + mkdir -p $out/${packageName} + cd $out/${packageName} + + source $includeScriptPath + + # Create fake package.json to make the npm commands work properly + cp ${src}/package.json . + chmod 644 package.json + ${lib.optionalString bypassCache '' + if [ -f ${src}/package-lock.json ] + then + cp ${src}/package-lock.json . + fi + ''} + + # Go to the parent folder to make sure that all packages are pinpointed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} + + # Expose the executables that were installed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + mv ${packageName} lib + ln -s $out/lib/node_modules/.bin $out/bin + ''; + } // extraArgs); + + # Builds a development shell + buildNodeShell = + { name + , packageName + , version + , src + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + nodeDependencies = buildNodeDependencies args; + in + stdenv.mkDerivation { + name = "node-shell-${name}-${version}"; + + buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; + buildCommand = '' + mkdir -p $out/bin + cat > $out/bin/shell < Local/Makefile diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix index 0a60ebc77c5..578bb10652a 100644 --- a/pkgs/servers/monitoring/telegraf/default.nix +++ b/pkgs/servers/monitoring/telegraf/default.nix @@ -27,6 +27,6 @@ buildGoModule rec { description = "The plugin-driven server agent for collecting & reporting metrics"; license = licenses.mit; homepage = "https://www.influxdata.com/time-series-platform/telegraf/"; - maintainers = with maintainers; [ mic92 roblabla timstott foxit64 ]; + maintainers = with maintainers; [ mic92 roblabla timstott ]; }; } diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 5a3301040d3..72ea8a943dc 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -9,13 +9,13 @@ }: let - version = "2.7.4"; + version = "2.7.5"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-3cvrdWBXRM5F8qFEqbe8ru1U0wBqCkRxK7GAV0beJNk="; + sha256 = "sha256-OykWaiBAHcZy41i+aRzBHCRgwnfQUBijHjb+ofIk25M="; }; runtimeDeps = [ @@ -64,7 +64,6 @@ let }); in stdenv.mkDerivation (builtins.removeAttrs args [ "bundlerEnvArgs" ] // { - inherit name pname version src meta; pluginName = if name != null then name else "${pname}-${version}"; phases = [ "unpackPhase" "installPhase" ]; installPhase = '' @@ -151,6 +150,7 @@ let brotli procps nodePackages.uglify-js + nodePackages.terser ]; patches = [ diff --git a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix index e6640cbbe97..f64fbb137df 100644 --- a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix +++ b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix @@ -3,10 +3,10 @@ let callPackage = newScope args; in { - discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {}; - discourse-solved = callPackage ./discourse-solved {}; discourse-canned-replies = callPackage ./discourse-canned-replies {}; - discourse-math = callPackage ./discourse-math {}; discourse-github = callPackage ./discourse-github {}; + discourse-math = callPackage ./discourse-math {}; + discourse-solved = callPackage ./discourse-solved {}; + discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {}; discourse-yearly-review = callPackage ./discourse-yearly-review {}; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix index 05c153cd70b..558abec36f4 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix @@ -1,11 +1,17 @@ -{ mkDiscoursePlugin, fetchFromGitHub }: +{ lib, mkDiscoursePlugin, fetchFromGitHub }: mkDiscoursePlugin { name = "discourse-canned-replies"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse-canned-replies"; - rev = "7ee748f18a276aca42185e2079c1d4cadeecdaf8"; - sha256 = "0j10kxfr6v2rdd58smg2i7iac46z74qnnjk8b91jd1svazhis1ph"; + rev = "e3f1de8928df5955b64994079b7e2073556e5456"; + sha256 = "1g4fazm6cn6hbfd08mq2zhc6dgm4qj1r1f1amhbgxhk6qsxf42cd"; + }; + meta = with lib; { + homepage = "https://github.com/discourse/discourse-canned-replies"; + maintainers = with maintainers; [ talyz ]; + license = licenses.gpl2Only; + description = "Adds support for inserting a canned reply into the composer window via a UI"; }; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile index f0205f4ff1d..7c0e7f435ae 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile @@ -1,3 +1,9 @@ -source 'https://rubygems.org' +# frozen_string_literal: true + +source "https://rubygems.org" + +git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } + +# gem "rails" gem 'sawyer', '0.8.2' gem 'octokit', '4.21.0' diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock index f28833a35c0..0486ea1402b 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock @@ -1,21 +1,25 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) - faraday (1.4.2) + faraday (1.5.0) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) faraday-net_http (~> 1.0) faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) multipart-post (>= 1.2, < 3) ruby2_keywords (>= 0.0.4) faraday-em_http (1.0.0) faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) + faraday-httpclient (1.0.1) faraday-net_http (1.0.1) faraday-net_http_persistent (1.1.0) + faraday-patron (1.0.0) multipart-post (2.1.1) octokit (4.21.0) faraday (>= 0.9) @@ -27,11 +31,11 @@ GEM faraday (> 0.8, < 2.0) PLATFORMS - ruby + x86_64-linux DEPENDENCIES octokit (= 4.21.0) sawyer (= 0.8.2) BUNDLED WITH - 2.1.4 + 2.2.20 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix index e5d8cff0a9f..bb6d16bfe46 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix @@ -1,4 +1,4 @@ -{ mkDiscoursePlugin, fetchFromGitHub }: +{ lib, mkDiscoursePlugin, fetchFromGitHub }: mkDiscoursePlugin { name = "discourse-github"; @@ -6,7 +6,14 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-github"; - rev = "151e353a5a1971157c70c2e2b0f56387f212a81f"; - sha256 = "00kra6zd2k1f2vwcdvxnxnammzh72f5qxcqbb94m0z6maj598wdy"; + rev = "154fd5ea597640c2259ce489b4ce75b48ac1973c"; + sha256 = "0wb5p219z42rc035rnh2iwrbsj000nxa9shbmc325rzcg6xlhdhw"; }; + meta = with lib; { + homepage = "https://github.com/discourse/discourse-github"; + maintainers = with maintainers; [ talyz ]; + license = licenses.mit; + description = "Adds GitHub badges and linkback functionality"; + }; + } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix index bad1f962957..ae20ec89521 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix @@ -5,21 +5,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"; + sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; type = "gem"; }; - version = "2.7.0"; + version = "2.8.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"]; + dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "multipart-post" "ruby2_keywords"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07mhk70gv453pg38md346470hknyhipdqppnplq706ll3k3lzb7v"; + sha256 = "0gwbii45plm9bljk22bwzhzxrc5xid8qx24f54vrm74q3zaz00ah"; type = "gem"; }; - version = "1.4.2"; + version = "1.5.0"; }; faraday-em_http = { groups = ["default"]; @@ -51,6 +51,16 @@ }; version = "1.1.0"; }; + faraday-httpclient = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; + type = "gem"; + }; + version = "1.0.1"; + }; faraday-net_http = { groups = ["default"]; platforms = []; @@ -71,6 +81,16 @@ }; version = "1.1.0"; }; + faraday-patron = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; + type = "gem"; + }; + version = "1.0.0"; + }; multipart-post = { groups = ["default"]; platforms = []; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix index 8cf2a4abc0d..0e751c1dc54 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix @@ -1,11 +1,17 @@ -{ mkDiscoursePlugin, fetchFromGitHub }: +{ lib, mkDiscoursePlugin, fetchFromGitHub }: mkDiscoursePlugin { name = "discourse-math"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse-math"; - rev = "143ddea4558ea9a1b3fd71635bc11e055763c8e7"; - sha256 = "18pq5ybl3g34i39cpixc3nszvq8gx5yji58zlbbl6428mm011cbx"; + rev = "aed0c83cee568d5239143bcf1df59c5fbe86b276"; + sha256 = "1k6kpnhf8s2l0w9zr5pn3wvn8w0n3gwkv7qkv0mkhkzy246ag20z"; + }; + meta = with lib; { + homepage = "https://github.com/discourse/discourse-math"; + maintainers = with maintainers; [ talyz ]; + license = licenses.mit; + description = "Official MathJax support for Discourse"; }; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix index c382a83d089..2d451418bdd 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix @@ -1,11 +1,17 @@ -{ mkDiscoursePlugin, fetchFromGitHub }: +{ lib, mkDiscoursePlugin, fetchFromGitHub }: mkDiscoursePlugin { name = "discourse-solved"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse-solved"; - rev = "179611766d53974308e6f7def21836997c3c55fc"; - sha256 = "sha256:1s77h42d3bv2lqw33akxh8ss482vxnz4d7qz6xicwqfwv34qjf03"; + rev = "b96374bf4ab7e6d5cecb0761918b060a524eb9bf"; + sha256 = "0zrv70p0wz93akpcj6gpwjkw7az3iz9bx4n2z630kyrlmxdbj32a"; + }; + meta = with lib; { + homepage = "https://github.com/discourse/discourse-solved"; + maintainers = with maintainers; [ talyz ]; + license = licenses.mit; + description = "Allow accepted answers on topics"; }; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix index 8eba43e47e4..da47dbf182c 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix @@ -1,11 +1,17 @@ -{ mkDiscoursePlugin, fetchFromGitHub }: +{ lib, mkDiscoursePlugin, fetchFromGitHub }: mkDiscoursePlugin { name = "discourse-spoiler-alert"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse-spoiler-alert"; - rev = "e200cfa571d252cab63f3d30d619b370986e4cee"; - sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33"; + rev = "ec14a2316da0a4fc055cfc21c68a60040188a2b4"; + sha256 = "11n977gp8va7jkqa6i3ja279k4nmkhk5l4hg9xhs229450m1rnfp"; + }; + meta = with lib; { + homepage = "https://github.com/discourse/discourse-spoiler-alert"; + maintainers = with maintainers; [ talyz ]; + license = licenses.mit; + description = "Hide spoilers behind the spoiler-alert jQuery plugin"; }; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix index 8e76123ae59..b20e16118c7 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix @@ -1,11 +1,17 @@ -{ mkDiscoursePlugin, fetchFromGitHub }: +{ lib, mkDiscoursePlugin, fetchFromGitHub }: mkDiscoursePlugin { name = "discourse-yearly-review"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse-yearly-review"; - rev = "d1471bdb68945f55342e72e2c525b4f628419a50"; - sha256 = "sha256:0xpl0l1vpih8xzb6y7k1lm72nj4ya99378viyhqfvpwzsn5pha2a"; + rev = "95149df2282d62eebeb265b4895df15a2b259d03"; + sha256 = "02n27al8n8cxz3dx4awlnd4qhv8a0fmjac57yyblmpviapja1wj7"; + }; + meta = with lib; { + homepage = "https://github.com/discourse/discourse-yearly-review"; + maintainers = with maintainers; [ talyz ]; + license = licenses.mit; + description = "Publishes an automated Year in Review topic"; }; } diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index af968cdf331..1f7a3641caa 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -186,11 +186,6 @@ GEM jwt (2.2.3) kgio (2.11.3) libv8-node (15.14.0.1) - libv8-node (15.14.0.1-arm64-darwin-20) - libv8-node (15.14.0.1-x86_64-darwin-18) - libv8-node (15.14.0.1-x86_64-darwin-19) - libv8-node (15.14.0.1-x86_64-darwin-20) - libv8-node (15.14.0.1-x86_64-linux) listen (3.5.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) @@ -214,7 +209,7 @@ GEM rack (>= 1.1.3) method_source (1.0.0) mini_mime (1.1.0) - mini_portile2 (2.5.1) + mini_portile2 (2.5.3) mini_racer (0.4.0) libv8-node (~> 15.14.0.0) mini_scheduler (0.13.0) @@ -232,7 +227,7 @@ GEM multipart-post (2.1.1) mustache (1.1.1) nio4r (2.5.7) - nokogiri (1.11.5) + nokogiri (1.11.7) mini_portile2 (~> 2.5.0) racc (~> 1.4) nokogumbo (2.0.5) @@ -267,7 +262,7 @@ GEM omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack - onebox (2.2.15) + onebox (2.2.17) addressable (~> 2.7.0) htmlentities (~> 4.3) multi_json (~> 1.11) @@ -465,12 +460,7 @@ GEM zeitwerk (2.4.2) PLATFORMS - arm64-darwin-20 ruby - x86_64-darwin-18 - x86_64-darwin-19 - x86_64-darwin-20 - x86_64-linux DEPENDENCIES actionmailer (= 6.1.3.2) @@ -600,4 +590,4 @@ DEPENDENCIES yaml-lint BUNDLED WITH - 2.2.16 + 2.2.20 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index 974df1ed4ea..2fe2587d25f 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -1135,10 +1135,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2"; + sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k"; type = "gem"; }; - version = "2.5.1"; + version = "2.5.3"; }; mini_racer = { dependencies = ["libv8-node"]; @@ -1284,10 +1284,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1i80ny61maqzqr1fq5wgpkijmh5j8abisrmhn16kv7mzmxqg5w0m"; + sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9"; type = "gem"; }; - version = "1.11.5"; + version = "1.11.7"; }; nokogumbo = { dependencies = ["nokogiri"]; @@ -1414,10 +1414,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0a76xmwikcg2lv8k2cawzhmi2hx7j145v12mbpriby6zff797z4g"; + sha256 = "1swlysqwfc6mb7smv52yv12sd79dchjf2f6r738wrag0wp5hazqy"; type = "gem"; }; - version = "2.2.15"; + version = "2.2.17"; }; openssl = { groups = ["default"]; diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py index c401ab552bb..ae4dadfc3a7 100755 --- a/pkgs/servers/web-apps/discourse/update.py +++ b/pkgs/servers/web-apps/discourse/update.py @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i python3 -p bundix bundler nix-update python3 python3Packages.requests python3Packages.click python3Packages.click-log +#! nix-shell -i python3 -p bundix bundler nix-update nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log import click import click_log @@ -8,17 +8,22 @@ import tempfile import re import logging import subprocess -import pathlib +import os +import stat +import json +import requests from distutils.version import LooseVersion +from pathlib import Path from typing import Iterable -import requests logger = logging.getLogger(__name__) class DiscourseRepo: version_regex = re.compile(r'^v\d+\.\d+\.\d+$') + _latest_commit_sha = None + def __init__(self, owner: str = 'discourse', repo: str = 'discourse'): self.owner = owner self.repo = repo @@ -35,6 +40,15 @@ class DiscourseRepo: versions.sort(key=lambda x: LooseVersion(x.replace('v', '')), reverse=True) return versions + @property + def latest_commit_sha(self) -> str: + if self._latest_commit_sha is None: + r = requests.get(f'https://api.github.com/repos/{self.owner}/{self.repo}/commits?per_page=1') + r.raise_for_status() + self._latest_commit_sha = r.json()[0]['sha'] + + return self._latest_commit_sha + @staticmethod def rev2version(tag: str) -> str: """ @@ -57,19 +71,23 @@ class DiscourseRepo: def _call_nix_update(pkg, version): """calls nix-update from nixpkgs root dir""" - nixpkgs_path = pathlib.Path(__file__).parent / '../../../../' + nixpkgs_path = Path(__file__).parent / '../../../../' return subprocess.check_output(['nix-update', pkg, '--version', version], cwd=nixpkgs_path) +def _nix_eval(expr: str): + nixpkgs_path = Path(__file__).parent / '../../../../' + return json.loads(subprocess.check_output(['nix', 'eval', '--json', f'(with import {nixpkgs_path} {{}}; {expr})'], text=True)) + + def _get_current_package_version(pkg: str): - nixpkgs_path = pathlib.Path(__file__).parent / '../../../../' - return subprocess.check_output(['nix', 'eval', '--raw', f'nixpkgs.{pkg}.version'], text=True) + return _nix_eval(f'{pkg}.version') def _diff_file(filepath: str, old_version: str, new_version: str): repo = DiscourseRepo() - current_dir = pathlib.Path(__file__).parent + current_dir = Path(__file__).parent old = repo.get_file(filepath, 'v' + old_version) new = repo.get_file(filepath, 'v' + new_version) @@ -148,17 +166,87 @@ def update(rev): version = repo.rev2version(rev) logger.debug(f"Using version {version}") - rubyenv_dir = pathlib.Path(__file__).parent / "rubyEnv" + rubyenv_dir = Path(__file__).parent / "rubyEnv" for fn in ['Gemfile.lock', 'Gemfile']: with open(rubyenv_dir / fn, 'w') as f: f.write(repo.get_file(fn, rev)) subprocess.check_output(['bundle', 'lock'], cwd=rubyenv_dir) + for platform in ['arm64-darwin-20', 'x86_64-darwin-18', + 'x86_64-darwin-19', 'x86_64-darwin-20', + 'x86_64-linux']: + subprocess.check_output(['bundle', 'lock', '--remove-platform', platform], cwd=rubyenv_dir) subprocess.check_output(['bundix'], cwd=rubyenv_dir) _call_nix_update('discourse', repo.rev2version(rev)) +@cli.command() +def update_plugins(): + """Update plugins to their latest revision. + + """ + plugins = [ + {'name': 'discourse-canned-replies'}, + {'name': 'discourse-github'}, + {'name': 'discourse-math'}, + {'name': 'discourse-solved'}, + {'name': 'discourse-spoiler-alert'}, + {'name': 'discourse-yearly-review'}, + ] + + for plugin in plugins: + fetcher = plugin.get('fetcher') or "fetchFromGitHub" + owner = plugin.get('owner') or "discourse" + name = plugin.get('name') + repo_name = plugin.get('repo_name') or name + + repo = DiscourseRepo(owner=owner, repo=repo_name) + prev_commit_sha = _nix_eval(f'discourse.plugins.{name}.src.rev') + + if prev_commit_sha == repo.latest_commit_sha: + click.echo(f'Plugin {name} is already at the latest revision') + continue + + filename = _nix_eval(f'builtins.unsafeGetAttrPos "src" discourse.plugins.{name}')['file'] + prev_hash = _nix_eval(f'discourse.plugins.{name}.src.outputHash') + new_hash = subprocess.check_output([ + 'nix-universal-prefetch', fetcher, + '--owner', owner, + '--repo', repo_name, + '--rev', repo.latest_commit_sha, + ], text=True).strip("\n") + + click.echo(f"Update {name}, {prev_commit_sha} -> {repo.latest_commit_sha} in {filename}") + + with open(filename, 'r+') as f: + content = f.read() + content = content.replace(prev_commit_sha, repo.latest_commit_sha) + content = content.replace(prev_hash, new_hash) + f.seek(0) + f.write(content) + f.truncate() + + rubyenv_dir = Path(filename).parent + gemfile = rubyenv_dir / "Gemfile" + gemfile_text = '' + for line in repo.get_file('plugin.rb', repo.latest_commit_sha).splitlines(): + if 'gem ' in line: + gemfile_text = gemfile_text + line + os.linesep + + if len(gemfile_text) > 0: + if os.path.isfile(gemfile): + os.remove(gemfile) + + subprocess.check_output(['bundle', 'init'], cwd=rubyenv_dir) + os.chmod(gemfile, stat.S_IREAD | stat.S_IWRITE | stat.S_IRGRP | stat.S_IROTH) + + with open(gemfile, 'a') as f: + f.write(gemfile_text) + + subprocess.check_output(['bundle', 'lock', '--update'], cwd=rubyenv_dir) + subprocess.check_output(['bundix'], cwd=rubyenv_dir) + if __name__ == '__main__': cli() diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 125c329c4bd..9a75403cec6 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -3102,11 +3102,11 @@ lib.makeScope newScope (self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! xorgserver = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation { pname = "xorg-server"; - version = "1.20.11"; + version = "1.20.12"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/xserver/xorg-server-1.20.11.tar.bz2"; - sha256 = "0jacqgin8kcyy8fyv0lhgb4if8g9hp60rm3ih3s1mgps7xp7jk4i"; + url = "mirror://xorg/individual/xserver/xorg-server-1.20.12.tar.xz"; + sha256 = "1b4ckvxaiiiwdxwyfzbbfkr384qqy5qzfsm37z0fr08x8f9w0v9k"; }; hardeningDisable = [ "bindnow" "relro" ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 4bb1867903e..42cb2da3a0d 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -218,4 +218,4 @@ mirror://xorg/individual/util/lndir-1.0.3.tar.bz2 mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2 mirror://xorg/individual/util/util-macros-1.19.3.tar.bz2 mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-1.20.11.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.20.12.tar.xz diff --git a/pkgs/tools/X11/virtualgl/lib.nix b/pkgs/tools/X11/virtualgl/lib.nix index 362a86fff37..5974b2bd3d5 100644 --- a/pkgs/tools/X11/virtualgl/lib.nix +++ b/pkgs/tools/X11/virtualgl/lib.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, cmake -, libGL, libGLU, libX11, libXv, libXtst, libjpeg_turbo, fltk +, libGL, libGLU, libXv, libXtst, libXi, libjpeg_turbo, fltk , xorg , opencl-headers, opencl-clhpp, ocl-icd }: @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ libjpeg_turbo libGL libGLU fltk - libX11 libXv libXtst xorg.xcbutilkeysyms + libXv libXtst libXi xorg.xcbutilkeysyms opencl-headers opencl-clhpp ocl-icd ]; diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix index fde3e829cc1..ac831c9da48 100644 --- a/pkgs/tools/admin/lxd/default.nix +++ b/pkgs/tools/admin/lxd/default.nix @@ -19,13 +19,13 @@ let in buildGoPackage rec { pname = "lxd"; - version = "4.15"; + version = "4.16"; goPackagePath = "github.com/lxc/lxd"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz"; - sha256 = "sha256-UXipGNWclBKgr0r0wav85Gnhp2SXkTvDFr9gKJWismU="; + sha256 = "1da9avmxs8sy92d9nrdgry2x685ral58zgf89yr88qxc0llbzq7r"; }; postPatch = '' @@ -40,6 +40,9 @@ buildGoPackage rec { cp -r _dist/src/* ../../.. popd + # required for go-dqlite. See: https://github.com/lxc/lxd/pull/8939 + export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)" + makeFlagsArray+=("-tags libsqlite3") ''; diff --git a/pkgs/tools/misc/afetch/default.nix b/pkgs/tools/misc/afetch/default.nix new file mode 100644 index 00000000000..aea2ff1ff2b --- /dev/null +++ b/pkgs/tools/misc/afetch/default.nix @@ -0,0 +1,28 @@ +{ stdenv +, lib +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "afetch"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "13-CF"; + repo = "afetch"; + rev = "V${version}"; + sha256 = "sha256-bHP3DJpgh89AaCX4c1tQGaZ/PiWjArED1rMdszFUq+U="; + }; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + meta = with lib; { + description = "A fetch program written in C"; + homepage = "https://github.com/13-CF/afetch"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ dan4ik605743 jk ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index fcf29beb188..d9c4ceeca2c 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -39,7 +39,7 @@ let canEfi = any (system: stdenv.hostPlatform.system == system) (mapAttrsToList (name: _: name) efiSystemsBuild); inPCSystems = any (system: stdenv.hostPlatform.system == system) (mapAttrsToList (name: _: name) pcSystems); - version = "2.06-rc1"; + version = "2.06"; in ( @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { src = fetchgit { url = "git://git.savannah.gnu.org/grub.git"; rev = "${pname}-${version}"; - sha256 = "1ngc960g4w91rg13l724v6nlj6fq1adxp6is2mrq4bnp7sm9mysa"; + sha256 = "1vkxr6b4p7h259vayjw8bfgqj57x68byy939y4bmyaz6g7fgrv0f"; }; patches = [ diff --git a/pkgs/tools/misc/infracost/default.nix b/pkgs/tools/misc/infracost/default.nix index c912eb3322b..3d91dd6d9ab 100644 --- a/pkgs/tools/misc/infracost/default.nix +++ b/pkgs/tools/misc/infracost/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "infracost"; - version = "0.9.3"; + version = "0.9.4"; src = fetchFromGitHub { owner = "infracost"; rev = "v${version}"; repo = "infracost"; - sha256 = "sha256-3AH/VUKIno/jObep5GNfIpyOW5TcfZ5UZyornJWTGOw="; + sha256 = "sha256-OQwMO9bhPK+Wjob8rAFYJQRpAYf1bPdRi2BjETjpSpE="; }; vendorSha256 = "sha256-zMEtVPyzwW4SrbpydDFDqgHEC0/khkrSxlEnQ5I0he8="; @@ -25,12 +25,7 @@ buildGoModule rec { ''; postInstall = '' - # panic if .config directory can't be accessed - # https://github.com/infracost/infracost/pull/862 - export HOME="$TMPDIR" - mkdir -p "$HOME/.config/infracost" export INFRACOST_SKIP_UPDATE_CHECK=true - installShellCompletion --cmd infracost \ --bash <($out/bin/infracost completion --shell bash) \ --fish <($out/bin/infracost completion --shell fish) \ @@ -41,10 +36,7 @@ buildGoModule rec { installCheckPhase = '' runHook preInstallCheck - export HOME="$TMPDIR" - mkdir -p "$HOME/.config/infracost" export INFRACOST_SKIP_UPDATE_CHECK=true - $out/bin/infracost --help $out/bin/infracost --version | grep "v${version}" @@ -60,7 +52,7 @@ buildGoModule rec { This helps developers, DevOps et al. quickly see the cost breakdown and compare different deployment options upfront. ''; - license = [ licenses.asl20 ]; + license = licenses.asl20; maintainers = with maintainers; [ davegallant jk ]; }; } diff --git a/pkgs/tools/misc/tremor-rs/default.nix b/pkgs/tools/misc/tremor-rs/default.nix index 9c0a68805a6..5f6acfd9696 100644 --- a/pkgs/tools/misc/tremor-rs/default.nix +++ b/pkgs/tools/misc/tremor-rs/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { pname = "tremor"; - version = "0.11.2"; + version = "0.11.5"; src = fetchFromGitHub { owner = "tremor-rs"; repo = "tremor-runtime"; rev = "v${version}"; - sha256 = "sha256-FedRwFVc+m25+Elj1Vp/fInbK6DVsUpniw29/dtecWo="; + sha256 = "sha256-fE0f0tCI2V+HqHZwn9cO+xs0o3o6w0nrJg9Et0zJMOE="; }; - cargoSha256 = "sha256-jxXoFOwoBSkn7pv10ctLpD7ko8bokc1ADkB7NQFRC7c="; + cargoHash = "sha256-dky9ejzMgKXlzpg+9bmkd7th+EHBpNmZJkgYt2pjuuI="; nativeBuildInputs = [ cmake pkg-config installShellFiles ]; diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix index cee4956269e..f643702d625 100644 --- a/pkgs/tools/networking/innernet/default.nix +++ b/pkgs/tools/networking/innernet/default.nix @@ -2,15 +2,15 @@ rustPlatform.buildRustPackage rec { pname = "innernet"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitHub { owner = "tonarino"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Tnwq86gAbi24O8/26134gJCf9+wol1zma980t9iHEKY="; + sha256 = "sha256-n+xNWhOkRCIcoBHR8u+xZK81fU0usIfFhYg3BO9yXik="; }; - cargoSha256 = "sha256-Wy+i1lmXpsy0Sy0GF5XUfXsLQHeV7cQo9nUxUEFnHOU="; + cargoSha256 = "sha256-cTqQtJpuwVlUKfAK8ASf6vq6PU2NE8PT/el/Hz4HgtA="; nativeBuildInputs = with llvmPackages; [ llvm diff --git a/pkgs/tools/package-management/nix-template/default.nix b/pkgs/tools/package-management/nix-template/default.nix index 0345830fb9d..f56222f403a 100644 --- a/pkgs/tools/package-management/nix-template/default.nix +++ b/pkgs/tools/package-management/nix-template/default.nix @@ -1,17 +1,33 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ lib, stdenv, rustPlatform, fetchFromGitHub +, makeWrapper +, nix +, openssl +, pkg-config +, Security +}: rustPlatform.buildRustPackage rec { pname = "nix-template"; - version = "0.1.0"; + version = "0.1.1"; src = fetchFromGitHub { owner = "jonringer"; repo = pname; rev = "v${version}"; - sha256 = "1h6xdvhzg7nb0s82b3r5bsh8bfdb1l5sm7fa24lfwd396xp9yyig"; + sha256 = "sha256-A1b/fgSr27sfMDnTi4R3PUZfhAdLA5wUOd4yh9/4Bnk="; }; - cargoSha256 = "0hp31b5q4s6grkha2jz55945cbjkqdpvx1l8m49zv5prczhd7mz5"; + cargoSha256 = "sha256-resyY/moqLo4KWOKUvFJiOWealCmcEsLFgkN12slKN0="; + + nativeBuildInputs = [ makeWrapper pkg-config ]; + buildInputs = [ openssl ] + ++ lib.optional stdenv.isDarwin Security; + + # needed for nix-prefetch-url + postInstall = '' + wrapProgram $out/bin/nix-template \ + --prefix PATH : ${lib.makeBinPath [ nix ]} + ''; meta = with lib; { description = "Make creating nix expressions easy"; diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix index 550f965b07d..bdc32570dfa 100644 --- a/pkgs/tools/security/cosign/default.nix +++ b/pkgs/tools/security/cosign/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildGoModule, fetchFromGitHub, pcsclite, pkg-config, PCSC }: +{ stdenv, lib, buildGoModule, fetchFromGitHub, pcsclite, pkg-config, PCSC, pivKeySupport ? true }: buildGoModule rec { pname = "cosign"; @@ -12,8 +12,8 @@ buildGoModule rec { }; buildInputs = - lib.optional stdenv.isLinux (lib.getDev pcsclite) - ++ lib.optionals stdenv.isDarwin [ PCSC ]; + lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite) + ++ lib.optionals (stdenv.isDarwin && pivKeySupport) [ PCSC ]; nativeBuildInputs = [ pkg-config ]; @@ -21,6 +21,9 @@ buildGoModule rec { subPackages = [ "cmd/cosign" ]; + preBuild = '' + buildFlagsArray+=(${lib.optionalString pivKeySupport "-tags=pivkey"}) + ''; ldflags = [ "-s" "-w" "-X github.com/sigstore/cosign/cmd/cosign/cli.gitVersion=v${version}"]; meta = with lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1b9f9561022..134d2693560 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -808,6 +808,8 @@ in afew = callPackage ../applications/networking/mailreaders/afew { }; + afetch = callPackage ../tools/misc/afetch { }; + afio = callPackage ../tools/archivers/afio { }; afl = callPackage ../tools/security/afl { @@ -1237,6 +1239,8 @@ in azure-cli = callPackage ../tools/admin/azure-cli { }; + azure-functions-core-tools = callPackage ../development/tools/azure-functions-core-tools { }; + azure-storage-azcopy = callPackage ../development/tools/azcopy { }; azure-vhd-utils = callPackage ../tools/misc/azure-vhd-utils { }; @@ -1323,6 +1327,8 @@ in inherit (nodePackages) bitwarden-cli; + inherit (nodePackages) hyperspace-cli; + bkyml = callPackage ../tools/misc/bkyml { }; blockbench-electron = callPackage ../applications/graphics/blockbench-electron { }; @@ -1979,6 +1985,8 @@ in tensorflow-lite = callPackage ../development/libraries/science/math/tensorflow-lite { }; + tezos-rust-libs = callPackage ../development/libraries/tezos-rust-libs { }; + behdad-fonts = callPackage ../data/fonts/behdad-fonts { }; bfetch = callPackage ../tools/misc/bfetch { }; @@ -2485,6 +2493,10 @@ in discourse = callPackage ../servers/web-apps/discourse { }; + discourseAllPlugins = discourse.override { + plugins = lib.filter (p: p ? pluginName) (builtins.attrValues discourse.plugins); + }; + discourse-mail-receiver = callPackage ../servers/web-apps/discourse/mail_receiver { }; discocss = callPackage ../tools/misc/discocss { }; @@ -3085,7 +3097,9 @@ in nix-output-monitor = haskell.lib.justStaticExecutables (haskellPackages.nix-output-monitor); - nix-template = callPackage ../tools/package-management/nix-template { }; + nix-template = callPackage ../tools/package-management/nix-template { + inherit (darwin.apple_sdk.frameworks) Security; + }; nodepy-runtime = with python3.pkgs; toPythonApplication nodepy-runtime; @@ -15104,12 +15118,27 @@ in flite = callPackage ../development/libraries/flite { }; fltk13 = callPackage ../development/libraries/fltk { - inherit (darwin.apple_sdk.frameworks) Cocoa AGL GLUT; + inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa OpenGL; }; fltk14 = callPackage ../development/libraries/fltk/1.4.nix { - inherit (darwin.apple_sdk.frameworks) Cocoa AGL GLUT; + inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa OpenGL; }; - fltk = res.fltk13; + fltk13-minimal = fltk13.override { + withGL = false; + withCairo = false; + withPango = false; + withExamples = false; + withDocs = false; + }; + fltk14-minimal = fltk14.override { + withGL = false; + withCairo = false; + withPango = false; + withExamples = false; + withDocs = false; + }; + fltk = fltk13; + fltk-minimal = fltk13-minimal; flyway = callPackage ../development/tools/flyway { }; @@ -19524,6 +19553,8 @@ in icecream = callPackage ../servers/icecream { }; + icingaweb2-ipl = callPackage ../servers/icingaweb2/ipl.nix { }; + icingaweb2-thirdparty = callPackage ../servers/icingaweb2/thirdparty.nix { }; icingaweb2 = callPackage ../servers/icingaweb2 { }; icingaweb2Modules = { theme-april = callPackage ../servers/icingaweb2/theme-april { }; @@ -19543,6 +19574,8 @@ in ircdHybrid = callPackage ../servers/irc/ircd-hybrid { }; + janus-gateway = callPackage ../servers/janus-gateway { }; + jboss = callPackage ../servers/http/jboss { }; jboss_mysql_jdbc = callPackage ../servers/http/jboss/jdbc/mysql { }; @@ -22300,6 +22333,8 @@ in juno-theme = callPackage ../data/themes/juno { }; + kanit-font = callPackage ../data/fonts/kanit { }; + kanji-stroke-order-font = callPackage ../data/fonts/kanji-stroke-order-font {}; kawkab-mono-font = callPackage ../data/fonts/kawkab-mono {}; @@ -23158,8 +23193,9 @@ in inherit (pkgs) bitwig-studio1; }; bitwig-studio3 = callPackage ../applications/audio/bitwig-studio/bitwig-studio3.nix { }; + bitwig-studio4 = callPackage ../applications/audio/bitwig-studio/bitwig-studio4.nix { }; - bitwig-studio = bitwig-studio3; + bitwig-studio = bitwig-studio4; bgpdump = callPackage ../tools/networking/bgpdump { }; @@ -25847,6 +25883,8 @@ in nwg-panel = callPackage ../applications/misc/nwg-panel { }; + nwg-wrapper = callPackage ../applications/misc/nwg-wrapper { }; + ocenaudio = callPackage ../applications/audio/ocenaudio { }; onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { }; @@ -28505,6 +28543,10 @@ in boost = boost17x; }; + oxen = callPackage ../applications/blockchains/oxen { + boost = boost17x; + }; + monero-gui = libsForQt5.callPackage ../applications/blockchains/monero-gui { boost = boost17x; }; @@ -28799,7 +28841,9 @@ in exult = callPackage ../games/exult { }; - fltrator = callPackage ../games/fltrator { }; + fltrator = callPackage ../games/fltrator { + fltk = fltk-minimal; + }; factorio = callPackage ../games/factorio { releaseType = "alpha"; }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 31ef92e4204..e5a792caf0f 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -78,6 +78,8 @@ let bitv = callPackage ../development/ocaml-modules/bitv { }; + bls12-381 = callPackage ../development/ocaml-modules/bls12-381 { }; + bolt = callPackage ../development/ocaml-modules/bolt { }; bos = callPackage ../development/ocaml-modules/bos { }; @@ -371,6 +373,8 @@ let fdkaac = callPackage ../development/ocaml-modules/fdkaac { }; + ff = callPackage ../development/ocaml-modules/ff { }; + fiat-p256 = callPackage ../development/ocaml-modules/fiat-p256 { }; fieldslib_p4 = callPackage ../development/ocaml-modules/fieldslib { }; @@ -626,6 +630,8 @@ let lwt-dllist = callPackage ../development/ocaml-modules/lwt-dllist { }; + lwt-watcher = callPackage ../development/ocaml-modules/lwt-watcher { }; + lwt_log = callPackage ../development/ocaml-modules/lwt_log { }; lwt_ppx = callPackage ../development/ocaml-modules/lwt/ppx.nix { }; @@ -1159,6 +1165,18 @@ let reason-native = lib.recurseIntoAttrs (callPackage ../development/ocaml-modules/reason-native { }); + ezresto = callPackage ../development/ocaml-modules/resto/ezresto.nix { }; + ezresto-directory = callPackage ../development/ocaml-modules/resto/ezresto-directory.nix { }; + + resto = callPackage ../development/ocaml-modules/resto { }; + resto-acl = callPackage ../development/ocaml-modules/resto/acl.nix { }; + resto-cohttp = callPackage ../development/ocaml-modules/resto/cohttp.nix { }; + resto-cohttp-client = callPackage ../development/ocaml-modules/resto/cohttp-client.nix { }; + resto-cohttp-self-serving-client = callPackage ../development/ocaml-modules/resto/cohttp-self-serving-client.nix { }; + resto-cohttp-server = callPackage ../development/ocaml-modules/resto/cohttp-server.nix { }; + resto-directory = callPackage ../development/ocaml-modules/resto/directory.nix { }; + resto-json = callPackage ../development/ocaml-modules/resto/json.nix { }; + rope = callPackage ../development/ocaml-modules/rope { }; routes = callPackage ../development/ocaml-modules/routes { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 206f7cdb367..abf8dc2ee80 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4674,6 +4674,8 @@ in { names = callPackage ../development/python-modules/names { }; + nampa = callPackage ../development/python-modules/nampa { }; + nanoleaf = callPackage ../development/python-modules/nanoleaf { }; nanomsg-python = callPackage ../development/python-modules/nanomsg-python { diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index 60b4609479d..4c3518436de 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -80,12 +80,16 @@ in (kdeFrameworks // plasma5 // plasma5.thirdParty // kdeGear // qt5 // { kde2-decoration = callPackage ../data/themes/kde2 { }; + kcolorpicker = callPackage ../development/libraries/kcolorpicker { }; + kdiagram = callPackage ../development/libraries/kdiagram { }; kdsoap = callPackage ../development/libraries/kdsoap { }; kf5gpgmepp = callPackage ../development/libraries/kf5gpgmepp { }; + kimageannotator = callPackage ../development/libraries/kimageannotator { }; + kproperty = callPackage ../development/libraries/kproperty { }; kpeoplevcard = callPackage ../development/libraries/kpeoplevcard { };