diff --git a/doc/packages/index.md b/doc/packages/index.md index 38dba5b3498f..69dd8c3b3bff 100644 --- a/doc/packages/index.md +++ b/doc/packages/index.md @@ -24,6 +24,7 @@ shell-helpers.section.md steam.section.md cataclysm-dda.section.md urxvt.section.md +vcpkg.section.md weechat.section.md xorg.section.md ``` diff --git a/doc/packages/vcpkg.section.md b/doc/packages/vcpkg.section.md new file mode 100644 index 000000000000..b0fa5fd22fd4 --- /dev/null +++ b/doc/packages/vcpkg.section.md @@ -0,0 +1,24 @@ +# VCPKG {#sec-vcpkg} + +The `vcpkg-tool` package has a wrapper around the `vcpkg` executable to avoid writing to the nix store. +The wrapper will also be present in `vcpkg`, unless you specify `vcpkg.override { vcpkg-tool = vcpkg-tool-unwrapped; }` + +The wrapper has been made in a way so that it will provide default cli arguments, but tries not to interfere if the user provides the same arguments. +The arguments also have corresponding environment variables that can be used as an alternative way of overriding these paths. + +Run the wrapper with the environment variable `NIX_VCPKG_DEBUG_PRINT_ENVVARS=true` to get a full list of corresponding environment variables. + +## Nix specific environment variables {#sec-vcpkg-nix-envvars} + +The wrapper also provides some new nix-specific environment variables that lets you control some of the wrapper functionality. + +- `NIX_VCPKG_WRITABLE_PATH = ` + + Set this environment variable to specify the path where `vcpkg` will store buildtime artifacts. + This will become the base path for all of the other paths. + +- `NIX_VCPKG_DEBUG_PRINT_ENVVARS = true | false` + + Set this to `true` for the wrapper to print the corresponding environment variables for the arguments that will be provided to the unwrapped executable. + The list of variables will be printed right before invoking `vcpkg`. + This can be useful if you suspect that the wrapper for some reason was unable to prioritize user-provided cli args over its default ones, or for fixing other issues like typos or unexpanded environment variables. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5716dc7a271c..f92e6a3b8007 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2066,6 +2066,13 @@ githubId = 76545554; name = "Avery"; }; + averyanalex = { + name = "Alexander Averyanov"; + email = "alex@averyan.ru"; + github = "averyanalex"; + githubId = 59499799; + keys = [ { fingerprint = "A0FF 4F26 6B80 0B86 726D EA5B 3C23 C7BD 9945 2036"; } ]; + }; avh4 = { email = "gruen0aermel@gmail.com"; github = "avh4"; diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index 1220bbfd5ed7..208eaf59dc5c 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -202,13 +202,11 @@ assert (lib.assertMsg (lib.all == ((attrs.group or null) == null)) contents) "Contents of the disk image should set none of {user, group} or both at the same time."); -with lib; - let format' = format; in let format = if format' == "qcow2-compressed" then "qcow2" else format'; - compress = optionalString (format' == "qcow2-compressed") "-c"; + compress = lib.optionalString (format' == "qcow2-compressed") "-c"; filename = "nixos." + { qcow2 = "qcow2"; @@ -240,7 +238,7 @@ let format' = format; in let mkpart primary ext4 2MB -1 \ align-check optimal 2 \ print - ${optionalString deterministic '' + ${lib.optionalString deterministic '' sgdisk \ --disk-guid=97FD5997-D90B-4AA3-8D16-C1723AEA73C \ --partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \ @@ -255,7 +253,7 @@ let format' = format; in let mkpart ESP fat32 8MiB ${bootSize} \ set 1 boot on \ mkpart primary ext4 ${bootSize} -1 - ${optionalString deterministic '' + ${lib.optionalString deterministic '' sgdisk \ --disk-guid=97FD5997-D90B-4AA3-8D16-C1723AEA73C \ --partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \ @@ -271,7 +269,7 @@ let format' = format; in let mkpart BOOT fat32 100MiB ${bootSize} \ set 2 bls_boot on \ mkpart ROOT ext4 ${bootSize} -1 - ${optionalString deterministic '' + ${lib.optionalString deterministic '' sgdisk \ --disk-guid=97FD5997-D90B-4AA3-8D16-C1723AEA73C \ --partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \ @@ -288,7 +286,7 @@ let format' = format; in let mkpart no-fs 0 1024KiB \ set 2 bios_grub on \ mkpart primary ext4 ${bootSize} -1 - ${optionalString deterministic '' + ${lib.optionalString deterministic '' sgdisk \ --disk-guid=97FD5997-D90B-4AA3-8D16-C1723AEA73C \ --partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \ @@ -302,7 +300,7 @@ let format' = format; in let useEFIBoot = touchEFIVars; - nixpkgs = cleanSource pkgs.path; + nixpkgs = lib.cleanSource pkgs.path; # FIXME: merge with channel.nix / make-channel.nix. channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" {} '' @@ -316,8 +314,8 @@ let format' = format; in let echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix ''; - binPath = with pkgs; makeBinPath ( - [ rsync + binPath = lib.makeBinPath (with pkgs; [ + rsync util-linux parted e2fsprogs @@ -342,7 +340,7 @@ let format' = format; in let basePaths = [ config.system.build.toplevel ] ++ lib.optional copyChannel channelSources; - additionalPaths' = subtractLists basePaths additionalPaths; + additionalPaths' = lib.subtractLists basePaths additionalPaths; closureInfo = pkgs.closureInfo { rootPaths = basePaths ++ additionalPaths'; @@ -389,9 +387,9 @@ let format' = format; in let # Semi-shamelessly copied from make-etc.sh. I (@copumpkin) shall factor this stuff out as part of # https://github.com/NixOS/nixpkgs/issues/23052. set -f - sources_=(${concatStringsSep " " sources}) - targets_=(${concatStringsSep " " targets}) - modes_=(${concatStringsSep " " modes}) + sources_=(${lib.concatStringsSep " " sources}) + targets_=(${lib.concatStringsSep " " targets}) + modes_=(${lib.concatStringsSep " " modes}) set +f for ((i = 0; i < ''${#targets_[@]}; i++)); do @@ -443,8 +441,8 @@ let format' = format; in let ${if copyChannel then "--channel ${channelSources}" else "--no-channel-copy"} \ --substituters "" - ${optionalString (additionalPaths' != []) '' - nix --extra-experimental-features nix-command copy --to $root --no-check-sigs ${concatStringsSep " " additionalPaths'} + ${lib.optionalString (additionalPaths' != []) '' + nix --extra-experimental-features nix-command copy --to $root --no-check-sigs ${lib.concatStringsSep " " additionalPaths'} ''} diskImage=nixos.raw @@ -514,10 +512,10 @@ let format' = format; in let ''} echo "copying staging root to image..." - cptofs -p ${optionalString (partitionTableType != "none") "-P ${rootPartition}"} \ + cptofs -p ${lib.optionalString (partitionTableType != "none") "-P ${rootPartition}"} \ -t ${fsType} \ -i $diskImage \ - $root${optionalString onlyNixStore builtins.storeDir}/* / || + $root${lib.optionalString onlyNixStore builtins.storeDir}/* / || (echo >&2 "ERROR: cptofs failed. diskSize might be too small for closure."; exit 1) ''; @@ -547,7 +545,7 @@ let format' = format; in let buildInputs = with pkgs; [ util-linux e2fsprogs dosfstools ]; postVM = moveOrConvertImage + createHydraBuildProducts + postVM; QEMU_OPTS = - concatStringsSep " " (lib.optional useEFIBoot "-drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}" + lib.concatStringsSep " " (lib.optional useEFIBoot "-drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}" ++ lib.optionals touchEFIVars [ "-drive if=pflash,format=raw,unit=1,file=$efiVars" ] ++ lib.optionals (OVMF.systemManagementModeRequired or false) [ @@ -564,8 +562,8 @@ let format' = format; in let # It is necessary to set root filesystem unique identifier in advance, otherwise # bootloader might get the wrong one and fail to boot. # At the end, we reset again because we want deterministic timestamps. - ${optionalString (fsType == "ext4" && deterministic) '' - tune2fs -T now ${optionalString deterministic "-U ${rootFSUID}"} -c 0 -i 0 $rootDisk + ${lib.optionalString (fsType == "ext4" && deterministic) '' + tune2fs -T now ${lib.optionalString deterministic "-U ${rootFSUID}"} -c 0 -i 0 $rootDisk ''} # make systemd-boot find ESP without udev mkdir /dev/block @@ -577,33 +575,33 @@ let format' = format; in let # Create the ESP and mount it. Unlike e2fsprogs, mkfs.vfat doesn't support an # '-E offset=X' option, so we can't do this outside the VM. - ${optionalString (partitionTableType == "efi" || partitionTableType == "hybrid") '' + ${lib.optionalString (partitionTableType == "efi" || partitionTableType == "hybrid") '' mkdir -p /mnt/boot mkfs.vfat -n ESP /dev/vda1 mount /dev/vda1 /mnt/boot - ${optionalString touchEFIVars "mount -t efivarfs efivarfs /sys/firmware/efi/efivars"} + ${lib.optionalString touchEFIVars "mount -t efivarfs efivarfs /sys/firmware/efi/efivars"} ''} - ${optionalString (partitionTableType == "efixbootldr") '' + ${lib.optionalString (partitionTableType == "efixbootldr") '' mkdir -p /mnt/{boot,efi} mkfs.vfat -n ESP /dev/vda1 mkfs.vfat -n BOOT /dev/vda2 mount /dev/vda1 /mnt/efi mount /dev/vda2 /mnt/boot - ${optionalString touchEFIVars "mount -t efivarfs efivarfs /sys/firmware/efi/efivars"} + ${lib.optionalString touchEFIVars "mount -t efivarfs efivarfs /sys/firmware/efi/efivars"} ''} # Install a configuration.nix mkdir -p /mnt/etc/nixos - ${optionalString (configFile != null) '' + ${lib.optionalString (configFile != null) '' cp ${configFile} /mnt/etc/nixos/configuration.nix ''} ${lib.optionalString installBootLoader '' # In this throwaway resource, we only have /dev/vda, but the actual VM may refer to another disk for bootloader, e.g. /dev/vdb # Use this option to create a symlink from vda to any arbitrary device you want. - ${optionalString (config.boot.loader.grub.enable) (lib.concatMapStringsSep " " (device: + ${lib.optionalString (config.boot.loader.grub.enable) (lib.concatMapStringsSep " " (device: lib.optionalString (device != "/dev/vda") '' mkdir -p "$(dirname ${device})" ln -s /dev/vda ${device} @@ -625,9 +623,9 @@ let format' = format; in let # Set the ownerships of the contents. The modes are set in preVM. # No globbing on targets, so no need to set -f - targets_=(${concatStringsSep " " targets}) - users_=(${concatStringsSep " " users}) - groups_=(${concatStringsSep " " groups}) + targets_=(${lib.concatStringsSep " " targets}) + users_=(${lib.concatStringsSep " " users}) + groups_=(${lib.concatStringsSep " " groups}) for ((i = 0; i < ''${#targets_[@]}; i++)); do target="''${targets_[$i]}" user="''${users_[$i]}" @@ -646,9 +644,9 @@ let format' = format; in let # In deterministic mode, this is fixed to 1970-01-01 (UNIX timestamp 0). # This two-step approach is necessary otherwise `tune2fs` will want a fresher filesystem to perform # some changes. - ${optionalString (fsType == "ext4") '' - tune2fs -T now ${optionalString deterministic "-U ${rootFSUID}"} -c 0 -i 0 $rootDisk - ${optionalString deterministic "tune2fs -f -T 19700101 $rootDisk"} + ${lib.optionalString (fsType == "ext4") '' + tune2fs -T now ${lib.optionalString deterministic "-U ${rootFSUID}"} -c 0 -i 0 $rootDisk + ${lib.optionalString deterministic "tune2fs -f -T 19700101 $rootDisk"} ''} '' ); diff --git a/nixos/modules/config/ldap.nix b/nixos/modules/config/ldap.nix index 7f79db8d0a60..fd26750c273b 100644 --- a/nixos/modules/config/ldap.nix +++ b/nixos/modules/config/ldap.nix @@ -1,9 +1,7 @@ { config, lib, pkgs, ... }: -with pkgs; -with lib; - let + inherit (lib) mkEnableOption mkIf mkMerge mkOption mkRenamedOptionModule types; cfg = config.users.ldap; @@ -11,40 +9,40 @@ let # this file. Directives HAVE to start in the first column! ldapConfig = { target = "ldap.conf"; - source = writeText "ldap.conf" '' + source = pkgs.writeText "ldap.conf" '' uri ${config.users.ldap.server} base ${config.users.ldap.base} timelimit ${toString config.users.ldap.timeLimit} bind_timelimit ${toString config.users.ldap.bind.timeLimit} bind_policy ${config.users.ldap.bind.policy} - ${optionalString config.users.ldap.useTLS '' + ${lib.optionalString config.users.ldap.useTLS '' ssl start_tls ''} - ${optionalString (config.users.ldap.bind.distinguishedName != "") '' + ${lib.optionalString (config.users.ldap.bind.distinguishedName != "") '' binddn ${config.users.ldap.bind.distinguishedName} ''} - ${optionalString (cfg.extraConfig != "") cfg.extraConfig } + ${lib.optionalString (cfg.extraConfig != "") cfg.extraConfig } ''; }; - nslcdConfig = writeText "nslcd.conf" '' + nslcdConfig = pkgs.writeText "nslcd.conf" '' uri ${cfg.server} base ${cfg.base} timelimit ${toString cfg.timeLimit} bind_timelimit ${toString cfg.bind.timeLimit} - ${optionalString (cfg.bind.distinguishedName != "") + ${lib.optionalString (cfg.bind.distinguishedName != "") "binddn ${cfg.bind.distinguishedName}" } - ${optionalString (cfg.daemon.rootpwmoddn != "") + ${lib.optionalString (cfg.daemon.rootpwmoddn != "") "rootpwmoddn ${cfg.daemon.rootpwmoddn}" } - ${optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig } + ${lib.optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig } ''; # nslcd normally reads configuration from /etc/nslcd.conf. # this file might contain secrets. We append those at runtime, # so redirect its location to something more temporary. - nslcdWrapped = runCommand "nslcd-wrapped" { nativeBuildInputs = [ makeWrapper ]; } '' + nslcdWrapped = pkgs.runCommand "nslcd-wrapped" { nativeBuildInputs = [ pkgs.makeWrapper ]; } '' mkdir -p $out/bin - makeWrapper ${nss_pam_ldapd}/sbin/nslcd $out/bin/nslcd \ + makeWrapper ${pkgs.nss_pam_ldapd}/sbin/nslcd $out/bin/nslcd \ --set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ --set NIX_REDIRECTS "/etc/nslcd.conf=/run/nslcd/nslcd.conf" ''; @@ -222,17 +220,17 @@ in config = mkIf cfg.enable { - environment.etc = optionalAttrs (!cfg.daemon.enable) { + environment.etc = lib.optionalAttrs (!cfg.daemon.enable) { "ldap.conf" = ldapConfig; }; - system.nssModules = mkIf cfg.nsswitch (singleton ( - if cfg.daemon.enable then nss_pam_ldapd else nss_ldap + system.nssModules = mkIf cfg.nsswitch (lib.singleton ( + if cfg.daemon.enable then pkgs.nss_pam_ldapd else pkgs.nss_ldap )); - system.nssDatabases.group = optional cfg.nsswitch "ldap"; - system.nssDatabases.passwd = optional cfg.nsswitch "ldap"; - system.nssDatabases.shadow = optional cfg.nsswitch "ldap"; + system.nssDatabases.group = lib.optional cfg.nsswitch "ldap"; + system.nssDatabases.passwd = lib.optional cfg.nsswitch "ldap"; + system.nssDatabases.shadow = lib.optional cfg.nsswitch "ldap"; users = mkIf cfg.daemon.enable { groups.nslcd = { diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index e21ac7e9f6fc..de15aa8c4be6 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -761,7 +761,6 @@ ./services/misc/klipper.nix ./services/misc/languagetool.nix ./services/misc/leaps.nix - ./services/misc/libreddit.nix ./services/misc/lidarr.nix ./services/misc/lifecycled.nix ./services/misc/llama-cpp.nix @@ -807,6 +806,7 @@ ./services/misc/radarr.nix ./services/misc/radicle.nix ./services/misc/readarr.nix + ./services/misc/redlib.nix ./services/misc/redmine.nix ./services/misc/renovate.nix ./services/misc/ripple-data-api.nix diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix index 01760ffbc72d..6485df5fffbe 100644 --- a/nixos/modules/services/cluster/kubernetes/default.nix +++ b/nixos/modules/services/cluster/kubernetes/default.nix @@ -61,13 +61,13 @@ let etcdEndpoints = ["https://${cfg.masterAddress}:2379"]; mkCert = { name, CN, hosts ? [], fields ? {}, action ? "", - privateKeyOwner ? "kubernetes" }: rec { + privateKeyOwner ? "kubernetes", privateKeyGroup ? "kubernetes" }: rec { inherit name caCert CN hosts fields action; cert = secret name; key = secret "${name}-key"; privateKeyOptions = { owner = privateKeyOwner; - group = "nogroup"; + group = privateKeyGroup; mode = "0600"; path = key; }; diff --git a/nixos/modules/services/finance/odoo.nix b/nixos/modules/services/finance/odoo.nix index 45fb9c7c2397..074617d35e3d 100644 --- a/nixos/modules/services/finance/odoo.nix +++ b/nixos/modules/services/finance/odoo.nix @@ -20,6 +20,17 @@ in description = "Odoo addons."; }; + autoInit = mkEnableOption "automatically initialize the DB"; + + autoInitExtraFlags = mkOption { + type = with types; listOf str; + default = [ ]; + example = literalExpression /*nix*/ '' + [ "--without-demo=all" ] + ''; + description = "Extra flags passed to odoo when run for the first time by autoInit"; + }; + settings = mkOption { type = format.type; default = {}; @@ -84,8 +95,11 @@ in }; services.odoo.settings.options = { + data_dir = "/var/lib/private/odoo/data"; proxy_mode = cfg.domain != null; - }; + } // (lib.optionalAttrs (cfg.addons != []) { + addons_path = concatMapStringsSep "," escapeShellArg cfg.addons; + }); users.users.odoo = { isSystemUser = true; @@ -101,12 +115,40 @@ in path = [ config.services.postgresql.package ]; requires = [ "postgresql.service" ]; - script = "HOME=$STATE_DIRECTORY ${cfg.package}/bin/odoo ${optionalString (cfg.addons != []) "--addons-path=${concatMapStringsSep "," escapeShellArg cfg.addons}"} -c ${cfgFile}"; serviceConfig = { + ExecStart = "${cfg.package}/bin/odoo"; + ExecStartPre = pkgs.writeShellScript "odoo-start-pre.sh" ( + '' + set -euo pipefail + + cd "$STATE_DIRECTORY" + + # Auto-migrate old deployments + if [[ -d .local/share/Odoo ]]; then + echo "pre-start: migrating state directory from $STATE_DIRECTORY/.local/share/Odoo to $STATE_DIRECTORY/data" + mv .local/share/Odoo ./data + rmdir .local/share + rmdir .local + fi + '' + + (lib.optionalString cfg.autoInit + '' + echo "pre-start: auto-init" + INITIALIZED="${cfg.settings.options.data_dir}/.odoo.initialized" + if [ ! -e "$INITIALIZED" ]; then + ${cfg.package}/bin/odoo --init=INIT --database=odoo --db_user=odoo --stop-after-init ${concatStringsSep " " cfg.autoInitExtraFlags} + touch "$INITIALIZED" + fi + '') + + "echo pre-start: OK" + ); DynamicUser = true; User = "odoo"; StateDirectory = "odoo"; + Environment = [ + "ODOO_RC=${cfgFile}" + ]; }; }; diff --git a/nixos/modules/services/misc/libreddit.nix b/nixos/modules/services/misc/redlib.nix similarity index 87% rename from nixos/modules/services/misc/libreddit.nix rename to nixos/modules/services/misc/redlib.nix index c1f6b276ad9f..0da85df46bf7 100644 --- a/nixos/modules/services/misc/libreddit.nix +++ b/nixos/modules/services/misc/redlib.nix @@ -3,7 +3,7 @@ with lib; let - cfg = config.services.libreddit; + cfg = config.services.redlib; args = concatStringsSep " " ([ "--port ${toString cfg.port}" @@ -11,11 +11,15 @@ let ]); in { + imports = [ + (mkRenamedOptionModule [ "services" "libreddit" ] [ "services" "redlib" ]) + ]; + options = { - services.libreddit = { + services.redlib = { enable = mkEnableOption "Private front-end for Reddit"; - package = mkPackageOption pkgs "libreddit" { }; + package = mkPackageOption pkgs "redlib" { }; address = mkOption { default = "0.0.0.0"; @@ -34,14 +38,14 @@ in openFirewall = mkOption { type = types.bool; default = false; - description = "Open ports in the firewall for the libreddit web interface"; + description = "Open ports in the firewall for the redlib web interface"; }; }; }; config = mkIf cfg.enable { - systemd.services.libreddit = { + systemd.services.redlib = { description = "Private front-end for Reddit"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a004bd4b8664..718aec882b4c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -504,7 +504,6 @@ in { leaps = handleTest ./leaps.nix {}; lemmy = handleTest ./lemmy.nix {}; libinput = handleTest ./libinput.nix {}; - libreddit = handleTest ./libreddit.nix {}; librenms = handleTest ./librenms.nix {}; libresprite = handleTest ./libresprite.nix {}; libreswan = runTest ./libreswan.nix; diff --git a/nixos/tests/libreddit.nix b/nixos/tests/libreddit.nix deleted file mode 100644 index ecf347b9e12e..000000000000 --- a/nixos/tests/libreddit.nix +++ /dev/null @@ -1,19 +0,0 @@ -import ./make-test-python.nix ({ lib, ... }: - -{ - name = "libreddit"; - meta.maintainers = with lib.maintainers; [ fab ]; - - nodes.machine = { - services.libreddit.enable = true; - # Test CAP_NET_BIND_SERVICE - services.libreddit.port = 80; - }; - - testScript = '' - machine.wait_for_unit("libreddit.service") - machine.wait_for_open_port(80) - # Query a page that does not require Internet access - machine.succeed("curl --fail http://localhost:80/settings") - ''; -}) diff --git a/nixos/tests/odoo.nix b/nixos/tests/odoo.nix index 45ec7b7d7a6b..d3764cbc9f0b 100644 --- a/nixos/tests/odoo.nix +++ b/nixos/tests/odoo.nix @@ -12,20 +12,10 @@ import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.odoo, ...} : { services.odoo = { enable = true; package = package; + autoInit = true; + autoInitExtraFlags = [ "--without-demo=all" ]; domain = "localhost"; }; - - # odoo does not automatically initialize its database, - # even if passing what _should_ be the equivalent of these options: - # settings = { - # options = { - # database = "odoo"; - # init = "base"; - # }; - # }; - systemd.services.odoo.preStart = '' - HOME=$STATE_DIRECTORY ${package}/bin/odoo -d odoo -i base --stop-after-init --without-demo all - ''; }; }; diff --git a/nixos/tests/redlib.nix b/nixos/tests/redlib.nix index e4bde25e30a6..808f857aed19 100644 --- a/nixos/tests/redlib.nix +++ b/nixos/tests/redlib.nix @@ -3,7 +3,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { meta.maintainers = with lib.maintainers; [ soispha ]; nodes.machine = { - services.libreddit = { + services.redlib = { package = pkgs.redlib; enable = true; # Test CAP_NET_BIND_SERVICE @@ -12,7 +12,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { }; testScript = '' - machine.wait_for_unit("libreddit.service") + machine.wait_for_unit("redlib.service") machine.wait_for_open_port(80) # Query a page that does not require Internet access machine.succeed("curl --fail http://localhost:80/settings") diff --git a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix index 6c056d9a1018..338b12093b03 100644 --- a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix +++ b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix @@ -174,6 +174,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { # for fowarding/input from the configured interfaces so you do not have # to manage multiple places firewall.enable = false; + interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; }; systemd.network = { @@ -275,6 +276,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { networking = { useNetworkd = true; useDHCP = false; + interfaces.eth1.ipv6.addresses = lib.mkForce [ ]; }; }; }; diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix index f52053d90509..a40ab24e9a8d 100644 --- a/pkgs/applications/audio/mympd/default.nix +++ b/pkgs/applications/audio/mympd/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mympd"; - version = "16.0.1"; + version = "16.1.0"; src = fetchFromGitHub { owner = "jcorporation"; repo = "myMPD"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-MyVGWdc9ASWWW9CikK06bFYKi1DHyjFxFlMgBLdBwbU="; + sha256 = "sha256-fka7FQkJKHB2L28JzN1SOtmDkJvvox9dKguuh96lVo0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/tagger/default.nix b/pkgs/applications/audio/tagger/default.nix index 429870207339..a8074cef4074 100644 --- a/pkgs/applications/audio/tagger/default.nix +++ b/pkgs/applications/audio/tagger/default.nix @@ -1,67 +1,64 @@ { lib -, stdenv +, buildDotnetModule , fetchFromGitHub -, meson -, ninja -, pkg-config -, jsoncpp -, taglib -, curl -, curlpp +, dotnetCorePackages +, blueprint-compiler +, chromaprint , glib , gtk4 , libadwaita -, wrapGAppsHook4 -, desktop-file-utils -, chromaprint # fpcalc }: -stdenv.mkDerivation rec { +let + dotnet = dotnetCorePackages.dotnet_8; +in + +buildDotnetModule rec { pname = "tagger"; - version = "2022.11.2"; + version = "2024.6.0-1"; src = fetchFromGitHub { owner = "nlogozzo"; repo = "NickvisionTagger"; rev = version; - hash = "sha256-gFpnTuUROYwPANrkD+g7a3FHSCVY2oB97flCK+LLowY="; + hash = "sha256-4OfByQYhLXmeFWxzhqt8d7pLUyuMLhDM20E2YcA9Q3s="; }; + projectFile = "NickvisionTagger.GNOME/NickvisionTagger.GNOME.csproj"; + dotnet-sdk = dotnet.sdk; + dotnet-runtime = dotnet.runtime; + nugetDeps = ./deps.nix; + nativeBuildInputs = [ - meson - ninja - pkg-config - wrapGAppsHook4 - desktop-file-utils + blueprint-compiler + libadwaita ]; buildInputs = [ + chromaprint + ]; + + runtimeDeps = [ glib gtk4 libadwaita - jsoncpp - taglib - curl - curlpp ]; - # Don't install compiled binary - postPatch = '' - sed -i '/fpcalc/d' meson.build - ''; + executables = [ "NickvisionTagger.GNOME" ]; - preFixup = '' - gappsWrapperArgs+=( - --prefix PATH : "${lib.makeBinPath [ chromaprint ]}" - ) + postInstall = '' + substituteInPlace NickvisionTagger.Shared/Linux/org.nickvision.tagger.desktop.in --replace '@EXEC@' "NickvisionTagger.GNOME" + install -Dm444 NickvisionTagger.Shared/Resources/org.nickvision.tagger.svg -t $out/share/icons/hicolor/scalable/apps/ + install -Dm444 NickvisionTagger.Shared/Resources/org.nickvision.tagger-symbolic.svg -t $out/share/icons/hicolor/symbolic/apps/ + install -Dm444 NickvisionTagger.Shared/Linux/org.nickvision.tagger.desktop.in -T $out/share/applications/org.nickvision.tagger.desktop ''; meta = with lib; { description = "Easy-to-use music tag (metadata) editor"; - homepage = "https://github.com/nlogozzo/NickvisionTagger"; - mainProgram = "org.nickvision.tagger"; - license = licenses.gpl3Plus; + homepage = "https://github.com/NickvisionApps/Tagger"; + mainProgram = "NickvisionTagger.GNOME"; + license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ zendo ]; + maintainers = with maintainers; [ zendo ratcornu ]; }; } diff --git a/pkgs/applications/audio/tagger/deps.nix b/pkgs/applications/audio/tagger/deps.nix new file mode 100644 index 000000000000..76ab54d97096 --- /dev/null +++ b/pkgs/applications/audio/tagger/deps.nix @@ -0,0 +1,53 @@ +# This file was automatically generated by passthru.fetch-deps. +# Please dont edit it manually, your changes might get overwritten! + +{ fetchNuGet }: [ + (fetchNuGet { pname = "Ace4896.DBus.Services.Secrets"; version = "1.2.0"; hash = "sha256-dgGnQL+y7UubFgG0dVmuz1J/uMhR7bOirKA38dHmOcQ="; }) + (fetchNuGet { pname = "AcoustID.NET"; version = "1.3.3"; hash = "sha256-VF7GwQhk9hVBToj9K2UK356H6toDugMI/rosAT2P2TY="; }) + (fetchNuGet { pname = "Cake.Tool"; version = "4.0.0"; hash = "sha256-guIxNh+ENqZroPaoh7bJ+R0OP9Ed64BAMYSbWKMrbIc="; }) + (fetchNuGet { pname = "FuzzySharp"; version = "2.0.2"; hash = "sha256-GuWqVOo+AG8MSvIbusLPjKfJFQRJhSSJ9eGWljTBA/c="; }) + (fetchNuGet { pname = "GetText.NET"; version = "1.9.14"; hash = "sha256-JAFqmwXkRJCHMOLIN2NShSe5aXtDvo5+II412oBj5KM="; }) + (fetchNuGet { pname = "GirCore.Adw-1"; version = "0.5.0"; hash = "sha256-qfXR3lTI5IeFlZ+eoXiEjvvU7a94ksDA1NDDO+fjEow="; }) + (fetchNuGet { pname = "GirCore.Cairo-1.0"; version = "0.5.0"; hash = "sha256-9vu8cLiI8UJzIwcx/EtNPp0uYBTAYYP7f+K4+78cLfU="; }) + (fetchNuGet { pname = "GirCore.FreeType2-2.0"; version = "0.5.0"; hash = "sha256-ngF0UjqeWWPJM6oHWe1Ii+h1BUccFDQd1Qwz35DNCJk="; }) + (fetchNuGet { pname = "GirCore.Gdk-4.0"; version = "0.5.0"; hash = "sha256-pl04bEdh1kzjzT2MgENyitvU9YNU+7zdxzSQBF+iVuw="; }) + (fetchNuGet { pname = "GirCore.GdkPixbuf-2.0"; version = "0.5.0"; hash = "sha256-2dY45sZRqLAHjXx8G3aLGnftJuMS/367E7oMAtlkdT0="; }) + (fetchNuGet { pname = "GirCore.Gio-2.0"; version = "0.5.0"; hash = "sha256-lEcxgUtvw+/wP68h1xXLodjALdFgA8fWlP8e75kcovs="; }) + (fetchNuGet { pname = "GirCore.GLib-2.0"; version = "0.5.0"; hash = "sha256-e8/5XRtUr5PMROr9t3t1y+S5ittGigeMvkC1x0AaPpk="; }) + (fetchNuGet { pname = "GirCore.GObject-2.0"; version = "0.5.0"; hash = "sha256-cobt8ueN6++TqbOfSn1yKYkjCKlpRc04te8BW2dQZfA="; }) + (fetchNuGet { pname = "GirCore.Graphene-1.0"; version = "0.5.0"; hash = "sha256-mF5paOfxW2T/BIa9MSRBCXI0IxyjPEiHSVAl+58ZyJs="; }) + (fetchNuGet { pname = "GirCore.Gsk-4.0"; version = "0.5.0"; hash = "sha256-joLS4KfAWkp3z8r7i5MtBDotTv2zMnYRw2bTQNNATJQ="; }) + (fetchNuGet { pname = "GirCore.Gtk-4.0"; version = "0.5.0"; hash = "sha256-LN/u9QuAxRMDJfly1LeMwCgJMkTeZyJJ4unrmTpORlI="; }) + (fetchNuGet { pname = "GirCore.HarfBuzz-0.0"; version = "0.5.0"; hash = "sha256-hBFkQK/LPSTIU8M8Tv0hyRG4d4ibh/Iaa3ZySYpg0TI="; }) + (fetchNuGet { pname = "GirCore.Pango-1.0"; version = "0.5.0"; hash = "sha256-6cxAaxynKx7kTsLy++qcrhD+G7OBfVRYohe1MX3Sk1w="; }) + (fetchNuGet { pname = "GirCore.PangoCairo-1.0"; version = "0.5.0"; hash = "sha256-tpIeKhZPrntKIFkeMIYyDHgOSw2Il/L4E7OpBHsUo0g="; }) + (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.61"; hash = "sha256-exRJTP7mHNt31CKaejKSSkKPm74ratfnpGl50AqZwlY="; }) + (fetchNuGet { pname = "Markdig"; version = "0.33.0"; hash = "sha256-OWlYrZnvNIFwmxKnmfWTq1wOz9e+hewsiVJW3B43QLY="; }) + (fetchNuGet { pname = "MetaBrainz.Common"; version = "3.0.0"; hash = "sha256-P+XTQhffqSVIn0ZbC5Npl80xlx1QYHoL0y20KTvKRy0="; }) + (fetchNuGet { pname = "MetaBrainz.Common.Json"; version = "6.0.2"; hash = "sha256-4IcF9xZZmI3H7WAiuN2kK61BMXS4gh2T2WrCqkwQhX8="; }) + (fetchNuGet { pname = "MetaBrainz.MusicBrainz"; version = "6.1.0"; hash = "sha256-wZBTTSQNPll/5/sZPPxa6d0QBjwA8FLA2vFE/838VWs="; }) + (fetchNuGet { pname = "MetaBrainz.MusicBrainz.CoverArt"; version = "6.0.0"; hash = "sha256-yN+godNeB6l8ihNupq9cNe+PaYaPTngHJzwkMH9ySbE="; }) + (fetchNuGet { pname = "Meziantou.Framework.Win32.CredentialManager"; version = "1.4.5"; hash = "sha256-aJyLlVg6jKY2Van0hwAC5JEF/j+YtEq5ZFLkyI3scsY="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "8.0.6"; hash = "sha256-wvudYblAZ5vOdQ/3Ssl24exAXRkhOG7KBZUjquLGo5o="; }) + (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.0"; hash = "sha256-aew8/vRyzCc7MMNHziR8tsg66EFkJC+Snst3F+a3Ehc="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "8.0.6"; hash = "sha256-7kLTos2RiNJOmxg6NcM8QieifWMHgxHgd5e+DBNQI0Q="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "8.0.6"; hash = "sha256-oAQI/uV0G/uEFp+2yAyhILZ6hr9t+oWh9TEY646Vphk="; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; hash = "sha256-5rFBJ8Fkw7+11iCG9nMVhOqPCpyVIrbUzrFQhc/2eHw="; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; hash = "sha256-UcxurEamYD+Bua0PbPNMYAZaRulMrov8CfbJGIgTaRQ="; }) + (fetchNuGet { pname = "Nickvision.Aura"; version = "2023.11.4"; hash = "sha256-us9K5RayuZGe2fkhk/c2Qw45gKmrfvyNBvHdcOnzWj0="; }) + (fetchNuGet { pname = "Octokit"; version = "9.0.0"; hash = "sha256-5crRhibEw2pl8M6AmgutI/uA0xcBoFRSF43MDgNPhE8="; }) + (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.4"; hash = "sha256-zOqHVIInvJiqmx4JF+8USYvdKAGRZVUqQpdncrrjRjM="; }) + (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlcipher"; version = "2.1.6"; hash = "sha256-ikaVYtmka8VuZ2BDbH4rkT/L19uLMZnUIZSdSfzpYpc="; }) + (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; hash = "sha256-RxWjm52PdmMV98dgDy0BCpF988+BssRZUgALLv7TH/E="; }) + (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlcipher"; version = "2.1.6"; hash = "sha256-HyCw64Ir+JTmAQpBRR2Y7L/o1l+RiwoL9URDXoJVhTY="; }) + (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlcipher"; version = "2.1.6"; hash = "sha256-OD+cJ6dvUv/bYhMR9hWnsz23un1CHH5WKEnwghtpqMs="; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "8.0.0"; hash = "sha256-xPNnKUTcZiqnTtRgI2YazMoZgay/prwKrJjbZUbVmcg="; }) + (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; }) + (fetchNuGet { pname = "Tmds.DBus"; version = "0.15.0"; hash = "sha256-hnG44eEULZY79phZ/E1/RG2acjW0y12eIxam67iR5a8="; }) + (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; }) + (fetchNuGet { pname = "Ude.NetStandard"; version = "1.2.0"; hash = "sha256-9Dq7UE5OiuvciURQV8Aa13elolt1fzDhvF8c8Yxznhw="; }) + (fetchNuGet { pname = "z440.atl.core"; version = "5.25.0"; hash = "sha256-wyhSBvwzIXFLERBCr2s1zebaebOVANvUcwmJkrNdJi8="; }) +] diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/default.nix index 4938f2d98be1..9fef79b3312d 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/default.nix @@ -2,9 +2,12 @@ melpaBuild { pname = "llvm-mode"; - inherit (llvmPackages.llvm) version; + inherit (llvmPackages.llvm) src version; - src = "${llvmPackages.llvm.src}/llvm/utils/emacs"; + files = '' + ("llvm/utils/emacs/*.el" + "llvm/utils/emacs/README") + ''; meta = { inherit (llvmPackages.llvm.meta) homepage license; diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix index 2ffa57280eaa..6b6a182542c1 100644 --- a/pkgs/applications/graphics/goxel/default.nix +++ b/pkgs/applications/graphics/goxel/default.nix @@ -3,33 +3,24 @@ stdenv.mkDerivation (finalAttrs: { pname = "goxel"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "guillaumechereau"; repo = "goxel"; rev = "v${finalAttrs.version}"; - hash = "sha256-ueA0YW2n/DXd9AytDzfPtvtXbvuUm4VDwcdvHWObKxc="; + hash = "sha256-bJnIZwTmvHNHXYq3zsMwu0EORtX2o9lLi6LFNrolwe4="; }; nativeBuildInputs = [ scons pkg-config wrapGAppsHook3 ]; buildInputs = [ glfw3 gtk3 libpng ]; - buildPhase = '' - make release - ''; + dontUseSconsBuild = true; + dontUseSconsInstall = true; - installPhase = '' - install -D ./goxel $out/bin/goxel + makeFlags = [ "PREFIX=$(out)" ]; - for res in $(ls data/icons | sed -e 's/icon//g' -e 's/.png//g'); do - install -Dm444 data/icons/icon$res.png $out/share/icons/hicolor/''${res}x''${res}/apps/goxel.png - done - - install -Dm444 snap/gui/goxel.desktop -t $out/share/applications - substituteInPlace $out/share/applications/goxel.desktop \ - --replace 'Icon=''${SNAP}/icon.png' 'Icon=goxel' - ''; + buildFlags = [ "release" ]; meta = with lib; { description = "Open Source 3D voxel editor"; diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix index f2953805ff29..fc63ef02bc39 100644 --- a/pkgs/applications/misc/xdgmenumaker/default.nix +++ b/pkgs/applications/misc/xdgmenumaker/default.nix @@ -12,13 +12,13 @@ python3Packages.buildPythonApplication rec { pname = "xdgmenumaker"; - version = "2.1"; + version = "2.2"; src = fetchFromGitHub { owner = "gapan"; repo = pname; rev = version; - sha256 = "K+IecWWRjnY/5TBJydTuEPqNRSg1OIE1t0u6HkLS9uI="; + sha256 = "zFqaNKHJiGP8MoNFUZL13/F1oRx2LBvtFMvLAy+cLJQ="; }; format = "other"; diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix index fb41ea07f5a1..1025663b1bd7 100644 --- a/pkgs/applications/science/logic/stp/default.nix +++ b/pkgs/applications/science/logic/stp/default.nix @@ -1,5 +1,17 @@ -{ lib, stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl -, python3, python3Packages, zlib, minisat, cryptominisat }: +{ lib +, stdenv +, cmake +, boost +, bison +, flex +, fetchFromGitHub +, fetchpatch +, perl +, python3 +, zlib +, minisat +, cryptominisat +}: stdenv.mkDerivation rec { pname = "stp"; @@ -8,14 +20,20 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "stp"; repo = "stp"; - rev = version; - sha256 = "1yg2v4wmswh1sigk47drwsxyayr472mf4i47lqmlcgn9hhbx1q87"; + rev = version; + hash = "sha256-B+HQF4TJPkYrpodE4qo4JHvlu+a5HTJf1AFyXTnZ4vk="; }; patches = [ # Fix missing type declaration # due to undeterminisitic compilation # of circularly dependent headers ./stdint.patch + + # Python 3.12+ compatibility for build: https://github.com/stp/stp/pull/450 + (fetchpatch { + url = "https://github.com/stp/stp/commit/fb185479e760b6ff163512cb6c30ac9561aadc0e.patch"; + hash = "sha256-guFgeWOrxRrxkU7kMvd5+nmML0rwLYW196m1usE2qiA="; + }) ]; postPatch = '' @@ -26,10 +44,16 @@ stdenv.mkDerivation rec { sed -e '1i #include ' -i include/stp/AST/ASTNode.h ''; - buildInputs = [ boost zlib minisat cryptominisat python3 ]; + buildInputs = [ + boost + zlib + minisat + cryptominisat + python3 + ]; nativeBuildInputs = [ cmake bison flex perl ]; preConfigure = '' - python_install_dir=$out/${python3Packages.python.sitePackages} + python_install_dir=$out/${python3.sitePackages} mkdir -p $python_install_dir cmakeFlagsArray=( $cmakeFlagsArray @@ -40,7 +64,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Simple Theorem Prover"; - maintainers = with maintainers; [ McSinyx ]; + maintainers = with maintainers; [ McSinyx numinit ]; platforms = platforms.linux; license = licenses.mit; }; diff --git a/pkgs/by-name/ba/basedpyright/package.nix b/pkgs/by-name/ba/basedpyright/package.nix index 7e891c0ab78f..b33c55186674 100644 --- a/pkgs/by-name/ba/basedpyright/package.nix +++ b/pkgs/by-name/ba/basedpyright/package.nix @@ -98,8 +98,7 @@ buildNpmPackage rec { postPatch = '' chmod +w ../../ - mkdir ../../docstubs - ln -s ${docstubs}/stubs ../../docstubs + ln -s ${docstubs} ../../docstubs ln -s ${pyright-root}/node_modules ../../node_modules chmod +w ../pyright-internal ln -s ${pyright-internal}/node_modules ../pyright-internal/node_modules diff --git a/pkgs/by-name/ca/cassette/package.nix b/pkgs/by-name/ca/cassette/package.nix new file mode 100644 index 000000000000..7bdd756f59ab --- /dev/null +++ b/pkgs/by-name/ca/cassette/package.nix @@ -0,0 +1,70 @@ +{ lib +, stdenv +, fetchFromGitHub +, blueprint-compiler +, desktop-file-utils +, meson +, ninja +, pkg-config +, vala +, wrapGAppsHook4 +, glib-networking +, gst_all_1 +, gtk4 +, json-glib +, libadwaita +, libgee +, libsoup_3 +, libxml2 +, sqlite +, webkitgtk_6_0 +}: + +stdenv.mkDerivation rec { + pname = "cassette"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "Rirusha"; + repo = "Cassette"; + rev = "ver-${version}"; + hash = "sha256-x9BRoLXrCO/7pI392MbO6m39rmpiOdCcp+pOLG6+k/s="; + }; + + nativeBuildInputs = [ + blueprint-compiler + desktop-file-utils + meson + ninja + pkg-config + vala + wrapGAppsHook4 + ]; + + buildInputs = [ + glib-networking + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer + gtk4 + json-glib + libadwaita + libgee + libsoup_3 + libxml2 + sqlite + webkitgtk_6_0 + ]; + + strictDeps = true; + + meta = { + description = "GTK4/Adwaita application that allows you to use Yandex Music service on Linux operating systems"; + homepage = "https://github.com/Rirusha/Cassette"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ averyanalex ]; + platforms = lib.platforms.linux; + mainProgram = "cassette"; + }; +} diff --git a/pkgs/by-name/do/dopamine/package.nix b/pkgs/by-name/do/dopamine/package.nix index 37f61c723d63..135290a4df6e 100644 --- a/pkgs/by-name/do/dopamine/package.nix +++ b/pkgs/by-name/do/dopamine/package.nix @@ -6,11 +6,11 @@ }: appimageTools.wrapType2 rec { pname = "dopamine"; - version = "3.0.0-preview.26"; + version = "3.0.0-preview.27"; src = fetchurl { url = "https://github.com/digimezzo/dopamine/releases/download/v${version}/Dopamine-${version}.AppImage"; - hash = "sha256-wINHglhP4t5wNyHzIircW4Z5qC21ZbHBQD2AVp33/KQ="; + hash = "sha256-OTnpFtkdCVoyrDoLdKD382+ZD4FJYSDTBgRoB6YAKHE="; }; extraInstallCommands = diff --git a/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix b/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix index 624e00913428..b707d08ac37a 100644 --- a/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix +++ b/pkgs/by-name/fc/fcitx5-pinyin-moegirl/package.nix @@ -6,11 +6,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "fcitx5-pinyin-moegirl"; - version = "20240609"; + version = "20240709"; src = fetchurl { url = "https://github.com/outloudvi/mw2fcitx/releases/download/${finalAttrs.version}/moegirl.dict"; - hash = "sha256-dXFV0kVr8hgT17Jmr28PiYTiELm8kS/KM71igHXA6hs="; + hash = "sha256-1BNfyMM7T19glWsB9oOOMHEWc+SE/qrxx5rsAz386Os="; }; dontUnpack = true; diff --git a/pkgs/by-name/fz/fzf/package.nix b/pkgs/by-name/fz/fzf/package.nix index d0ec019eb96d..4508d30e0407 100644 --- a/pkgs/by-name/fz/fzf/package.nix +++ b/pkgs/by-name/fz/fzf/package.nix @@ -11,16 +11,16 @@ buildGoModule rec { pname = "fzf"; - version = "0.54.0"; + version = "0.54.1"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf"; rev = "v${version}"; - hash = "sha256-y2A3WsPD58zbJx/vLKiuXJ1rVdlhQ9Ylm8sh+RYJ9qA="; + hash = "sha256-nE4ibYAOH3fgZbpf/tPocXFH6GfialYk/gvLltO8x/w="; }; - vendorHash = "sha256-GC92YuGHQuoLHb7etxpI20ZyvKlJNbeDnHyUOkM4lrg="; + vendorHash = "sha256-uhjJPB/jfRPAu9g41vWFnSBIN9TIZW3s6BGz0fA2ygE="; CGO_ENABLED = 0; @@ -45,7 +45,7 @@ buildGoModule rec { # fzf-tmux depends on bc substituteInPlace bin/fzf-tmux \ - --replace "bc" "${bc}/bin/bc" + --replace-fail "bc" "${lib.getExe bc}" ''; postInstall = '' @@ -53,9 +53,9 @@ buildGoModule rec { installManPage man/man1/fzf.1 man/man1/fzf-tmux.1 - install -D plugin/* -t $out/share/vim-plugins/${pname}/plugin + install -D plugin/* -t $out/share/vim-plugins/fzf/plugin mkdir -p $out/share/nvim - ln -s $out/share/vim-plugins/${pname} $out/share/nvim/site + ln -s $out/share/vim-plugins/fzf $out/share/nvim/site # Install shell integrations install -D shell/* -t $out/share/fzf/ diff --git a/pkgs/by-name/gn/gnome-graphs/package.nix b/pkgs/by-name/gn/gnome-graphs/package.nix index 3842655583bd..46f9de8f34ca 100644 --- a/pkgs/by-name/gn/gnome-graphs/package.nix +++ b/pkgs/by-name/gn/gnome-graphs/package.nix @@ -7,15 +7,17 @@ , pkg-config , gobject-introspection , blueprint-compiler +, itstool , wrapGAppsHook4 , desktop-file-utils , shared-mime-info , libadwaita +, libgee }: python3Packages.buildPythonApplication rec { pname = "gnome-graphs"; - version = "1.7.2"; + version = "1.8.1"; pyproject = false; src = fetchFromGitLab { @@ -23,7 +25,7 @@ python3Packages.buildPythonApplication rec { owner = "World"; repo = "Graphs"; rev = "v${version}"; - hash = "sha256-CgCLOkKrMEN0Jnib5NZyVa+s3ico2ANt0ALGa4we3Ak="; + hash = "sha256-ae6lyyr3vvENyn1kKc8Va4I++7B0rdURwjEpA9klLGg="; }; nativeBuildInputs = [ @@ -33,6 +35,7 @@ python3Packages.buildPythonApplication rec { pkg-config gobject-introspection blueprint-compiler + itstool wrapGAppsHook4 desktop-file-utils shared-mime-info @@ -40,9 +43,10 @@ python3Packages.buildPythonApplication rec { buildInputs = [ libadwaita + libgee ]; - propagatedBuildInputs = with python3Packages; [ + dependencies = with python3Packages; [ pygobject3 numpy numexpr diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index bf5b4e1948f9..e4060ecb5d30 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -64,11 +64,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "google-chrome"; - version = "126.0.6478.126"; + version = "126.0.6478.182"; src = fetchurl { url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-PsHK27Vc9mzFHwQh6s4ySoiDbuLZgrlFuPZ6PxMbCSQ="; + hash = "sha256-izz3oEJAScI1MV3pBHLzwxCKs6M+rTORernvLv3sBYA="; }; nativeBuildInputs = [ patchelf makeWrapper ]; diff --git a/pkgs/by-name/ko/koboldcpp/package.nix b/pkgs/by-name/ko/koboldcpp/package.nix index 23b0f21bdac8..996afba2ed51 100644 --- a/pkgs/by-name/ko/koboldcpp/package.nix +++ b/pkgs/by-name/ko/koboldcpp/package.nix @@ -44,13 +44,13 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "koboldcpp"; - version = "1.69.1"; + version = "1.70.1"; src = fetchFromGitHub { owner = "LostRuins"; repo = "koboldcpp"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-808HyqrB9/cFJU7nq7Cm5Fm4OFPML4oQtnv0hystwAg="; + sha256 = "sha256-wtSkmjx5mzESMvIflqH+QEavH5oeBgKBz8/JjU+CASo="; }; enableParallelBuilding = true; diff --git a/pkgs/by-name/mc/mcdreforged/package.nix b/pkgs/by-name/mc/mcdreforged/package.nix index 3a4e7b582904..31c53dfbe3f7 100644 --- a/pkgs/by-name/mc/mcdreforged/package.nix +++ b/pkgs/by-name/mc/mcdreforged/package.nix @@ -8,14 +8,14 @@ python3.pkgs.buildPythonApplication rec { pname = "mcdreforged"; - version = "2.13.0"; + version = "2.13.1"; pyproject = true; src = fetchFromGitHub { owner = "MCDReforged"; repo = "MCDReforged"; rev = "refs/tags/v${version}"; - hash = "sha256-843vsazBXnvVs6DqY6HPUaBn33DktknT8+yH09n+aSI="; + hash = "sha256-Um4XSpkpJupBy5h/hUuHNyXnaDvjL1IIcmSqBHKycEM="; }; build-system = [ python3.pkgs.setuptools ]; diff --git a/pkgs/by-name/ne/nezha-agent/package.nix b/pkgs/by-name/ne/nezha-agent/package.nix index 0c50dc4ecef2..090a5ee28d4f 100644 --- a/pkgs/by-name/ne/nezha-agent/package.nix +++ b/pkgs/by-name/ne/nezha-agent/package.nix @@ -7,16 +7,16 @@ }: buildGoModule rec { pname = "nezha-agent"; - version = "0.17.3"; + version = "0.18.0"; src = fetchFromGitHub { owner = "nezhahq"; repo = "agent"; rev = "refs/tags/v${version}"; - hash = "sha256-dnmoGf9z7R14Fen7maQyk/H600Hgkx7esGWvjddLDMc="; + hash = "sha256-Y7wuZmFc1ztofbfjmoAKZv9U05RbINYTyoNDHXKORYY="; }; - vendorHash = "sha256-SLF5Oq++VzKzy6mfqJuRlAJMBXyb1EHWN+qoyCw9kv4="; + vendorHash = "sha256-M928t59dP5xqMZ+EzyFrzW0fYWuebk1V7UajI7g4VKg="; ldflags = [ "-s" diff --git a/pkgs/by-name/od/odoo/package.nix b/pkgs/by-name/od/odoo/package.nix index bf86f819290e..fe3a7aed3681 100644 --- a/pkgs/by-name/od/odoo/package.nix +++ b/pkgs/by-name/od/odoo/package.nix @@ -52,12 +52,14 @@ in python.pkgs.buildPythonApplication rec { docutils-0_17 # sphinx has a docutils requirement >= 18 ebaysdk freezegun + geoip2 gevent greenlet idna jinja2 libsass lxml + lxml-html-clean markupsafe num2words ofxparse diff --git a/pkgs/by-name/rs/rsshub/0001-fix-git-hash.patch b/pkgs/by-name/rs/rsshub/0001-fix-git-hash.patch new file mode 100644 index 000000000000..cec83ecd3802 --- /dev/null +++ b/pkgs/by-name/rs/rsshub/0001-fix-git-hash.patch @@ -0,0 +1,30 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Guanran Wang +Date: Tue, 9 Jul 2024 16:49:41 +0800 +Subject: [PATCH] fix git hash + +--- + lib/utils/git-hash.ts | 12 ++---------- + 1 file changed, 2 insertions(+), 10 deletions(-) + +diff --git a/lib/utils/git-hash.ts b/lib/utils/git-hash.ts +index 9a8131696..f1f568fb4 100644 +--- a/lib/utils/git-hash.ts ++++ b/lib/utils/git-hash.ts +@@ -1,14 +1,6 @@ + import { execSync } from 'child_process'; + +-let gitHash = process.env.HEROKU_SLUG_COMMIT?.slice(0, 8) || process.env.VERCEL_GIT_COMMIT_SHA?.slice(0, 8); +-let gitDate: Date | undefined; +-if (!gitHash) { +- try { +- gitHash = execSync('git rev-parse HEAD').toString().trim().slice(0, 8); +- gitDate = new Date(execSync('git log -1 --format=%cd').toString().trim()); +- } catch { +- gitHash = 'unknown'; +- } +-} ++let gitHash = '@GIT_HASH@'.slice(0, 8); ++let gitDate = new Date('Thu Jan 1 00:00:00 1970 +0000'); + + export { gitHash, gitDate }; diff --git a/pkgs/by-name/rs/rsshub/package.nix b/pkgs/by-name/rs/rsshub/package.nix new file mode 100644 index 000000000000..72aa065f2533 --- /dev/null +++ b/pkgs/by-name/rs/rsshub/package.nix @@ -0,0 +1,86 @@ +{ + lib, + fetchFromGitHub, + makeBinaryWrapper, + nodejs, + pnpm, + stdenv, + substitute, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "rsshub"; + version = "0-unstable-2024-07-08"; + + src = fetchFromGitHub { + owner = "DIYgod"; + repo = "RSSHub"; + rev = "6a29ca395191e745f991b9a0643a2fa9a66c8730"; + hash = "sha256-K7qNPF1vdqhNEjWcysnj20Qaltu3rnhi1bVnIEOTiuk="; + }; + + patches = [ + (substitute { + src = ./0001-fix-git-hash.patch; + substitutions = [ + "--subst-var-by" + "GIT_HASH" + finalAttrs.src.rev + ]; + }) + ]; + + pnpmDeps = pnpm.fetchDeps { + inherit (finalAttrs) pname version src; + hash = "sha256-1Djef4QRLiEKr6ERtL0/IQSYp9dMq3cOCHPW4QnfaZU="; + }; + + nativeBuildInputs = [ + makeBinaryWrapper + nodejs + pnpm.configHook + ]; + + buildPhase = '' + runHook preBuild + + pnpm build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/lib/rsshub + cp -r lib node_modules assets api package.json tsconfig.json $out/lib/rsshub + + runHook postInstall + ''; + + preFixup = '' + makeWrapper ${lib.getExe nodejs} $out/bin/rsshub \ + --chdir "$out/lib/rsshub" \ + --set "NODE_ENV" "production" \ + --set "NO_LOGFILES" "true" \ + --set "TSX_TSCONFIG_PATH" "$out/lib/rsshub/tsconfig.json" \ + --append-flags "$out/lib/rsshub/node_modules/tsx/dist/cli.mjs" \ + --append-flags "$out/lib/rsshub/lib/index.ts" + ''; + + meta = { + description = "RSS feed generator"; + longDescription = '' + RSSHub is an open source, easy to use, and extensible RSS feed generator. + It's capable of generating RSS feeds from pretty much everything. + + RSSHub delivers millions of contents aggregated from all kinds of sources, + our vibrant open source community is ensuring the deliver of RSSHub's new routes, + new features and bug fixes. + ''; + homepage = "https://docs.rsshub.app"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ Guanran928 ]; + mainProgram = "rsshub"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/vc/vcpkg-tool/package.nix b/pkgs/by-name/vc/vcpkg-tool/package.nix index 6882589f2c13..5d6608e96cbc 100644 --- a/pkgs/by-name/vc/vcpkg-tool/package.nix +++ b/pkgs/by-name/vc/vcpkg-tool/package.nix @@ -1,20 +1,25 @@ { lib , stdenv , fetchFromGitHub +, runtimeShell , cacert , cmake , cmakerc +, curl , fmt , git , gzip -, makeWrapper , meson , ninja , openssh , python3 +, unzip , zip , zstd +, runCommand +, writeText , extraRuntimeDeps ? [] +, doWrap ? true }: stdenv.mkDerivation (finalAttrs: { pname = "vcpkg-tool"; @@ -30,7 +35,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ninja - makeWrapper ]; buildInputs = [ @@ -47,31 +51,139 @@ stdenv.mkDerivation (finalAttrs: { "-DVCPKG_DEPENDENCY_CMAKERC=ON" ]; - postFixup = let + + passAsFile = [ "vcpkgWrapper" ]; + vcpkgWrapper = let # These are the most common binaries used by vcpkg - # Extra binaries can be added via overlay when needed + # Extra binaries can be added through override when needed runtimeDeps = [ cacert cmake + curl git gzip meson ninja openssh python3 + unzip zip zstd ] ++ extraRuntimeDeps; + + # Apart from adding the runtime dependencies to $PATH, + # the wrapper will also override these arguments by default. + # This is to ensure that the executable does not try to + # write to the nix store. If the user tries to set any of the + # arguments themself, the wrapper will detect that the + # arguments are present, and prefer the user-provided value. + # + # It is also possible to override the cli arguments by + # settings either of the nix-specific environment variables. + argsWithDefault = [ + { + arg = "--downloads-root"; + env = "NIX_VCPKG_DOWNLOADS_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/downloads"; + } + { + arg = "--x-buildtrees-root"; + env = "NIX_VCPKG_BUILDTREES_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/buildtrees"; + } + { + arg = "--x-packages-root"; + env = "NIX_VCPKG_PACKAGES_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/packages"; + } + { + arg = "--x-install-root"; + env = "NIX_VCPKG_INSTALL_ROOT"; + default = "$NIX_VCPKG_WRITABLE_PATH/installed"; + } + ]; in '' - wrapProgram $out/bin/vcpkg --prefix PATH ${lib.makeBinPath runtimeDeps} + #!${runtimeShell} + + get_vcpkg_path() { + if [[ -n $NIX_VCPKG_WRITABLE_PATH ]]; then + echo "$NIX_VCPKG_WRITABLE_PATH" + elif [[ -n $XDG_CACHE_HOME ]]; then + echo "$XDG_CACHE_HOME/vcpkg" + elif [[ -n $HOME ]]; then + echo "$HOME/.vcpkg/root" + elif [[ -n $TMP ]]; then + echo "$TMP" + else + echo "/tmp" + fi + } + + NIX_VCPKG_WRITABLE_PATH=$(get_vcpkg_path) + + ${lib.concatMapStringsSep "\n" ({ env, default, ... }: ''${env}=''${${env}-"${default}"}'') argsWithDefault} + + export PATH="${lib.makeBinPath runtimeDeps}''${PATH:+":$PATH"}" + + ARGS=( "$@" ) + FINAL_NONMODIFIED_ARGS=() + + for (( i=0; i<''${#ARGS[@]}; i++ )); + do + case "''${ARGS[i]%%=*}" in + ${let + f = { arg, env, ... }: '' + '${arg}') + ${env}="''${ARGS[i]#*=}" + if [ "''$${env}" = '${arg}' ]; then + ${env}="''${ARGS[i+1]}" + ((i++)) + fi + ;; + ''; + in lib.concatMapStringsSep "\n" f argsWithDefault} + *) + FINAL_NONMODIFIED_ARGS+=(''${ARGS[i]}) + ;; + esac + done + + if [ "''${NIX_VCPKG_DEBUG_PRINT_ENVVARS-'false'}" = 'true' ]; then + ${lib.concatMapStringsSep "\n" ({ env, ... }: " " + ''echo "${env} = ''$${env}"'') argsWithDefault} + echo "" + fi + + exec -a "$0" "${placeholder "out"}/bin/.vcpkg-wrapped" \ + ${lib.concatMapStringsSep "\n" ({ arg, env, ... }: " " + ''${arg}="''$${env}" \'') argsWithDefault} + "''${FINAL_NONMODIFIED_ARGS[@]}" ''; + postFixup = lib.optionalString doWrap '' + mv "$out/bin/vcpkg" "$out/bin/.vcpkg-wrapped" + install -Dm555 "$vcpkgWrapperPath" "$out/bin/vcpkg" + ''; + + passthru.tests = { + testWrapper = runCommand "vcpkg-tool-test-wrapper" { buildInputs = [ finalAttrs.finalPackage ]; } '' + export NIX_VCPKG_DEBUG_PRINT_ENVVARS=true + vcpkg --x-packages-root="test" --x-install-root="test2" contact > "$out" + + cat "$out" | head -n 4 | diff - ${writeText "vcpkg-tool-test-wrapper-expected" '' + NIX_VCPKG_DOWNLOADS_ROOT = /homeless-shelter/.vcpkg/root/downloads + NIX_VCPKG_BUILDTREES_ROOT = /homeless-shelter/.vcpkg/root/buildtrees + NIX_VCPKG_PACKAGES_ROOT = test + NIX_VCPKG_INSTALL_ROOT = test2 + ''} + ''; + }; + meta = { description = "Components of microsoft/vcpkg's binary"; mainProgram = "vcpkg"; homepage = "https://github.com/microsoft/vcpkg-tool"; + changelog = "https://github.com/microsoft/vcpkg-tool/releases/tag/${finalAttrs.src.rev}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ guekka gracicot ]; + maintainers = with lib.maintainers; [ guekka gracicot h7x4 ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/vc/vcpkg/package.nix b/pkgs/by-name/vc/vcpkg/package.nix index ed2df2e36f76..74e16ebf8465 100644 --- a/pkgs/by-name/vc/vcpkg/package.nix +++ b/pkgs/by-name/vc/vcpkg/package.nix @@ -2,7 +2,8 @@ , stdenvNoCC , lib , vcpkg-tool -, writeShellScript +, makeWrapper +, doWrap ? true }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -16,27 +17,31 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-eDpMGDtC44eh0elLWV0r1H/WbpVdZ5qMedKh7Ct50Cs="; }; - installPhase = let - # vcpkg needs two directories to write to that is independent of installation directory. - # Since vcpkg already creates $HOME/.vcpkg/ we use that to create a root where vcpkg can write into. - vcpkgScript = writeShellScript "vcpkg" '' - vcpkg_writable_path="$HOME/.vcpkg/root/" + nativeBuildInputs = [ makeWrapper ]; - VCPKG_ROOT="@out@/share/vcpkg" ${vcpkg-tool}/bin/vcpkg \ - --x-downloads-root="$vcpkg_writable_path"/downloads \ - --x-buildtrees-root="$vcpkg_writable_path"/buildtrees \ - --x-packages-root="$vcpkg_writable_path"/packages \ - "$@" - ''; - in '' + postPatch = '' + substituteInPlace scripts/toolchains/linux.cmake \ + --replace-fail "aarch64-linux-gnu-as" "aarch64-unknown-linux-gnu-as" \ + --replace-fail "aarch64-linux-gnu-gcc" "aarch64-unknown-linux-gnu-gcc" \ + --replace-fail "aarch64-linux-gnu-g++" "aarch64-unknown-linux-gnu-g++" \ + --replace-fail "arm-linux-gnueabihf-as" "armv7l-unknown-linux-gnueabihf-as" \ + --replace-fail "arm-linux-gnueabihf-gcc" "armv7l-unknown-linux-gnueabihf-gcc" \ + --replace-fail "arm-linux-gnueabihf-g++" "armv7l-unknown-linux-gnueabihf-g++" + ''; + + installPhase = '' runHook preInstall - mkdir -p $out/bin $out/share/vcpkg/scripts/buildsystems - cp --preserve=mode -r ./{docs,ports,triplets,scripts,.vcpkg-root,versions,LICENSE.txt} $out/share/vcpkg/ - substitute ${vcpkgScript} $out/bin/vcpkg --subst-var-by out $out - chmod +x $out/bin/vcpkg - ln -s $out/bin/vcpkg $out/share/vcpkg/vcpkg - touch $out/share/vcpkg/vcpkg.disable-metrics + mkdir -p "$out/bin" "$out/share/vcpkg/scripts/buildsystems" + cp --preserve=mode -r ./{docs,ports,triplets,scripts,.vcpkg-root,versions,LICENSE.txt} "$out/share/vcpkg/" + + ${lib.optionalString doWrap '' + makeWrapper "${vcpkg-tool}/bin/vcpkg" "$out/bin/vcpkg" \ + --set-default VCPKG_ROOT "$out/share/vcpkg" + ''} + + ln -s "$out/bin/vcpkg" "$out/share/vcpkg/vcpkg" + touch "$out/share/vcpkg/vcpkg.disable-metrics" runHook postInstall ''; @@ -46,7 +51,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { mainProgram = "vcpkg"; homepage = "https://vcpkg.io/"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ guekka gracicot ]; + maintainers = with lib.maintainers; [ guekka gracicot h7x4 ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/development/python-modules/aioaquacell/default.nix b/pkgs/development/python-modules/aioaquacell/default.nix new file mode 100644 index 000000000000..542dbee66733 --- /dev/null +++ b/pkgs/development/python-modules/aioaquacell/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + aiobotocore, + aiohttp, + attr, + aws-request-signer, + botocore, + requests-aws4auth, + pycognito, +}: + +buildPythonPackage rec { + pname = "aioaquacell"; + version = "0.2.0"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-n2kPD1t5d/nf43rB0q1hNNYdHeaBiadsFWTmu1bYN1A="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + aiobotocore + attr + aws-request-signer + botocore + requests-aws4auth + pycognito + ]; + + pythonImportsCheck = [ "aioaquacell" ]; + + doCheck = false; + + meta = { + changelog = "https://github.com/Jordi1990/aioaquacell/releases/tag/v${version}"; + description = "Asynchronous library to retrieve details of your Aquacell water softener device."; + homepage = "https://github.com/Jordi1990/aioaquacell"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ pyrox0 ]; + }; +} diff --git a/pkgs/development/python-modules/attr/default.nix b/pkgs/development/python-modules/attr/default.nix new file mode 100644 index 000000000000..5a6400d3e5e3 --- /dev/null +++ b/pkgs/development/python-modules/attr/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + python, +}: + +buildPythonPackage rec { + pname = "attr"; + version = "0.3.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "denis-ryzhkov"; + repo = "attr"; + rev = version; + hash = "sha256-1gOAONDuZb7xEPFZJc00BRtFF06uX65S8b3RRRNGeSo="; + }; + + build-system = [ setuptools ]; + + checkPhase = '' + runHook preCheck + ${python.interpreter} -c "import dry_attr; dry_attr.test()" + runHook postCheck + ''; + + meta = { + description = "Simple decorator to set attributes of target function or class in a DRY way."; + homepage = "https://github.com/denis-ryzhkov/attr"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pyrox0 ]; + }; +} diff --git a/pkgs/development/python-modules/aws-request-signer/default.nix b/pkgs/development/python-modules/aws-request-signer/default.nix new file mode 100644 index 000000000000..065e4a2c166f --- /dev/null +++ b/pkgs/development/python-modules/aws-request-signer/default.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + poetry-core, + requests, + requests-toolbelt, +}: + +buildPythonPackage rec { + pname = "aws-request-signer"; + version = "1.2.0"; + pyproject = true; + + src = fetchPypi { + inherit version; + pname = "aws_request_signer"; + hash = "sha256-DVorDO0wz94Fhduax7VsQZ5B5SnBfsHQoLoW4m6Ce+U="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "poetry>=0.12" poetry-core \ + --replace-fail poetry.masonry.api poetry.core.masonry.api + ''; + + build-system = [ poetry-core ]; + + dependencies = [ + requests + requests-toolbelt + ]; + + doCheck = false; + + meta = { + changelog = "https://github.com/iksteen/aws-request-signer/releases/tag/${version}"; + description = "Python library to sign AWS requests using AWS Signature V4."; + homepage = "https://github.com/iksteen/aws-request-signer"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pyrox0 ]; + }; +} diff --git a/pkgs/development/python-modules/conda/default.nix b/pkgs/development/python-modules/conda/default.nix index f9971372197a..18a0d4aaf67d 100644 --- a/pkgs/development/python-modules/conda/default.nix +++ b/pkgs/development/python-modules/conda/default.nix @@ -11,6 +11,7 @@ conda-libmamba-solver, conda-package-handling, distro, + frozendict, jsonpatch, packaging, platformdirs, @@ -48,6 +49,7 @@ buildPythonPackage rec { conda-libmamba-solver conda-package-handling distro + frozendict jsonpatch packaging platformdirs diff --git a/pkgs/development/python-modules/cvelib/default.nix b/pkgs/development/python-modules/cvelib/default.nix index b51d4ea6f64f..121a9d166c9c 100644 --- a/pkgs/development/python-modules/cvelib/default.nix +++ b/pkgs/development/python-modules/cvelib/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "cvelib"; - version = "1.4.0"; + version = "1.5.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "RedHatProductSecurity"; repo = "cvelib"; rev = "refs/tags/${version}"; - hash = "sha256-nj5bkep8jYJE1qh2zNxivjKOpHj93UZ8bU+qNs2On8s="; + hash = "sha256-me61A1SyktPTd9u0t51kF4237/t9wiHqz+IVoyojMXY="; }; postPatch = '' diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix index 515597eca036..61f90aee211f 100644 --- a/pkgs/development/python-modules/fakeredis/default.nix +++ b/pkgs/development/python-modules/fakeredis/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "fakeredis"; - version = "2.23.2"; + version = "2.23.3"; pyproject = true; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "dsoftwareinc"; repo = "fakeredis-py"; rev = "refs/tags/v${version}"; - hash = "sha256-/nuBj9h5MMz1YvJozhl4Fq/OkLckesnQHHTUWfz06sA="; + hash = "sha256-U+jLxI2Ly+LvC/0eGXdaAa6iqDFfu5n8X0UrTWFRhhE="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix new file mode 100644 index 000000000000..7fb03157345b --- /dev/null +++ b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix @@ -0,0 +1,76 @@ +{ + lib, + azure-identity, + buildPythonPackage, + fetchFromGitHub, + freezegun, + langchain-core, + langchain-openai, + lark, + pandas, + poetry-core, + pytest-asyncio, + pytest-mock, + pytest-socket, + pytestCheckHook, + pythonOlder, + requests-mock, + responses, + syrupy, + toml, +}: + +buildPythonPackage rec { + pname = "langchain-azure-dynamic-sessions"; + version = "0.1.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain"; + rev = "refs/tags/langchain-azure-dynamic-sessions==${version}"; + hash = "sha256-jz4IBMnWuk8FsSsyfLN14B0xWZrmZrvEW95a45S+FOo="; + }; + + sourceRoot = "${src.name}/libs/partners/azure-dynamic-sessions"; + + build-system = [ poetry-core ]; + + dependencies = [ + azure-identity + langchain-core + langchain-openai + ]; + + nativeCheckInputs = [ + freezegun + lark + pandas + pytest-asyncio + pytest-mock + pytest-socket + pytestCheckHook + requests-mock + responses + syrupy + toml + ]; + + pytestFlagsArray = [ "tests/unit_tests" ]; + + pythonImportsCheck = [ "langchain_azure_dynamic_sessions" ]; + + passthru = { + updateScript = langchain-core.updateScript; + }; + + meta = { + description = "Integration package connecting Azure Container Apps dynamic sessions and LangChain"; + homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/azure-dynamic-sessions"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-azure-dynamic-sessions==${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/development/python-modules/langchain-chroma/default.nix b/pkgs/development/python-modules/langchain-chroma/default.nix index 8afb70b1a467..2331babc4d7e 100644 --- a/pkgs/development/python-modules/langchain-chroma/default.nix +++ b/pkgs/development/python-modules/langchain-chroma/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "langchain-chroma"; - version = "0.2.9"; + version = "0.1.2"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - rev = "refs/tags/langchain-core==${version}"; - hash = "sha256-/BUn/NxaE9l3VY6dPshr1JJaHTGzn9NMQhSQ2De65Jg="; + rev = "refs/tags/langchain-chroma==${version}"; + hash = "sha256-PQ3bepiAqzWhQdKofQSzQKxRrwI6dxBfSNV91462aJE="; }; sourceRoot = "${src.name}/libs/partners/chroma"; @@ -44,8 +44,9 @@ buildPythonPackage rec { }; meta = { - description = "Build context-aware reasoning applications"; - homepage = "https://github.com/langchain-ai/langchain"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-chroma==${version}"; + description = "Integration package connecting Chroma and LangChain"; + homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/chroma"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ natsukium ]; }; diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix index c291bd41d78d..78150a083a16 100644 --- a/pkgs/development/python-modules/langchain-community/default.nix +++ b/pkgs/development/python-modules/langchain-community/default.nix @@ -9,6 +9,7 @@ langchain, langchain-core, langsmith, + httpx, lark, numpy, pandas, @@ -28,7 +29,7 @@ buildPythonPackage rec { pname = "langchain-community"; - version = "0.2.9"; + version = "0.2.7"; pyproject = true; disabled = pythonOlder "3.8"; @@ -36,12 +37,19 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - rev = "refs/tags/langchain-core==${version}"; - hash = "sha256-/BUn/NxaE9l3VY6dPshr1JJaHTGzn9NMQhSQ2De65Jg="; + rev = "refs/tags/langchain-community==${version}"; + hash = "sha256-r0YSJkYPcwjHyw1xST5Zrgg9USjN9GOsvhV97imSFCQ="; }; sourceRoot = "${src.name}/libs/community"; + preConfigure = '' + ln -s ${src}/libs/standard-tests/langchain_standard_tests ./langchain_standard_tests + + substituteInPlace pyproject.toml \ + --replace-fail "path = \"../standard-tests\"" "path = \"./langchain_standard_tests\"" + ''; + build-system = [ poetry-core ]; dependencies = [ @@ -57,13 +65,14 @@ buildPythonPackage rec { tenacity ]; - passthru.optional-dependencies = { + optional-dependencies = { cli = [ typer ]; }; pythonImportsCheck = [ "langchain_community" ]; nativeCheckInputs = [ + httpx lark pandas pytest-asyncio @@ -93,9 +102,9 @@ buildPythonPackage rec { ]; meta = { + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-community==${version}"; description = "Community contributed LangChain integrations"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/community"; - changelog = "https://github.com/langchain-ai/langchain/releases/tag/v${version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ natsukium ]; }; diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index f55d59b85059..bbc3a7adc576 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -1,9 +1,11 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, freezegun, grandalf, + httpx, jsonpatch, langsmith, numpy, @@ -23,7 +25,7 @@ buildPythonPackage rec { pname = "langchain-core"; - version = "0.2.9"; + version = "0.2.21"; pyproject = true; disabled = pythonOlder "3.8"; @@ -32,19 +34,20 @@ buildPythonPackage rec { owner = "langchain-ai"; repo = "langchain"; rev = "refs/tags/langchain-core==${version}"; - hash = "sha256-/BUn/NxaE9l3VY6dPshr1JJaHTGzn9NMQhSQ2De65Jg="; + hash = "sha256-8qEN03iimGLnhg6TdpPal+MXBZJ/QHJKwjxRF96abBw="; }; sourceRoot = "${src.name}/libs/core"; - pythonRelaxDeps = [ - "langsmith" - "packaging" - ]; + preConfigure = '' + ln -s ${src}/libs/standard-tests/langchain_standard_tests ./langchain_standard_tests + + substituteInPlace pyproject.toml \ + --replace-fail "path = \"../standard-tests\"" "path = \"./langchain_standard_tests\"" + ''; build-system = [ poetry-core ]; - dependencies = [ jsonpatch langsmith @@ -59,6 +62,7 @@ buildPythonPackage rec { nativeCheckInputs = [ freezegun grandalf + httpx numpy pytest-asyncio pytest-mock @@ -69,13 +73,6 @@ buildPythonPackage rec { pytestFlagsArray = [ "tests/unit_tests" ]; - disabledTests = [ - # Fail for an unclear reason with: - # AssertionError: assert '6a92363c-4ac...-d344769ab6ac' == '09af124a-2ed...-671c64c72b70' - "test_config_traceable_handoff" - "test_config_traceable_async_handoff" - ]; - passthru = { updateScript = writeScript "update.sh" '' #!/usr/bin/env nix-shell @@ -89,6 +86,12 @@ buildPythonPackage rec { ''; }; + disabledTests = lib.optionals stdenv.isDarwin [ + # Langchain-core the following tests due to the test comparing execution time with magic values. + "test_queue_for_streaming_via_sync_call" + "test_same_event_loop" + ]; + meta = { description = "Building applications with LLMs through composability"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/core"; diff --git a/pkgs/development/python-modules/langchain-huggingface/default.nix b/pkgs/development/python-modules/langchain-huggingface/default.nix new file mode 100644 index 000000000000..6f52e35b341a --- /dev/null +++ b/pkgs/development/python-modules/langchain-huggingface/default.nix @@ -0,0 +1,80 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + freezegun, + huggingface-hub, + langchain-core, + sentence-transformers, + tokenizers, + transformers, + lark, + pandas, + poetry-core, + pytest-asyncio, + pytest-mock, + pytest-socket, + pytestCheckHook, + pythonOlder, + requests-mock, + responses, + syrupy, + toml, +}: + +buildPythonPackage rec { + pname = "langchain-huggingface"; + version = "0.0.3"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain"; + rev = "refs/tags/langchain-huggingface==${version}"; + hash = "sha256-4k3C6T2N7SBM/wP8KAwMQqt9DkXDdYNt2i/OkZilWw0="; + }; + + sourceRoot = "${src.name}/libs/partners/huggingface"; + + build-system = [ poetry-core ]; + + dependencies = [ + huggingface-hub + langchain-core + sentence-transformers + tokenizers + transformers + ]; + + nativeCheckInputs = [ + freezegun + lark + pandas + pytest-asyncio + pytest-mock + pytest-socket + pytestCheckHook + requests-mock + responses + syrupy + toml + ]; + + pytestFlagsArray = [ "tests/unit_tests" ]; + + pythonImportsCheck = [ "langchain_huggingface" ]; + + passthru = { + updateScript = langchain-core.updateScript; + }; + + meta = { + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-huggingface==${version}"; + description = "An integration package connecting Huggingface related classes and LangChain"; + homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/huggingface"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/development/python-modules/langchain-mongodb/default.nix b/pkgs/development/python-modules/langchain-mongodb/default.nix new file mode 100644 index 000000000000..12c7612cf2e6 --- /dev/null +++ b/pkgs/development/python-modules/langchain-mongodb/default.nix @@ -0,0 +1,77 @@ +{ + lib, + azure-identity, + buildPythonPackage, + fetchFromGitHub, + freezegun, + langchain, + langchain-core, + pymongo, + lark, + pandas, + poetry-core, + pytest-asyncio, + pytest-mock, + pytest-socket, + pytestCheckHook, + pythonOlder, + requests-mock, + responses, + syrupy, + toml, +}: + +buildPythonPackage rec { + pname = "langchain-mongodb"; + version = "0.1.6"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain"; + rev = "refs/tags/langchain-mongodb==${version}"; + hash = "sha256-p/cdWFPc2Oi5aRmjj1oAixM6aDKw0TbyzMdP4h2acG4="; + }; + + sourceRoot = "${src.name}/libs/partners/mongodb"; + + build-system = [ poetry-core ]; + + dependencies = [ + langchain-core + pymongo + ]; + + nativeCheckInputs = [ + freezegun + langchain + lark + pandas + pytest-asyncio + pytest-mock + pytest-socket + pytestCheckHook + requests-mock + responses + syrupy + toml + ]; + + pytestFlagsArray = [ "tests/unit_tests" ]; + + pythonImportsCheck = [ "langchain_mongodb" ]; + + passthru = { + updateScript = langchain-core.updateScript; + }; + + meta = { + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-mongodb==${version}"; + description = "Integration package connecting MongoDB and LangChain"; + homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/mongodb"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix new file mode 100644 index 000000000000..de21629f02c9 --- /dev/null +++ b/pkgs/development/python-modules/langchain-openai/default.nix @@ -0,0 +1,103 @@ +{ + lib, + async-timeout, + bash, + buildPythonPackage, + fetchFromGitHub, + freezegun, + langchain, + langchain-core, + openai, + tiktoken, + lark, + pandas, + poetry-core, + pytest-asyncio, + pytest-mock, + pytest-socket, + pytestCheckHook, + pythonOlder, + requests-mock, + responses, + syrupy, + toml, +}: + +buildPythonPackage rec { + pname = "langchain-openai"; + version = "0.1.17"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain"; + rev = "refs/tags/langchain-openai==${version}"; + hash = "sha256-ELD1KXCVx3SmiJodagtOHgBGKdjRWiRVCCNYcL63eCY="; + }; + + sourceRoot = "${src.name}/libs/partners/openai"; + + preConfigure = '' + ln -s ${src}/libs/standard-tests/langchain_standard_tests ./langchain_standard_tests + + substituteInPlace pyproject.toml \ + --replace-fail "path = \"../../standard-tests\"" "path = \"./langchain_standard_tests\"" \ + --replace-fail "--cov=langchain_openai" "" + ''; + + build-system = [ poetry-core ]; + + dependencies = [ + langchain + langchain-core + openai + tiktoken + ]; + + nativeCheckInputs = [ + freezegun + lark + pandas + pytest-asyncio + pytest-mock + pytest-socket + pytestCheckHook + requests-mock + responses + syrupy + toml + ]; + + pytestFlagsArray = [ "tests/unit_tests" ]; + + disabledTests = [ + # These tests require network access + "test__get_encoding_model" + "test_get_token_ids" + "test_azure_openai_secrets" + "test_azure_openai_api_key_is_secret_string" + "test_get_num_tokens_from_messages" + "test_azure_openai_api_key_masked_when_passed_from_env" + "test_azure_openai_api_key_masked_when_passed_via_constructor" + "test_azure_openai_uses_actual_secret_value_from_secretstr" + "test_azure_serialized_secrets" + "test_openai_get_num_tokens" + "test_chat_openai_get_num_tokens" + ]; + + pythonImportsCheck = [ "langchain_openai" ]; + + passthru = { + updateScript = langchain-core.updateScript; + }; + + meta = { + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-openai==${version}"; + description = "Integration package connecting OpenAI and LangChain"; + homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/openai"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix index beb4c5d8c332..d35c78c22ced 100644 --- a/pkgs/development/python-modules/langchain-text-splitters/default.nix +++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "langchain-text-splitters"; - version = "0.2.9"; + version = "0.2.2"; pyproject = true; disabled = pythonOlder "3.9"; @@ -19,8 +19,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - rev = "refs/tags/langchain-core==${version}"; - hash = "sha256-/BUn/NxaE9l3VY6dPshr1JJaHTGzn9NMQhSQ2De65Jg="; + rev = "refs/tags/langchain-text-splitters==${version}"; + hash = "sha256-SixF3ZkN+gjQ4KYLhGoezdQAOQ1AlGEC6IBzHePF6/o="; }; sourceRoot = "${src.name}/libs/text-splitters"; @@ -43,9 +43,9 @@ buildPythonPackage rec { }; meta = { - description = "Build context-aware reasoning applications"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-text-splitters==${version}"; + description = "LangChain utilities for splitting into chunks a wide variety of text documents"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/text-splitters"; - changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.rev}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 73c6050f01fd..8475a6bbbce5 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -39,8 +39,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - rev = "refs/tags/langchain-core==${version}"; - hash = "sha256-/BUn/NxaE9l3VY6dPshr1JJaHTGzn9NMQhSQ2De65Jg="; + rev = "refs/tags/langchain==${version}"; + hash = "sha256-HSr1watEDC28SZTsJWbXGrZsQd0O/wgxmj7pTsxMBOA="; }; sourceRoot = "${src.name}/libs/langchain"; diff --git a/pkgs/development/python-modules/libmambapy/default.nix b/pkgs/development/python-modules/libmambapy/default.nix index 97f5e0dec10a..5f5725a6a8ce 100644 --- a/pkgs/development/python-modules/libmambapy/default.nix +++ b/pkgs/development/python-modules/libmambapy/default.nix @@ -77,7 +77,6 @@ buildPythonPackage rec { pypaBuildPhase ''; - pythonRemoveDeps = [ "scikit-build" ]; pythonImportsCheck = [ "libmambapy" diff --git a/pkgs/development/python-modules/peewee/default.nix b/pkgs/development/python-modules/peewee/default.nix index 93b27731359c..8116af981ac9 100644 --- a/pkgs/development/python-modules/peewee/default.nix +++ b/pkgs/development/python-modules/peewee/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "peewee"; - version = "3.17.5"; + version = "3.17.6"; pyproject = true; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "coleifer"; repo = "peewee"; rev = "refs/tags/${version}"; - hash = "sha256-2SrqWPyeDBKOweLu7bEcDIAqCCtnKv0VBdzfpaA22ow="; + hash = "sha256-HluoCXblqwaOb+gtAhvaYshTj9CtHoegn0QUaq0V+eA="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix index 15e281911325..89474b2646db 100644 --- a/pkgs/development/python-modules/plexapi/default.nix +++ b/pkgs/development/python-modules/plexapi/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "plexapi"; - version = "4.15.14"; + version = "4.15.15"; pyproject = true; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "pkkid"; repo = "python-plexapi"; rev = "refs/tags/${version}"; - hash = "sha256-fcKLsx+hCMcY+LE7tHW0oys89MnmnYZndnctGBCiFDk="; + hash = "sha256-8sn+ttW8JzxrjDYvtRcjlahE0PNufMXySDwFsbg5zqk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pylsp-rope/default.nix b/pkgs/development/python-modules/pylsp-rope/default.nix index b6baeb4934f3..34b4a229e25e 100644 --- a/pkgs/development/python-modules/pylsp-rope/default.nix +++ b/pkgs/development/python-modules/pylsp-rope/default.nix @@ -4,6 +4,7 @@ pythonOlder, fetchFromGitHub, + # dependencies rope, python-lsp-server, @@ -25,7 +26,7 @@ buildPythonPackage rec { hash = "sha256-Mr+mWRvOXoy7+SosMae80o0V1jBMn1dEoGmaR/BGHrc="; }; - propagatedBuildInputs = [ + dependencies = [ rope python-lsp-server ]; diff --git a/pkgs/development/python-modules/python-fluent/fluent-pygments.nix b/pkgs/development/python-modules/python-fluent/fluent-pygments.nix new file mode 100644 index 000000000000..141e13c1d5c4 --- /dev/null +++ b/pkgs/development/python-modules/python-fluent/fluent-pygments.nix @@ -0,0 +1,51 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, + + # dependencies + fluent-syntax, + pygments, + six, +}: + +let + version = "1.0"; + + src = fetchFromGitHub { + owner = "projectfluent"; + repo = "python-fluent"; + rev = "fluent.pygments@${version}"; + hash = "sha256-AR2uce3HS1ELzpoHmx7F/5/nrL+7KhYemw/00nmvLik="; + }; +in +buildPythonPackage { + pname = "fluent-pygments"; + inherit version; + pyproject = true; + + inherit src; + sourceRoot = "${src.name}/fluent.pygments"; + + build-system = [ setuptools ]; + + dependencies = [ + fluent-syntax + pygments + six + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "fluent.pygments" ]; + + meta = { + changelog = "https://github.com/projectfluent/python-fluent/blob/main/fluent.pygments/CHANGELOG.rst"; + description = "Plugin for pygments to add syntax highlighting of Fluent files in Sphinx"; + homepage = "https://projectfluent.org/python-fluent/fluent.pygments/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ getpsyched ]; + }; +} diff --git a/pkgs/development/python-modules/python-fluent/fluent-runtime.nix b/pkgs/development/python-modules/python-fluent/fluent-runtime.nix new file mode 100644 index 000000000000..1a011956ecce --- /dev/null +++ b/pkgs/development/python-modules/python-fluent/fluent-runtime.nix @@ -0,0 +1,61 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, + + # dependencies + attrs, + babel, + fluent-syntax, + pytz, + typing-extensions, +}: + +let + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "projectfluent"; + repo = "python-fluent"; + rev = "fluent.runtime@${version}"; + hash = "sha256-Crg6ybweOZ4B3WfLMOcD7+TxGEZPTHJUxr8ItLB4G+Y="; + }; +in +buildPythonPackage { + pname = "fluent-runtime"; + inherit version; + pyproject = true; + + inherit src; + sourceRoot = "${src.name}/fluent.runtime"; + + build-system = [ setuptools ]; + + dependencies = [ + attrs + babel + fluent-syntax + pytz + typing-extensions + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + disabledTests = [ + # https://github.com/projectfluent/python-fluent/pull/203 + "test_timeZone" + ]; + + pythonImportsCheck = [ "fluent.runtime" ]; + + meta = { + changelog = "https://github.com/projectfluent/python-fluent/blob/${src.rev}/fluent.runtime/CHANGELOG.rst"; + description = "Localization library for expressive translations"; + downloadPage = "https://github.com/projectfluent/python-fluent/releases/tag/${src.rev}"; + homepage = "https://projectfluent.org/python-fluent/fluent.runtime/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ getpsyched ]; + }; +} diff --git a/pkgs/development/python-modules/python-fluent/fluent-syntax.nix b/pkgs/development/python-modules/python-fluent/fluent-syntax.nix new file mode 100644 index 000000000000..ddaa43560f2a --- /dev/null +++ b/pkgs/development/python-modules/python-fluent/fluent-syntax.nix @@ -0,0 +1,44 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, + typing-extensions, +}: + +let + version = "0.19.0"; + + src = fetchFromGitHub { + owner = "projectfluent"; + repo = "python-fluent"; + rev = "fluent.syntax@${version}"; + hash = "sha256-nULngwBG/ebICRDi6HMHBdT+r/oq6tbDL7C1iMZpMsA="; + }; +in +buildPythonPackage { + pname = "fluent-syntax"; + inherit version; + pyproject = true; + + inherit src; + sourceRoot = "${src.name}/fluent.syntax"; + + build-system = [ setuptools ]; + + dependencies = [ typing-extensions ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "fluent.syntax" ]; + + meta = { + changelog = "https://github.com/projectfluent/python-fluent/blob/${src.rev}/fluent.syntax/CHANGELOG.md"; + description = "Parse, analyze, process, and serialize Fluent files"; + downloadPage = "https://github.com/projectfluent/python-fluent/releases/tag/${src.rev}"; + homepage = "https://projectfluent.org/python-fluent/fluent.syntax/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ getpsyched ]; + }; +} diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix index d184fd2cb79f..210f0a847e27 100644 --- a/pkgs/development/python-modules/tensorflow/bin.nix +++ b/pkgs/development/python-modules/tensorflow/bin.nix @@ -208,16 +208,16 @@ buildPythonPackage { "tensorflow.python.framework" ]; - meta = with lib; { + meta = { description = "Computation using data flow graphs for scalable machine learning"; homepage = "http://tensorflow.org"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.asl20; - maintainers = with maintainers; [ + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jyp abbradar ]; - platforms = platforms.all; + badPlatforms = [ "x86_64-darwin" ]; # Cannot import tensortfow on python 3.12 as it still dependends on distutils: # ModuleNotFoundError: No module named 'distutils' # https://github.com/tensorflow/tensorflow/issues/58073 diff --git a/pkgs/development/python-modules/tensorflow/binary-hashes.nix b/pkgs/development/python-modules/tensorflow/binary-hashes.nix index 0f71cbc008b1..53cff3494dea 100644 --- a/pkgs/development/python-modules/tensorflow/binary-hashes.nix +++ b/pkgs/development/python-modules/tensorflow/binary-hashes.nix @@ -1,83 +1,67 @@ { - version = "2.16.1"; + version = "2.17.0"; x86_64-linux_39 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow_cpu-2.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "0j4311fav3b4wdhw9wb3zvc3grvgxddl28i4kwnbsvvjb191pcs5"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow_cpu-2.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "1aacn68b88bnnmpl1q0irih0avzm2lfyhwr3wldg144n5zljlrbx"; }; x86_64-linux_310 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow_cpu-2.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "0b8q3r2ql7rknlshiv3bh3hj9zll0dn6w0wdxnqgg18cljys5nhh"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow_cpu-2.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "0swhlncyaxdhygml1z246799lihfp72yxym845n46z4gm0s3hb86"; }; x86_64-linux_311 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow_cpu-2.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "12vv2jxybdfa8nq7r2y53vl7lvmaacb1xmy2368hkwqm2ld4mplg"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow_cpu-2.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "11a2i78hdlmzfkzxpr3g07n6cr2l8jmjdz5h73ipvmjkw7zq7wz7"; }; x86_64-linux_312 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow_cpu-2.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "0vvv3cr10r6kgkalk3hydqz18y4lp990pm4vwq8mbwdi101m59mf"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow_cpu-2.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "0v31jwlhbbv5aby3zlr1lk5gjwqq6y41vpf4mnwlj69jj0wlv3qw"; }; x86_64-linux_39_gpu = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "17v85433ns360rcccx7pnkhjzd003cr8p6rj51wqb3gl7gkldf83"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "0xa1brn4207c0rcilnjmadmnmyyg5zb2dfh2p43whbpbdmsfds2a"; }; x86_64-linux_310_gpu = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "0w3jd7siamvhgd7si59zpv3rdpq3s2ii3hhcdaimji66axv095hy"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "1v5l57rqpl6i00mzx2ksvdh1dx2gfis6vhnkcl550znbskg96z0l"; }; x86_64-linux_311_gpu = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "014liy5wnbi2d2lnr8lqhd7221a4a1v6gzih7nv5qfnf1h86234k"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "0ll55lwn6igja9xyin3ilf0v1yv5drw6y6d8vbx8zgay3dxpffc3"; }; x86_64-linux_312_gpu = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; - sha256 = "0qd09bxfnad969y2h3mlzib51y6xcsqipq1w278k1fl8ayxky4ja"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + sha256 = "1977hcs0rk1z2sjh7h8497m6r1yskzgj8nya50wyskgvdbmbzmqa"; }; aarch64-linux_39 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - sha256 = "1n3qf0snjwrc0lcahls4bi2qhpd4yrd531b80vlq89j0gjkjl5cj"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + sha256 = "0ird9r7s7pib89k9d66wdblkibh1n02li57a5vxbh8pdfkzprqyx"; }; aarch64-linux_310 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - sha256 = "1aygypgm5fbpskf6xvzni2yd9l49hf3ls855z2aq0as73m3m81df"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + sha256 = "05bgybxgwwrqvxcrvlrx3wdxy03vags2pis8lp1sn85g52n86rmk"; }; aarch64-linux_311 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - sha256 = "1c0bqiq2hbzcqhaym3s3s0dsp06m07mqgvm35z14nz395pxgjzb1"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + sha256 = "17cxqqpz1dk3iddi36c91arkanxb5xnfnsfcikhck9lglf7gk0na"; }; aarch64-linux_312 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - sha256 = "1ai2hrmn1il0hididdvhd005pjcn6hjivpgcw7dbhmdv6vacs4n6"; - }; - x86_64-darwin_39 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp39-cp39-macosx_10_15_x86_64.whl"; - sha256 = "0dkcd1v0ivjp6v5pngg0x461wci94nxvwprc6jwgi7rqgyx3zkz9"; - }; - x86_64-darwin_310 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp310-cp310-macosx_10_15_x86_64.whl"; - sha256 = "0rnlxrb4q2cgqaifalhpji15g1f3m9flqfvfj2p2sv3lvmbg2ydb"; - }; - x86_64-darwin_311 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp311-cp311-macosx_10_15_x86_64.whl"; - sha256 = "1xc9lis61adk2y22a82i3rvc0j7qznf4fqwg2pd1665zlhybi9gq"; - }; - x86_64-darwin_312 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp312-cp312-macosx_10_15_x86_64.whl"; - sha256 = "10g8y02ncp5l7f133vank6h01palc445h6s9jndmmy7vm33c7jh9"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + sha256 = "1zrscms9qkfpiscnl8c7ibfipwpw8jrdfvwh4wb69p9rxvqgxbbj"; }; aarch64-darwin_39 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp39-cp39-macosx_12_0_arm64.whl"; - sha256 = "0541ldysc1a06xcb632340gn1c33w245lzqwq2f2p6hm2ifqp1a2"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp39-cp39-macosx_12_0_arm64.whl"; + sha256 = "01a3hjnrgjp2i0ciwyy0gki41cy32prvjhr20zhlcjwbssarxy4p"; }; aarch64-darwin_310 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp310-cp310-macosx_12_0_arm64.whl"; - sha256 = "1crrd4izayqwji5gxjw1g9qppkvfsc8p1mr7z6hiipxidys6ldwf"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp310-cp310-macosx_12_0_arm64.whl"; + sha256 = "10ypfpmgppvvf3h7hl0m9i8ndjpk2n2v04jlaw907icviapfapsi"; }; aarch64-darwin_311 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp311-cp311-macosx_12_0_arm64.whl"; - sha256 = "0kg4g4p563nhw0l2jzydhw4ycyj3dkgqzzm0m3z8k7vzsb8na86c"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp311-cp311-macosx_12_0_arm64.whl"; + sha256 = "0kd62x53fzv6zcxh4bggakiczxd8ghjrjr9hn6fi7yyc4in6vlp8"; }; aarch64-darwin_312 = { - url = "https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp312-cp312-macosx_12_0_arm64.whl"; - sha256 = "1hnzfpfncw8fa84y0jivpfyb5cbbd4cvpln72wkcxpvhj23nvw5v"; + url = "https://storage.googleapis.com/tensorflow/versions/2.17.0/tensorflow-2.17.0-cp312-cp312-macosx_12_0_arm64.whl"; + sha256 = "0482xdh9mj65iz4651llfznbc268yqm0j9dvx9rfii97svyb867f"; }; } diff --git a/pkgs/development/python-modules/tensorflow/prefetcher.sh b/pkgs/development/python-modules/tensorflow/prefetcher.sh index acd2bc0857b3..b0ad86eccab8 100755 --- a/pkgs/development/python-modules/tensorflow/prefetcher.sh +++ b/pkgs/development/python-modules/tensorflow/prefetcher.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -version="2.16.1" +version="2.17.0" bucket="https://storage.googleapis.com/tensorflow/versions/${version}" @@ -20,10 +20,6 @@ url_and_key_list=( "aarch64-linux_310 $bucket/tensorflow-${version}-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux_311 $bucket/tensorflow-${version}-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux_312 $bucket/tensorflow-${version}-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -"x86_64-darwin_39 $bucket/tensorflow-${version}-cp39-cp39-macosx_10_15_x86_64.whl" -"x86_64-darwin_310 $bucket/tensorflow-${version}-cp310-cp310-macosx_10_15_x86_64.whl" -"x86_64-darwin_311 $bucket/tensorflow-${version}-cp311-cp311-macosx_10_15_x86_64.whl" -"x86_64-darwin_312 $bucket/tensorflow-${version}-cp312-cp312-macosx_10_15_x86_64.whl" "aarch64-darwin_39 $bucket/tensorflow-${version}-cp39-cp39-macosx_12_0_arm64.whl" "aarch64-darwin_310 $bucket/tensorflow-${version}-cp310-cp310-macosx_12_0_arm64.whl" "aarch64-darwin_311 $bucket/tensorflow-${version}-cp311-cp311-macosx_12_0_arm64.whl" diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix index 0db8f1f4fbfc..0ab4b2a4a2f3 100644 --- a/pkgs/development/tools/doctl/default.nix +++ b/pkgs/development/tools/doctl/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "doctl"; - version = "1.108.0"; + version = "1.109.1"; vendorHash = null; @@ -31,7 +31,7 @@ buildGoModule rec { owner = "digitalocean"; repo = "doctl"; rev = "v${version}"; - sha256 = "sha256-7qfzayuCpjOY8n+bixvm1OcS+BumkZJ0Oyn1xfNezX4="; + sha256 = "sha256-K27K79OAQERREu5doQGhy87XV5Fz4uZWctsZj+GiON0="; }; meta = with lib; { diff --git a/pkgs/development/tools/ruff/Cargo.lock b/pkgs/development/tools/ruff/Cargo.lock index 77ac3ebd9783..c0c9a40b172e 100644 --- a/pkgs/development/tools/ruff/Cargo.lock +++ b/pkgs/development/tools/ruff/Cargo.lock @@ -234,9 +234,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "castaway" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc" +checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" dependencies = [ "rustversion", ] @@ -314,9 +314,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.8" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" +checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" dependencies = [ "clap_builder", "clap_derive", @@ -324,9 +324,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.8" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" +checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" dependencies = [ "anstream", "anstyle", @@ -346,31 +346,20 @@ dependencies = [ [[package]] name = "clap_complete_command" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d" +checksum = "da8e198c052315686d36371e8a3c5778b7852fc75cc313e4e11eeb7a644a1b62" dependencies = [ "clap", "clap_complete", - "clap_complete_fig", "clap_complete_nushell", ] -[[package]] -name = "clap_complete_fig" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b3e65f91fabdd23cac3d57d39d5d938b4daabd070c335c006dccb866a61110" -dependencies = [ - "clap", - "clap_complete", -] - [[package]] name = "clap_complete_nushell" -version = "0.1.11" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e" +checksum = "1accf1b463dee0d3ab2be72591dccdab8bef314958340447c882c4c72acfe2a3" dependencies = [ "clap", "clap_complete", @@ -447,13 +436,14 @@ dependencies = [ [[package]] name = "compact_str" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f" +checksum = "6050c3a16ddab2e412160b31f2c871015704239bca62f72f6e5f0be631d3f644" dependencies = [ "castaway", "cfg-if", "itoa", + "rustversion", "ryu", "serde", "static_assertions", @@ -1372,9 +1362,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matchit" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3c2fcf089c060eb333302d80c5f3ffa8297abecf220f788e4a09ef85f59420" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" @@ -1914,6 +1904,7 @@ dependencies = [ "ruff_index", "ruff_python_ast", "ruff_python_parser", + "ruff_python_trivia", "ruff_text_size", "rustc-hash 2.0.0", "salsa", @@ -2001,7 +1992,7 @@ dependencies = [ [[package]] name = "ruff" -version = "0.5.2" +version = "0.5.3" dependencies = [ "anyhow", "argfile", @@ -2060,7 +2051,6 @@ dependencies = [ "mimalloc", "once_cell", "red_knot", - "red_knot_module_resolver", "ruff_db", "ruff_linter", "ruff_python_ast", @@ -2095,7 +2085,10 @@ dependencies = [ "countme", "dashmap 6.0.1", "filetime", + "ignore", "insta", + "ruff_cache", + "ruff_notebook", "ruff_python_ast", "ruff_python_parser", "ruff_source_file", @@ -2183,7 +2176,7 @@ dependencies = [ [[package]] name = "ruff_linter" -version = "0.5.2" +version = "0.5.3" dependencies = [ "aho-corasick", "annotate-snippets 0.9.2", @@ -2449,6 +2442,7 @@ version = "0.2.2" dependencies = [ "anyhow", "crossbeam", + "ignore", "insta", "jod-thread", "libc", @@ -2473,7 +2467,6 @@ dependencies = [ "shellexpand", "tracing", "tracing-subscriber", - "walkdir", ] [[package]] @@ -2498,7 +2491,7 @@ dependencies = [ [[package]] name = "ruff_wasm" -version = "0.0.0" +version = "0.5.3" dependencies = [ "console_error_panic_hook", "console_log", @@ -2797,9 +2790,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.8.3" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e73139bc5ec2d45e6c5fd85be5a46949c1c39a4c18e56915f5eb4c12f975e377" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" dependencies = [ "serde", "serde_derive", @@ -2808,9 +2801,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.8.3" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b80d3d6b56b64335c0180e5ffde23b3c5e08c14c585b51a15bd0e95393f46703" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" dependencies = [ "darling", "proc-macro2", @@ -2917,9 +2910,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" -version = "2.0.69" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -3007,18 +3000,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c" dependencies = [ "proc-macro2", "quote", @@ -3037,9 +3030,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.4+5.3.0-patched" +version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" +checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" dependencies = [ "cc", "libc", @@ -3047,9 +3040,9 @@ dependencies = [ [[package]] name = "tikv-jemallocator" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca" +checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" dependencies = [ "libc", "tikv-jemalloc-sys", diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index aa96d8dbe363..e28259426092 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -1,7 +1,6 @@ { lib , rustPlatform , fetchFromGitHub -, fetchpatch , installShellFiles , stdenv , darwin @@ -14,13 +13,13 @@ rustPlatform.buildRustPackage rec { pname = "ruff"; - version = "0.5.2"; + version = "0.5.3"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; rev = "refs/tags/${version}"; - hash = "sha256-g71RqbEoCpmCjd0CKkc++yv00ohoORDeMYAwYEHKhW4="; + hash = "sha256-+tlE5izXD+kNVwF0nucRsLALYQnkAnCZEONPVDG6dwk="; }; cargoLock = { diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix index 2d16cb5c7319..09285899065c 100644 --- a/pkgs/games/warzone2100/default.nix +++ b/pkgs/games/warzone2100/default.nix @@ -46,11 +46,11 @@ in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "4.4.2"; + version = "4.5.1"; src = fetchurl { url = "mirror://sourceforge/project/warzone2100/releases/${finalAttrs.version}/warzone2100_src.tar.xz"; - hash = "sha256-O5Yqxqp1vKYr8uvAZ1SdsI/kocOzg0KRCirCqqvLrN4="; + hash = "sha256-+bOS0wJzTZN0bXp0KKL7OO4QWY6TYhZi1R5vJolBdDQ="; }; buildInputs = [ diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix index 25a82b1806ca..be7b9f37e1ef 100644 --- a/pkgs/os-specific/linux/evdi/default.nix +++ b/pkgs/os-specific/linux/evdi/default.nix @@ -13,13 +13,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "evdi"; - version = "1.14.4"; + version = "1.14.5"; src = fetchFromGitHub { owner = "DisplayLink"; repo = "evdi"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-+T2shA6n+A0c20+/ZZoXmspH7uPdIRaHT1Cj7BxpL+U="; + hash = "sha256-G+zNFwKWtAFr2AapQoukjFQlFItIP5Q5m5TWuvTMY8k="; }; env.NIX_CFLAGS_COMPILE = toString [ @@ -37,6 +37,8 @@ stdenv.mkDerivation (finalAttrs: { ]; makeFlags = kernel.makeFlags ++ [ + # This was removed in https://github.com/DisplayLink/evdi/commit/9884501a20346ff85d8a8e3782e9ac9795013ced#diff-5d2a962cad1c08060cbab9e0bba5330ed63958b64ac04024593562cec55f176dL52 + "CONFIG_DRM_EVDI=m" "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 64a59de7f2c9..dcf57ac318aa 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -219,11 +219,12 @@ apsystems-ez1 ]; "aquacell" = ps: with ps; [ + aioaquacell fnv-hash-fast ifaddr psutil-home-assistant sqlalchemy - ]; # missing inputs: aioaquacell + ]; "aqualogic" = ps: with ps; [ aqualogic ]; @@ -5274,6 +5275,7 @@ "aprilaire" "aprs" "apsystems" + "aquacell" "aranet" "arcam_fmj" "aseko_pool_live" diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix index 6c3e753d8d56..c3bf5d6191fc 100644 --- a/pkgs/servers/homepage-dashboard/default.nix +++ b/pkgs/servers/homepage-dashboard/default.nix @@ -27,13 +27,13 @@ let in buildNpmPackage rec { pname = "homepage-dashboard"; - version = "0.9.3"; + version = "0.9.5"; src = fetchFromGitHub { owner = "gethomepage"; repo = "homepage"; rev = "v${version}"; - hash = "sha256-2t3SGN/VsD16uupeqs7tW+dyTJgt8ch60OzbvE/21vg="; + hash = "sha256-j5DGi5bLoUOoeu8RupiN+qeixNcpPAu3XG4PidZ5Bsg="; }; npmDepsHash = "sha256-jYZUVwrOxoAbfHHSBkN5IlYhC6yZVVwRoZErkbYrjUs="; diff --git a/pkgs/servers/libreddit/default.nix b/pkgs/servers/libreddit/default.nix deleted file mode 100644 index c27ea94a7b0c..000000000000 --- a/pkgs/servers/libreddit/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib -, stdenv -, nixosTests -, rustPlatform -, fetchFromGitHub -, Security -}: - -rustPlatform.buildRustPackage rec { - pname = "libreddit"; - version = "0.30.1"; - - src = fetchFromGitHub { - owner = "libreddit"; - repo = pname; - rev = "refs/tags/v${version}"; - hash = "sha256-Z+COSDiJoWHHZQM4BJca0JA5RrJKYjhfkFj8yx/0gZA="; - }; - - cargoHash = "sha256-42xtt5dCcV6+TcssFjufkVtDSRiDGaatAaiP6K8DT8I="; - - buildInputs = lib.optionals stdenv.isDarwin [ - Security - ]; - - passthru.tests = { - inherit (nixosTests) libreddit; - }; - - meta = with lib; { - description = "Private front-end for Reddit"; - mainProgram = "libreddit"; - homepage = "https://github.com/libreddit/libreddit"; - changelog = "https://github.com/libreddit/libreddit/releases/tag/v${version}"; - license = with licenses; [ agpl3Only ]; - maintainers = with maintainers; [ fab jojosch ]; - }; -} diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix index a991f3fa40e7..362337ae293d 100644 --- a/pkgs/servers/nosql/apache-jena/binary.nix +++ b/pkgs/servers/nosql/apache-jena/binary.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "apache-jena"; - version = "5.0.0"; + version = "5.1.0"; src = fetchurl { url = "mirror://apache/jena/binaries/apache-jena-${version}.tar.gz"; - hash = "sha256-Se47rsgp8V6Ypv0QHrwjIXrDPchM1nSl/GmUWMEvLIo="; + hash = "sha256-LsNno/s2KFKykxKN7klTLfmFWu/jtXJCV9TFPX/Osh4="; }; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/tools/admin/boulder/default.nix b/pkgs/tools/admin/boulder/default.nix index 8da2e8db9e3a..aca011e0fba2 100644 --- a/pkgs/tools/admin/boulder/default.nix +++ b/pkgs/tools/admin/boulder/default.nix @@ -8,7 +8,7 @@ buildGoModule rec { pname = "boulder"; - version = "2024-07-02"; + version = "2024-07-16"; src = fetchFromGitHub { owner = "letsencrypt"; @@ -21,7 +21,7 @@ buildGoModule rec { find $out -name .git -print0 | xargs -0 rm -rf popd ''; - hash = "sha256-SWOWx1K+m+VWGPqBEyn/m5/9qspEd2JiLLskXJLH5AM="; + hash = "sha256-mIUT9qVBPWrL0ySORwgEH6azaQmzMCl7ha/eYRtvAg4="; }; vendorHash = null; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 3504b2c1c413..047654b45494 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -755,6 +755,7 @@ mapAliases ({ librdf = lrdf; # Added 2020-03-22 LibreArp = librearp; # Added 2024-06-12 LibreArp-lv2 = librearp-lv2; # Added 2024-06-12 + libreddit = throw "'libreddit' has been removed because it is unmaintained upstream. Consider using 'redlib', a maintained fork"; # Added 2024-07-17 libressl_3_5 = throw "'libressl_3_5' has reached end-of-life "; # Added 2023-05-07 librtlsdr = rtl-sdr; # Added 2023-02-18 librewolf-wayland = librewolf; # Added 2022-11-15 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e0317d33980..90e78b247b07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10165,10 +10165,6 @@ with pkgs; libzmf = callPackage ../development/libraries/libzmf { }; - libreddit = callPackage ../servers/libreddit { - inherit (darwin.apple_sdk.frameworks) Security; - }; - librespeed-cli = callPackage ../tools/misc/librespeed-cli { }; libreswan = callPackage ../tools/networking/libreswan { }; @@ -19535,6 +19531,8 @@ with pkgs; qcachegrind = libsForQt5.callPackage ../development/tools/analysis/qcachegrind { }; + vcpkg-tool-unwrapped = callPackage ../by-name/vc/vcpkg-tool/package.nix { doWrap = false; }; + visualvm = callPackage ../development/tools/java/visualvm { }; volta = callPackage ../development/tools/volta { }; @@ -38055,7 +38053,8 @@ with pkgs; inherit (callPackages ../applications/science/logic/z3 { python = python3; }) z3_4_12 z3_4_11 - z3_4_8 + z3_4_8; + inherit (callPackages ../applications/science/logic/z3 { python = python311; }) z3_4_8_5; z3 = z3_4_8; z3-tptp = callPackage ../applications/science/logic/z3/tptp.nix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6900de477170..4bb240025736 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -157,6 +157,8 @@ self: super: with self; { aioapns = callPackage ../development/python-modules/aioapns { }; + aioaquacell = callPackage ../development/python-modules/aioaquacell { }; + aiocron = callPackage ../development/python-modules/aiocron { }; ailment = callPackage ../development/python-modules/ailment { }; @@ -945,6 +947,8 @@ self: super: with self; { attacut = callPackage ../development/python-modules/attacut { }; + attr = callPackage ../development/python-modules/attr { }; + attrdict = callPackage ../development/python-modules/attrdict { }; attrs = callPackage ../development/python-modules/attrs { }; @@ -1062,6 +1066,8 @@ self: super: with self; { aws-lambda-builders = callPackage ../development/python-modules/aws-lambda-builders { }; + aws-request-signer = callPackage ../development/python-modules/aws-request-signer { }; + aws-sam-translator = callPackage ../development/python-modules/aws-sam-translator { }; aws-secretsmanager-caching = callPackage ../development/python-modules/aws-secretsmanager-caching { }; @@ -4516,6 +4522,12 @@ self: super: with self; { fluent-logger = callPackage ../development/python-modules/fluent-logger { }; + fluent-pygments = callPackage ../development/python-modules/python-fluent/fluent-pygments.nix { }; + + fluent-runtime = callPackage ../development/python-modules/python-fluent/fluent-runtime.nix { }; + + fluent-syntax = callPackage ../development/python-modules/python-fluent/fluent-syntax.nix { }; + flufl-bounce = callPackage ../development/python-modules/flufl/bounce.nix { }; flufl-i18n = callPackage ../development/python-modules/flufl/i18n.nix { }; @@ -6625,12 +6637,20 @@ self: super: with self; { langchain = callPackage ../development/python-modules/langchain { }; + langchain-azure-dynamic-sessions = callPackage ../development/python-modules/langchain-azure-dynamic-sessions { }; + langchain-chroma = callPackage ../development/python-modules/langchain-chroma { }; langchain-community = callPackage ../development/python-modules/langchain-community { }; langchain-core = callPackage ../development/python-modules/langchain-core { }; + langchain-huggingface = callPackage ../development/python-modules/langchain-huggingface { }; + + langchain-mongodb = callPackage ../development/python-modules/langchain-mongodb { }; + + langchain-openai = callPackage ../development/python-modules/langchain-openai { }; + langchain-text-splitters = callPackage ../development/python-modules/langchain-text-splitters { }; langcodes = callPackage ../development/python-modules/langcodes { };