diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md index f970776a9b8d..9e93d4eda36d 100644 --- a/doc/languages-frameworks/android.section.md +++ b/doc/languages-frameworks/android.section.md @@ -50,6 +50,7 @@ let platformVersions = [ "34" "35" + "latest" ]; systemImageTypes = [ "google_apis_playstore" ]; abiVersions = [ @@ -130,7 +131,8 @@ For each requested system image we can specify the following options: be included. Defaults to `armeabi-v7a` and `arm64-v8a`. Most of the function arguments have reasonable default settings, preferring the latest -versions of tools when possible. +versions of tools when possible. You can additionally specify "latest" for any plugin version +that you do not care about, and just want the latest of. You can specify license names: diff --git a/doc/release-notes/rl-2505.section.md b/doc/release-notes/rl-2505.section.md index e30d86471589..702c60751033 100644 --- a/doc/release-notes/rl-2505.section.md +++ b/doc/release-notes/rl-2505.section.md @@ -57,6 +57,10 @@ The hook can be disabled by providing `dontCheckForBrokenSymlinks = true;` as an argument to `mkDerivation`. For more information, [check the docs](https://nixos.org/manual/nixpkgs/unstable/#no-broken-symlinks.sh) or [see this PR](https://github.com/NixOS/nixpkgs/pull/370750). +- `opensmtpd-extras` has been deprecated by upstream and is not compatible with + OpenSMTPD 7.6.0 or later. The package has been removed in favor of a set of new + `opensmtpd-table-*` packages. + - The hand written `perlPackages.SearchXapian` bindings have been dropped in favor of the (mostly compatible) `perlPackages.Xapian`. diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index 2fc628a64aeb..9db7d78b7cad 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -76,8 +76,8 @@ in description = '' Packages to search for filters, tables, queues, and schedulers. - Add OpenSMTPD-extras here if you want to use the filters, etc. from - that package. + Add packages here if you want to use them as as such, for example + from the opensmtpd-table-* packages. ''; }; }; @@ -132,14 +132,14 @@ in procEnv = pkgs.buildEnv { name = "opensmtpd-procs"; paths = [ cfg.package ] ++ cfg.procPackages; - pathsToLink = [ "/libexec/opensmtpd" ]; + pathsToLink = [ "/libexec/smtpd" ]; }; in { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig.ExecStart = "${cfg.package}/sbin/smtpd -d -f ${conf} ${args}"; - environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd"; + environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/smtpd"; }; }; } diff --git a/nixos/modules/services/networking/mycelium.nix b/nixos/modules/services/networking/mycelium.nix index 26c9be290fed..7ba506ef25eb 100644 --- a/nixos/modules/services/networking/mycelium.nix +++ b/nixos/modules/services/networking/mycelium.nix @@ -73,7 +73,13 @@ in systemd.services.mycelium = { description = "Mycelium network"; - after = [ "network.target" ]; + after = [ + "network.target" + "network-online.target" + ]; + wants = [ + "network-online.target" + ]; wantedBy = [ "multi-user.target" ]; restartTriggers = [ cfg.keyFile diff --git a/nixos/modules/system/boot/systemd/repart.nix b/nixos/modules/system/boot/systemd/repart.nix index a8dc4745c26b..b7ca00cf6a03 100644 --- a/nixos/modules/system/boot/systemd/repart.nix +++ b/nixos/modules/system/boot/systemd/repart.nix @@ -72,6 +72,19 @@ in example = "require"; default = "refuse"; }; + + discard = lib.mkOption { + type = lib.types.bool; + description = '' + Controls whether to issue the BLKDISCARD I/O control command on the + space taken up by any added partitions or on the space in between them. + Usually, it's a good idea to issue this request since it tells the underlying + hardware that the covered blocks shall be considered empty, improving performance. + + See {manpage}`systemd-repart(8)` for details. + ''; + default = true; + }; }; systemd.repart = { @@ -163,6 +176,7 @@ in --definitions=/etc/repart.d \ --dry-run=no \ --empty=${initrdCfg.empty} \ + --discard=${lib.boolToString initrdCfg.discard} \ ${lib.optionalString (initrdCfg.device != null) initrdCfg.device} '' ]; diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index a9b40b05521d..3addf93d576d 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -311,7 +311,7 @@ stdenv'.mkDerivation (finalAttrs: { ps.requests ps.zstandard ] - ++ lib.optional openUsdSupport [ pyPkgsOpenusd ]; + ++ lib.optionals openUsdSupport [ pyPkgsOpenusd ]; blenderExecutable = placeholder "out" diff --git a/pkgs/by-name/co/conduktor/package.nix b/pkgs/by-name/co/conduktor/package.nix index e78f4bd35e22..a84c63fc6789 100644 --- a/pkgs/by-name/co/conduktor/package.nix +++ b/pkgs/by-name/co/conduktor/package.nix @@ -1,38 +1,48 @@ { - stdenv, lib, + stdenv, fetchurl, fetchzip, jdk11, - makeWrapper, + openjfx17, + gtk3, + glib, + pango, + cairo, + gdk-pixbuf, + xorg, + makeBinaryWrapper, makeDesktopItem, copyDesktopItems, }: -stdenv.mkDerivation rec { +let + openjfx_jdk = openjfx17.override { withWebKit = true; }; +in +stdenv.mkDerivation (finalAttrs: { pname = "conduktor"; - version = "2.15.1"; + version = "2.24.9"; src = fetchzip { - url = "https://github.com/conduktor/builds/releases/download/v${version}/Conduktor-linux-${version}.zip"; - sha256 = "sha256-9y/7jni5zIITUWd75AxsfG/b5vCYotmeMeC9aYM2WEs="; + url = "https://github.com/conduktor/builds/releases/download/v${finalAttrs.version}/Conduktor-linux-${finalAttrs.version}.zip"; + hash = "sha256-c9QjlKPZpeJi5YTq4gm+sg7my4EP0LI95AfGguF4ork="; }; nativeBuildInputs = [ - makeWrapper + makeBinaryWrapper copyDesktopItems ]; desktopItems = [ (makeDesktopItem { type = "Application"; - name = pname; + name = "conduktor"; desktopName = "Conduktor"; - genericName = meta.description; - exec = pname; + genericName = finalAttrs.meta.description; + exec = "conduktor"; icon = fetchurl { - url = "https://github.com/conduktor/builds/raw/v${version}/.github/resources/Conduktor.png"; - sha256 = "0s7p74qclvac8xj2m22gfxx5m2c7cf0nqpk5sb049p2wvryhn2j4"; + url = "https://github.com/conduktor/builds/raw/v${finalAttrs.version}/.github/resources/Conduktor.png"; + hash = "sha256-mk4c9ecookRb7gR56cedIWfPfQy2uGF+ZbX6NI90KI0="; }; comment = "A beautiful and fully-featured desktop client for Apache Kafka"; }) @@ -44,23 +54,36 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - mkdir -p $out/share/applications - mv * $out - wrapProgram "$out/bin/conduktor" --set JAVA_HOME "${jdk11.home}" + cp -r . $out + wrapProgram $out/bin/conduktor \ + --set JAVA_HOME ${jdk11.home} \ + --set LD_LIBRARY_PATH ${ + lib.makeLibraryPath [ + openjfx_jdk + gtk3 + gtk3 + glib + pango + cairo + gdk-pixbuf + xorg.libXtst + ] + } \ + --add-flags "--module-path ${openjfx_jdk}/lib --add-modules=javafx.controls,javafx.fxml" runHook postInstall ''; - meta = with lib; { + meta = { description = "Apache Kafka Desktop Client"; longDescription = '' Conduktor is a GUI over the Kafka ecosystem, to make the development and management of Apache Kafka clusters as easy as possible. ''; homepage = "https://www.conduktor.io/"; - changelog = "https://www.conduktor.io/changelog/#${version}"; - license = licenses.unfree; - maintainers = with maintainers; [ trobert ]; - platforms = platforms.linux; + changelog = "https://www.conduktor.io/changelog/#${finalAttrs.version}"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ trobert ]; + platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/by-name/co/contour/package.nix b/pkgs/by-name/co/contour/package.nix index 779144322f25..d26ce03f12da 100644 --- a/pkgs/by-name/co/contour/package.nix +++ b/pkgs/by-name/co/contour/package.nix @@ -24,17 +24,18 @@ sigtool, nixosTests, installShellFiles, + reflection-cpp, }: -stdenv.mkDerivation (final: { +stdenv.mkDerivation (finalAttrs: { pname = "contour"; - version = "0.5.1.7247"; + version = "0.6.1.7494"; src = fetchFromGitHub { owner = "contour-terminal"; repo = "contour"; - rev = "v${final.version}"; - hash = "sha256-/vpbyaULemyM3elwaoofvbeeID7jNrmu8X8HlZxWGCk"; + tag = "v${finalAttrs.version}"; + hash = "sha256-jgasZhdcJ+UF3VIl8HLcxBayvbA/dkaOG8UtANRgeP4="; }; patches = [ ./dont-fix-app-bundle.diff ]; @@ -69,6 +70,7 @@ stdenv.mkDerivation (final: { microsoft-gsl range-v3 yaml-cpp + reflection-cpp ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libutempter ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -100,13 +102,13 @@ stdenv.mkDerivation (final: { passthru.tests.test = nixosTests.terminal-emulators.contour; - meta = with lib; { + meta = { description = "Modern C++ Terminal Emulator"; homepage = "https://github.com/contour-terminal/contour"; - changelog = "https://github.com/contour-terminal/contour/raw/v${version}/Changelog.md"; - license = licenses.asl20; - maintainers = with maintainers; [ moni ]; - platforms = platforms.unix; + changelog = "https://github.com/contour-terminal/contour/raw/v${finalAttrs.version}/Changelog.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ moni ]; + platforms = lib.platforms.unix; mainProgram = "contour"; }; }) diff --git a/pkgs/by-name/cr/crc/package.nix b/pkgs/by-name/cr/crc/package.nix index f94350a168f6..1e127e3d9d6e 100644 --- a/pkgs/by-name/cr/crc/package.nix +++ b/pkgs/by-name/cr/crc/package.nix @@ -2,28 +2,26 @@ lib, buildGoModule, fetchFromGitHub, - testers, - crc, coreutils, + writableTmpDirAsHomeHook, }: let - openShiftVersion = "4.15.12"; + openShiftVersion = "4.18.2"; okdVersion = "4.15.0-0.okd-2024-02-23-163410"; - microshiftVersion = "4.15.12"; - podmanVersion = "4.4.4"; + microshiftVersion = "4.18.2"; writeKey = "$(MODULEPATH)/pkg/crc/segment.WriteKey=cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp"; - gitCommit = "27c493c19b7f396931c3b94cc3367f572e6af04a"; - gitHash = "sha256-uxp3DVYbbjKf1Cjj7GCf9QBxFq3K136k51eymD0U018="; + gitCommit = "e843be9c9889abd33ce2f9aee161fac1d44e3fa8"; + gitHash = "sha256-irlVpRBZzE6lfjK8nlNmWlryGj25u/5LcX7pG3WD/Fs="; in -buildGoModule rec { - version = "2.36.0"; +buildGoModule (finalAttrs: { pname = "crc"; + version = "2.49.0"; src = fetchFromGitHub { owner = "crc-org"; repo = "crc"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = gitHash; }; @@ -31,48 +29,46 @@ buildGoModule rec { postPatch = '' substituteInPlace pkg/crc/oc/oc_linux_test.go \ - --replace "/bin/echo" "${coreutils}/bin/echo" + --replace-fail "/bin/echo" "${coreutils}/bin/echo" ''; - subPackages = [ - "cmd/crc" - ]; + subPackages = [ "cmd/crc" ]; tags = [ "containers_image_openpgp" ]; ldflags = [ - "-X github.com/crc-org/crc/v2/pkg/crc/version.crcVersion=${version}" + "-X github.com/crc-org/crc/v2/pkg/crc/version.crcVersion=${finalAttrs.version}" "-X github.com/crc-org/crc/v2/pkg/crc/version.ocpVersion=${openShiftVersion}" "-X github.com/crc-org/crc/v2/pkg/crc/version.okdVersion=${okdVersion}" - "-X github.com/crc-org/crc/v2/pkg/crc/version.podmanVersion=${podmanVersion}" "-X github.com/crc-org/crc/v2/pkg/crc/version.microshiftVersion=${microshiftVersion}" "-X github.com/crc-org/crc/v2/pkg/crc/version.commitSha=${builtins.substring 0 8 gitCommit}" "-X github.com/crc-org/crc/v2/pkg/crc/segment.WriteKey=${writeKey}" ]; - preCheck = '' - export HOME=$(mktemp -d) + nativeCheckInputs = [ writableTmpDirAsHomeHook ]; + + doInstallCheck = true; + + installCheckPhase = '' + runHook preInstallCheck + + HOME=$(mktemp -d) $out/bin/crc version | grep ${finalAttrs.version} > /dev/null + + runHook postInstallCheck ''; - passthru.tests.version = testers.testVersion { - package = crc; - command = '' - export HOME=$(mktemp -d) - crc version - ''; - }; passthru.updateScript = ./update.sh; - meta = with lib; { + meta = { description = "Manage a local OpenShift 4.x cluster, Microshift or a Podman VM optimized for testing and development purposes"; homepage = "https://crc.dev/crc/getting_started/getting_started/introducing/"; - changelog = "https://github.com/crc-org/crc/releases/tag/v${version}"; - license = licenses.asl20; + changelog = "https://github.com/crc-org/crc/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.asl20; mainProgram = "crc"; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ matthewpi shikanime tricktron ]; }; -} +}) diff --git a/pkgs/by-name/cr/crc/update.sh b/pkgs/by-name/cr/crc/update.sh index 4e46cbc428cc..d022177a9354 100755 --- a/pkgs/by-name/cr/crc/update.sh +++ b/pkgs/by-name/cr/crc/update.sh @@ -26,7 +26,7 @@ CRC_COMMIT=$(curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ jq -r "map(select(.name == \"${LATEST_TAG_NAME}\")) | .[0] | .commit.sha") CRC_GIT_PREFETCH=$(nix-prefetch-url --unpack https://github.com/crc-org/crc/archive/${CRC_COMMIT}.tar.gz) -CRC_GIT_HASH=$(nix hash to-sri --type sha256 ${CRC_GIT_PREFETCH}) +CRC_GIT_HASH=$(nix hash convert --to sri --hash-algo sha256 ${CRC_GIT_PREFETCH}) FILE_MAKEFILE=${WORKDIR}/Makefile curl --silent https://raw.githubusercontent.com/crc-org/crc/${CRC_COMMIT}/Makefile >$FILE_MAKEFILE @@ -37,9 +37,6 @@ OPENSHIFT_VERSION=$(grep 'OPENSHIFT_VERSION' ${FILE_MAKEFILE} | OKD_VERSION=$(grep 'OKD_VERSION' ${FILE_MAKEFILE} | head -n1 | awk '{print $3}') -PODMAN_VERSION=$(grep 'PODMAN_VERSION' ${FILE_MAKEFILE} | - head -n1 | awk '{print $3}') - MICROSHIFT_VERSION=$(grep 'MICROSHIFT_VERSION' ${FILE_MAKEFILE} | head -n1 | awk '{print $3}') @@ -61,9 +58,6 @@ sed -i "s|openShiftVersion = \".*\"|openShiftVersion = \"${OPENSHIFT_VERSION:-}\ sed -i "s|okdVersion = \".*\"|okdVersion = \"${OKD_VERSION:-}\"|" \ ${NIXPKGS_CRC_FOLDER}/package.nix -sed -i "s|podmanVersion = \".*\"|podmanVersion = \"${PODMAN_VERSION:-}\"|" \ - ${NIXPKGS_CRC_FOLDER}/package.nix - sed -i "s|microshiftVersion = \".*\"|microshiftVersion = \"${MICROSHIFT_VERSION:-}\"|" \ ${NIXPKGS_CRC_FOLDER}/package.nix diff --git a/pkgs/by-name/dd/ddosify/package.nix b/pkgs/by-name/dd/ddosify/package.nix index e77ce0e5c8b2..d94b7f286067 100644 --- a/pkgs/by-name/dd/ddosify/package.nix +++ b/pkgs/by-name/dd/ddosify/package.nix @@ -2,25 +2,28 @@ lib, buildGoModule, fetchFromGitHub, + versionCheckHook, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "ddosify"; - version = "1.0.6"; + version = "2.6.0"; src = fetchFromGitHub { owner = "ddosify"; repo = "ddosify"; - tag = "v${version}"; - hash = "sha256-5K/qXtdlDC09dEjRwYvoh9SapGLNmvywDMiNdwZDDTQ="; + tag = "selfhosted-${finalAttrs.version}"; + hash = "sha256-EPbpBCSaUVVhxGlj7gRqwHLuj5p6563iiARqkEjA6Rk="; }; vendorHash = "sha256-Wg4JzA2aEwNBsDrkauFUb9AS38ITLBGex9QHzDcdpoM="; + sourceRoot = "${finalAttrs.src.name}/ddosify_engine"; + ldflags = [ "-s" "-w" - "-X=main.GitVersion=${version}" + "-X=main.GitVersion=${finalAttrs.version}" "-X=main.GitCommit=unknown" "-X=main.BuildDate=unknown" ]; @@ -30,16 +33,16 @@ buildGoModule rec { doInstallCheck = true; - installCheckPhase = '' - $out/bin/ddosify -version | grep ${version} > /dev/null - ''; + nativeInstallCheckInputs = [ versionCheckHook ]; - meta = with lib; { + versionCheckProgramArg = "-version"; + + meta = { description = "High-performance load testing tool, written in Golang"; mainProgram = "ddosify"; homepage = "https://ddosify.com/"; - changelog = "https://github.com/ddosify/ddosify/releases/tag/v${version}"; - license = licenses.agpl3Plus; - maintainers = with maintainers; [ bryanasdev000 ]; + changelog = "https://github.com/ddosify/ddosify/releases/tag/selfhosted-${finalAttrs.version}"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ bryanasdev000 ]; }; -} +}) diff --git a/pkgs/tools/networking/dnsviz/fix-path.patch b/pkgs/by-name/dn/dnsviz/fix-path.patch similarity index 77% rename from pkgs/tools/networking/dnsviz/fix-path.patch rename to pkgs/by-name/dn/dnsviz/fix-path.patch index 7906058cd98e..4dc963dec71f 100644 --- a/pkgs/tools/networking/dnsviz/fix-path.patch +++ b/pkgs/by-name/dn/dnsviz/fix-path.patch @@ -2,10 +2,10 @@ diff --git a/dnsviz/config.py.in b/dnsviz/config.py.in index 373fde2..007f0f1 100644 --- a/dnsviz/config.py.in +++ b/dnsviz/config.py.in -@@ -26,12 +26,7 @@ from __future__ import unicode_literals +@@ -26,12 +26,7 @@ import os import sys - + -_prefix = '__DNSVIZ_INSTALL_PREFIX__' -if (hasattr(sys, 'real_prefix') or hasattr(sys, 'base_prefix')) and \ - not _prefix: @@ -13,6 +13,6 @@ index 373fde2..007f0f1 100644 -else: - DNSVIZ_INSTALL_PREFIX = _prefix +DNSVIZ_INSTALL_PREFIX = "@out@" - DNSVIZ_SHARE_PATH = os.path.join(DNSVIZ_INSTALL_PREFIX, 'share', 'dnsviz') + DNSVIZ_SHARE_PATH = os.getenv('DNSVIZ_SHARE_PATH', os.path.join(DNSVIZ_INSTALL_PREFIX, 'share', 'dnsviz')) JQUERY_PATH = __JQUERY_PATH__ JQUERY_UI_PATH = __JQUERY_UI_PATH__ diff --git a/pkgs/tools/networking/dnsviz/default.nix b/pkgs/by-name/dn/dnsviz/package.nix similarity index 66% rename from pkgs/tools/networking/dnsviz/default.nix rename to pkgs/by-name/dn/dnsviz/package.nix index 46a9617cc2cc..bba786016014 100644 --- a/pkgs/tools/networking/dnsviz/default.nix +++ b/pkgs/by-name/dn/dnsviz/package.nix @@ -1,21 +1,18 @@ { lib, - buildPythonApplication, + python3Packages, fetchFromGitHub, - dnspython, - m2crypto, - pygraphviz, }: -buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "dnsviz"; - version = "0.9.4"; + version = "0.11.1"; src = fetchFromGitHub { owner = "dnsviz"; repo = "dnsviz"; - rev = "v${version}"; - sha256 = "sha256-x6LdPVQFfsJIuKde1+LbFKz5bBEi+Mri9sVH0nGsbCU="; + tag = "v${version}"; + hash = "sha256-JlPikEvRPFhHcTyRJ2ZgmQOrrc6qzhbAO6+NtiN+Wqo="; }; patches = [ @@ -23,22 +20,23 @@ buildPythonApplication rec { ./fix-path.patch ]; - propagatedBuildInputs = [ + postPatch = '' + substituteInPlace dnsviz/config.py.in \ + --replace-fail '@out@' $out + ''; + + dependencies = with python3Packages; [ dnspython m2crypto pygraphviz ]; - postPatch = '' - substituteInPlace dnsviz/config.py.in --replace '@out@' $out - ''; - # Tests require network connection and /etc/resolv.conf doCheck = false; pythonImportsCheck = [ "dnsviz" ]; - meta = with lib; { + meta = { description = "Tool suite for analyzing and visualizing DNS and DNSSEC behavior"; mainProgram = "dnsviz"; longDescription = '' @@ -47,7 +45,7 @@ buildPythonApplication rec { This tool suite powers the Web-based analysis available at https://dnsviz.net/ ''; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ jojosch ]; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ jojosch ]; }; } diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/by-name/gk/gkrellm/package.nix similarity index 75% rename from pkgs/applications/misc/gkrellm/default.nix rename to pkgs/by-name/gk/gkrellm/package.nix index 950983d5c9df..aada0333d9d8 100644 --- a/pkgs/applications/misc/gkrellm/default.nix +++ b/pkgs/by-name/gk/gkrellm/package.nix @@ -1,7 +1,7 @@ { lib, - fetchurl, stdenv, + fetchurl, gettext, pkg-config, glib, @@ -15,13 +15,13 @@ wrapGAppsHook3, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gkrellm"; - version = "2.3.11"; + version = "2.4.0"; src = fetchurl { - url = "http://gkrellm.srcbox.net/releases/gkrellm-${version}.tar.bz2"; - sha256 = "01lccz4fga40isv09j8rjgr0qy10rff9vj042n6gi6gdv4z69q0y"; + url = "http://gkrellm.srcbox.net/releases/gkrellm-${finalAttrs.version}.tar.bz2"; + hash = "sha256-b4NmV2C5Nq1LVfkYKx7HYB+vOKDyXqHkvdyZZQiPAy0="; }; nativeBuildInputs = [ @@ -30,6 +30,7 @@ stdenv.mkDerivation rec { which wrapGAppsHook3 ]; + buildInputs = [ gettext glib @@ -52,12 +53,11 @@ stdenv.mkDerivation rec { ''; makeFlags = [ "STRIP=-s" ]; - installFlags = [ "DESTDIR=$(out)" ]; - # This icon is used by the desktop file. - postInstall = '' - install -Dm444 -T src/icon.xpm $out/share/pixmaps/gkrellm.xpm - ''; + installFlags = [ + "DESTDIR=$(out)" + "PREFIX=''" + ]; desktopItems = [ (makeDesktopItem { @@ -74,16 +74,15 @@ stdenv.mkDerivation rec { }) ]; - meta = with lib; { + meta = { description = "Themeable process stack of system monitors"; longDescription = '' GKrellM is a single process stack of system monitors which supports applying themes to match its appearance to your window manager, Gtk, or any other theme. ''; - homepage = "http://gkrellm.srcbox.net"; - license = licenses.gpl3Plus; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/by-name/go/gotosocial/package.nix b/pkgs/by-name/go/gotosocial/package.nix index 639d0718a22b..dfa80583edfe 100644 --- a/pkgs/by-name/go/gotosocial/package.nix +++ b/pkgs/by-name/go/gotosocial/package.nix @@ -1,18 +1,19 @@ { lib, fetchurl, - fetchFromGitHub, + fetchFromGitea, buildGoModule, nixosTests, }: let + domain = "codeberg.org"; owner = "superseriousbusiness"; repo = "gotosocial"; version = "0.19.0"; web-assets = fetchurl { - url = "https://github.com/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz"; + url = "https://${domain}/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz"; hash = "sha256-Ba497VKK30MWcLlR4CDDUrFZKWf/UXiSgeDr/f7fFkc="; }; in @@ -20,8 +21,8 @@ buildGoModule rec { inherit version; pname = repo; - src = fetchFromGitHub { - inherit owner repo; + src = fetchFromGitea { + inherit domain owner repo; tag = "v${version}"; hash = "sha256-ioIsa2L1w4z1b7tWFhHScmPwRRq0WLngIdm4r2eCveM="; }; @@ -63,7 +64,7 @@ buildGoModule rec { meta = with lib; { homepage = "https://gotosocial.org"; - changelog = "https://github.com/superseriousbusiness/gotosocial/releases/tag/v${version}"; + changelog = "https://codeberg.org/superseriousbusiness/gotosocial/releases/tag/v${version}"; description = "Fast, fun, ActivityPub server, powered by Go"; longDescription = '' ActivityPub social network server, written in Golang. diff --git a/pkgs/by-name/li/libnvidia-container/package.nix b/pkgs/by-name/li/libnvidia-container/package.nix index f3d4764bed74..6f5119017601 100644 --- a/pkgs/by-name/li/libnvidia-container/package.nix +++ b/pkgs/by-name/li/libnvidia-container/package.nix @@ -12,14 +12,11 @@ makeWrapper, removeReferencesTo, replaceVars, - go_1_23, applyPatches, nvidia-modprobe, + go, }: let - # https://github.com/NVIDIA/libnvidia-container/pull/297 - go = go_1_23; - modprobeVersion = "550.54.14"; patchedModprobe = applyPatches { src = nvidia-modprobe.src.override { @@ -33,15 +30,15 @@ let ]; }; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libnvidia-container"; - version = "1.17.2"; + version = "1.17.6"; src = fetchFromGitHub { owner = "NVIDIA"; repo = "libnvidia-container"; - rev = "v${version}"; - hash = "sha256-JmJKvAOEPyjVx2Frd0tAMBjnAUTMpMh1KBt6wr5RRmk="; + tag = "v${finalAttrs.version}"; + hash = "sha256-kveP0Px9Fds7pS39aW+cqg2jtiQCMN2zG4GTGRqRrc0="; }; patches = [ @@ -65,13 +62,13 @@ stdenv.mkDerivation rec { postPatch = '' sed -i \ - -e 's/^REVISION ?=.*/REVISION = ${src.rev}/' \ + -e 's/^REVISION ?=.*/REVISION = ${finalAttrs.src.tag}/' \ -e 's/^COMPILER :=.*/COMPILER = $(CC)/' \ mk/common.mk sed -i \ - -e 's/^GIT_TAG ?=.*/GIT_TAG = ${version}/' \ - -e 's/^GIT_COMMIT ?=.*/GIT_COMMIT = ${src.rev}/' \ + -e 's/^GIT_TAG ?=.*/GIT_TAG = ${finalAttrs.version}/' \ + -e 's/^GIT_COMMIT ?=.*/GIT_COMMIT = ${finalAttrs.src.tag}/' \ versions.mk mkdir -p deps/src/nvidia-modprobe-${modprobeVersion} @@ -108,7 +105,7 @@ stdenv.mkDerivation rec { postFixup = '' for lib in libnvidia-container libnvidia-container-go; do rm -f "$out/lib/$lib.so" - ln -s "$out/lib/$lib.so.${version}" "$out/lib/$lib.so.1" + ln -s "$out/lib/$lib.so.${finalAttrs.version}" "$out/lib/$lib.so.1" ln -s "$out/lib/$lib.so.1" "$out/lib/$lib.so" done ''; @@ -164,20 +161,20 @@ stdenv.mkDerivation rec { ]; in '' - remove-references-to -t "${go}" $out/lib/libnvidia-container-go.so.${version} + remove-references-to -t "${go}" $out/lib/libnvidia-container-go.so.${finalAttrs.version} wrapProgram $out/bin/nvidia-container-cli --prefix LD_LIBRARY_PATH : ${libraryPath} ''; disallowedReferences = [ go ]; - meta = with lib; { + meta = { homepage = "https://github.com/NVIDIA/libnvidia-container"; description = "NVIDIA container runtime library"; - license = licenses.asl20; - platforms = platforms.linux; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; mainProgram = "nvidia-container-cli"; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ cpcloud msanft ]; }; -} +}) diff --git a/pkgs/by-name/my/mycelium/package.nix b/pkgs/by-name/my/mycelium/package.nix index fb8ac6f7730a..4d882527c115 100644 --- a/pkgs/by-name/my/mycelium/package.nix +++ b/pkgs/by-name/my/mycelium/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { pname = "mycelium"; - version = "0.5.7"; + version = "0.6.0"; sourceRoot = "${src.name}/myceliumd"; @@ -18,11 +18,11 @@ rustPlatform.buildRustPackage rec { owner = "threefoldtech"; repo = "mycelium"; rev = "v${version}"; - hash = "sha256-PbEoM+AnZTuo9xtwcDcTH9FZAzPzfBhX41+zVVTdgRo="; + hash = "sha256-H/LDDoWX8fDQMGknY4/SasRGC30fCmtWI3+p8XzEzCg="; }; useFetchCargoVendor = true; - cargoHash = "sha256-63AB63vmxXi6ugLCAOKI1eJcOB8XHWEiCc5yoIEqd+w="; + cargoHash = "sha256-9eiBFTb1dMKnM9VDPcV8dF7ChswVha0zCXjxlD2NCNc="; nativeBuildInputs = [ versionCheckHook ]; diff --git a/pkgs/servers/mail/opensmtpd/filter-rspamd.nix b/pkgs/by-name/op/opensmtpd-filter-rspamd/package.nix similarity index 100% rename from pkgs/servers/mail/opensmtpd/filter-rspamd.nix rename to pkgs/by-name/op/opensmtpd-filter-rspamd/package.nix diff --git a/pkgs/by-name/op/opensmtpd-table-ldap/package.nix b/pkgs/by-name/op/opensmtpd-table-ldap/package.nix new file mode 100644 index 000000000000..ac81d8d4a7d2 --- /dev/null +++ b/pkgs/by-name/op/opensmtpd-table-ldap/package.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libevent, + libressl, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "opensmtpd-table-ldap"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "OpenSMTPD"; + repo = "table-ldap"; + tag = finalAttrs.version; + hash = "sha256-dfwvgFYBED3GyZ347JSNIyiik133GYLT6p+XkIIm//w="; + }; + + strictDeps = true; + + buildInputs = [ + libevent + libressl + ]; + + nativeBuildInputs = [ + autoconf + automake + ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-path-socket=/run" + "--with-path-pidfile=/run" + ]; + + preConfigure = '' + sh bootstrap + ''; + + meta = { + homepage = "https://www.opensmtpd.org/"; + description = "ldap table for the OpenSMTPD mail server"; + changelog = "https://github.com/OpenSMTPD/table-ldap/releases/tag/${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + pks + ]; + }; +}) diff --git a/pkgs/by-name/op/opensmtpd-table-mysql/package.nix b/pkgs/by-name/op/opensmtpd-table-mysql/package.nix new file mode 100644 index 000000000000..c1bd227783b0 --- /dev/null +++ b/pkgs/by-name/op/opensmtpd-table-mysql/package.nix @@ -0,0 +1,53 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libmysqlclient, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "opensmtpd-table-mysql"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "OpenSMTPD"; + repo = "table-mysql"; + tag = finalAttrs.version; + hash = "sha256-0N1fuYJvJKAoOJMH2bX0pdvAqb26w/6JSuv6ycnRZHU="; + }; + + strictDeps = true; + + buildInputs = [ + libmysqlclient + ]; + + nativeBuildInputs = [ + autoconf + automake + libmysqlclient + ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-path-socket=/run" + "--with-path-pidfile=/run" + ]; + + preConfigure = '' + sh bootstrap + ''; + + meta = { + homepage = "https://www.opensmtpd.org/"; + description = "ldap table for the OpenSMTPD mail server"; + changelog = "https://github.com/OpenSMTPD/table-mysql/releases/tag/${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + pks + ]; + }; +}) diff --git a/pkgs/by-name/op/opensmtpd-table-passwd/package.nix b/pkgs/by-name/op/opensmtpd-table-passwd/package.nix new file mode 100644 index 000000000000..3a068ad41867 --- /dev/null +++ b/pkgs/by-name/op/opensmtpd-table-passwd/package.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "opensmtpd-table-passwd"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "OpenSMTPD"; + repo = "table-passwd"; + tag = finalAttrs.version; + hash = "sha256-veE7PADO8KAMEnMrDc9V/xbVMqwF3rUoYPmpQSIJw9o="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoconf + automake + ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-path-socket=/run" + "--with-path-pidfile=/run" + ]; + + preConfigure = '' + sh bootstrap + ''; + + meta = { + homepage = "https://www.opensmtpd.org/"; + description = "passwd table for the OpenSMTPD mail server"; + changelog = "https://github.com/OpenSMTPD/table-passwd/releases/tag/${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + pks + ]; + }; +}) diff --git a/pkgs/by-name/op/opensmtpd-table-postgres/package.nix b/pkgs/by-name/op/opensmtpd-table-postgres/package.nix new file mode 100644 index 000000000000..3e62a3cb7eb7 --- /dev/null +++ b/pkgs/by-name/op/opensmtpd-table-postgres/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + libpq, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "opensmtpd-table-postgres"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "OpenSMTPD"; + repo = "table-postgres"; + tag = finalAttrs.version; + hash = "sha256-CGtqCQnsUvgsBIJOVXphkisp3Iij+oW88w7Y1njusx8="; + }; + + strictDeps = true; + + buildInputs = [ + libpq + ]; + + nativeBuildInputs = [ + autoconf + automake + ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-path-socket=/run" + "--with-path-pidfile=/run" + ]; + + preConfigure = '' + sh bootstrap + ''; + + meta = { + homepage = "https://www.opensmtpd.org/"; + description = "ldap table for the OpenSMTPD mail server"; + changelog = "https://github.com/OpenSMTPD/table-postgres/releases/tag/${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + pks + ]; + }; +}) diff --git a/pkgs/by-name/op/opensmtpd-table-redis/package.nix b/pkgs/by-name/op/opensmtpd-table-redis/package.nix new file mode 100644 index 000000000000..e4f1cb775a9d --- /dev/null +++ b/pkgs/by-name/op/opensmtpd-table-redis/package.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + hiredis, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "opensmtpd-table-redis"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "OpenSMTPD"; + repo = "table-redis"; + tag = finalAttrs.version; + hash = "sha256-eS/jzran7/j3xrFuEqTLam0pokD/LBl4v2s/1ferCqk="; + }; + + strictDeps = true; + + buildInputs = [ + hiredis + ]; + + nativeBuildInputs = [ + autoconf + automake + ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-path-socket=/run" + "--with-path-pidfile=/run" + ]; + + env.NIX_CFLAGS_COMPILE = "-I${hiredis}/include/hiredis"; + + preConfigure = '' + sh bootstrap + ''; + + meta = { + homepage = "https://www.opensmtpd.org/"; + description = "ldap table for the OpenSMTPD mail server"; + changelog = "https://github.com/OpenSMTPD/table-redis/releases/tag/${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + pks + ]; + }; +}) diff --git a/pkgs/by-name/op/opensmtpd-table-socketmap/package.nix b/pkgs/by-name/op/opensmtpd-table-socketmap/package.nix new file mode 100644 index 000000000000..e3346765857c --- /dev/null +++ b/pkgs/by-name/op/opensmtpd-table-socketmap/package.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "opensmtpd-table-socketmap"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "OpenSMTPD"; + repo = "table-socketmap"; + tag = finalAttrs.version; + hash = "sha256-YTV0ijD264C7JAiB5ZfuCZhAmkLN0GSNl1vkZ3i3aRo="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoconf + automake + ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-path-socket=/run" + "--with-path-pidfile=/run" + ]; + + preConfigure = '' + sh bootstrap + ''; + + meta = { + homepage = "https://www.opensmtpd.org/"; + description = "ldap table for the OpenSMTPD mail server"; + changelog = "https://github.com/OpenSMTPD/table-socketmap/releases/tag/${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + pks + ]; + }; +}) diff --git a/pkgs/by-name/op/opensmtpd-table-sqlite/package.nix b/pkgs/by-name/op/opensmtpd-table-sqlite/package.nix new file mode 100644 index 000000000000..a85f91f48f17 --- /dev/null +++ b/pkgs/by-name/op/opensmtpd-table-sqlite/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoconf, + automake, + sqlite, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "opensmtpd-table-sqlite"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "OpenSMTPD"; + repo = "table-sqlite"; + tag = finalAttrs.version; + hash = "sha256-Y5AveTo+Ol6cMcxOW3/GMZZD+17HiQdQ4Vg5WHPjKgA="; + }; + + strictDeps = true; + + buildInputs = [ + sqlite + ]; + + nativeBuildInputs = [ + autoconf + automake + ]; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-path-socket=/run" + "--with-path-pidfile=/run" + ]; + + preConfigure = '' + sh bootstrap + ''; + + meta = { + homepage = "https://www.opensmtpd.org/"; + description = "ldap table for the OpenSMTPD mail server"; + changelog = "https://github.com/OpenSMTPD/table-sqlite/releases/tag/${finalAttrs.version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + pks + ]; + }; +}) diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/by-name/op/opensmtpd/package.nix similarity index 100% rename from pkgs/servers/mail/opensmtpd/default.nix rename to pkgs/by-name/op/opensmtpd/package.nix diff --git a/pkgs/servers/mail/opensmtpd/proc_path.diff b/pkgs/by-name/op/opensmtpd/proc_path.diff similarity index 100% rename from pkgs/servers/mail/opensmtpd/proc_path.diff rename to pkgs/by-name/op/opensmtpd/proc_path.diff diff --git a/pkgs/by-name/pe/peergos/package.nix b/pkgs/by-name/pe/peergos/package.nix index edf1c67f6b08..f1314e631b77 100644 --- a/pkgs/by-name/pe/peergos/package.nix +++ b/pkgs/by-name/pe/peergos/package.nix @@ -41,12 +41,12 @@ let in stdenv.mkDerivation rec { pname = "peergos"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "Peergos"; repo = "web-ui"; rev = "v${version}"; - hash = "sha256-te+m4S3mhYEocLd9NjQNFA8vbMf470V1dlPqCr0KLV4="; + hash = "sha256-X5yXTCHKGrdvuoKc5nFbn4CWunNsyoJI+EZLpknLAyA="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/re/reflection-cpp/package.nix b/pkgs/by-name/re/reflection-cpp/package.nix new file mode 100644 index 000000000000..6c0ed16764d9 --- /dev/null +++ b/pkgs/by-name/re/reflection-cpp/package.nix @@ -0,0 +1,28 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "reflection-cpp"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "contour-terminal"; + repo = "reflection-cpp"; + tag = "v${finalAttrs.version}"; + hash = "sha256-q0h8p6xJ1UectRe656B6mT5+QokxR9N8rqzvgwUBugg="; + }; + + nativeBuildInputs = [ cmake ]; + + meta = { + description = "C++ static reflection support library"; + homepage = "https://github.com/contour-terminal/reflection-cpp"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ emaryn ]; + }; +}) diff --git a/pkgs/by-name/ri/rip2/package.nix b/pkgs/by-name/ri/rip2/package.nix index d7da56c59c7c..9895571a9385 100644 --- a/pkgs/by-name/ri/rip2/package.nix +++ b/pkgs/by-name/ri/rip2/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "rip2"; - version = "0.9.3"; + version = "0.9.4"; src = fetchFromGitHub { owner = "MilesCranmer"; repo = "rip2"; rev = "v${version}"; - hash = "sha256-bwIvjpZgX95Vg14sU6JmYuWNHP38ZBM98ii/Rze+lqA="; + hash = "sha256-lNMFbc0TItvVuzwpVbe7qWlSCzIaFi0/cQwfq2itzbY="; }; useFetchCargoVendor = true; - cargoHash = "sha256-G4AlFICHkBzpVoXbKp8TIyUZ78bhwPxNNeQRMOxfq6o="; + cargoHash = "sha256-KUVybOCtc66AubXjei0YCkXirfuIDgK3xSxjNODun98="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/sy/syft/package.nix b/pkgs/by-name/sy/syft/package.nix index 2c1ecf61d3fc..444059167688 100644 --- a/pkgs/by-name/sy/syft/package.nix +++ b/pkgs/by-name/sy/syft/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "syft"; - version = "1.22.0"; + version = "1.23.1"; src = fetchFromGitHub { owner = "anchore"; repo = "syft"; tag = "v${version}"; - hash = "sha256-gaOpPgFwnGaDWqJqgZSCZr8kNBhJsb1D3nfaBGwPeG4="; + hash = "sha256-GSDkSM6mQIBb25ez74Cpdri8Ryl6LJz08bumj37yZBA="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -28,7 +28,7 @@ buildGoModule rec { # hash mismatch with darwin proxyVendor = true; - vendorHash = "sha256-cYZ/7bZHQcKYy9Jg/RrlwZoqOHL3uLAn60JFC3TsVnE="; + vendorHash = "sha256-1vzN92jcksIu0QklQ73dsC9ng193WCinN0BxOWLLQ7Y="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 76e04309f6eb..9bdc03393c89 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -99,7 +99,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.183.10"; + version = "0.183.11"; outputs = [ "out" ] @@ -111,7 +111,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-0OiErSiYGobh4CrdFEdEeeYEd4V28qHoo8Af5d/brug="; + hash = "sha256-ctJpwlWue8ntI6dcPhxEV1aQ1Abs2Am2lqVQpYXp7V0="; }; patches = [ @@ -129,7 +129,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; useFetchCargoVendor = true; - cargoHash = "sha256-/3OqgKN3SUeA9tPG8g9RfqP0gAT2OA44mNF5US5aUa0="; + cargoHash = "sha256-QC1EiWLiuk+4CG4+6dU0/r6Qvpra8QDPOwEFv76ThAI="; nativeBuildInputs = [ diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index aaf0dd43dc80..57a9afc8a9de 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -13,6 +13,16 @@ let # Coerces a string to an int. coerceInt = val: if lib.isInt val then val else lib.toIntBase10 val; + + # Parses a single version, substituting "latest" with the latest version. + parseVersion = + repo: key: version: + if version == "latest" then repo.latest.${key} else version; + + # Parses a list of versions, substituting "latest" with the latest version. + parseVersions = + repo: key: versions: + lib.unique (map (parseVersion repo key) versions); in { repoJson ? ./repo.json, @@ -74,27 +84,31 @@ in else lib.importJSON repoJson ), - cmdLineToolsVersion ? repo.latest.cmdline-tools, - toolsVersion ? repo.latest.tools, - platformToolsVersion ? repo.latest.platform-tools, - buildToolsVersions ? [ repo.latest.build-tools ], + cmdLineToolsVersion ? "latest", + toolsVersion ? "latest", + platformToolsVersion ? "latest", + buildToolsVersions ? [ "latest" ], includeEmulator ? false, - emulatorVersion ? repo.latest.emulator, + emulatorVersion ? "latest", minPlatformVersion ? null, - maxPlatformVersion ? coerceInt repo.latest.platforms, + maxPlatformVersion ? "latest", numLatestPlatformVersions ? 1, platformVersions ? if minPlatformVersion != null && maxPlatformVersion != null then let - minPlatformVersionInt = coerceInt minPlatformVersion; - maxPlatformVersionInt = coerceInt maxPlatformVersion; + minPlatformVersionInt = coerceInt (parseVersion repo "platforms" minPlatformVersion); + maxPlatformVersionInt = coerceInt (parseVersion repo "platforms" maxPlatformVersion); in lib.range (lib.min minPlatformVersionInt maxPlatformVersionInt) ( lib.max minPlatformVersionInt maxPlatformVersionInt ) else let - minPlatformVersionInt = if minPlatformVersion == null then 1 else coerceInt minPlatformVersion; + minPlatformVersionInt = + if minPlatformVersion == null then + 1 + else + coerceInt (parseVersion repo "platforms" minPlatformVersion); latestPlatformVersionInt = lib.max minPlatformVersionInt (coerceInt repo.latest.platforms); firstPlatformVersionInt = lib.max minPlatformVersionInt ( latestPlatformVersionInt - (lib.max 1 numLatestPlatformVersions) + 1 @@ -115,9 +129,9 @@ in ], # cmake has precompiles on x86_64 and Darwin platforms. Default to true there for compatibility. includeCmake ? stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin, - cmakeVersions ? [ repo.latest.cmake ], + cmakeVersions ? [ "latest" ], includeNDK ? false, - ndkVersion ? repo.latest.ndk, + ndkVersion ? "latest", ndkVersions ? [ ndkVersion ], useGoogleAPIs ? false, useGoogleTVAddOns ? false, @@ -126,6 +140,9 @@ in }: let + # Resolve all the platform versions. + platformVersions' = map coerceInt (parseVersions repo "platforms" platformVersions); + # Determine the Android os identifier from Nix's system identifier os = { @@ -420,7 +437,9 @@ lib.recurseIntoAttrs rec { arch meta ; - package = checkVersion allArchives.packages "platform-tools" platformToolsVersion; + package = checkVersion allArchives.packages "platform-tools" ( + parseVersion repo "platform-tools" platformToolsVersion + ); }; tools = callPackage ./tools.nix { @@ -430,7 +449,7 @@ lib.recurseIntoAttrs rec { arch meta ; - package = checkVersion allArchives.packages "tools" toolsVersion; + package = checkVersion allArchives.packages "tools" (parseVersion repo "tools" toolsVersion); postInstall = '' ${linkPlugin { @@ -464,7 +483,7 @@ lib.recurseIntoAttrs rec { }} ''; } - ) buildToolsVersions; + ) (parseVersions repo "build-tools" buildToolsVersions); emulator = callPackage ./emulator.nix { inherit @@ -473,7 +492,9 @@ lib.recurseIntoAttrs rec { arch meta ; - package = checkVersion allArchives.packages "emulator" emulatorVersion; + package = checkVersion allArchives.packages "emulator" ( + parseVersion repo "emulator" emulatorVersion + ); postInstall = '' ${linkSystemImages { @@ -483,21 +504,21 @@ lib.recurseIntoAttrs rec { ''; }; - inherit platformVersions; + platformVersions = platformVersions'; platforms = map ( version: deployAndroidPackage { package = checkVersion allArchives.packages "platforms" version; } - ) platformVersions; + ) platformVersions'; sources = map ( version: deployAndroidPackage { package = checkVersion allArchives.packages "sources" version; } - ) platformVersions; + ) platformVersions'; system-images = lib.flatten ( map ( @@ -538,7 +559,7 @@ lib.recurseIntoAttrs rec { patchesInstructions = instructions; }) ) systemImageTypes - ) platformVersions + ) platformVersions' ); cmake = map ( @@ -552,7 +573,7 @@ lib.recurseIntoAttrs rec { ; package = checkVersion allArchives.packages "cmake" version; } - ) cmakeVersions; + ) (parseVersions repo "cmake" cmakeVersions); # All NDK bundles. ndk-bundles = @@ -576,11 +597,11 @@ lib.recurseIntoAttrs rec { version: let package = makeNdkBundle ( - allArchives.packages.ndk-bundle.${ndkVersion} or allArchives.packages.ndk.${ndkVersion} + allArchives.packages.ndk-bundle.${version} or allArchives.packages.ndk.${version} ); in lib.optional (shouldLink includeNDK [ package ]) package - ) ndkVersions + ) (parseVersions repo "ndk" ndkVersions) ); # The "default" NDK bundle. @@ -592,7 +613,7 @@ lib.recurseIntoAttrs rec { deployAndroidPackage { package = (checkVersion allArchives "addons" version).google_apis; } - ) (lib.filter (hasVersion allArchives "addons") platformVersions); + ) (lib.filter (hasVersion allArchives "addons") platformVersions'); # Makes a Google TV addons bundle from supported versions. google-tv-addons = map ( @@ -600,9 +621,11 @@ lib.recurseIntoAttrs rec { deployAndroidPackage { package = (checkVersion allArchives "addons" version).google_tv_addon; } - ) (lib.filter (hasVersion allArchives "addons") platformVersions); + ) (lib.filter (hasVersion allArchives "addons") platformVersions'); - cmdline-tools-package = checkVersion allArchives.packages "cmdline-tools" cmdLineToolsVersion; + cmdline-tools-package = checkVersion allArchives.packages "cmdline-tools" ( + parseVersion repo "cmdline-tools" cmdLineToolsVersion + ); # This derivation deploys the tools package and symlinks all the desired # plugins that we want to use. If the license isn't accepted, prints all the licenses diff --git a/pkgs/development/mobile/androidenv/examples/shell.nix b/pkgs/development/mobile/androidenv/examples/shell.nix index 9058e1664fe6..423753cae366 100644 --- a/pkgs/development/mobile/androidenv/examples/shell.nix +++ b/pkgs/development/mobile/androidenv/examples/shell.nix @@ -45,11 +45,19 @@ let # The head unit only works on these platforms includeAuto = pkgs.stdenv.hostPlatform.isx86_64 || pkgs.stdenv.hostPlatform.isDarwin; + ndkVersions = [ + "23.1.7779620" + "25.1.8937393" + "26.1.10909125" + "latest" + ]; + androidComposition = androidEnv.composeAndroidPackages { includeSources = true; includeSystemImages = false; includeEmulator = "if-supported"; includeNDK = "if-supported"; + inherit ndkVersions; useGoogleAPIs = true; useGoogleTVAddOns = true; @@ -191,6 +199,12 @@ pkgs.mkShell rec { fi done + num_ndk_packages="$(echo "$installed_packages_section" | grep '^ndk;' | wc -l)" + if [ $num_ndk_packages -ne ${toString (pkgs.lib.length ndkVersions)} ]; then + echo "Invalid NDK package count: $num_ndk_packages" + exit 1 + fi + touch "$out" ''; }; diff --git a/pkgs/development/python-modules/batchspawner/default.nix b/pkgs/development/python-modules/batchspawner/default.nix index d53834e60b18..a4658f9b0694 100644 --- a/pkgs/development/python-modules/batchspawner/default.nix +++ b/pkgs/development/python-modules/batchspawner/default.nix @@ -2,11 +2,15 @@ lib, buildPythonPackage, fetchFromGitHub, + + # build-system setuptools, - wheel, + + # dependencies jinja2, jupyterhub, - pythonOlder, + + # tests pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -17,8 +21,6 @@ buildPythonPackage rec { version = "1.3.0"; pyproject = true; - disabled = pythonOlder "3.6"; - src = fetchFromGitHub { owner = "jupyterhub"; repo = "batchspawner"; @@ -26,9 +28,17 @@ buildPythonPackage rec { hash = "sha256-Z7kB8b7s11wokTachLI/N+bdUV+FfCRTemL1KYQpzio="; }; + # When using pytest-asyncio>=0.24, jupyterhub no longer re-defines the event_loop function in its + # conftest.py, so it cannot be imported from there. + postPatch = '' + substituteInPlace batchspawner/tests/conftest.py \ + --replace-fail \ + "from jupyterhub.tests.conftest import db, event_loop # noqa" \ + "from jupyterhub.tests.conftest import db" + ''; + build-system = [ setuptools - wheel ]; dependencies = [ @@ -44,12 +54,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "batchspawner" ]; - meta = with lib; { + meta = { description = "Spawner for Jupyterhub to spawn notebooks using batch resource managers"; mainProgram = "batchspawner-singleuser"; homepage = "https://github.com/jupyterhub/batchspawner"; changelog = "https://github.com/jupyterhub/batchspawner/blob/v${version}/CHANGELOG.md"; - license = licenses.bsd3; + license = lib.licenses.bsd3; maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/jupyterhub/default.nix b/pkgs/development/python-modules/jupyterhub/default.nix index 0e1fa2f5bc22..2b2e302ae490 100644 --- a/pkgs/development/python-modules/jupyterhub/default.nix +++ b/pkgs/development/python-modules/jupyterhub/default.nix @@ -1,72 +1,81 @@ { lib, - stdenv, - alembic, - async-generator, - beautifulsoup4, buildPythonPackage, - certipy, - configurable-http-proxy, - cryptography, fetchFromGitHub, fetchNpmDeps, - idna, - importlib-metadata, - jinja2, - jsonschema, - jupyter-events, - jupyterlab, - mock, - nbclassic, + configurable-http-proxy, + + # nativeBuildInputs nodejs, npmHooks, + + # build-system + setuptools, + setuptools-scm, + + # dependencies + alembic, + certipy, + idna, + jinja2, + jupyter-events, oauthlib, packaging, pamela, - playwright, prometheus-client, pydantic, - pytest-asyncio, - pytestCheckHook, python-dateutil, - pythonOlder, requests, - requests-mock, - setuptools, - setuptools-scm, sqlalchemy, tornado, traitlets, + pythonOlder, + async-generator, + importlib-metadata, + + # tests + addBinToPathHook, + beautifulsoup4, + cryptography, + jsonschema, + jupyterlab, + mock, + nbclassic, + playwright, + pytest-asyncio, + pytestCheckHook, + requests-mock, + versionCheckHook, virtualenv, }: buildPythonPackage rec { pname = "jupyterhub"; - version = "5.2.1"; + version = "5.3.0"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "jupyterhub"; repo = "jupyterhub"; rev = "refs/tags/${version}"; - hash = "sha256-zOWcXpByJRzI9sTjTl+w/vo99suKOEN0TvPn1ZWlNmc="; + hash = "sha256-FAVNS7GPvglFuSTDTAUtZ6ZzY4yH+eo34KhUQ4C3b4I="; }; npmDeps = fetchNpmDeps { inherit src; - hash = "sha256-My7WUAqIvOrbbVTxSnA6a5NviM6u95+iyykx1xbudpw="; + hash = "sha256-1ffF3i/IgE+J+0M+z6bzwZ9H8u0EYcYXTiBD9Jj7HdQ="; }; postPatch = '' - substituteInPlace jupyterhub/proxy.py --replace-fail \ - "'configurable-http-proxy'" \ - "'${configurable-http-proxy}/bin/configurable-http-proxy'" + substituteInPlace jupyterhub/proxy.py \ + --replace-fail \ + "'configurable-http-proxy'" \ + "'${lib.getExe configurable-http-proxy}'" - substituteInPlace jupyterhub/tests/test_proxy.py --replace-fail \ - "'configurable-http-proxy'" \ - "'${configurable-http-proxy}/bin/configurable-http-proxy'" + substituteInPlace jupyterhub/tests/test_proxy.py \ + --replace-fail \ + "'configurable-http-proxy'" \ + "'${lib.getExe configurable-http-proxy}'" ''; nativeBuildInputs = [ @@ -102,7 +111,10 @@ buildPythonPackage rec { importlib-metadata ]; + pythonImportsCheck = [ "jupyterhub" ]; + nativeCheckInputs = [ + addBinToPathHook beautifulsoup4 cryptography jsonschema @@ -124,12 +136,10 @@ buildPythonPackage rec { )) pytestCheckHook requests-mock + versionCheckHook virtualenv ]; - - preCheck = '' - export PATH=$out/bin:$PATH; - ''; + versionCheckProgramArg = "--version"; disabledTests = [ # Tries to install older versions through pip @@ -164,13 +174,15 @@ buildPythonPackage rec { "jupyterhub/tests/test_user.py" ]; - meta = with lib; { + meta = { description = "Serves multiple Jupyter notebook instances"; homepage = "https://github.com/jupyterhub/jupyterhub"; changelog = "https://github.com/jupyterhub/jupyterhub/blob/${version}/docs/source/reference/changelog.md"; - license = licenses.bsd3; - teams = [ teams.jupyter ]; - # darwin: E OSError: dlopen(/nix/store/43zml0mlr17r5jsagxr00xxx91hz9lky-openpam-20170430/lib/libpam.so, 6): image not found - broken = stdenv.hostPlatform.isDarwin; + license = lib.licenses.bsd3; + teams = [ lib.teams.jupyter ]; + badPlatforms = [ + # E OSError: dlopen(/nix/store/43zml0mlr17r5jsagxr00xxx91hz9lky-openpam-20170430/lib/libpam.so, 6): image not found + lib.systems.inspect.patterns.isDarwin + ]; }; } diff --git a/pkgs/development/python-modules/pyghmi/default.nix b/pkgs/development/python-modules/pyghmi/default.nix index 002585da278f..59133646877f 100644 --- a/pkgs/development/python-modules/pyghmi/default.nix +++ b/pkgs/development/python-modules/pyghmi/default.nix @@ -15,12 +15,12 @@ buildPythonPackage rec { pname = "pyghmi"; - version = "1.5.77"; + version = "1.6.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-RGV3d944MKrbuBM/eX9NIyHiasmLkkHH+zyeEjkIt7U="; + hash = "sha256-jPfGPKQkHLyapGWJ0o05e79pPlw0UWNJeHHJgb+MdFQ="; }; build-system = [ diff --git a/pkgs/servers/mail/opensmtpd/extras.nix b/pkgs/servers/mail/opensmtpd/extras.nix deleted file mode 100644 index 8f09e5803fa8..000000000000 --- a/pkgs/servers/mail/opensmtpd/extras.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - openssl, - libevent, - libasr, - ncurses, - pkg-config, - lua5, - perl, - libmysqlclient, - libpq, - sqlite, - hiredis, - enableLua ? true, - enablePerl ? true, - enableMysql ? true, - enablePostgres ? true, - enableSqlite ? true, - enableRedis ? true, -}: - -stdenv.mkDerivation rec { - pname = "opensmtpd-extras"; - version = "6.7.1"; - - src = fetchurl { - url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz"; - sha256 = "1b1mx71bvmv92lbm08wr2p60g3qhikvv3n15zsr6dcwbk9aqahzq"; - }; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - libevent - libasr - lua5 - perl - libmysqlclient - libpq - sqlite - hiredis - ]; - - configureFlags = - [ - "--sysconfdir=/etc" - "--localstatedir=/var" - "--with-privsep-user=smtpd" - "--with-libevent-dir=${libevent.dev}" - - "--with-filter-clamav" - "--with-filter-dkim-signer" - "--with-filter-dnsbl" - "--with-filter-monkey" - "--with-filter-pause" - "--with-filter-regex" - "--with-filter-spamassassin" - "--with-filter-stub" - "--with-filter-trace" - "--with-filter-void" - "--with-queue-null" - "--with-queue-ram" - "--with-queue-stub" - "--with-table-ldap" - "--with-table-socketmap" - "--with-table-passwd" - "--with-table-stub" - "--with-scheduler-ram" - "--with-scheduler-stub" - - ] - ++ lib.optionals enableLua [ - "--with-lua=${pkg-config}" - "--with-filter-lua" - - ] - ++ lib.optionals enablePerl [ - "--with-perl=${perl}" - "--with-filter-perl" - - ] - ++ lib.optionals enableMysql [ - "--with-table-mysql" - - ] - ++ lib.optionals enablePostgres [ - "--with-table-postgres" - - ] - ++ lib.optionals enableSqlite [ - "--with-table-sqlite" - - ] - ++ lib.optionals enableRedis [ - "--with-table-redis" - ]; - - env.NIX_CFLAGS_COMPILE = - lib.optionalString enableRedis "-I${hiredis}/include/hiredis -lhiredis" - + lib.optionalString enableMysql " -L${libmysqlclient}/lib/mysql"; - - meta = with lib; { - homepage = "https://www.opensmtpd.org/"; - description = "Extra plugins for the OpenSMTPD mail server"; - license = licenses.isc; - platforms = platforms.linux; - maintainers = with maintainers; [ - ekleog - ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index bbbd12d0c5bc..4229747556b3 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1352,6 +1352,7 @@ mapAliases { openlens = throw "Lens Closed its source code, package obsolete/stale - consider lens as replacement"; # Added 2024-09-04 openlp = throw "openlp has been removed for now because the outdated version depended on insecure and removed packages and it needs help to upgrade and maintain it; see https://github.com/NixOS/nixpkgs/pull/314882"; # Added 2024-07-29 openmpt123 = throw "'openmpt123' has been renamed to/replaced by 'libopenmpt'"; # Converted to throw 2024-10-17 + opensmtpd-extras = throw "opensmtpd-extras has been removed in favor of separate opensmtpd-table-* packages"; # Added 2025-01-26 openssl_3_0 = openssl_3; # Added 2022-06-27 opensycl = lib.warnOnInstantiate "'opensycl' has been renamed to 'adaptivecpp'" adaptivecpp; # Added 2024-12-04 opensyclWithRocm = lib.warnOnInstantiate "'opensyclWithRocm' has been renamed to 'adaptivecppWithRocm'" adaptivecppWithRocm; # Added 2024-12-04 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cf1c544a6f74..18f9e0b8f132 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2979,8 +2979,6 @@ with pkgs; deluge-2_x = deluge; - dnsviz = python3Packages.callPackage ../tools/networking/dnsviz { }; - diffoscopeMinimal = diffoscope.override { enableBloat = false; }; @@ -11202,10 +11200,6 @@ with pkgs; modules = [ ]; }; - opensmtpd = callPackage ../servers/mail/opensmtpd { }; - opensmtpd-extras = callPackage ../servers/mail/opensmtpd/extras.nix { }; - opensmtpd-filter-rspamd = callPackage ../servers/mail/opensmtpd/filter-rspamd.nix { }; - system-sendmail = lowPrio (callPackage ../servers/mail/system-sendmail { }); # PulseAudio daemons @@ -13349,8 +13343,6 @@ with pkgs; jdk = jdk.override { enableJavaFX = true; }; }; - gkrellm = callPackage ../applications/misc/gkrellm { }; - gnunet = callPackage ../applications/networking/p2p/gnunet { }; gnunet-gtk = callPackage ../applications/networking/p2p/gnunet/gtk.nix { };