Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-08-08 00:14:24 +00:00 committed by GitHub
commit 2b9cdb828b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
220 changed files with 6958 additions and 4226 deletions

2
.github/CODEOWNERS vendored
View File

@ -43,9 +43,11 @@
/pkgs/top-level/stage.nix @Ericson2314
/pkgs/top-level/splice.nix @Ericson2314
/pkgs/top-level/release-cross.nix @Ericson2314
/pkgs/stdenv @philiptaron
/pkgs/stdenv/generic @Ericson2314
/pkgs/stdenv/generic/check-meta.nix @Ericson2314
/pkgs/stdenv/cross @Ericson2314
/pkgs/build-support @philiptaron
/pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314

View File

@ -346,11 +346,11 @@ NOTE: It is highly recommended to use a pinned version of pnpm (i.e. `pnpm_8` or
In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `finalAttrs.patches` to the function as well (i.e. `inherit (finalAttrs) patches`.
`pnpm.configHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array.
#### Dealing with `sourceRoot` {#javascript-pnpm-sourceRoot}
NOTE: Nixpkgs pnpm tooling doesn't support building projects with a `pnpm-workspace.yaml`, or building monorepos. It maybe possible to use `pnpm.fetchDeps` for these projects, but it may be hard or impossible to produce a binary from such projects ([an example attempt](https://github.com/NixOS/nixpkgs/pull/290715#issuecomment-2144543728)).
If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchDeps`. Note, that projects using `pnpm-workspace.yaml` are currently not supported, and will probably not work using this approach.
If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchDeps`.
If `sourceRoot` is different between the parent derivation and `fetchDeps`, you will have to set `pnpmRoot` to effectively be the same location as it is in `fetchDeps`.
Assuming the following directory structure, we can define `sourceRoot` and `pnpmRoot` as follows:
@ -375,6 +375,55 @@ Assuming the following directory structure, we can define `sourceRoot` and `pnpm
pnpmRoot = "frontend";
```
#### PNPM Workspaces {#javascript-pnpm-workspaces}
If you need to use a PNPM workspace for your project, then set `pnpmWorkspace = "<workspace project name>"` in your `pnpm.fetchDeps` call,
which will make PNPM only install dependencies for that workspace package.
For example:
```nix
...
pnpmWorkspace = "@astrojs/language-server";
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pnpmWorkspace;
...
}
```
The above would make `pnpm.fetchDeps` call only install dependencies for the `@astrojs/language-server` workspace package.
Note that you do not need to set `sourceRoot` to make this work.
Usually in such cases, you'd want to use `pnpm --filter=$pnpmWorkspace build` to build your project, as `npmHooks.npmBuildHook` probably won't work. A `buildPhase` based on the following example will probably fit most workspace projects:
```nix
buildPhase = ''
runHook preBuild
pnpm --filter=@astrojs/language-server build
runHook postBuild
'';
```
#### Additional PNPM Commands and settings {#javascript-pnpm-extraCommands}
If you require setting an additional PNPM configuration setting (such as `dedupe-peer-dependents` or similar),
set `prePnpmInstall` to the right commands to run. For example:
```nix
prePnpmInstall = ''
pnpm config set dedupe-peer-dependants false
'';
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) prePnpmInstall;
...
};
```
In this example, `prePnpmInstall` will be run by both `pnpm.configHook` and by the `pnpm.fetchDeps` builder.
### Yarn {#javascript-yarn}
Yarn based projects use a `yarn.lock` file instead of a `package-lock.json` to pin dependencies. Nixpkgs provides the Nix function `fetchYarnDeps` which fetches an offline cache suitable for running `yarn install` before building the project. In addition, Nixpkgs provides the hooks:

View File

@ -55,13 +55,19 @@ sets are
* `pkgs.python311Packages`
* `pkgs.python312Packages`
* `pkgs.python313Packages`
* `pkgs.pypyPackages`
* `pkgs.pypy27Packages`
* `pkgs.pypy39Packages`
* `pkgs.pypy310Packages`
and the aliases
* `pkgs.python2Packages` pointing to `pkgs.python27Packages`
* `pkgs.python3Packages` pointing to `pkgs.python311Packages`
* `pkgs.python3Packages` pointing to `pkgs.python312Packages`
* `pkgs.pythonPackages` pointing to `pkgs.python2Packages`
* `pkgs.pypy2Packages` pointing to `pkgs.pypy27Packages`
* `pkgs.pypy3Packages` pointing to `pkgs.pypy39Packages`
* `pkgs.pypyPackages` pointing to `pkgs.pypy2Packages`
#### `buildPythonPackage` function {#buildpythonpackage-function}
@ -1365,6 +1371,10 @@ those specified in `build-system`. If a package requires incompatible build
time dependencies, they should be removed in `postPatch` through
`substituteInPlace` or similar.
For ease of use, both `buildPythonPackage` and `buildPythonApplication` will
automatically add `pythonRelaxDepsHook` if either `pythonRelaxDeps` or
`pythonRemoveDeps` is specified.
#### Using unittestCheckHook {#using-unittestcheckhook}
`unittestCheckHook` is a hook which will set up (or configure) a [`checkPhase`](#ssec-check-phase) to run `python -m unittest discover`:

View File

@ -5536,6 +5536,12 @@
name = "Duncan Dean";
keys = [ { fingerprint = "9484 44FC E03B 05BA 5AB0 591E C37B 1C1D 44C7 86EE"; } ];
};
dvaerum = {
email = "nixpkgs-maintainer@varum.dk";
github = "dvaerum";
githubId = 6872940;
name = "Dennis Værum";
};
dvn0 = {
email = "git@dvn.me";
github = "dvn0";
@ -16345,6 +16351,11 @@
githubId = 4201956;
name = "pongo1231";
};
PopeRigby = {
name = "PopeRigby";
github = "poperigby";
githubId = 20866468;
};
poptart = {
email = "poptart@hosakacorp.net";
github = "terrorbyte";

View File

@ -2,7 +2,7 @@
let
cfg = config.services.librenms;
settingsFormat = pkgs.formats.json {};
settingsFormat = pkgs.formats.json { };
configJson = settingsFormat.generate "librenms-config.json" cfg.settings;
package = pkgs.librenms.override {
@ -16,12 +16,13 @@ let
upload_max_filesize = 100M
date.timezone = "${config.time.timeZone}"
'';
phpIni = pkgs.runCommand "php.ini" {
inherit (package) phpPackage;
inherit phpOptions;
preferLocalBuild = true;
passAsFile = [ "phpOptions" ];
} ''
phpIni = pkgs.runCommand "php.ini"
{
inherit (package) phpPackage;
inherit phpOptions;
preferLocalBuild = true;
passAsFile = [ "phpOptions" ];
} ''
cat $phpPackage/etc/php.ini $phpOptionsPath > $out
'';
@ -31,14 +32,20 @@ let
if [[ "$USER" != ${cfg.user} ]]; then
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user}'
fi
$sudo ${package}/artisan $*
$sudo ${package}/artisan "$@"
'';
lnmsWrapper = pkgs.writeShellScriptBin "lnms" ''
cd ${package}
exec ${package}/lnms $*
sudo=exec
if [[ "$USER" != ${cfg.user} ]]; then
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user}'
fi
$sudo ${package}/lnms "$@"
'';
configFile = pkgs.writeText "config.php" ''
<?php
$new_config = json_decode(file_get_contents("${cfg.dataDir}/config.json"), true);
@ -47,7 +54,8 @@ let
${lib.optionalString (cfg.extraConfig != null) cfg.extraConfig}
'';
in {
in
{
options.services.librenms = with lib; {
enable = mkEnableOption "LibreNMS network monitoring system";
@ -191,7 +199,8 @@ in {
nginx = mkOption {
type = types.submodule (
recursiveUpdate
(import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {}
(import ../web-servers/nginx/vhost-options.nix { inherit config lib; })
{ }
);
default = { };
example = literalExpression ''
@ -240,6 +249,7 @@ in {
default = "localhost";
description = ''
Hostname or IP of the MySQL/MariaDB server.
Ignored if 'socket' is defined.
'';
};
@ -248,6 +258,7 @@ in {
default = 3306;
description = ''
Port of the MySQL/MariaDB server.
Ignored if 'socket' is defined.
'';
};
@ -264,15 +275,28 @@ in {
default = "librenms";
description = ''
Name of the user on the MySQL/MariaDB server.
Ignored if 'socket' is defined.
'';
};
passwordFile = mkOption {
type = types.path;
type = types.nullOr types.path;
default = null;
example = "/run/secrets/mysql.pass";
description = ''
A file containing the password for the user of the MySQL/MariaDB server.
Must be readable for the LibreNMS user.
Ignored if 'socket' is defined, mandatory otherwise.
'';
};
socket = mkOption {
type = types.nullOr types.str;
default = null;
example = "/run/mysqld/mysqld.sock";
description = ''
A unix socket to mysql, accessible by the librenms user.
Useful when mysql is on the localhost.
'';
};
};
@ -289,7 +313,7 @@ in {
settings = mkOption {
type = types.submodule {
freeformType = settingsFormat.type;
options = {};
options = { };
};
description = ''
Attrset of the LibreNMS configuration.
@ -483,13 +507,15 @@ in {
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
User = cfg.user;
Group = cfg.group;
ExecStartPre = lib.mkIf cfg.database.createLocally [ "!${pkgs.writeShellScript "librenms-db-init" ''
ExecStartPre = lib.mkIf cfg.database.createLocally [
"!${pkgs.writeShellScript "librenms-db-init" ''
DB_PASSWORD=$(cat ${cfg.database.passwordFile} | tr -d '\n')
echo "ALTER USER '${cfg.database.username}'@'localhost' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql
${lib.optionalString cfg.useDistributedPollers ''
echo "ALTER USER '${cfg.database.username}'@'%' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql
''}
''}"];
''}"
];
};
script = ''
set -euo pipefail
@ -516,13 +542,24 @@ in {
${lib.optionalString (cfg.useDistributedPollers || cfg.distributedPoller.enable) ''
echo "CACHE_DRIVER=memcached" >> ${cfg.dataDir}/.env
''}
echo "DB_HOST=${cfg.database.host}" >> ${cfg.dataDir}/.env
echo "DB_PORT=${toString cfg.database.port}" >> ${cfg.dataDir}/.env
echo "DB_DATABASE=${cfg.database.database}" >> ${cfg.dataDir}/.env
echo "DB_USERNAME=${cfg.database.username}" >> ${cfg.dataDir}/.env
echo -n "DB_PASSWORD=" >> ${cfg.dataDir}/.env
cat ${cfg.database.passwordFile} >> ${cfg.dataDir}/.env
''
+ (
if ! isNull cfg.database.socket
then ''
# use socket connection
echo "DB_SOCKET=${cfg.database.socket}" >> ${cfg.dataDir}/.env
''
else ''
# use TCP connection
echo "DB_HOST=${cfg.database.host}" >> ${cfg.dataDir}/.env
echo "DB_PORT=${toString cfg.database.port}" >> ${cfg.dataDir}/.env
echo "DB_USERNAME=${cfg.database.username}" >> ${cfg.dataDir}/.env
echo -n "DB_PASSWORD=" >> ${cfg.dataDir}/.env
cat ${cfg.database.passwordFile} >> ${cfg.dataDir}/.env
''
)
+ ''
# clear cache after update
OLD_VERSION=$(cat ${cfg.dataDir}/version)
if [[ $OLD_VERSION != "${package.version}" ]]; then
@ -560,29 +597,31 @@ in {
services.cron = {
enable = true;
systemCronJobs = let
env = "PHPRC=${phpIni}";
in [
# based on crontab provided by LibreNMS
"33 */6 * * * ${cfg.user} ${env} ${package}/cronic ${package}/discovery-wrapper.py 1"
"*/5 * * * * ${cfg.user} ${env} ${package}/discovery.php -h new >> /dev/null 2>&1"
systemCronJobs =
let
env = "PHPRC=${phpIni}";
in
[
# based on crontab provided by LibreNMS
"33 */6 * * * ${cfg.user} ${env} ${package}/cronic ${package}/discovery-wrapper.py 1"
"*/5 * * * * ${cfg.user} ${env} ${package}/discovery.php -h new >> /dev/null 2>&1"
"${if cfg.enableOneMinutePolling then "*" else "*/5"} * * * * ${cfg.user} ${env} ${package}/cronic ${package}/poller-wrapper.py ${toString cfg.pollerThreads}"
"* * * * * ${cfg.user} ${env} ${package}/alerts.php >> /dev/null 2>&1"
"${if cfg.enableOneMinutePolling then "*" else "*/5"} * * * * ${cfg.user} ${env} ${package}/cronic ${package}/poller-wrapper.py ${toString cfg.pollerThreads}"
"* * * * * ${cfg.user} ${env} ${package}/alerts.php >> /dev/null 2>&1"
"*/5 * * * * ${cfg.user} ${env} ${package}/poll-billing.php >> /dev/null 2>&1"
"01 * * * * ${cfg.user} ${env} ${package}/billing-calculate.php >> /dev/null 2>&1"
"*/5 * * * * ${cfg.user} ${env} ${package}/check-services.php >> /dev/null 2>&1"
"*/5 * * * * ${cfg.user} ${env} ${package}/poll-billing.php >> /dev/null 2>&1"
"01 * * * * ${cfg.user} ${env} ${package}/billing-calculate.php >> /dev/null 2>&1"
"*/5 * * * * ${cfg.user} ${env} ${package}/check-services.php >> /dev/null 2>&1"
# extra: fast ping
"* * * * * ${cfg.user} ${env} ${package}/ping.php >> /dev/null 2>&1"
# extra: fast ping
"* * * * * ${cfg.user} ${env} ${package}/ping.php >> /dev/null 2>&1"
# daily.sh tasks are split to exclude update
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh cleanup >> /dev/null 2>&1"
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh notifications >> /dev/null 2>&1"
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh peeringdb >> /dev/null 2>&1"
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh mac_oui >> /dev/null 2>&1"
];
# daily.sh tasks are split to exclude update
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh cleanup >> /dev/null 2>&1"
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh notifications >> /dev/null 2>&1"
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh peeringdb >> /dev/null 2>&1"
"19 0 * * * ${cfg.user} ${env} ${package}/daily.sh mac_oui >> /dev/null 2>&1"
];
};
security.wrappers = {

View File

@ -168,7 +168,7 @@ in {
message = "Backups for database backends other than sqlite will need customization";
}
{
assertion = !(lib.hasPrefix dataDir cfg.backupDir);
assertion = cfg.backupDir != null -> !(lib.hasPrefix dataDir cfg.backupDir);
message = "Backup directory can not be in ${dataDir}";
}
];

View File

@ -3,7 +3,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
let
api_token = "f87f42114e44b63ad1b9e3c3d33d6fbe"; # random md5 hash
wrong_api_token = "e68ba041fcf1eab923a7a6de3af5f726"; # another random md5 hash
in {
in
{
name = "librenms";
meta.maintainers = lib.teams.wdz.members;
@ -49,6 +50,9 @@ in {
API_USER_NAME=api
API_TOKEN=${api_token} # random md5 hash
# seeding database to get the admin roles
${pkgs.librenms}/artisan db:seed --force --no-interaction
# we don't need to know the password, it just has to exist
API_USER_PASS=$(${pkgs.pwgen}/bin/pwgen -s 64 1)
${pkgs.librenms}/artisan user:add $API_USER_NAME -r admin -p $API_USER_PASS
@ -60,37 +64,29 @@ in {
};
nodes.snmphost = {
networking.firewall.allowedUDPPorts = [ 161 ];
systemd.services.snmpd = {
description = "snmpd";
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "forking";
User = "root";
Group = "root";
ExecStart = let
snmpd-config = pkgs.writeText "snmpd-config" ''
com2sec readonly default public
services.snmpd = {
enable = true;
openFirewall = true;
group MyROGroup v2c readonly
view all included .1 80
access MyROGroup "" any noauth exact all none none
configText = ''
com2sec readonly default public
group MyROGroup v2c readonly
view all included .1 80
access MyROGroup "" any noauth exact all none none
syslocation Testcity, Testcountry
syscontact Testi mc Test <test@example.com>
'';
syslocation Testcity, Testcountry
syscontact Testi mc Test <test@example.com>
'';
in "${pkgs.net-snmp}/bin/snmpd -c ${snmpd-config} -C";
};
};
};
testScript = ''
start_all()
snmphost.wait_until_succeeds("pgrep snmpd")
snmphost.wait_for_unit("snmpd.service")
librenms.wait_for_unit("lnms-api-init.service")
librenms.wait_for_open_port(80)

View File

@ -347,7 +347,7 @@ There are a few naming guidelines:
- The `pname` and the `version` attribute _must not_ contain uppercase letters — e.g., `"mplayer"` instead of `"MPlayer"`.
- The `version` attribute _must_ start with a digit e.g., `"0.3.1rc2"`.
- The `version` attribute _must_ start with a digit e.g., `"0.3.1rc2"` or `"0-unstable-1970-01-01"`.
- If a package is a commit from a repository without a version assigned, then the `version` attribute _should_ be the latest upstream version preceding that commit, followed by `-unstable-` and the date of the (fetched) commit. The date _must_ be in `"YYYY-MM-DD"` format.

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "JMusicBot";
version = "0.4.2";
version = "0.4.3";
src = fetchurl {
url = "https://github.com/jagrosh/MusicBot/releases/download/${version}/JMusicBot-${version}.jar";
sha256 = "sha256-Jg6/ju3ADBd7fc3njRzoEDVjIL4SzAzlTc02I4Q9hz4=";
sha256 = "sha256-7CHFc94Fe6ip7RY+XJR9gWpZPKM5JY7utHp8C3paU9s=";
};
dontUnpack = true;

View File

@ -71,10 +71,10 @@ in stdenv.mkDerivation rec {
outputs = [ "out" "doc" ];
patches = [
# Hardcode system installed banks & presets
# Lazily expand ZYN_DATADIR to fix builtin banks across updates
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/zynaddsubfx/zynaddsubfx/pull/295.patch";
hash = "sha256-UN62i9/JBs7uWTmHDKk3lkAxUXsVmIs6+6avOcL1NBg=";
url = "https://github.com/zynaddsubfx/zynaddsubfx/commit/853aa03f4f92a180b870fa62a04685d12fca55a7.patch";
hash = "sha256-4BsRZ9keeqKopr6lCQJznaZ3qWuMgD1/mCrdMiskusg=";
})
];

View File

@ -8,6 +8,7 @@
, librttopo
, libspatialite
, libxml2
, libz
, minizip
, proj
, readosm
@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
librttopo
libspatialite
libxml2
libz
minizip
proj
readosm

View File

@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "albert";
version = "0.24.3";
version = "0.25.0";
src = fetchFromGitHub {
owner = "albertlauncher";
repo = "albert";
rev = "v${finalAttrs.version}";
hash = "sha256-9vR6G/9FSy1mqZCo19Mf0RuvW63DbnhEzp/h0p6eXqs=";
hash = "sha256-eowsQhaS9RGfsw157HahENuWUWtwkwyPNSFw135MW0c=";
fetchSubmodules = true;
};
@ -58,10 +58,8 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
find -type f -name CMakeLists.txt -exec sed -i {} -e '/INSTALL_RPATH/d' \;
# WARN: This is necessary for albert to detect the package libraries.
# Please check if the file below has changed upstream before updating.
sed -i src/app/qtpluginprovider.cpp \
-e "/QStringList install_paths;/a install_paths << QFileInfo(\"$out/lib\").canonicalFilePath();"
substituteInPlace src/app/qtpluginprovider.cpp \
--replace-fail "QStringList install_paths;" "QStringList install_paths;${"\n"}install_paths << QFileInfo(\"$out/lib\").canonicalFilePath();"
'';
postFixup = ''
@ -74,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
updateScript = nix-update-script { };
};
meta = with lib; {
meta = {
description = "Fast and flexible keyboard launcher";
longDescription = ''
Albert is a desktop agnostic launcher. Its goals are usability and beauty,
@ -84,13 +82,13 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://albertlauncher.github.io";
changelog = "https://github.com/albertlauncher/albert/blob/${finalAttrs.src.rev}/CHANGELOG.md";
# See: https://github.com/NixOS/nixpkgs/issues/279226
license = licenses.unfree;
maintainers = with maintainers; [
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
ericsagnes
synthetica
eljamm
];
mainProgram = "albert";
platforms = platforms.linux;
platforms = lib.platforms.linux;
};
})

View File

@ -97,8 +97,8 @@ buildPythonApplication rec {
description = "QR code scanner desktop app for Linux";
homepage = "https://github.com/hongquan/CoBang";
license = licenses.gpl3Only;
maintainers = [ ];
maintainers = with maintainers; [ aleksana dvaerum ];
mainProgram = "cobang";
platforms = [ "x86_64-linux" ];
platforms = lib.platforms.linux;
};
}

View File

@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "gnome-epub-thumbnailer";
version = "1.7";
version = "1.8";
src = fetchurl {
url = "mirror://gnome/sources/gnome-epub-thumbnailer/${lib.versions.majorMinor version}/gnome-epub-thumbnailer-${version}.tar.xz";
sha256 = "sha256-S7Ah++RCgNuY3xTBH6XkMgsWe4GpG9e6WGvqDE+il1I=";
sha256 = "sha256-+QYZ1YxpkC8u/1e58AQrRzeGEIP0dZIaMQ/sxhL8oBc=";
};
nativeBuildInputs = [

View File

@ -18,13 +18,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gpxsee";
version = "13.22";
version = "13.23";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
rev = finalAttrs.version;
hash = "sha256-5YoFO1NHduV8qKZ8GPaFnKfRQRlhlG5swZo74SfOpZY=";
hash = "sha256-GC1Csxhr2uh9oLgC+mFxJZiwCO7TMI2ljv6GMdEiuZQ=";
};
buildInputs = [

View File

@ -128,6 +128,9 @@ stdenv.mkDerivation (finalAttrs: {
# prusa-slicer uses dlopen on `libudev.so` at runtime
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev";
# FIXME: remove in 2.8.0
NIX_CFLAGS_COMPILE = "-Wno-enum-constexpr-conversion";
prePatch = ''
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx
# now seems to be integrated into the main lib.

View File

@ -8,10 +8,13 @@
, unicode-emoji
, unicode-character-database
, cmake
, dav1d
, ninja
, pkg-config
, libaom
, libavif
, libxcrypt
, libyuv
, python3
, qt6Packages
, woff2
@ -118,9 +121,12 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = with qt6Packages; [
dav1d
ffmpeg
libaom
libavif
libxcrypt
libyuv
qtbase
qtmultimedia
skia
@ -153,7 +159,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
# Only Ladybird and WebContent need wrapped, if Qt is enabled.
# On linux we end up wraping some non-Qt apps, like headless-browser.
# On linux we end up wrapping some non-Qt apps, like headless-browser.
dontWrapQtApps = stdenv.isDarwin;
passthru.tests = {

View File

@ -1,20 +1,20 @@
{
beta = import ./browser.nix {
channel = "beta";
version = "127.0.2651.61";
version = "128.0.2739.5";
revision = "1";
hash = "sha256-M67QOKZF4+dGCdyKfe5EF5K4A6bip2/a4J1k7+v3QMQ=";
hash = "sha256-y+587iVWgPk2a1P/F2iwSW1NEnAJaigL6rlVmqaIDJk=";
};
dev = import ./browser.nix {
channel = "dev";
version = "128.0.2708.0";
version = "128.0.2739.5";
revision = "1";
hash = "sha256-QFtVQTcbiF165/Xqmo8kAoo4kQegqqzMVcr8mQiraH8=";
hash = "sha256-zY3iGbeYlOoArNNdF1qNwdtp25P0uWJmVMEK7kJIiqQ=";
};
stable = import ./browser.nix {
channel = "stable";
version = "126.0.2592.113";
version = "127.0.2651.86";
revision = "1";
hash = "sha256-wSNXCUTG9eCnqe5Ir8pE8Z7zuY2KsDgTLKKTAQeXS2s=";
hash = "sha256-1Dh+OoTrghn9ArvEnBZCkLnUf0m0qnkEtCoWjA8QId4=";
};
}

View File

@ -2,16 +2,16 @@
builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
inherit pname;
version = "3.28.0";
version = "3.28.1";
src = fetchFromGitHub {
owner = "projectcalico";
repo = "calico";
rev = "v${version}";
hash = "sha256-CiLapG5/J+oKDgoRyZmWkfA1NWJ9Cchp4yiE6bV4Wt4=";
hash = "sha256-IQGDuxk3ZDtrY/RLp2DfdCWtBNMTYPOitcVCcxH7HoY=";
};
vendorHash = "sha256-3BH7FZFfH63Z8d4U7y4S5wpiVG2Vcr9wqdzkoUnwsrM=";
vendorHash = "sha256-F44n+n9jfGYBQC1I33ylp8ZJtMi+uzjOLeG+5MbVePs=";
inherit doCheck subPackages;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "talosctl";
version = "1.7.5";
version = "1.7.6";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "talos";
rev = "v${version}";
hash = "sha256-lmDLlxiPyVhlSPplYkIaS5Uw19hir6XD8MAk8q+obhY=";
hash = "sha256-uyPnln1Cj4j1oPVERBIHMJXJWR+jPUq6AE7rZXr2yQo=";
};
vendorHash = "sha256-8UIey+r1tdVRN1RBK5xxcAzaHb0VFdgenUXSFgoWh1g=";
vendorHash = "sha256-ZJGhPT2KYYIMKmRWqdOppvXSD2W8kYtxK/900TdVdUg=";
ldflags = [ "-s" "-w" ];

View File

@ -165,8 +165,8 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.9.3";
hash = "sha256-5xtTjT+AP7Db3bhzhHkzmRIJpJB3UFZs+4cTgDB7Ihc=";
version = "1.9.4";
hash = "sha256-RCjeKdxrnCmOtUQfBC5/gM+FB6YHbc/V1cmVxNCVf20=";
vendorHash = "sha256-FnjCJilPuhYs/JTuEyb4Grn4t40Ox2uqwQf2h9B227Q=";
patches = [ ./provider-path-0_15.patch ];
passthru = {

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "yor";
version = "0.1.198";
version = "0.1.199";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = pname;
rev = version;
hash = "sha256-Af/k9O+wIEgBfpa3VffZx4mbjQGypfb5z0GWbhTOLxY=";
hash = "sha256-VQzaSWVf8n7/PHW4d0Vu1LBbPjB7EjvJrDp5w2fbl34=";
};
vendorHash = "sha256-uT/jGD4hDVes4h+mlSIT2p+C9TjxnUWsmKv9haPjjLc=";

View File

@ -17,11 +17,11 @@ let
rec {
x86_64-linux = {
urlSuffix = "linux-x86_64.tar.gz";
hash = "sha256-PVlHPjr6aUkTp9x4MVC8cgebmdaUQXX6eV0/LfAmiJc=";
hash = "sha256-2v7LF53UmVxFzoNHwv+B2zN7I6pSP66x32OplcIR7Fk=";
};
x86_64-darwin = {
urlSuffix = "macos-universal.zip";
hash = "sha256-gx+iMo2611uoR549gpBoHlp2h6zQtugPZnU9qbH6VIQ=";
hash = "sha256-73Do2Jhso6GJsyDiSz3ACN8pEmZbuPNW3vjW3BFLhY4=";
};
aarch64-darwin = x86_64-darwin;
}
@ -29,7 +29,7 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "appflowy";
version = "0.6.4";
version = "0.6.6";
src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${finalAttrs.version}/AppFlowy-${finalAttrs.version}-${dist.urlSuffix}";

View File

@ -2,11 +2,11 @@
let
pname = "jbrowse";
version = "2.12.3";
version = "2.13.1";
src = fetchurl {
url = "https://github.com/GMOD/jbrowse-components/releases/download/v${version}/jbrowse-desktop-v${version}-linux.AppImage";
sha256 = "sha256-REJYJzjPPsRebRKdNKGIbRICe4tw7V8PxO/q53DXo3Y=";
sha256 = "sha256-JxV7ZxA3/YMG6ziYOA8QiBVth9UunVGJLTy1E110y6w=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -16,14 +16,14 @@ let
abseil-cpp = fetchFromGitHub {
owner = "abseil";
repo = "abseil-cpp";
rev = "d7aaad83b488fd62bd51c81ecf16cd938532cc0a";
hash = "sha256-eA2/dZpNOlex1O5PNa3XSZhpMB3AmaIoHzVDI9TD/cg=";
rev = "4447c7562e3bc702ade25105912dce503f0c4010";
hash = "sha256-51jpDhdZ0n+KLmxh8KVaTz53pZAB0dHjmILFX+OLud4=";
};
benchmark = fetchFromGitHub {
owner = "google";
repo = "benchmark";
rev = "e45585a4b8e75c28479fa4107182c28172799640";
hash = "sha256-pgHvmRpPd99ePUVRsi7WXLVSZngZ5q6r1vWW4mdGvxY=";
rev = "7c8ed6b082aa3c7a3402f18e50da4480421d08fd";
hash = "sha256-xX3o4wX7RUvw1x2gOlT6sGhutDYLBZ/JzFnv68qN6E8=";
};
ccd = fetchFromGitHub {
owner = "danfis";
@ -40,8 +40,8 @@ let
googletest = fetchFromGitHub {
owner = "google";
repo = "googletest";
rev = "f8d7d77c06936315286eb55f8de22cd23c188571";
hash = "sha256-t0RchAHTJbuI5YW4uyBPykTvcjy90JW9AOPNjIhwh6U=";
rev = "b514bdc898e2951020cbdca1304b75f5950d1f59";
hash = "sha256-1OJ2SeSscRBNr7zZ/a8bJGIqAnhkg45re0j3DtPfcXM=";
};
lodepng = fetchFromGitHub {
owner = "lvandeve";
@ -129,7 +129,7 @@ let
in stdenv.mkDerivation rec {
pname = "mujoco";
version = "3.2.0";
version = "3.2.1";
# Bumping version? Make sure to look though the MuJoCo's commit
# history for bumped dependency pins!
@ -137,7 +137,7 @@ in stdenv.mkDerivation rec {
owner = "google-deepmind";
repo = "mujoco";
rev = "refs/tags/${version}";
hash = "sha256-BCvWVOpViEhwvlBzXuj0hoN6W4z5vC8MeO91SsdQ+x4=";
hash = "sha256-Il1ZZdHXsBcamIILfae8n51W8wJ78a/H3gQx2/+n9kQ=";
};
patches = [ ./mujoco-system-deps-dont-fetch.patch ];

View File

@ -14,12 +14,12 @@
}:
stdenv.mkDerivation rec {
pname = "vdr-softhddevice";
version = "2.3.6";
version = "2.3.7";
src = fetchFromGitHub {
owner = "ua0lnj";
repo = "vdr-plugin-softhddevice";
sha256 = "sha256-T3OG93Bx1RVyXeqkNJvhOSGojZHIWT3DHHEIzUoykds=";
sha256 = "sha256-gn1Z3pw8f0Tpo8Ot0hP9+p/KbK/EGOInE34BCH3aVp0=";
rev = "v${version}";
};

View File

@ -0,0 +1,77 @@
{ lib, stdenvNoCC }:
/**
`replaceVars` is a wrapper around the [bash function `substitute`](https://nixos.org/manual/nixpkgs/stable/#fun-substitute)
in the stdenv. It allows for terse replacement of names in the specified path, while checking
for common mistakes such as naming a replacement that does nothing or forgetting a variable which
needs to be replaced.
As with the [`--subst-var-by`](https://nixos.org/manual/nixpkgs/stable/#fun-substitute-subst-var-by)
flag, names are encoded as `@name@` in the provided file at the provided path.
Any unmatched variable names in the file at the provided path will cause a build failure.
Any remaining text that matches `@[A-Za-z_][0-9A-Za-z_'-]@` in the output after replacement
has occurred will cause a build failure.
# Inputs
`path` ([Store Path](https://nixos.org/manual/nix/latest/store/store-path.html#store-path) String)
: The file in which to replace variables.
`attrs` (AttrsOf String)
: Each entry in this set corresponds to a `--subst-var-by` entry in [`substitute`](https://nixos.org/manual/nixpkgs/stable/#fun-substitute).
# Example
```nix
{ replaceVars }:
replaceVars ./greeting.txt { world = "hello"; }
```
See `../../test/replace-vars/default.nix` for tests of this function.
*/
path: attrs:
let
# We use `--replace-fail` instead of `--subst-var-by` so that if the thing isn't there, we fail.
subst-var-by = name: value: [
"--replace-fail"
(lib.escapeShellArg "@${name}@")
(lib.escapeShellArg value)
];
replacements = lib.concatLists (lib.mapAttrsToList subst-var-by attrs);
in
stdenvNoCC.mkDerivation {
name = baseNameOf (toString path);
src = path;
doCheck = true;
dontUnpack = true;
preferLocalBuild = true;
allowSubstitutes = false;
buildPhase = ''
runHook preBuild
substitute "$src" "$out" ${lib.concatStringsSep " " replacements}
runHook postBuild
'';
# Look for Nix identifiers surrounded by `@` that aren't substituted.
checkPhase =
let
regex = lib.escapeShellArg "@[a-zA-Z_][0-9A-Za-z_'-]*@";
in
''
runHook preCheck
if grep -qe ${regex} "$out"; then
echo The following look like unsubstituted Nix identifiers that remain in "$out":
grep -oe ${regex} "$out"
echo Use the more precise '`substitute`' function if this check is in error.
exit 1
fi
runHook postCheck
'';
}

View File

@ -1,26 +1,25 @@
{ lib
, python3
, fetchFromGitHub
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
pname = "ad-miner";
version = "1.5.0";
version = "1.5.2";
pyproject = true;
src = fetchFromGitHub {
owner = "Mazars-Tech";
repo = "AD_Miner";
rev = "refs/tags/v${version}";
hash = "sha256-BSUMNVHhclHzQf3Z0p2ZZjfQIZQyc2ZeQ67PXRz1RBk=";
hash = "sha256-Xb0RFllg3oqW6PhUjRxDkgXd7lv7XD37FfBsnpxrN+s=";
};
# All requirements are pinned
pythonRelaxDeps = true;
build-system = with python3.pkgs; [
poetry-core
];
build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [
neo4j
@ -32,9 +31,7 @@ python3.pkgs.buildPythonApplication rec {
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"ad_miner"
];
pythonImportsCheck = [ "ad_miner" ];
meta = with lib; {
description = "Active Directory audit tool that leverages cypher queries to crunch data from Bloodhound";

View File

@ -0,0 +1,69 @@
{
lib,
stdenv,
fetchFromGitHub,
pnpm_8,
nodejs_22,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "astro-language-server";
version = "2.10.0";
src = fetchFromGitHub {
owner = "withastro";
repo = "language-tools";
rev = "@astrojs/language-server@${finalAttrs.version}";
hash = "sha256-WdeQQaC9AVHT+/pXLzaC6MZ6ddHsFSpxoDPHqWvqmiQ=";
};
pnpmDeps = pnpm_8.fetchDeps {
inherit (finalAttrs)
pname
version
src
pnpmWorkspace
prePnpmInstall
;
hash = "sha256-n7HTd/rKxJdQKnty5TeOcyvBU9j/EClQ9IHqbBaEwQE=";
};
nativeBuildInputs = [
nodejs_22
pnpm_8.configHook
];
buildInputs = [ nodejs_22 ];
pnpmWorkspace = "@astrojs/language-server";
prePnpmInstall = ''
pnpm config set dedupe-peer-dependents false
'';
buildPhase = ''
runHook preBuild
pnpm --filter=@astrojs/language-server build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib/astro-language-server}
cp -r {packages,node_modules} $out/lib/astro-language-server
ln -s $out/lib/astro-language-server/packages/language-server/bin/nodeServer.js $out/bin/astro-ls
runHook postInstall
'';
meta = {
description = "The Astro language server";
homepage = "https://github.com/withastro/language-tools";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pyrox0 ];
mainProgram = "astro-ls";
platforms = lib.platforms.unix;
};
})

View File

@ -5,7 +5,10 @@
}:
let
python3 = python311;
python3 = python311.override {
self = python3;
packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; };
};
in
python3.pkgs.buildPythonApplication rec {
pname = "autotools-language-server";

View File

@ -59,9 +59,9 @@
};
aks-preview = mkAzExtension rec {
pname = "aks-preview";
version = "7.0.0b2";
version = "7.0.0b3";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-${version}-py2.py3-none-any.whl";
sha256 = "f2f8aba2abf4252b3e77c2d4245320c025e111d5374bb6c1a57631cd72c42e39";
sha256 = "04067e9050de7b3560030613232bf51d9ada4b91885285954afe77b3e40ad90a";
description = "Provides a preview for upcoming AKS features";
};
akshybrid = mkAzExtension rec {
@ -227,9 +227,9 @@
};
connectedmachine = mkAzExtension rec {
pname = "connectedmachine";
version = "1.0.0b1";
version = "1.0.0b2";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/connectedmachine-${version}-py3-none-any.whl";
sha256 = "f829b171bc489bd1bffea518040acc74608581dae798f4b23bedfe8bf7445383";
sha256 = "8b8c4340c4c6552e3826220ffb95bf619447675b0469304b71fa80e2e4e31c81";
description = "Microsoft Azure Command-Line Tools ConnectedMachine Extension";
};
connectedvmware = mkAzExtension rec {
@ -514,9 +514,9 @@
};
hdinsightonaks = mkAzExtension rec {
pname = "hdinsightonaks";
version = "1.0.0b2";
version = "1.0.0b3";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/hdinsightonaks-${version}-py3-none-any.whl";
sha256 = "c323291952f9ec6014af5f760b26860bd8029aa04cc226fd5996f20726641c59";
sha256 = "f549b85107b7b83ff64fcfa5c90a5d7e900a5ea2efe76eec9b1f81689e58c365";
description = "Microsoft Azure Command-Line Tools Hdinsightonaks Extension";
};
healthbot = mkAzExtension rec {
@ -864,9 +864,9 @@
};
scvmm = mkAzExtension rec {
pname = "scvmm";
version = "1.0.0";
version = "1.1.1";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/scvmm-${version}-py2.py3-none-any.whl";
sha256 = "565aa9d75dd4d276df2f8ffec5311bd2ae16a2d6172d525a7763fc5972b262b7";
sha256 = "7d704578bc5eb60b8105de0b4a924176581a4cf2fd162b0896d81246f7f73a68";
description = "Microsoft Azure Command-Line Tools SCVMM Extension";
};
self-help = mkAzExtension rec {
@ -913,9 +913,9 @@
};
stack-hci-vm = mkAzExtension rec {
pname = "stack-hci-vm";
version = "1.1.16";
version = "1.1.20";
url = "https://hciarcvmsstorage.z13.web.core.windows.net/cli-extensions/stack_hci_vm-${version}-py3-none-any.whl";
sha256 = "6b08c750b3c3898aab17c459ff626210c17ad12f960f2ab89204765a17d530da";
sha256 = "7de544b8058ab11d9713b551db65aeaec6b8e5832cdadbbf26ccb7a4a282db6b";
description = "Microsoft Azure Command-Line Tools Stack-HCi-VM Extension";
};
standbypool = mkAzExtension rec {
@ -1023,18 +1023,11 @@
sha256 = "0ef7b4bf9ffd0aa1ad5c50e15a343276636bcfe0296e52d2ee5f0b75ce70633d";
description = "Manage virtual WAN, hubs, VPN gateways and VPN sites";
};
vm-repair = mkAzExtension rec {
pname = "vm-repair";
version = "1.0.7";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/vm_repair-${version}-py2.py3-none-any.whl";
sha256 = "989b15053fe19f1dbb37fd4a31720e2a1ca622ecadaaa4b5c568c44e44c20fa6";
description = "Auto repair commands to fix VMs";
};
vmware = mkAzExtension rec {
pname = "vmware";
version = "6.0.1";
version = "7.0.0";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-${version}-py2.py3-none-any.whl";
sha256 = "2e07a4ddf1b244cfe8b63a29b7f82c3ec94294f10bacfe8fd604841d290020b5";
sha256 = "e0fadce4fc02996443a8e1673d19ebd24383c584ca89bd396ce963e85865ac0d";
description = "Azure VMware Solution commands";
};
webapp = mkAzExtension rec {

View File

@ -7,7 +7,6 @@
mkAzExtension,
mycli,
python3Packages,
python3,
}:
{
@ -17,9 +16,7 @@
url = "https://azcliprod.blob.core.windows.net/cli-extensions/application_insights-${version}-py2.py3-none-any.whl";
sha256 = "e1fa824eb587e2bec7f4cb4d1c4ce1033ab3d3fac65af42dd6218f673b019cee";
description = "Support for managing Application Insights components and querying metrics, events, and logs from such components";
propagatedBuildInputs = with python3Packages; [
isodate
];
propagatedBuildInputs = with python3Packages; [ isodate ];
meta.maintainers = with lib.maintainers; [ andreasvoss ];
};
@ -59,10 +56,11 @@
pymysql
setproctitle
])
++ [ (mycli.override { inherit python3; }) ];
++ [ mycli ];
meta.maintainers = with lib.maintainers; [ obreitwi ];
};
# Removed extensions
blockchain = throw "The 'blockchain' extension for azure-cli was deprecated upstream"; # Added 2024-04-26
vm-repair = throw "The 'vm-repair' extension for azure-cli was deprecated upstream"; # Added 2024-08-06
}

View File

@ -7,7 +7,7 @@
fetchFromGitHub,
runCommand,
installShellFiles,
python311,
python3,
writeScriptBin,
# Whether to include patches that enable placing certain behavior-defining
@ -21,21 +21,16 @@
}:
let
version = "2.62.0";
version = "2.63.0";
src = fetchFromGitHub {
name = "azure-cli-${version}-src";
owner = "Azure";
repo = "azure-cli";
rev = "azure-cli-${version}";
hash = "sha256-Rb27KRAb50YzTZzMs6n8g04x14ni3rIYAL3c5j/ieRw=";
hash = "sha256-HpWdEZAMnAkB07fnE7IrA0FqpBYKChqojxwAo8RfuQs=";
};
# Pin Python version to 3.11.
# See https://discourse.nixos.org/t/breaking-changes-announcement-for-unstable/17574/53
# and https://github.com/Azure/azure-cli/issues/27673
python3 = python311;
# put packages that needs to be overridden in the py package scope
py = callPackage ./python-packages.nix { inherit src version python3; };
@ -74,7 +69,7 @@ let
extensions =
callPackages ./extensions-generated.nix { inherit mkAzExtension; }
// callPackages ./extensions-manual.nix {
inherit mkAzExtension python3;
inherit mkAzExtension;
python3Packages = python3.pkgs;
};

View File

@ -1,9 +1,7 @@
{
lib,
stdenv,
python3,
fetchPypi,
fetchpatch,
src,
version,
}:

View File

@ -11,13 +11,13 @@
}:
let
version = "1.15.1";
version = "1.15.2";
src = fetchFromGitHub {
owner = "detachhead";
repo = "basedpyright";
rev = "refs/tags/v${version}";
hash = "sha256-x4hSzkVDTbF6CyJttTLbZmnA3Ccs3k9mW90lp2Krk6E=";
hash = "sha256-N51wZjhdoNbhHpMrgcEEzd9FIVwKwYs9sU7jyFV2b8g=";
};
patchedPackageJSON = runCommand "package.json" { } ''
@ -47,7 +47,7 @@ let
pname = "pyright-internal";
inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-Kg2y+z1izv3KV83UdUqEdyd8m0geMseb8uSb6tv4c5o=";
npmDepsHash = "sha256-RkMgCa7oAPFbTHC5WAcz6b8cUOEORR0sZr2VxhQki1k=";
dontNpmBuild = true;
# FIXME: Remove this flag when TypeScript 5.5 is released
npmFlags = [ "--legacy-peer-deps" ];
@ -94,7 +94,7 @@ buildNpmPackage rec {
inherit version src;
sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-0zLSTePWvf3ZB6OE3cmjimYuAkoCmQ0besM2PiEEWao=";
npmDepsHash = "sha256-6Zhd5IothE7RoetaITL5MmLIF6YDNk6IiHcfTzbbjLY=";
postPatch = ''
chmod +w ../../

View File

@ -3,7 +3,6 @@
, fetchFromGitHub
, pnpm_8
, nodejs
, npmHooks
, makeBinaryWrapper
, shellcheck
}:
@ -19,26 +18,23 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-yJ81oGd9aNsWQMLvDSgMVVH1//Mw/SVFYFIPsJTQYzE=";
};
pnpmWorkspace = "bash-language-server";
pnpmDeps = pnpm_8.fetchDeps {
inherit (finalAttrs) pname version src;
inherit (finalAttrs) pname version src pnpmWorkspace;
hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg=";
};
nativeBuildInputs = [
nodejs
pnpm_8.configHook
npmHooks.npmBuildHook
makeBinaryWrapper
];
npmBuildScript = "compile";
# We are only interested in the bash-language-server executable, which is
# part of the `./server` directory. From some reason, the `./vscode-client`
# directory is not included in upstream's `pnpm-workspace.yaml`, so perhaps
# that's why our ${pnpmDeps} don't include the dependencies required for it.
preBuild = ''
rm -r vscode-client
substituteInPlace tsconfig.json \
--replace-fail '{ "path": "./vscode-client" },' ""
buildPhase = ''
runHook preBuild
pnpm --filter=bash-language-server build
runHook postBuild
'';
installPhase = ''

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "Bend";
version = "0.2.34";
version = "0.2.36";
src = fetchFromGitHub {
owner = "HigherOrderCO";
repo = "Bend";
rev = "refs/tags/${version}";
hash = "sha256-3leAt1M3Six5+KcCcz7sorpVHGkKj7xGWZ0KJnh+bNs=";
hash = "sha256-j4YMdeSxIbhp7xT42L42/y0ZncFPKBkxTh0LgO/RjkY=";
};
cargoHash = "sha256-VynLnpZLUCqclIlbt7y6kd8ZJQGLa892J2UjDATgAhE=";
cargoHash = "sha256-jPxPx/e6rv5REP+K1ZLg9ffJKKVNLqR/vd33xKs+Ut4=";
nativeBuildInputs = [
hvm

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bngblaster";
version = "0.9.2";
version = "0.9.5";
src = fetchFromGitHub {
owner = "rtbrick";
repo = "bngblaster";
rev = finalAttrs.version;
hash = "sha256-ugfimJmyAHxgLypgEwzOK0VLmIYod5YzW7oO/omcl1I=";
hash = "sha256-fJDoKGYal/wDpe2FALWDm0cVngP2ybWlrDIJLSEBIGY=";
};
nativeBuildInputs = [ cmake ];

View File

@ -15,14 +15,14 @@ let
"cli"
"desktop"
];
version = "0.39.0";
version = "0.40.0";
cli = fetchurl {
url = "https://storage.googleapis.com/caido-releases/v${version}/caido-cli-v${version}-linux-x86_64.tar.gz";
hash = "sha256-I8UF2rzIKfpcrxyvDa4AReWDIHOKTCj3ERaWhG1xGG0=";
hash = "sha256-G8sg+3Cp9QkSiiZ810z4jCfGvEJUFLorKT0JmHrO6Ao=";
};
desktop = fetchurl {
url = "https://storage.googleapis.com/caido-releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage";
hash = "sha256-KYQck2+YYPLJN3L6qchacjyVyyXR3nmJDTX5GPB4WvI=";
hash = "sha256-iNhitCNc221pYwcG+07GvP+bnTdtQGFjsloQ5Pth2l0=";
};
appimageContents = appimageTools.extractType2 {
inherit pname version;

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,7 @@
, cosmic-icons
, just
, pkg-config
, glib
, libxkbcommon
, wayland
, xorg
@ -13,34 +14,38 @@
rustPlatform.buildRustPackage rec {
pname = "cosmic-files";
version = "0-unstable-2024-06-10";
version = "1.0.0-alpha.1";
src = fetchFromGitHub {
owner = "pop-os";
repo = pname;
rev = "6123108f3ae3c7074264184952f0a53e49a981d5";
hash = "sha256-BeqpoLIZbR5Dg7OGYGQMFWBLdD96n4t7fX8Ju9/h5JU=";
rev = "epoch-${version}";
hash = "sha256-UwQwZRzOyMvLRRmU2noxGrqblezkR8J2PNMVoyG0M0w=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
"accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ=";
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
"cosmic-config-0.1.0" = "sha256-eaG/HCwlKqSfEp6GEPeBS63j5WHq4qdYTNHqnW2zeeE=";
"cosmic-text-0.11.2" = "sha256-Y9i5stMYpx+iqn4y5DJm1O1+3UIGp0/fSsnNq3Zloug=";
"clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk=";
"cosmic-client-toolkit-0.1.0" = "sha256-1XtyEvednEMN4MApxTQid4eed19dEN5ZBDt/XRjuda0=";
"cosmic-config-0.1.0" = "sha256-d2R5xytwf0BIbllG6elc/nn7nmiC3+VI1g3EiW8WEHA=";
"cosmic-text-0.12.1" = "sha256-x0XTxzbmtE2d4XCG/Nuq3DzBpz15BbnjRRlirfNJEiU=";
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
"fs_extra-1.3.0" = "sha256-ftg5oanoqhipPnbUsqnA4aZcyHqn9XsINJdrStIPLoE=";
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
"smithay-clipboard-0.8.0" = "sha256-4InFXm0ahrqFrtNLeqIuE3yeOpxKZJZx+Bc0yQDtv34=";
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
"systemicons-0.7.0" = "sha256-zzAI+6mnpQOh+3mX7/sJ+w4a7uX27RduQ99PNxLNF78=";
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
"trash-5.0.0" = "sha256-6cMo2GtMJjU+fbehlsGNmj3LbzSP+vOjA4en3OgmZ54=";
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
};
};
# COSMIC applications now uses vergen for the About page
# Update the COMMIT_DATE to match when the commit was made
env.VERGEN_GIT_COMMIT_DATE = "2024-06-10";
env.VERGEN_GIT_COMMIT_DATE = "2024-08-05";
env.VERGEN_GIT_SHA = src.rev;
postPatch = ''
@ -48,7 +53,7 @@ rustPlatform.buildRustPackage rec {
'';
nativeBuildInputs = [ just pkg-config makeBinaryWrapper ];
buildInputs = [ wayland ];
buildInputs = [ glib libxkbcommon wayland ];
dontUseJustBuild = true;
@ -65,7 +70,7 @@ rustPlatform.buildRustPackage rec {
postInstall = ''
wrapProgram "$out/bin/${pname}" \
--suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi wayland libxkbcommon ]}
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi wayland ]}
'';
meta = with lib; {

View File

@ -12,7 +12,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "dbeaver-bin";
version = "24.1.3";
version = "24.1.4";
src =
let
@ -25,10 +25,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
aarch64-darwin = "macos-aarch64.dmg";
};
hash = selectSystem {
x86_64-linux = "sha256-kPpcFkmMzTVo8GYptpp1pyNYsNEFuq6iuEtyewvRA0M=";
aarch64-linux = "sha256-hr3TwXIxspgF5my/j7yqPwpcTOTbCcxfd3nVBrEMkJY=";
x86_64-darwin = "sha256-pP6BeoSeOzWlsvXLIhMzty4pJ5J1iyokRV191lGM/5w=";
aarch64-darwin = "sha256-VjYrq/FyNgLcgMF/eWUmbC9y908qGkMUJ58/rWGXjvs=";
x86_64-linux = "sha256-xO9hQxiEtZJyoO3PQrNPuLPBj8iGF9tvpHkj9Z8oMMc=";
aarch64-linux = "sha256-4dkR0DR/e+gkMytFGNS5gJ/Eo6ih2pacYMR3LdLMv/E=";
x86_64-darwin = "sha256-LUlw7PMP1NpqIJ3qwY3ft+8gsQP8Cu6YqkaiH5Z5qZw=";
aarch64-darwin = "sha256-+7SkO6gv8kn4z9ccY5HIfLjnpsv89MBYil3H2zpQSZs=";
};
in
fetchurl {

View File

@ -36,11 +36,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "epiphany";
version = "46.2";
version = "46.3";
src = fetchurl {
url = "mirror://gnome/sources/epiphany/${lib.versions.major finalAttrs.version}/epiphany-${finalAttrs.version}.tar.xz";
hash = "sha256-+5Mtp6JOh/HtuQC1uUJRtCs3CAdThkZRwFncbJPLUEk=";
hash = "sha256-qeGtIGRJEX/F6+TQF3wdei/1A9a1UBkHKgaP8qsnhlY=";
};
nativeBuildInputs = [

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "fanbox-dl";
version = "0.22.1";
version = "0.23.0";
src = fetchFromGitHub {
owner = "hareku";
repo = "fanbox-dl";
rev = "v${version}";
hash = "sha256-wMFxAi4ENFFdMwHpgfOp/FRF6h2p91NS94FAjH/C2ww=";
hash = "sha256-hR6aO9Mdm3lxRqt1l3Qryp4ggO5B+poYBcq9k1XNrvs=";
};
vendorHash = "sha256-GD5uxa5XWhlHHBztTpDKCTSym2pdkr/or6aGl9qF29U=";

File diff suppressed because it is too large Load Diff

View File

@ -10,13 +10,13 @@
rustPlatform.buildRustPackage rec {
pname = "fim-rs";
version = "0.4.10";
version = "0.5.0";
src = fetchFromGitHub {
owner = "Achiefs";
repo = "fim";
rev = "refs/tags/v${version}";
hash = "sha256-NrxjiJY+qgPfsNY2Xlm0KRArIDH3+u9uA5gSPem+9uc=";
hash = "sha256-V9BzgVcDTnYSy7N5fCo38vQmXRDXLjY6wvnSkIpuDGg=";
};
cargoLock = {

View File

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "flarectl";
version = "0.99.0";
version = "0.101.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflare-go";
rev = "v${version}";
hash = "sha256-Mv9LuNW5qnWuFYEbvv7cuPFM4PFixhgyFO90SBUS5Fg=";
hash = "sha256-twQ+my2CZmQDGMZg7bNZwNqSME+HZrWDZkzxKKEKd/0=";
};
vendorHash = "sha256-k1JZGkJy5oGI3pEcrStNrsQTh8diNoe4DARqRX4PGS8=";
vendorHash = "sha256-gnl5zNNIH1LSAyzrhKIRXvwpUhXEydyDFzNCYtpZEIE=";
subPackages = [ "cmd/flarectl" ];

View File

@ -5,7 +5,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "flexget";
version = "3.11.41";
version = "3.11.42";
pyproject = true;
# Fetch from GitHub in order to use `requirements.in`
@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "Flexget";
repo = "Flexget";
rev = "refs/tags/v${version}";
hash = "sha256-ZSqkD53fdDnKulVPgM9NWXVFXDR0sZ94mRyV1iKS87o=";
hash = "sha256-wDZXSQlIE1qQz463roHp3jepSFMZGSJAPOhKpuXTmG8=";
};
postPatch = ''

View File

@ -28,13 +28,13 @@ let
pieBuild = stdenv.hostPlatform.isMusl;
in buildGoModule rec {
pname = "frankenphp";
version = "1.2.2";
version = "1.2.3";
src = fetchFromGitHub {
owner = "dunglas";
repo = "frankenphp";
rev = "v${version}";
hash = "sha256-N8cnbyoacftQNQWQBh+KxLp9L+uFVR6qYcid8a4Blso=";
hash = "sha256-P4yBguD3DXYUe70/mKmvzFnsBXQOH4APaAZZle8lFeg=";
};
sourceRoot = "${src.name}/caddy";
@ -42,7 +42,7 @@ in buildGoModule rec {
# frankenphp requires C code that would be removed with `go mod tidy`
# https://github.com/golang/go/issues/26366
proxyVendor = true;
vendorHash = "sha256-Ir1lwTu3JqIFp9jhJyhTAFm/+XlStkPuCoNAZneeKGc=";
vendorHash = "sha256-3Y5STb521iRois/KLQqdTxxTYdp39PTaiJEBjWrZsyw=";
buildInputs = [ phpUnwrapped brotli ] ++ phpUnwrapped.buildInputs;
nativeBuildInputs = [ makeBinaryWrapper ] ++ lib.optionals stdenv.isDarwin [ pkg-config cctools darwin.autoSignDarwinBinariesHook ];

View File

@ -0,0 +1,288 @@
diff --git a/fsnotifier.h b/fsnotifier.h
index e7b2a42456bc..9dfb61d8d5d0 100644
--- a/fsnotifier.h
+++ b/fsnotifier.h
@@ -61,7 +61,7 @@ bool init_inotify(void);
void set_inotify_callback(void (*callback)(const char *, uint32_t));
int get_inotify_fd(void);
int watch(const char* root, array* mounts);
-void unwatch(int id);
+void unwatch(int id, char* path, unsigned int path_len);
bool process_inotify_input(void);
void close_inotify(void);
diff --git a/inotify.c b/inotify.c
index a42846379476..0a33eded78bf 100644
--- a/inotify.c
+++ b/inotify.c
@@ -22,6 +22,8 @@ typedef struct watch_node_str {
struct watch_node_str* parent;
array* kids;
unsigned int path_len;
+ struct watch_node_str* prev;
+ struct watch_node_str* next;
char path[];
} watch_node;
@@ -102,7 +104,7 @@ int get_inotify_fd(void) {
#define EVENT_MASK (IN_MODIFY | IN_ATTRIB | IN_CREATE | IN_DELETE | IN_MOVE | IN_DELETE_SELF | IN_MOVE_SELF)
-static int add_watch(unsigned int path_len, watch_node* parent) {
+static int add_watch(unsigned int path_len, watch_node* parent, watch_node** out) {
int wd = inotify_add_watch(inotify_fd, path_buf, EVENT_MASK);
if (wd < 0) {
if (errno == EACCES || errno == ENOENT) {
@@ -123,36 +125,39 @@ static int add_watch(unsigned int path_len, watch_node* parent) {
userlog(LOG_INFO, "watching %s: %d", path_buf, wd);
}
- watch_node* node = table_get(watches, wd);
- if (node != NULL) {
- if (node->wd != wd) {
- userlog(LOG_ERR, "table error: corruption at %d:%s / %d:%s / %d", wd, path_buf, node->wd, node->path, watch_count);
- return ERR_ABORT;
- }
- else if (strcmp(node->path, path_buf) != 0) {
- char buf1[PATH_MAX], buf2[PATH_MAX];
- const char* normalized1 = realpath(node->path, buf1);
- const char* normalized2 = realpath(path_buf, buf2);
- if (normalized1 == NULL || normalized2 == NULL || strcmp(normalized1, normalized2) != 0) {
- userlog(LOG_ERR, "table error: collision at %d (new %s, existing %s)", wd, path_buf, node->path);
- return ERR_ABORT;
- }
- else {
- userlog(LOG_INFO, "intersection at %d: (new %s, existing %s, real %s)", wd, path_buf, node->path, normalized1);
- return ERR_IGNORE;
- }
- }
-
- return wd;
- }
-
- node = malloc(sizeof(watch_node) + path_len + 1);
+ watch_node* existing = table_get(watches, wd);
+ if (existing != NULL) {
+ for (;;) {
+ if (existing->wd != wd) {
+ userlog(LOG_ERR, "table error: corruption at %d:%s / %d:%s / %d", wd, path_buf, existing->wd, existing->path, watch_count);
+ return ERR_ABORT;
+ }
+ if (existing->path_len == path_len && strncmp(existing->path, path_buf, path_len) == 0) {
+ return wd;
+ }
+ char buf1[PATH_MAX], buf2[PATH_MAX];
+ const char* normalized1 = realpath(existing->path, buf1);
+ const char* normalized2 = realpath(path_buf, buf2);
+ if (normalized1 != NULL && normalized2 != NULL && strcmp(normalized1, normalized2) == 0) {
+ userlog(LOG_INFO, "intersection at %d: (new %s, existing %s, real %s)", wd, path_buf, existing->path, normalized1);
+ return ERR_IGNORE;
+ }
+ if (existing->next == NULL) {
+ break;
+ }
+ existing = existing->next;
+ }
+ }
+
+ watch_node* node = malloc(sizeof(watch_node) + path_len + 1);
CHECK_NULL(node, ERR_ABORT)
memcpy(node->path, path_buf, path_len + 1);
node->path_len = path_len;
node->wd = wd;
node->parent = parent;
node->kids = NULL;
+ node->prev = existing;
+ node->next = NULL;
if (parent != NULL) {
if (parent->kids == NULL) {
@@ -162,11 +167,15 @@ static int add_watch(unsigned int path_len, watch_node* parent) {
CHECK_NULL(array_push(parent->kids, node), ERR_ABORT)
}
- if (table_put(watches, wd, node) == NULL) {
+ if (existing != NULL) {
+ existing->next = node;
+ }
+ else if (table_put(watches, wd, node) == NULL) {
userlog(LOG_ERR, "table error: unable to put (%d:%s)", wd, path_buf);
return ERR_ABORT;
}
+ *out = node;
return wd;
}
@@ -177,22 +186,27 @@ static void watch_limit_reached(void) {
}
}
-static void rm_watch(int wd, bool update_parent) {
- watch_node* node = table_get(watches, wd);
- if (node == NULL) {
- return;
+static void rm_watch(watch_node* node, bool update_parent) {
+ if (node->prev != NULL) {
+ node->prev->next = node->next;
+ node->next->prev = node->prev;
}
-
- userlog(LOG_INFO, "unwatching %s: %d (%p)", node->path, node->wd, node);
-
- if (inotify_rm_watch(inotify_fd, node->wd) < 0) {
- userlog(LOG_INFO, "inotify_rm_watch(%d:%s): %s", node->wd, node->path, strerror(errno));
+ else if (node->next != NULL) {
+ table_put(watches, node->wd, node->next);
+ node->next->prev = NULL;
+ }
+ else {
+ userlog(LOG_INFO, "unwatching %s: %d (%p)", node->path, node->wd, node);
+ if (inotify_rm_watch(inotify_fd, node->wd) < 0) {
+ userlog(LOG_INFO, "inotify_rm_watch(%d:%s): %s", node->wd, node->path, strerror(errno));
+ }
+ table_put(watches, node->wd, NULL);
}
for (int i = 0; i < array_size(node->kids); i++) {
watch_node* kid = array_get(node->kids, i);
if (kid != NULL) {
- rm_watch(kid->wd, false);
+ rm_watch(kid, false);
}
}
@@ -207,7 +221,6 @@ static void rm_watch(int wd, bool update_parent) {
array_delete(node->kids);
free(node);
- table_put(watches, wd, NULL);
}
@@ -234,7 +247,9 @@ static int walk_tree(unsigned int path_len, watch_node* parent, bool recursive,
}
}
- int id = add_watch(path_len, parent);
+
+ watch_node* node;
+ int id = add_watch(path_len, parent, &node);
if (dir == NULL) {
return id;
@@ -271,7 +286,7 @@ static int walk_tree(unsigned int path_len, watch_node* parent, bool recursive,
int subdir_id = walk_tree(path_len + 1 + name_len, table_get(watches, id), recursive, mounts);
if (subdir_id < 0 && subdir_id != ERR_IGNORE) {
- rm_watch(id, true);
+ rm_watch(node, true);
id = subdir_id;
break;
}
@@ -323,47 +338,49 @@ int watch(const char* root, array* mounts) {
}
-void unwatch(int id) {
- rm_watch(id, true);
+void unwatch(int wd, char* path, unsigned int path_len) {
+ for (watch_node* node = table_get(watches, wd); node != NULL; node = node->next) {
+ if (node->path_len == path_len && strncmp(node->path, path, path_len) == 0) {
+ rm_watch(node, true);
+ return;
+ }
+ }
}
static bool process_inotify_event(struct inotify_event* event) {
- watch_node* node = table_get(watches, event->wd);
- if (node == NULL) {
- return true;
- }
-
- bool is_dir = (event->mask & IN_ISDIR) == IN_ISDIR;
- userlog(LOG_INFO, "inotify: wd=%d mask=%d dir=%d name=%s", event->wd, event->mask & (~IN_ISDIR), is_dir, node->path);
-
- unsigned int path_len = node->path_len;
- memcpy(path_buf, node->path, path_len + 1);
- if (event->len > 0) {
- path_buf[path_len] = '/';
- unsigned int name_len = strlen(event->name);
- memcpy(path_buf + path_len + 1, event->name, name_len + 1);
- path_len += name_len + 1;
- }
+ for (watch_node* node = table_get(watches, event->wd); node != NULL; node = node->next) {
+ bool is_dir = (event->mask & IN_ISDIR) == IN_ISDIR;
+ userlog(LOG_INFO, "inotify: wd=%d mask=%d dir=%d name=%s", event->wd, event->mask & (~IN_ISDIR), is_dir, node->path);
+
+ unsigned int path_len = node->path_len;
+ memcpy(path_buf, node->path, path_len + 1);
+ if (event->len > 0) {
+ path_buf[path_len] = '/';
+ unsigned int name_len = strlen(event->name);
+ memcpy(path_buf + path_len + 1, event->name, name_len + 1);
+ path_len += name_len + 1;
+ }
- if (callback != NULL) {
- (*callback)(path_buf, event->mask);
- }
+ if (callback != NULL) {
+ (*callback)(path_buf, event->mask);
+ }
- if (is_dir && event->mask & (IN_CREATE | IN_MOVED_TO)) {
- int result = walk_tree(path_len, node, true, NULL);
- if (result < 0 && result != ERR_IGNORE && result != ERR_CONTINUE) {
- return false;
+ if (is_dir && event->mask & (IN_CREATE | IN_MOVED_TO)) {
+ int result = walk_tree(path_len, node, true, NULL);
+ if (result < 0 && result != ERR_IGNORE && result != ERR_CONTINUE) {
+ return false;
+ }
}
- }
- if (is_dir && event->mask & (IN_DELETE | IN_MOVED_FROM)) {
- for (int i = 0; i < array_size(node->kids); i++) {
- watch_node* kid = array_get(node->kids, i);
- if (kid != NULL && strncmp(path_buf, kid->path, kid->path_len) == 0) {
- rm_watch(kid->wd, false);
- array_put(node->kids, i, NULL);
- break;
+ if (is_dir && event->mask & (IN_DELETE | IN_MOVED_FROM)) {
+ for (int i = 0; i < array_size(node->kids); i++) {
+ watch_node* kid = array_get(node->kids, i);
+ if (kid != NULL && strncmp(path_buf, kid->path, kid->path_len) == 0) {
+ rm_watch(kid, false);
+ array_put(node->kids, i, NULL);
+ break;
+ }
}
}
}
diff --git a/main.c b/main.c
index b6b2e6fdb5b0..32cc8efe7856 100644
--- a/main.c
+++ b/main.c
@@ -246,7 +246,7 @@ static void unregister_roots(void) {
watch_root* root;
while ((root = array_pop(roots)) != NULL) {
userlog(LOG_INFO, "unregistering root: %s", root->path);
- unwatch(root->id);
+ unwatch(root->id, root->path, strlen(root->path));
free(root->path);
free(root);
}
@@ -422,7 +422,7 @@ static void check_root_removal(const char* path) {
for (int i = 0; i < array_size(roots); i++) {
watch_root* root = array_get(roots, i);
if (root->id >= 0 && strcmp(path, UNFLATTEN(root->path)) == 0) {
- unwatch(root->id);
+ unwatch(root->id, root->path, strlen(root->path));
root->id = -1;
userlog(LOG_INFO, "root deleted: %s\n", root->path);
report_event("DELETE", path);

View File

@ -0,0 +1,39 @@
{ lib
, stdenv
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
version = "2024.2.0";
pname = "fsnotifier";
src = fetchFromGitHub {
owner = "JetBrains";
repo = "intellij-community";
rev = "0f6d9ccb67b8fcad0d802cd76209d503c4ed66a6";
sha256 = "3TAiVvKi50JQRrVG6J7LUJKTiuOTDyKt4DhoA1QmbrM=";
sparseCheckout = [ "native/fsNotifier/linux" ];
};
# fix for hard-links in nix-store, https://github.com/JetBrains/intellij-community/pull/2171
patches = [ ./fsnotifier.patch ];
sourceRoot = "${src.name}/native/fsNotifier/linux";
buildPhase = ''
mkdir -p $out/bin
$CC -O2 -Wall -Wextra -Wpedantic -D "VERSION=\"${version}\"" -std=c11 main.c inotify.c util.c -o fsnotifier
cp fsnotifier $out/bin/fsnotifier
'';
meta = {
homepage = "https://github.com/JetBrains/intellij-community/tree/master/native/fsNotifier/linux";
description = "IntelliJ Platform companion program for watching and reporting file and directory structure modification";
license = lib.licenses.asl20;
mainProgram = "fsnotifier";
maintainers = with lib.maintainers; [ shyim ];
platforms = lib.platforms.linux;
};
}

View File

@ -1,148 +1,121 @@
{
lib,
stdenv,
fetchurl,
autoPatchelfHook,
dpkg,
makeShellWrapper,
wrapGAppsHook3,
alsa-lib,
at-spi2-atk,
at-spi2-core,
atk,
cairo,
cups,
dbus,
expat,
ffmpeg,
fontconfig,
freetype,
gdk-pixbuf,
glib,
gtk3,
libappindicator-gtk3,
libdrm,
libnotify,
libpulseaudio,
libsecret,
libuuid,
libxkbcommon,
mesa,
nss,
pango,
systemd,
xdg-utils,
xorg,
wayland,
fetchFromGitHub,
pnpm,
nodejs_22,
nix-update-script,
electron,
pipewire,
libpulseaudio,
makeShellWrapper,
makeDesktopItem,
copyDesktopItems,
}:
let
pnpm' = pnpm.override { nodejs = nodejs_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "goofcord";
version = "1.5.0";
version = "1.6.0";
src =
let
base = "https://github.com/Milkshiift/GoofCord/releases/download";
in
{
x86_64-linux = fetchurl {
url = "${base}/v${finalAttrs.version}/GoofCord-${finalAttrs.version}-linux-amd64.deb";
hash = "sha256-T7z8myiNBaoDf04zynNhPekFtzoj435de09PVz8MWDM=";
};
aarch64-linux = fetchurl {
url = "${base}/v${finalAttrs.version}/GoofCord-${finalAttrs.version}-linux-arm64.deb";
hash = "sha256-u+qY1UWr9opjTBnIhqw62F9HYTdEnqagevJ+eg8XYr8=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
src = fetchFromGitHub {
owner = "Milkshiift";
repo = "GoofCord";
rev = "v${finalAttrs.version}";
hash = "sha256-hG8nHAuEHw/tjFnGKhSXwO+2l91OOnQUIAK05SvEquU=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
pnpm'.configHook
nodejs_22
makeShellWrapper
wrapGAppsHook3
copyDesktopItems
];
dontWrapGApps = true;
buildInputs = [
alsa-lib
at-spi2-atk
at-spi2-core
atk
cairo
cups
dbus
expat
ffmpeg
fontconfig
freetype
gdk-pixbuf
glib
gtk3
pango
systemd
mesa # for libgbm
nss
libuuid
libdrm
libnotify
libsecret
buildInputs = lib.optionals stdenv.isLinux [
libpulseaudio
libxkbcommon
libappindicator-gtk3
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libxshmfence
xorg.libXtst
wayland
pipewire
stdenv.cc.cc.lib
];
sourceRoot = ".";
unpackCmd = "dpkg-deb -x $src .";
pnpmDeps = pnpm'.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-wF7G8rs1Fg7whEftQ554s4C2CixP5/1oFudR5yY07Rk=";
};
env = {
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
};
buildPhase = ''
runHook preBuild
pnpm build
npm exec electron-builder -- \
--dir \
-c.electronDist="${electron}/libexec/electron" \
-c.electronVersion="${electron.version}"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p "$out/bin"
cp -R "opt" "$out"
cp -R "usr/share" "$out/share"
chmod -R g-w "$out"
mkdir -p "$out/share/lib/goofcord"
cp -r ./dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/goofcord"
install -Dm644 "build/icon.png" "$out/share/icons/hicolor/256x256/apps/goofcord.png"
# use makeShellWrapper (instead of the makeBinaryWrapper provided by wrapGAppsHook3) for proper shell variable expansion
# see https://github.com/NixOS/nixpkgs/issues/172583
makeShellWrapper $out/opt/GoofCord/goofcord $out/bin/goofcord \
makeShellWrapper "${lib.getExe electron}" "$out/bin/goofcord" \
--add-flags "$out/share/lib/goofcord/resources/app.asar" \
"''${gappsWrapperArgs[@]}" \
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations,WebRTCPipeWireCapturer}}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
# Fix desktop link
substituteInPlace $out/share/applications/goofcord.desktop \
--replace /opt/GoofCord/ ""
--set-default ELECTRON_IS_DEV 0 \
--inherit-argv0
runHook postInstall
'';
meta = with lib; {
desktopItems = [
(makeDesktopItem {
name = "goofcord";
genericName = "Internet Messenger";
desktopName = "GoofCord";
exec = "goofcord %U";
icon = "goofcord";
comment = finalAttrs.meta.description;
keywords = [
"discord"
"vencord"
"electron"
"chat"
];
categories = [
"Network"
"InstantMessaging"
"Chat"
];
startupWMClass = "GoofCord";
terminal = false;
})
];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Highly configurable and privacy-focused Discord client";
homepage = "https://github.com/Milkshiift/GoofCord";
downloadPage = "https://github.com/Milkshiift/GoofCord";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.osl3;
maintainers = with maintainers; [ nyanbinary ];
license = lib.licenses.osl3;
maintainers = with lib.maintainers; [ nyanbinary ];
platforms = [
"x86_64-linux"
"aarch64-linux"

View File

@ -16,17 +16,17 @@
buildGoModule rec {
pname = "grafana-alloy";
version = "1.2.1";
version = "1.3.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "grafana";
repo = "alloy";
hash = "sha256-RwTwwWz5nEk5eeCK/cZivd3r6WmoIqKjNtEQ0RVk1pw=";
hash = "sha256-2OpBRSX/t6hwf1fHogrNTuDAmKArVXxwKHXuHyTXnYA=";
};
proxyVendor = true;
vendorHash = "sha256-UYFZmrE0Pm5bdhloaR9zSEvlPWV/uWo85zjmIuN8Jvc=";
vendorHash = "sha256-eMtwmADYbvpIm4FHTHieQ1i4xCty5xCwsZ/JD9r94/8=";
nativeBuildInputs = [ fixup-yarn-lock yarn nodejs installShellFiles ];
@ -57,7 +57,7 @@ buildGoModule rec {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/internal/web/ui/yarn.lock";
hash = "sha256-8/siWMFoUokMXJ13QT8050AXynsApiC67TP/7Hvugsk=";
hash = "sha256-Jk+zqR/+NBde9ywncIEJM4kgavqiDvcIAjxJCSMrZDc=";
};
preBuild = ''

View File

@ -16,14 +16,14 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager";
version = "0-unstable-2024-07-24";
version = "0-unstable-2024-08-02";
src = fetchFromGitHub {
name = "home-manager-source";
owner = "nix-community";
repo = "home-manager";
rev = "304a011325b7ac7b8c9950333cd215a7aa146b0e";
hash = "sha256-JH8N5uoqoVA6erV4O40VtKKHsnfmhvMGbxMNDLtim5o=";
rev = "afc892db74d65042031a093adb6010c4c3378422";
hash = "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=";
};
nativeBuildInputs = [

View File

@ -1,13 +1,13 @@
{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, immich-go }:
buildGoModule rec {
pname = "immich-go";
version = "0.20.1";
version = "0.21.1";
src = fetchFromGitHub {
owner = "simulot";
repo = "immich-go";
rev = "${version}";
hash = "sha256-9pIQ3xRskPZtwjCJ7MG8IaVsVkqM6s3Jxy4qG842/h8=";
hash = "sha256-mN/3ctEX5R7UepJUs3Ble0s2c0gRxHe5CDey9MoE4YA=";
# Inspired by: https://github.com/NixOS/nixpkgs/blob/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c/pkgs/applications/graphics/pdfcpu/default.nix#L20-L32
# The intention here is to write the information into files in the `src`'s
@ -24,7 +24,7 @@ buildGoModule rec {
'';
};
vendorHash = "sha256-MKWlMoJZ0OECa7Ej26m4D6JYWjnnRuh0rdBUUPnF6SY=";
vendorHash = "sha256-Y6awfvbKV0G3VFXCUHLSwUkGaMkTaacruSz8KVi6NoQ=";
# options used by upstream:
# https://github.com/simulot/immich-go/blob/0.13.2/.goreleaser.yaml

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation {
pname = "jrl-cmakemodules";
version = "0-unstable-2024-05-22";
version = "0-unstable-2024-08-05";
src = fetchFromGitHub {
owner = "jrl-umi3218";
repo = "jrl-cmakemodules";
rev = "dd3e4127f2b223496859fe05be02726e9d1a071b";
hash = "sha256-ySMfops0Py1U+50LEGwgIwlzPUq/miusTxK7TIpQQXs=";
rev = "88d3cb561d1f9faa3c6281da7b2b8d6aa76b04d5";
hash = "sha256-3Su/tGtV39/tto1Hs5sgGgjpFWkBCvI2SZKqBIIDAjA=";
};
nativeBuildInputs = [ cmake ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kor";
version = "0.5.3";
version = "0.5.4";
src = fetchFromGitHub {
owner = "yonahd";
repo = pname;
rev = "v${version}";
hash = "sha256-AvywOQnDRzus2yexr+T85i0ztDStEJgYYMI+tr+Q9ZE=";
hash = "sha256-ZjFLcxp5keL4N8B7hZC8/x2Xk0c87p44yCfGunjLUNA=";
};
vendorHash = "sha256-rlDaQPR9sReAX4gAlbDGAsA1ei9Fo2sXoU9cbBCexfc=";

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "lightningcss";
version = "1.25.1";
version = "1.26.0";
src = fetchFromGitHub {
owner = "parcel-bundler";
repo = "lightningcss";
rev = "refs/tags/v${version}";
hash = "sha256-jmNN2zCAlu3qLKJs8V7/zkpGmQ5wooH9Kbnsi80ffRc=";
hash = "sha256-ZPqRxHbca8iflWwsDT2/sVbTstWnKVFcExcgrBXgzGc=";
};
cargoHash = "sha256-d5PqkqkHDLXA/5wW7QxSUDEKvejRc3+yn73TnM07lzE=";
cargoHash = "sha256-QYrjDJJTJo4BDQOqY1pZn7ph+uuQvbsMbzaAUr4siaE=";
patches = [
# Backport fix for build error for lightningcss-napi

View File

@ -5,25 +5,24 @@
}:
appimageTools.wrapType2 rec {
pname = "lunar-client";
version = "3.2.11";
pname = "lunarclient";
version = "3.2.12";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
hash = "sha512-qRucW9x4LMmTb8pw0zY1EKXkPfjdahCi2PN/bfdB8CYA4wZp0bfZNaGtPpI/BKPlnR/nfpypEdnHsoqlL9KiCg==";
hash = "sha512-dqFFi5Vri5oEbyDdzKiWPF1mbSf0Qv2MBuEqF/rIs1aYMNjCQDu2CqTrhLtctu2VXxKlgzaqktFWKs9WMZayZA==";
};
extraInstallCommands =
let contents = appimageTools.extract { inherit pname version src; };
in ''
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/lunar-client \
wrapProgram $out/bin/lunarclient \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
install -Dm444 ${contents}/launcher.desktop $out/share/applications/lunar-client.desktop
install -Dm444 ${contents}/launcher.png $out/share/pixmaps/lunar-client.png
substituteInPlace $out/share/applications/lunar-client.desktop \
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=lunar-client' \
--replace 'Icon=launcher' 'Icon=lunar-client'
install -Dm444 ${contents}/lunarclient.desktop -t $out/share/applications/
install -Dm444 ${contents}/lunarclient.png -t $out/share/pixmaps/
substituteInPlace $out/share/applications/lunarclient.desktop \
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=lunarclient' \
'';
passthru.updateScript = ./update.sh;
@ -32,7 +31,7 @@ appimageTools.wrapType2 rec {
description = "Free Minecraft client with mods, cosmetics, and performance boost";
homepage = "https://www.lunarclient.com/";
license = with licenses; [ unfree ];
mainProgram = "lunar-client";
mainProgram = "lunarclient";
maintainers = with maintainers; [ Technical27 surfaceflinger ];
platforms = [ "x86_64-linux" ];
};

View File

@ -1,5 +1,4 @@
{
callPackage,
lib,
stdenv,
fetchFromGitHub,
@ -9,6 +8,7 @@
testers,
nix-update-script,
maturin,
python3,
}:
rustPlatform.buildRustPackage rec {
@ -35,7 +35,16 @@ rustPlatform.buildRustPackage rec {
passthru = {
tests = {
version = testers.testVersion { package = maturin; };
pyo3 = callPackage ./pyo3-test { };
pyo3 = python3.pkgs.callPackage ./pyo3-test {
format = "pyproject";
buildAndTestSubdir = "examples/word-count";
preConfigure = "";
nativeBuildInputs = with rustPlatform; [
cargoSetupHook
maturinBuildHook
];
};
};
updateScript = nix-update-script { };

View File

@ -1,10 +1,46 @@
{ python3, rustPlatform }:
{
lib,
fetchFromGitHub,
buildPythonPackage,
rustPlatform,
python3.pkgs.callPackage ./generic.nix {
buildAndTestSubdir = "examples/word-count";
# These are always passed as an override or as a callPackage option.
nativeBuildInputs,
buildAndTestSubdir,
format,
preConfigure,
}:
nativeBuildInputs = with rustPlatform; [
cargoSetupHook
maturinBuildHook
];
buildPythonPackage rec {
pname = "word-count";
version = "0.13.2";
src = fetchFromGitHub {
owner = "PyO3";
repo = "pyo3";
rev = "v${version}";
hash = "sha256-NOMrrfo8WjlPhtGxWUOPJS/UDDdbLQRCXR++Zd6JmIA=";
};
cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; };
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';
inherit
buildAndTestSubdir
format
nativeBuildInputs
preConfigure
;
pythonImportsCheck = [ "word_count" ];
meta = {
description = "PyO3 word count example";
homepage = "https://github.com/PyO3/pyo3";
license = lib.licenses.asl20;
maintainers = [ ];
};
}

View File

@ -1,49 +0,0 @@
# Derivation prototype, used by maturin and setuptools-rust
# passthrough tests.
{
lib,
fetchFromGitHub,
python,
rustPlatform,
nativeBuildInputs,
buildAndTestSubdir ? null,
format ? "pyproject",
preConfigure ? "",
}:
python.pkgs.buildPythonPackage rec {
pname = "word-count";
version = "0.13.2";
src = fetchFromGitHub {
owner = "PyO3";
repo = "pyo3";
rev = "v${version}";
hash = "sha256-NOMrrfo8WjlPhtGxWUOPJS/UDDdbLQRCXR++Zd6JmIA=";
};
cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; };
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';
inherit
buildAndTestSubdir
format
nativeBuildInputs
preConfigure
;
pythonImportsCheck = [ "word_count" ];
meta = {
description = "PyO3 word count example";
homepage = "https://github.com/PyO3/pyo3";
license = lib.licenses.asl20;
maintainers = [ ];
};
}

View File

@ -2,7 +2,6 @@
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
pkg-config,
udev,
stdenv,
@ -24,8 +23,6 @@ rustPlatform.buildRustPackage rec {
lockFile = ./Cargo.lock;
};
passthru.updateScript = nix-update-script { };
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';

View File

@ -90,7 +90,7 @@ let
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "13.5.1";
version = "13.5.2";
sources = {
x86_64-linux = fetchurl {
@ -102,7 +102,7 @@ let
"https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-YUITJ7YyK+210ASH1zxlILJ10r0L6SJjbiw2UVASCbw=";
hash = "sha256-CXcaJLgG448tjTlOcxGwT/w1qWaokpVXbBZ6cLxWcNc=";
};
};

View File

@ -7,19 +7,19 @@
}:
let
pname = "open-webui";
version = "0.3.11";
version = "0.3.12";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
rev = "v${version}";
hash = "sha256-z/BtMe+CRS9l8WTG6CUjuDNCerYO41KKPUSESNz69SY=";
hash = "sha256-Ot8QsRgRbe0l37C9KGlREDCjq5nTTvcJ1TJaeBe2oxw=";
};
frontend = buildNpmPackage {
inherit pname version src;
npmDepsHash = "sha256-ODt5OIcSQNW6LGG6uE3d1Itn2oyXhzg45jjXxILE0vM=";
npmDepsHash = "sha256-fr+IA6I1pE+vJ+uGE1sf2++s65rPzK//ZL+xT3QoLOA=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.
@ -59,6 +59,9 @@ python3.pkgs.buildPythonApplication rec {
"opencv-python-headless"
# using `psycopg2` instead
"psycopg2-binary"
"docker"
"pytest"
"pytest-docker"
];
dependencies = with python3.pkgs; [
@ -115,7 +118,6 @@ python3.pkgs.buildPythonApplication rec {
redis
requests
sentence-transformers
sqlalchemy
tiktoken
unstructured
uvicorn
@ -126,7 +128,6 @@ python3.pkgs.buildPythonApplication rec {
build-system = with python3.pkgs; [ hatchling ];
pythonImportsCheck = [ "open_webui" ];
makeWrapperArgs = [ "--set FRONTEND_BUILD_DIR ${frontend}/share/open-webui" ];

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "passt";
version = "2024_06_24.1ee2eca";
version = "2024_07_26.57a21d2";
src = fetchurl {
url = "https://passt.top/passt/snapshot/passt-${finalAttrs.version}.tar.gz";
hash = "sha256-Q4AbpzJ4Gbu1ArdjzZCf0GmTz0nWZN+kEuhLPT8uPqg=";
hash = "sha256-UK3Klpo3cp4EH42W16qh5WbZlCxb+ETQtWbpgatL/Dc=";
};
makeFlags = [

View File

@ -6,16 +6,16 @@
php.buildComposerProject (finalAttrs: {
pname = "phpunit";
version = "11.2.8";
version = "11.3.0";
src = fetchFromGitHub {
owner = "sebastianbergmann";
repo = "phpunit";
rev = finalAttrs.version;
hash = "sha256-f3xLLOLpbSbgYoGpJHvUpea+wOu2U3M6jxZy/Rxro20=";
hash = "sha256-c8jooavjabT2RUXHYdRXwQzSD0slHG6ws/83FFL8W5k=";
};
vendorHash = "sha256-Gjii3m8wWmZbozKnJW/n9+wQUupemIU8XjmlCuTtfxU=";
vendorHash = "sha256-MjWfMfu3ptJhJubUrP7pC5/o2mVHepRCguPgPzJnGOY=";
passthru.updateScript = nix-update-script { };

View File

@ -33,11 +33,11 @@
}:
stdenv.mkDerivation rec {
pname = "plasticity";
version = "24.1.7";
version = "24.1.8";
src = fetchurl {
url = "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm";
hash = "sha256-HVAQXDfj/5UoOGvgrOW09xFeVv4MF/wXqxtRdwZAqso=";
hash = "sha256-Hh1yf3JqzMEvorWztLvoTcnDAk48cNe7NcCLrvNQCzo=";
};
passthru.updateScript = ./update.sh;

View File

@ -0,0 +1,80 @@
{
lib,
stdenv,
removeReferencesTo,
fetchFromGitHub,
autoconf,
automake,
libtool,
gitMinimal,
perl,
python3,
flex,
hwloc,
libevent,
zlib,
pmix,
}:
stdenv.mkDerivation rec {
pname = "prrte";
version = "3.0.6";
src = fetchFromGitHub {
owner = "openpmix";
repo = "prrte";
rev = "v${version}";
sha256 = "sha256-0JHtUpGFdPKmgUk0+MNxTfZIUDz/vY/CV+Mqbmv0JFw=";
fetchSubmodules = true;
};
outputs = [
"out"
"dev"
];
postPatch = ''
patchShebangs ./autogen.pl ./config
'';
preConfigure = ''
./autogen.pl
'';
postInstall = ''
moveToOutput "bin/prte_info" "''${!outputDev}"
# Fix a broken symlink, created due to FHS assumptions
rm "$out/bin/pcc"
ln -s ${lib.getDev pmix}/bin/pmixcc "''${!outputDev}"/bin/pcc
remove-references-to -t "''${!outputDev}" $(readlink -f $out/lib/libprrte${stdenv.hostPlatform.extensions.library})
'';
nativeBuildInputs = [
removeReferencesTo
perl
python3
autoconf
automake
libtool
flex
gitMinimal
];
buildInputs = [
libevent
hwloc
zlib
pmix
];
enableParallelBuilding = true;
meta = {
description = "PMIx Reference Runtime Environment";
homepage = "https://docs.prrte.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ markuskowa ];
platforms = lib.platforms.linux;
};
}

View File

@ -1,13 +1,13 @@
{ lib, buildNpmPackage, fetchFromGitHub, runCommand, jq }:
let
version = "1.1.373";
version = "1.1.375";
src = fetchFromGitHub {
owner = "Microsoft";
repo = "pyright";
rev = "${version}";
hash = "sha256-TMQ9ttWUDwf7Lp2JOwpIu4Bn3TbioXxkCPpEZiPDPyk=";
hash = "sha256-9GiwWCbo6z9/x9qBEsRoTh9WYNJ0XnlMq1BD7vrIHfA=";
};
patchedPackageJSON = runCommand "package.json" { } ''
@ -37,7 +37,7 @@ let
pname = "pyright-internal";
inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-BsfhbfhjHIlip3IiOJewjVD6Eq4bgr+Yo81rvIrJr7E=";
npmDepsHash = "sha256-4roH83gyZg6g6HjqassEAcn36bgqd1lwrq/ArST2+18=";
dontNpmBuild = true;
installPhase = ''
runHook preInstall
@ -51,7 +51,7 @@ buildNpmPackage rec {
inherit version src;
sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-cZhNkQjO1dAghXNoVCF0NQEi9QjXci626Ck9PXntoYA=";
npmDepsHash = "sha256-BJgdf7rDxs4NvXDJ4Y8z+DEAX77CXrB7FXzGEqH+YwI=";
postPatch = ''
chmod +w ../../

View File

@ -21,13 +21,13 @@ let
in
stdenv'.mkDerivation (finalAttrs: {
pname = "renovate";
version = "37.440.7";
version = "38.18.17";
src = fetchFromGitHub {
owner = "renovatebot";
repo = "renovate";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-VMv55BVeauRa/hmg1Y7D15ltAbccdcMd4Azk5IInuH0=";
hash = "sha256-Mur4UH63unYjgwkj9Rscg9V2M38XLrsNuqz+mWn0wR4=";
};
postPatch = ''
@ -44,7 +44,7 @@ stdenv'.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-ZYQ7G2BKkRxuyg31dysim+P1Vje0VysJm+UFyy4xuKI=";
hash = "sha256-3XSseB0rjFv1bsJ5S2fCveFicSQFnTwz4MmjzC7t9Jw=";
};
env.COREPACK_ENABLE_STRICT = 0;

View File

@ -0,0 +1,69 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
gettext,
perl,
pkg-config,
libxml2,
pango,
cairo,
groff,
tcl,
darwin,
}:
perl.pkgs.toPerlModule (
stdenv.mkDerivation rec {
pname = "rrdtool";
version = "1.9.0";
src = fetchFromGitHub {
owner = "oetiker";
repo = "rrdtool-1.x";
rev = "v${version}";
hash = "sha256-CPbSu1mosNlfj2nqiNVH14a5C5njkfvJM8ix3X3aP8E=";
};
# Fix darwin build
patches = lib.optional stdenv.isDarwin (fetchpatch {
url = "https://github.com/oetiker/rrdtool-1.x/pull/1262.patch";
hash = "sha256-aP0rmDlILn6VC8Tg7HpRXbxL9+KD/PRTbXnbQ7HgPEg=";
});
nativeBuildInputs = [
pkg-config
autoreconfHook
];
buildInputs =
[
gettext
perl
libxml2
pango
cairo
groff
]
++ lib.optionals stdenv.isDarwin [
tcl
darwin.apple_sdk.frameworks.ApplicationServices
];
postInstall = ''
# for munin and rrdtool support
mkdir -p $out/${perl.libPrefix}
mv $out/lib/perl/5* $out/${perl.libPrefix}
'';
meta = with lib; {
homepage = "https://oss.oetiker.ch/rrdtool/";
description = "High performance logging in Round Robin Databases";
license = licenses.gpl2Only;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ pSub ];
};
}
)

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "rsgain";
version = "3.5.1";
version = "3.5.2";
src = fetchFromGitHub {
owner = "complexlogic";
repo = "rsgain";
rev = "v${version}";
sha256 = "sha256-33ezojvCYAvxmUWzLxes3nUpK4iIWjlXsVSi+q7xeGU=";
sha256 = "sha256-kTvIMsRI99U2ovkN5pC4OUS/bJWpRYSuRcvObvQRnbQ=";
};
cmakeFlags = ["-DCMAKE_BUILD_TYPE='Release'"];

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "saunafs";
version = "4.3.0";
version = "4.4.0";
src = fetchFromGitHub {
owner = "leil-io";
repo = "saunafs";
rev = "v${finalAttrs.version}";
hash = "sha256-T/K13JygU7Q/ylPk5ZAby3Kepi8I4z3vBBaigboJhus=";
hash = "sha256-t2fb8AA9m2I7Qna/v4F2GNL02iCU0r7zz5TgajHUmrg=";
};
patches = [

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "sendme";
version = "0.12.0";
version = "0.13.0";
src = fetchFromGitHub {
owner = "n0-computer";
repo = pname;
rev = "v${version}";
hash = "sha256-3fD09NAHpuE5Me5bn87afUrnrsaRVZscPUavioIT4q0=";
hash = "sha256-PYuYFC4DsiVI3EiL8akffRvwDMWgc2qwblrqtlEqnYg=";
};
cargoHash = "sha256-TGEoD/PEFnuheTKVdTJVB5XEobrQFLk8JoEBFELj/pY=";
cargoHash = "sha256-yG6YZ02x7P6qwIu3vvz5ZUEUGrveizof+qHsSGXc3WU=";
buildInputs = lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks; [

View File

@ -9,18 +9,18 @@
buildGoModule rec {
pname = "shopware-cli";
version = "0.4.50";
version = "0.4.51";
src = fetchFromGitHub {
repo = "shopware-cli";
owner = "FriendsOfShopware";
rev = version;
hash = "sha256-dVq2Aw6oYkr8LAdd0LeFvkzMYSronCsDxesqUh2IGV0=";
hash = "sha256-mimFOZjWiDodCopJ23RZxWijOT7bDPUOH+A8GL/UyXs=";
};
nativeBuildInputs = [ installShellFiles makeWrapper ];
nativeCheckInputs = [ git dart-sass ];
vendorHash = "sha256-ABvjNRADmamYiq5A0NZjv1HlGxxAHQlut1ZR2kA04oU=";
vendorHash = "sha256-NXk3wH/XHohI7aYK+dvUmh+0hUrBNiH6xouT9EM8eiE=";
postInstall = ''
export HOME="$(mktemp -d)"

View File

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "smartcat";
version = "1.3.0";
version = "1.4.1";
src = fetchFromGitHub {
owner = "efugier";
repo = "smartcat";
rev = "refs/tags/${version}";
hash = "sha256-iCtNNKXo0peGGUaQXKaaYaEo7MAL70PX0BAWPERNmlo=";
hash = "sha256-/BJdLHK8rb9QVlkLbRCXIPlHiI2eThAZvhIhJWW43Q4=";
};
cargoHash = "sha256-qNl2bI5VqpMfoFc+gZC4XHrNT9pnWseduYSOi5Dzr9M=";
cargoHash = "sha256-mMoLFlY4mExG7MCu2uXPzmG3krKIWOLwcnth8gt40eg=";
nativeBuildInputs = [
pkg-config

View File

@ -35,7 +35,7 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "snapcraft";
version = "8.3.1";
version = "8.3.2";
pyproject = true;
@ -43,7 +43,7 @@ python.pkgs.buildPythonApplication rec {
owner = "canonical";
repo = "snapcraft";
rev = "refs/tags/${version}";
hash = "sha256-cdRlUY9hAJ8US93aiJymzsV27JVPY7lWCK7IUdjDmYE=";
hash = "sha256-JlmVnSpbMjMpJBXyRxF/LqJ+0e5fty6BK+sCPJ2Uw9I=";
};
patches = [

View File

@ -15,12 +15,12 @@
}:
stdenv.mkDerivation rec {
pname = "taskwarrior";
version = "3.0.2";
version = "3.1.0";
src = fetchFromGitHub {
owner = "GothenburgBitFactory";
repo = "taskwarrior";
rev = "v3.0.2";
hash = "sha256-vN3X6vLuD4Fw9wpEUYLf8sboA5GIcdP5EFb41KS6d5s=";
rev = "v${version}";
hash = "sha256-iKpOExj1xM9rU/rIcOLLKMrZrAfz7y9X2kt2CjfMOOQ=";
fetchSubmodules = true;
};
@ -45,16 +45,13 @@ stdenv.mkDerivation rec {
];
doCheck = true;
preCheck = ''
patchShebangs --build test
'';
checkTarget = "test";
checkTarget = "build_tests";
cargoDeps = rustPlatform.fetchCargoTarball {
name = "${pname}-${version}-cargo-deps";
inherit src;
sourceRoot = src.name;
hash = "sha256-4hdM9LgDa47ZYcX30HXvixIRy0xaahG4XBqPiUM+IUM=";
hash = "sha256-L+hYYKXSOG4XYdexLMG3wdA7st+A9Wk9muzipSNjxrA=";
};
cargoRoot = "./";
preConfigure = ''

View File

@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "termsvg";
version = "0.9.2";
src = fetchFromGitHub {
owner = "mrmarble";
repo = "termsvg";
rev = "v${version}";
hash = "sha256-q6xjsoxQTIQwPYkBTGwLfTt1VQ8GJPdsiP5dvTyEBIw=";
};
vendorHash = "sha256-HhJcf+NwM1h0Hh76LU/cddaLoCaQdyuKLSvDFmiKEEg=";
ldflags = [
"-s"
"-w"
"-X=main.version=${version}"
"-X=main.commit=${src.rev}"
"-X=main.date=1970-01-01T00:00:00Z"
];
meta = with lib; {
description = "Record, share and export your terminal as a animated SVG image";
homepage = "https://github.com/mrmarble/termsvg";
license = licenses.gpl3Only;
maintainers = with maintainers; [ pbsds ];
mainProgram = "termsvg";
};
}

View File

@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null)
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "13.5.1";
version = "13.5.2";
sources = {
x86_64-linux = fetchurl {
@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-1TxxLWjNd63UxiCqTWjqa5upreOrhX4MaMDwPEEIyoo=";
hash = "sha256-f6bKRWirHuOe2BnCYegZi1j58Ou3p6Syw++NVLGUGdU=";
};
i686-linux = fetchurl {
@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
];
hash = "sha256-x1Eo1fF/J79r5ZCq5JkVu38CZk5MTOiHh4Yhmji8oOc=";
hash = "sha256-ye+l3aq3nV97SUyARZMcPhdtGLoAWoscbr81F5LdbS4=";
};
};

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "trickest-cli";
version = "1.8.1";
version = "1.8.2";
src = fetchFromGitHub {
owner = "trickest";
repo = "trickest-cli";
rev = "refs/tags/v${version}";
hash = "sha256-6fshMuwGv4tkaqySHVsCwX+kBpUt+u/x9qnJNZ3c0HA=";
hash = "sha256-X7JGzTaTm7CE5+mTvnV93d5Hx2A1vF+aufmC5/xWRtc=";
};
vendorHash = "sha256-gk8YMMvTHBL7yoXU9n0jhtUS472fqLW5m+mSl4Lio6c=";

View File

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "vacuum-go";
version = "0.11.1";
version = "0.12.0";
src = fetchFromGitHub {
owner = "daveshanley";
repo = "vacuum";
# using refs/tags because simple version gives: 'the given path has multiple possibilities' error
rev = "refs/tags/v${version}";
hash = "sha256-i4B11hTPvF6kL7x8LUv8A4J1HfAhtxgSmvzNL+4sdYI=";
hash = "sha256-yfwAIcFDnhhPy71WpjNst4S7fn3V6UzkdtSYlr3zmEE=";
};
vendorHash = "sha256-b51Rs09EjHxYATwaFdHV96ZOORFxD0Y9cKTcJTSGhIU=";
vendorHash = "sha256-Yxzj3IAYp6C7qLbV2RV4lWZRDSheauZXvd+p5B5Y3qA=";
CGO_ENABLED = 0;
ldflags = [

View File

@ -18,8 +18,8 @@ buildBazelPackage rec {
# These environment variables are read in bazel/build-version.py to create
# a build string shown in the tools --version output.
# If env variables not set, it would attempt to extract it from .git/.
GIT_DATE = "2024-07-07";
GIT_VERSION = "v0.0-3722-g3b927214";
GIT_DATE = "2024-08-05";
GIT_VERSION = "v0.0-3747-g79f6290d";
# Derive nix package version from GIT_VERSION: "v1.2-345-abcde" -> "1.2.345"
version = builtins.concatStringsSep "." (lib.take 3 (lib.drop 1 (builtins.splitVersion GIT_VERSION)));
@ -28,7 +28,7 @@ buildBazelPackage rec {
owner = "chipsalliance";
repo = "verible";
rev = "${GIT_VERSION}";
hash = "sha256-/YQRC8Y8ucufqfgvCzvYYEQMksUMIw3ly37P090nm4s=";
hash = "sha256-cixhB7QZStfG4DKjqEVipIeM9uUt6vibtbtZypzIcMo=";
};
bazel = bazel_6;
@ -61,10 +61,12 @@ buildBazelPackage rec {
removeRulesCC = false;
bazelTargets = [ ":install-binaries" ];
bazelBuildFlags = [ "-c opt" ];
doCheck = true;
bazelTestTargets = [ "//..." ];
bazelBuildFlags = [
"-c opt"
];
bazelTestFlags = [ "-c opt" ];
buildAttrs = {
installPhase = ''
mkdir -p "$out/bin"

View File

@ -2,11 +2,11 @@
appimageTools.wrapType2 rec {
pname = "xlights";
version = "2024.13";
version = "2024.14";
src = fetchurl {
url = "https://github.com/smeighan/xLights/releases/download/${version}/xLights-${version}-x86_64.AppImage";
hash = "sha256-Oiavnnk5geFao7lq0GpmNg+xs1FeUOt3JhSbLUV8GkE=";
hash = "sha256-WqLPesH6KaOAj7gYycyrmzG2NIkKs3cjUm+K83rvha0=";
};
meta = {

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "gnome-user-docs";
version = "46.1";
version = "46.4";
src = fetchurl {
url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-qXKTy+63l+tPTRadcTu2WDvRLDeR4UAoPkNW0v4YCto=";
hash = "sha256-J3YHLxX5K9BQKDRfOsigk9RCYN5SpiDWJpPA5e6iBTQ=";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "cozette";
version = "1.25.0";
version = "1.25.1";
src = fetchzip {
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts-v-${builtins.replaceStrings ["."] ["-"] version}.zip";
hash = "sha256-ybq72r2p/2e41jzcZ/KxQgib3VIET6PppyCsGAQVXD8=";
hash = "sha256-Cnl7DTPcZmCRM06qe7WXfZorok3uUNYcB9bR/auzCao=";
};
installPhase = ''

View File

@ -73,11 +73,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-control-center";
version = "46.3";
version = "46.4";
src = fetchurl {
url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
hash = "sha256-l9xsfR3uGVkU88vIRbaBZLdhFIDYk760EQBsFerkbLk=";
hash = "sha256-Wb0wWDl3v6KOVCJ+7iEeqG9If81tORXtIfWTJCZxAeA=";
};
patches = [

View File

@ -30,11 +30,11 @@
stdenv.mkDerivation rec {
pname = "gnome-remote-desktop";
version = "46.3";
version = "46.4";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-CMZlbxHUY560lyqJKej1AkJ9weLqAz4CyZK7Gkx315Q=";
hash = "sha256-KLwH6W2qFJy45NCldN8KLObsbOZHutyGFUzmEoIsxR4=";
};
nativeBuildInputs = [

View File

@ -68,13 +68,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-shell";
version = "46.3.1";
version = "46.4";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz";
hash = "sha256-575fxu4sxSitJh3HpVyN5aMkEtPWhAoKB14PwSoH/4s=";
hash = "sha256-GIRo/nLpCsSyNOnU0HB9YH/q85oT0lvTqj63XlWj4FI=";
};
patches = [

View File

@ -46,11 +46,11 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-software";
version = "46.3";
version = "46.4";
src = fetchurl {
url = "mirror://gnome/sources/gnome-software/${lib.versions.major finalAttrs.version}/gnome-software-${finalAttrs.version}.tar.xz";
hash = "sha256-nWvB9jfYGytZhYN5BPBe1wdgAUfZrxYLqJEqvy1C8TY=";
hash = "sha256-ZVTR3gfnxjUtqLBjhP6hPaZJnXHAW1rQANjiHLFT9a8=";
};
patches = [

View File

@ -66,13 +66,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mutter";
version = "46.3.1";
version = "46.4";
outputs = [ "out" "dev" "man" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
hash = "sha256-dHpj2jdF8wSwG1U5PZar2qggmDsYi2C0DburPmg8gF8=";
hash = "sha256-YRvZz5gq21ZZfOKzQiQnL9phm7O7kSpoTXXG8sN1AuQ=";
};
mesonFlags = [

View File

@ -21,11 +21,11 @@
stdenv.mkDerivation rec {
pname = "gnome-sudoku";
version = "46.3";
version = "46.4";
src = fetchurl {
url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-OKJqwUvlO2w0/9UuxmhSVpFEQHSF4xsvgXkn0hdmUSQ=";
hash = "sha256-SmsMRQbolRIlOxyZO3P2QOjv2awfHrUqAkgZCHYjpKI=";
};
nativeBuildInputs = [

View File

@ -1,63 +1,55 @@
{ lib
, stdenv
, fetchFromGitHub
, nix-update-script
, meson
, ninja
, pkg-config
, python3
, vala
, wrapGAppsHook3
, glib
, granite
, gst_all_1
, gtk3
, libcanberra
, libgee
, libhandy
{
stdenv,
lib,
fetchFromGitHub,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
glib,
granite7,
gst_all_1,
gtk4,
libadwaita,
libcanberra,
libgee,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "elementary-camera";
version = "6.2.2";
version = "8.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "camera";
rev = version;
sha256 = "sha256-Sj89TBat2RY2Ms02M0P7gmE9tXYk1yrnPLzDwGyAFZA=";
sha256 = "sha256-c8wpo2oMkovZikzcWHfiUIUA/+L7iWEcUv6Cg/BMa+s=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
python3
vala
wrapGAppsHook3
wrapGAppsHook4
];
buildInputs = [
glib
granite
gtk3
granite7
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
(gst_all_1.gst-plugins-good.override { gtkSupport = true; })
gst_all_1.gst-plugins-rs # GTK 4 sink
gst_all_1.gst-plugins-ugly
gst_all_1.gstreamer
gtk4
libadwaita
libcanberra
libgee
libhandy
] ++ (with gst_all_1; [
gst-plugins-bad
gst-plugins-base
# gtkSupport needed for gtksink
# https://github.com/elementary/camera/issues/181
(gst-plugins-good.override { gtkSupport = true; })
gst-plugins-ugly
gstreamer
]);
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
];
passthru = {
updateScript = nix-update-script { };

View File

@ -12,6 +12,7 @@
, glib
, libgee
, libhandy
, libportal-gtk3
, granite
, pango
, bamf
@ -25,7 +26,7 @@
stdenv.mkDerivation rec {
pname = "elementary-files";
version = "6.5.3";
version = "7.0.0";
outputs = [ "out" "dev" ];
@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = "files";
rev = version;
sha256 = "sha256-geJLHRo1Bd2oFT+UtirHj9FVSFTFMK/v/5h+NF9woFo=";
hash = "sha256-6pEHyrQjqgbpOUEM/zbpuF8GM7JotDYfCnumU3aXIaI=";
};
nativeBuildInputs = [
@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
libgee
libgit2-glib
libhandy
libportal-gtk3
pango
sqlite
systemd

View File

@ -5,7 +5,6 @@
, meson
, ninja
, pkg-config
, python3
, vala
, wrapGAppsHook3
, clutter-gtk
@ -23,20 +22,19 @@
stdenv.mkDerivation rec {
pname = "elementary-tasks";
version = "6.3.2";
version = "6.3.3";
src = fetchFromGitHub {
owner = "elementary";
repo = "tasks";
rev = version;
sha256 = "sha256-6Vwx+NRVGDqZzN5IVk4cQxGjSkYwrrNhUVoB8TRo28U=";
hash = "sha256-xOMS4Zwfl7TLHvm8Zn6wQ4ZoMg+Yuci+cTpUVG+liss=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
python3
vala
wrapGAppsHook3
];
@ -55,11 +53,6 @@ stdenv.mkDerivation rec {
libportal-gtk3
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script { };
};

View File

@ -46,11 +46,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.21.12";
version = "1.21.13";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-MOaK8nvB8d8jHjq3Tz0X07jVKgicebyqtXO08bgH7U8=";
hash = "sha256-cfsxYGod5I0SnVkehxemPgxVZf+6CaJOqfiZoTIUw00=";
};
strictDeps = true;

View File

@ -0,0 +1,22 @@
{ lib, mkCoqDerivation, coq, version ? null }:
mkCoqDerivation {
pname = "coinduction";
owner = "damien-pous";
inherit version;
defaultVersion = let inherit (lib.versions) range; in
lib.switch coq.coq-version [
{ case = range "8.19" "8.19"; out = "1.9"; }
] null;
release = {
"1.9".sha256 = "sha256-bBU+xDklnzJBeN41GarW5KXzD8eKsOYtb//ULYumwWE=";
};
releaseRev = v: "v${v}";
mlPlugin = true;
meta = {
description = "A library for doing proofs by (enhanced) coinduction";
license = lib.licenses.lgpl3Plus;
};
}

View File

@ -0,0 +1,37 @@
{ lib, mkCoqDerivation, coq, version ? null }:
let
repo = "stalmarck";
defaultVersion = with lib.versions; lib.switch coq.coq-version [
{ case = isEq "8.20"; out = "8.20.0"; }
] null;
release = {
"8.20.0".sha256 = "sha256-jITxQT1jLyZvWCGPnmK8i3IrwsZwMPOV0aBe9r22TIQ=";
};
releaseRev = v: "v${v}";
packages = [ "stalmarck" "stalmarck-tactic" ];
stalmarck_ = package: let
pname = package;
istac = package == "stalmarck-tactic";
propagatedBuildInputs =
lib.optional istac (stalmarck_ "stalmarck");
description =
if istac then
"Coq tactic and verified tool for proving tautologies using Stålmarck's algorithm"
else
"A two-level approach to prove tautologies using Stålmarck's algorithm in Coq.";
in mkCoqDerivation {
inherit version pname defaultVersion release releaseRev repo
propagatedBuildInputs;
mlPlugin = istac;
useDune = istac;
meta = { inherit description; license = lib.licenses.lgpl21Plus; };
passthru = lib.genAttrs packages stalmarck_;
};
in
stalmarck_ "stalmarck-tactic"

View File

@ -31,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-online-accounts";
version = "3.50.3";
version = "3.50.4";
outputs = [ "out" "dev" ] ++ lib.optionals enableBackend [ "man" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-online-accounts/${lib.versions.majorMinor finalAttrs.version}/gnome-online-accounts-${finalAttrs.version}.tar.xz";
hash = "sha256-5xSmfRccVxRDYet07oKhexXQqCIo/xiM+ScE9WJsopQ=";
hash = "sha256-MMoTA4zXpp1bay1TZD+6ZUjRcSuSXwwhbzEzw2y/d3M=";
};
mesonFlags = [

Some files were not shown because too many files have changed in this diff Show More