0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00:33 +03:00

Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-08-28 18:04:19 +00:00 committed by GitHub
commit 59b57346d9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
108 changed files with 989 additions and 320 deletions

View file

@ -21177,6 +21177,12 @@
githubId = 16036882; githubId = 16036882;
name = "Thibault Gagnaux"; name = "Thibault Gagnaux";
}; };
tri-ler = {
github = "tri-ler";
githubId = 47867303;
email = "tylerh689@gmail.com";
name = "Tyler Hong";
};
trino = { trino = {
email = "muehlhans.hubert@ekodia.de"; email = "muehlhans.hubert@ekodia.de";
github = "hmuehlhans"; github = "hmuehlhans";

View file

@ -98,6 +98,10 @@
- [chromadb](https://www.trychroma.com/), an open-source AI application - [chromadb](https://www.trychroma.com/), an open-source AI application
database. Batteries included. Available as [services.chromadb](options.html#opt-services.chromadb.enable). database. Batteries included. Available as [services.chromadb](options.html#opt-services.chromadb.enable).
- [Wakapi](https://wakapi.dev/), a time tracking software for programmers. Available as [services.wakapi](#opt-services.wakapi.enable).
- [foot](https://codeberg.org/dnkl/foot), a fast, lightweight and minimalistic Wayland terminal emulator. Available as [programs.foot](#opt-programs.foot.enable).
## Backward Incompatibilities {#sec-release-24.11-incompatibilities} ## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage: - `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
@ -405,10 +409,8 @@
- The hooks `yarnConfigHook` and `yarnBuildHook` were added. These should replace `yarn2nix.mkYarnPackage` and other `yarn2nix` related tools. The motivation to get rid of `yarn2nix` tools is the fact that they are too complex and hard to maintain, and they rely upon too much Nix evaluation which is problematic if import-from-derivation is not allowed (see more details at [#296856](https://github.com/NixOS/nixpkgs/issues/296856). The transition from `mkYarnPackage` to `yarn{Config,Build}Hook` is tracked at [#324246](https://github.com/NixOS/nixpkgs/issues/324246). - The hooks `yarnConfigHook` and `yarnBuildHook` were added. These should replace `yarn2nix.mkYarnPackage` and other `yarn2nix` related tools. The motivation to get rid of `yarn2nix` tools is the fact that they are too complex and hard to maintain, and they rely upon too much Nix evaluation which is problematic if import-from-derivation is not allowed (see more details at [#296856](https://github.com/NixOS/nixpkgs/issues/296856). The transition from `mkYarnPackage` to `yarn{Config,Build}Hook` is tracked at [#324246](https://github.com/NixOS/nixpkgs/issues/324246).
- Cinnamon has been updated to 6.2. - Cinnamon has been updated to 6.2, please check [upstream announcement](https://www.linuxmint.com/rel_wilma_whatsnew.php) for more details.
- Following Mint 22 defaults, the Cinnamon module no longer ships geary and hexchat by default. Following Mint 22 defaults, the Cinnamon module no longer ships geary and hexchat by default.
- Nemo is now built with gtk-layer-shell support, note that for now it will be expected to see nemo-desktop
listed as a regular entry in Cinnamon Wayland session's window list applet.
- The `shadowstack` hardening flag has been added, though disabled by default. - The `shadowstack` hardening flag has been added, though disabled by default.

View file

@ -63,7 +63,7 @@ with lib;
# Firefox for reading the manual. # Firefox for reading the manual.
firefox firefox
glxinfo mesa-demos
]; ];
} }

View file

@ -193,6 +193,7 @@
./programs/fish.nix ./programs/fish.nix
./programs/flashrom.nix ./programs/flashrom.nix
./programs/flexoptix-app.nix ./programs/flexoptix-app.nix
./programs/foot
./programs/freetds.nix ./programs/freetds.nix
./programs/fuse.nix ./programs/fuse.nix
./programs/fzf.nix ./programs/fzf.nix
@ -1491,6 +1492,7 @@
./services/web-apps/trilium.nix ./services/web-apps/trilium.nix
./services/web-apps/tt-rss.nix ./services/web-apps/tt-rss.nix
./services/web-apps/vikunja.nix ./services/web-apps/vikunja.nix
./services/web-apps/wakapi.nix
./services/web-apps/weblate.nix ./services/web-apps/weblate.nix
./services/web-apps/whitebophir.nix ./services/web-apps/whitebophir.nix
./services/web-apps/wiki-js.nix ./services/web-apps/wiki-js.nix

View file

@ -17,5 +17,5 @@
# Enable sound in virtualbox appliances. # Enable sound in virtualbox appliances.
hardware.pulseaudio.enable = true; hardware.pulseaudio.enable = true;
environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ]; environment.systemPackages = [ pkgs.mesa-demos pkgs.firefox ];
} }

View file

@ -0,0 +1,27 @@
osc7_cwd() {
local strlen=${#PWD}
local encoded=""
local pos c o
for (( pos=0; pos<strlen; pos++ )); do
c=${PWD:$pos:1}
case "$c" in
[-/:_.!\'\(\)~[:alnum:]] ) o="${c}" ;;
* ) printf -v o '%%%02X' "'${c}" ;;
esac
encoded+="${o}"
done
printf '\e]7;file://%s%s\e\\' "${HOSTNAME}" "${encoded}"
}
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }osc7_cwd
prompt_marker() {
printf '\e]133;A\e\\'
}
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }prompt_marker
PS0+='\e]133;C\e\\'
command_done() {
printf '\e]133;D\e\\'
}
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }command_done

View file

@ -0,0 +1,20 @@
function update_cwd_osc --on-variable PWD --description 'Notify terminals when $PWD changes'
if status --is-command-substitution || set -q INSIDE_EMACS
return
end
printf \e\]7\;file://%s%s\e\\ $hostname (string escape --style=url $PWD)
end
update_cwd_osc # Run once since we might have inherited PWD from a parent shell
function mark_prompt_start --on-event fish_prompt
echo -en "\e]133;A\e\\"
end
function foot_cmd_start --on-event fish_preexec
echo -en "\e]133;C\e\\"
end
function foot_cmd_end --on-event fish_postexec
echo -en "\e]133;D\e\\"
end

View file

@ -0,0 +1,92 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.foot;
settingsFormat = pkgs.formats.ini {
listsAsDuplicateKeys = true;
mkKeyValue =
with lib.generators;
mkKeyValueDefault {
mkValueString =
v:
mkValueStringDefault { } (
if v == true then
"yes"
else if v == false then
"no"
else if v == null then
"none"
else
v
);
} "=";
};
in
{
options.programs.foot = {
enable = lib.mkEnableOption "foot terminal emulator";
package = lib.mkPackageOption pkgs "foot" { };
settings = lib.mkOption {
inherit (settingsFormat) type;
default = { };
description = ''
Configuration for foot terminal emulator. Further information can be found in {command}`man 5 foot.ini`.
Global configuration has to be written under the [main] section.
'';
example = {
main.font = "FreeMono:size=12";
scrollback.lines = 100000;
};
};
theme = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = ''
Theme name. Check <https://codeberg.org/dnkl/foot/src/branch/master/themes> for available themes.
'';
example = "aeroroot";
};
enableBashIntegration = lib.mkEnableOption "foot bash integration" // {
default = true;
};
enableFishIntegration = lib.mkEnableOption "foot fish integration" // {
default = true;
};
enableZshIntegration = lib.mkEnableOption "foot zsh integration" // {
default = true;
};
};
config = lib.mkIf cfg.enable {
environment = {
systemPackages = [ cfg.package ];
etc."xdg/foot/foot.ini".source = settingsFormat.generate "foot.ini" cfg.settings;
};
programs = {
foot.settings.main.include = lib.optionals (cfg.theme != null) [
"${pkgs.foot.themes}/share/foot/themes/${cfg.theme}"
];
# https://codeberg.org/dnkl/foot/wiki#user-content-shell-integration
bash.interactiveShellInit = lib.mkIf cfg.enableBashIntegration ". ${./bashrc} # enable shell integration for foot terminal";
fish.interactiveShellInit = lib.mkIf cfg.enableFishIntegration "source ${./config.fish} # enable shell integration for foot terminal";
zsh.interactiveShellInit = lib.mkIf cfg.enableZshIntegration ". ${./zshrc} # enable shell integration for foot terminal";
};
};
meta = {
maintainers = with lib.maintainers; [ linsui ];
};
}

View file

@ -0,0 +1,25 @@
function osc7-pwd() {
emulate -L zsh # also sets localoptions for us
setopt extendedglob
local LC_ALL=C
printf '\e]7;file://%s%s\e\' $HOST ${PWD//(#m)([^@-Za-z&-;_~])/%${(l:2::0:)$(([##16]#MATCH))}}
}
function chpwd-osc7-pwd() {
(( ZSH_SUBSHELL )) || osc7-pwd
}
add-zsh-hook -Uz chpwd chpwd-osc7-pwd
precmd() {
print -Pn "\e]133;A\e\\"
}
function precmd {
if ! builtin zle; then
print -n "\e]133;D\e\\"
fi
}
function preexec {
print -n "\e]133;C\e\\"
}

View file

@ -222,6 +222,7 @@ in
environment = { environment = {
HOMEPAGE_CONFIG_DIR = configDir; HOMEPAGE_CONFIG_DIR = configDir;
HOMEPAGE_CACHE_DIR = "/var/cache/homepage-dashboard";
PORT = toString cfg.listenPort; PORT = toString cfg.listenPort;
LOG_TARGETS = lib.mkIf managedConfig "stdout"; LOG_TARGETS = lib.mkIf managedConfig "stdout";
}; };
@ -231,6 +232,7 @@ in
DynamicUser = true; DynamicUser = true;
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
StateDirectory = lib.mkIf (!managedConfig) "homepage-dashboard"; StateDirectory = lib.mkIf (!managedConfig) "homepage-dashboard";
CacheDirectory = "homepage-dashboard";
ExecStart = lib.getExe cfg.package; ExecStart = lib.getExe cfg.package;
Restart = "on-failure"; Restart = "on-failure";
}; };

View file

@ -135,6 +135,8 @@ in
default = "freshrss"; default = "freshrss";
description = '' description = ''
Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost. Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
You may need to configure the virtualhost further through services.nginx.virtualHosts.<virtualhost>,
for example to enable SSL.
''; '';
}; };

View file

@ -0,0 +1,164 @@
{
lib,
pkgs,
config,
...
}:
let
cfg = config.services.wakapi;
settingsFormat = pkgs.formats.yaml { };
settingsFile = settingsFormat.generate "wakapi-settings" cfg.settings;
inherit (lib)
getExe
mkOption
mkEnableOption
mkPackageOption
types
mkIf
optional
mkMerge
singleton
;
in
{
options.services.wakapi = {
enable = mkEnableOption "Wakapi";
package = mkPackageOption pkgs "wakapi" { };
settings = mkOption {
inherit (settingsFormat) type;
default = { };
description = ''
Settings for Wakapi.
See [config.default.yml](https://github.com/muety/wakapi/blob/master/config.default.yml) for a list of all possible options.
'';
};
passwordSalt = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The password salt to use for Wakapi.
'';
};
passwordSaltFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
The path to a file containing the password salt to use for Wakapi.
'';
};
smtpPassword = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The password used for the smtp mailed to used by Wakapi.
'';
};
smtpPasswordFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
The path to a file containing the password for the smtp mailer used by Wakapi.
'';
};
};
config = mkIf cfg.enable {
systemd.services.wakapi = {
description = "Wakapi (self-hosted WakaTime-compatible backend)";
wants = [
"network-online.target"
] ++ optional (cfg.settings.db.dialect == "postgres") "postgresql.service";
after = [
"network-online.target"
] ++ optional (cfg.settings.db.dialect == "postgres") "postgresql.service";
wantedBy = [ "multi-user.target" ];
script = ''
exec ${getExe cfg.package} -config ${settingsFile}
'';
serviceConfig = {
Environment = mkMerge [
(mkIf (cfg.passwordSalt != null) "WAKAPI_PASSWORD_SALT=${cfg.passwordSalt}")
(mkIf (cfg.smtpPassword != null) "WAKAPI_MAIL_SMTP_PASS=${cfg.smtpPassword}")
];
EnvironmentFile = [
(optional (cfg.passwordSaltFile != null) cfg.passwordSaltFile)
(optional (cfg.smtpPasswordFile != null) cfg.smtpPasswordFile)
];
User = config.users.users.wakapi.name;
Group = config.users.users.wakapi.group;
DynamicUser = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
StateDirectoryMode = "0700";
Restart = "always";
};
};
services.wakapi.settings = {
env = lib.mkDefault "production";
};
assertions = [
{
assertion = cfg.passwordSalt != null || cfg.passwordSaltFile != null;
message = "Either `services.wakapi.passwordSalt` or `services.wakapi.passwordSaltFile` must be set.";
}
{
assertion = cfg.passwordSalt != null -> cfg.passwordSaltFile != null;
message = "Both `services.wakapi.passwordSalt` `services.wakapi.passwordSaltFile` should not be set at the same time.";
}
{
assertion = cfg.smtpPassword != null -> cfg.smtpPasswordFile != null;
message = "Both `services.wakapi.smtpPassword` `services.wakapi.smtpPasswordFile` should not be set at the same time.";
}
];
users = {
users.wakapi = {
group = "wakapi";
createHome = false;
isSystemUser = true;
};
groups.wakapi = { };
};
services.postgresql = mkIf (cfg.settings.db.dialect == "postgres") {
enable = true;
ensureDatabases = singleton cfg.settings.db.name;
ensureUsers = singleton {
name = cfg.settings.db.user;
ensureDBOwnership = true;
};
authentication = ''
host ${cfg.settings.db.name} ${cfg.settings.db.user} 127.0.0.1/32 trust
'';
};
};
meta.maintainers = with lib.maintainers; [ isabelroses ];
}

View file

@ -33,6 +33,7 @@ CAN_TOUCH_EFI_VARIABLES = "@canTouchEfiVariables@"
GRACEFUL = "@graceful@" GRACEFUL = "@graceful@"
COPY_EXTRA_FILES = "@copyExtraFiles@" COPY_EXTRA_FILES = "@copyExtraFiles@"
CHECK_MOUNTPOINTS = "@checkMountpoints@" CHECK_MOUNTPOINTS = "@checkMountpoints@"
STORE_DIR = "@storeDir@"
@dataclass @dataclass
class BootSpec: class BootSpec:
@ -106,7 +107,7 @@ def write_loader_conf(profile: str | None, generation: int, specialisation: str
if not EDITOR: if not EDITOR:
f.write("editor 0\n") f.write("editor 0\n")
if REBOOT_FOR_BITLOCKER: if REBOOT_FOR_BITLOCKER:
f.write("reboot-for-bitlocker yes\n"); f.write("reboot-for-bitlocker yes\n")
f.write(f"console-mode {CONSOLE_MODE}\n") f.write(f"console-mode {CONSOLE_MODE}\n")
f.flush() f.flush()
os.fsync(f.fileno()) os.fsync(f.fileno())
@ -150,12 +151,13 @@ def bootspec_from_json(bootspec_json: dict[str, Any]) -> BootSpec:
def copy_from_file(file: str, dry_run: bool = False) -> str: def copy_from_file(file: str, dry_run: bool = False) -> str:
store_file_path = os.path.realpath(file) store_file_path = os.path.realpath(file)
suffix = os.path.basename(store_file_path) suffix = os.path.basename(store_file_path)
store_dir = os.path.basename(os.path.dirname(store_file_path)) store_subdir = os.path.relpath(store_file_path, start=STORE_DIR).split(os.path.sep)[0]
efi_file_path = f"{NIXOS_DIR}/{store_dir}-{suffix}.efi" efi_file_path = f"{NIXOS_DIR}/{suffix}.efi" if suffix == store_subdir else f"{NIXOS_DIR}/{store_subdir}-{suffix}.efi"
if not dry_run: if not dry_run:
copy_if_not_exists(store_file_path, f"{BOOT_MOUNT_POINT}{efi_file_path}") copy_if_not_exists(store_file_path, f"{BOOT_MOUNT_POINT}{efi_file_path}")
return efi_file_path return efi_file_path
def write_entry(profile: str | None, generation: int, specialisation: str | None, def write_entry(profile: str | None, generation: int, specialisation: str | None,
machine_id: str, bootspec: BootSpec, current: bool) -> None: machine_id: str, bootspec: BootSpec, current: bool) -> None:
if specialisation: if specialisation:

View file

@ -28,6 +28,8 @@ let
isExecutable = true; isExecutable = true;
inherit (builtins) storeDir;
inherit (pkgs) python3; inherit (pkgs) python3;
systemd = config.systemd.package; systemd = config.systemd.package;

View file

@ -200,7 +200,7 @@ in
) )
'' + pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isAarch64 '' '' + pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isAarch64 ''
machine.succeed( machine.succeed(
"grep 'devicetree .*dummy' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" r"grep 'devicetree /EFI/nixos/[a-z0-9]\{32\}.*dummy' /boot/loader/entries/nixos-generation-1-specialisation-something.conf"
) )
''; '';
}; };

View file

@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
nodes.machine = { pkgs, ... }: { nodes.machine = { pkgs, ... }: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
glxinfo mesa-demos
procps # for `pkill`, `pidof` in the test procps # for `pkill`, `pidof` in the test
scrot # for screenshotting Xorg scrot # for screenshotting Xorg
turbovnc turbovnc

View file

@ -33,13 +33,13 @@ stdenv.mkDerivation (finalAttrs: {
ELECTRON_SKIP_BINARY_DOWNLOAD = 1; ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
postBuild = lib.optionalString stdenv.isDarwin '' postBuild = lib.optionalString stdenv.isDarwin ''
cp -R ${electron}/Applications/Electron.app Electron.app cp -R ${electron.dist}/Electron.app Electron.app
chmod -R u+w Electron.app chmod -R u+w Electron.app
'' + '' '' + ''
pnpm build pnpm build
./node_modules/.bin/electron-builder \ ./node_modules/.bin/electron-builder \
--dir \ --dir \
-c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \ -c.electronDist=${if stdenv.isDarwin then "." else electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
''; '';

View file

@ -13,7 +13,6 @@
, file , file
, fontsConf , fontsConf
, git , git
, glxinfo
, gnugrep , gnugrep
, gnused , gnused
, gnutar , gnutar
@ -30,6 +29,7 @@
, libX11 , libX11
, libxcb , libxcb
, libxkbcommon , libxkbcommon
, mesa-demos
, xcbutilwm , xcbutilwm
, xcbutilrenderutil , xcbutilrenderutil
, xcbutilkeysyms , xcbutilkeysyms
@ -107,7 +107,7 @@ let
# For Android emulator # For Android emulator
file file
glxinfo mesa-demos
pciutils pciutils
setxkbmap setxkbmap

View file

@ -0,0 +1,68 @@
# RetroArch
This directory includes [RetroArch](https://www.retroarch.com/), [libretro
cores](https://docs.libretro.com/guides/core-list/) and related packages.
## Adding new cores
The basic steps to add a new core are:
1. Add the core repository to [update_cores.py](./update_cores.py) inside the
`CORES` map.
- The minimum required parameter is `repo`
- If the repository owner is not `libretro`, set `owner` parameter
- If the core needs submodules, set `fetch_submodules` parameter to `True`
- To pin the core to a specific release, set `rev` parameter
2. Run `./pkgs/applications/emulators/retroarch/update_cores.py <emulator>` to
generate [`hashes.json`](./hashes.json) file
3. Add your new core to [`cores.nix`](./cores.nix) file, using
[`mkLibretroCore`](./mkLibretroCore.nix) function
- In general, the attribute name should be the same as the repo name, unless
there is a good reason not to
- Check the core repo and [Libretro
documentation](https://docs.libretro.com/) for the core you're trying to add
for instructions on how to build
- Also check the examples inside [`cores.nix`](./cores.nix)
- If your core is recently released, there is a good chance that you may
need to update [`libretro-core-info`](./libretro-core-info.nix) for things
to work inside RetroArch
4. Try to build your core with `nix-build -A libretro.<core>`
## Updating cores
Just run:
```console
# From the root of your nixpkgs directory
./pkgs/applications/emulators/retroarch/update_cores.nix
```
Keep in mind that because of the huge amount of cores that we package here, it
is recommended to set `GITHUB_TOKEN` to your GitHub's [Personal Access
Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
(PAT), otherwise the update will probably fail due to GitHub's API rate limit.
## Using RetroArch with cores
To create a custom RetroArch derivation with the cores you want (instead of
using `retroarchFull` that includes all cores), you can use `.override` like
this:
```nix
{ pkgs, ... }:
let
retroarchWithCores = (pkgs.retroarch.override {
cores = with pkgs.libretro; [
bsnes
mgba
quicknes
];
});
in
{
environment.systemPackages = [
retroarchWithCores
];
}
```

View file

@ -63,14 +63,14 @@ stdenv.mkDerivation rec {
runHook preBuild runHook preBuild
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
cp -R ${electron}/Applications/Electron.app Electron.app cp -R ${electron.dist}/Electron.app Electron.app
chmod -R u+w Electron.app chmod -R u+w Electron.app
export CSC_IDENTITY_AUTO_DISCOVERY=false export CSC_IDENTITY_AUTO_DISCOVERY=false
sed -i "/afterSign/d" electron-builder-linux-mac.json sed -i "/afterSign/d" electron-builder-linux-mac.json
'' + '' '' + ''
yarn --offline run electron-builder --dir \ yarn --offline run electron-builder --dir \
${if stdenv.isDarwin then "--config electron-builder-linux-mac.json" else ""} \ ${lib.optionalString stdenv.isDarwin "--config electron-builder-linux-mac.json"} \
-c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \ -c.electronDist=${if stdenv.isDarwin then "." else electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
runHook postBuild runHook postBuild

View file

@ -6,7 +6,7 @@
, kauth , kauth
, libdrm , libdrm
, hwdata , hwdata
, glxinfo , mesa-demos
, polkit , polkit
, procps , procps
, pugixml , pugixml
@ -46,7 +46,7 @@ stdenv.mkDerivation rec{
karchive karchive
kauth kauth
libdrm libdrm
glxinfo mesa-demos
polkit polkit
procps procps
pugixml pugixml
@ -68,7 +68,7 @@ stdenv.mkDerivation rec{
"-DPOLKIT_POLICY_INSTALL_DIR=${placeholder "out"}/share/polkit-1/actions" "-DPOLKIT_POLICY_INSTALL_DIR=${placeholder "out"}/share/polkit-1/actions"
]; ];
runtimeDeps = [ hwdata glxinfo vulkan-tools util-linux procps ]; runtimeDeps = [ hwdata mesa-demos vulkan-tools util-linux procps ];
binPath = lib.makeBinPath runtimeDeps; binPath = lib.makeBinPath runtimeDeps;
dontWrapQtApps = true; dontWrapQtApps = true;

View file

@ -12,7 +12,7 @@
, wrapGAppsHook4 , wrapGAppsHook4
, gdk-pixbuf , gdk-pixbuf
, lsb-release , lsb-release
, glxinfo , mesa-demos
, vdpauinfo , vdpauinfo
, clinfo , clinfo
}: }:
@ -55,7 +55,7 @@ python3.pkgs.buildPythonApplication rec {
postFixup = '' postFixup = ''
makeWrapper ${python3.interpreter} $out/bin/gpu-viewer \ makeWrapper ${python3.interpreter} $out/bin/gpu-viewer \
--prefix PATH : "${lib.makeBinPath [ clinfo glxinfo lsb-release vdpauinfo vulkan-tools ]}" \ --prefix PATH : "${lib.makeBinPath [ clinfo lsb-release mesa-demos vdpauinfo vulkan-tools ]}" \
--add-flags "$out/share/gpu-viewer/Files/GPUViewer.py" \ --add-flags "$out/share/gpu-viewer/Files/GPUViewer.py" \
--prefix PYTHONPATH : "$PYTHONPATH" \ --prefix PYTHONPATH : "$PYTHONPATH" \
--chdir "$out/share/gpu-viewer/Files" \ --chdir "$out/share/gpu-viewer/Files" \

View file

@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
yarnBuildScript = "electron-builder"; yarnBuildScript = "electron-builder";
yarnBuildFlags = [ yarnBuildFlags = [
"--dir" "--dir"
"-c.electronDist=${electron}/libexec/electron" "-c.electronDist=${electron.dist}"
"-c.electronVersion=${electron.version}" "-c.electronVersion=${electron.version}"
]; ];

View file

@ -39,7 +39,7 @@
, xrandr , xrandr
, pciutils , pciutils
, psmisc , psmisc
, glxinfo , mesa-demos
, vulkan-tools , vulkan-tools
, xboxdrv , xboxdrv
, pulseaudio , pulseaudio
@ -58,7 +58,7 @@ let
xrandr xrandr
pciutils pciutils
psmisc psmisc
glxinfo mesa-demos
vulkan-tools vulkan-tools
xboxdrv xboxdrv
pulseaudio pulseaudio

View file

@ -172,6 +172,46 @@ in
}; };
}; };
firmwareupdater = buildPlugin rec {
pname = "firmwareupdater";
version = "1.14.0";
src = fetchFromGitHub {
owner = "OctoPrint";
repo = "OctoPrint-FirmwareUpdater";
rev = version;
sha256 = "sha256-CUNjM/IJJS/lqccZ2B0mDOzv3k8AgmDreA/X9wNJ7iY=";
};
propagatedBuildInputs = with super; [ pyserial ];
meta = with lib; {
description = "Printer Firmware Updater";
homepage = "https://github.com/OctoPrint/OctoPrint-FirmwareUpdater";
license = licenses.agpl3Only;
maintainers = with maintainers; [ tri-ler ];
};
};
fullscreen = buildPlugin rec {
pname = "fullscreen";
version = "0.0.6";
src = fetchFromGitHub {
owner = "BillyBlaze";
repo = "OctoPrint-FullScreen";
rev = version;
sha256 = "sha256-Z8twpj+gqgbiWWxNd9I9qflEAln5Obpb3cn34KwSc5A=";
};
meta = with lib; {
description = "Open webcam in fullscreen mode";
homepage = "https://github.com/BillyBlaze/OctoPrint-FullScreen";
license = licenses.agpl3Only;
maintainers = with maintainers; [ tri-ler ];
};
};
gcodeeditor = buildPlugin rec { gcodeeditor = buildPlugin rec {
pname = "gcodeeditor"; pname = "gcodeeditor";
version = "0.2.12"; version = "0.2.12";
@ -231,15 +271,102 @@ in
}; };
}; };
mqttchambertemperature = buildPlugin rec {
pname = "mqttchambertemperature";
version = "0.0.3";
src = fetchFromGitHub {
owner = "synman";
repo = "OctoPrint-MqttChamberTemperature";
rev = version;
sha256 = "sha256-CvNpi8HcBBUfCs3X8yflbhe0YCU0kW3u2ADSro/qnuI=";
};
propagatedBuildInputs = with super; [ jsonpath-ng ];
meta = with lib; {
description = "Enables Chamber temperature reporting via subscribing to an MQTT topic";
homepage = "https://github.com/synman/OctoPrint-MqttChamberTemperature";
license = licenses.wtfpl;
maintainers = with maintainers; [ tri-ler ];
};
};
navbartemp = buildPlugin rec {
pname = "navbartemp";
version = "0.15";
src = fetchFromGitHub {
owner = "imrahil";
repo = "OctoPrint-NavbarTemp";
rev = version;
sha256 = "sha256-ZPpTx+AadRffUb53sZbMUbCZa7xYGQW/5si7UB8mnVI=";
};
meta = with lib; {
description = "Displays temperatures on navbar";
homepage = "https://github.com/imrahil/OctoPrint-NavbarTemp";
license = licenses.agpl3Only;
maintainers = with maintainers; [ tri-ler ];
};
};
obico = buildPlugin rec {
pname = "obico";
version = "2.5.0";
src = fetchFromGitHub {
owner = "TheSpaghettiDetective";
repo = "OctoPrint-Obico";
rev = version;
sha256 = "sha256-cAUXe/lRTqYuWnrRiNDuDjcayL5yV9/PtTd9oeSC8KA=";
};
propagatedBuildInputs = with super; [
backoff
sentry-sdk
bson
distro
];
meta = with lib; {
description = "Monitor Octoprint-connected printers with Obico";
homepage = "https://www.obico.io/";
license = licenses.agpl3Only;
maintainers = with maintainers; [ tri-ler ];
};
};
octopod = buildPlugin rec {
pname = "octopod";
version = "0.3.16";
src = fetchFromGitHub {
owner = "gdombiak";
repo = "OctoPrint-OctoPod";
rev = version;
sha256 = "sha256-9QKC1MsYO3XihOTAijJUv5i20iMSQHOHPfLiYPV5y8s=";
};
propagatedBuildInputs = with super; [ pillow ];
meta = with lib; {
description = "OctoPod extension for OctoPrint";
homepage = "https://github.com/gdombiak/OctoPrint-OctoPod";
license = licenses.asl20;
maintainers = with maintainers; [ tri-ler ];
};
};
printtimegenius = buildPlugin rec { printtimegenius = buildPlugin rec {
pname = "printtimegenius"; pname = "printtimegenius";
version = "2.3.1"; version = "2.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eyal0"; owner = "eyal0";
repo = "OctoPrint-PrintTimeGenius"; repo = "OctoPrint-PrintTimeGenius";
rev = version; rev = version;
sha256 = "sha256-2lxaTcmPBSdfMmViIfLEbeYWfXZpNVAO4i5Z678gWy0="; sha256 = "sha256-hqm8RShCNpsVbrVXquat5VXqcVc7q5tn5+7Ipqmaw4U=";
}; };
propagatedBuildInputs = with super; [ propagatedBuildInputs = with super; [
@ -261,6 +388,27 @@ in
}; };
}; };
prusaslicerthumbnails = buildPlugin rec {
pname = "prusaslicerthumbnails";
version = "1.0.7";
src = fetchFromGitHub {
owner = "jneilliii";
repo = "OctoPrint-PrusaSlicerThumbnails";
rev = version;
sha256 = "sha256-waNCTjAZwdBfhHyJCG2La7KTnJ8MDVuX1JLetFB5bS4=";
};
propagatedBuildInputs = with super; [ psutil ];
meta = with lib; {
description = "Plugin that extracts thumbnails from uploaded gcode files sliced by PrusaSlicer";
homepage = "https://github.com/jneilliii/OctoPrint-PrusaSlicerThumbnails";
license = licenses.agpl3Only;
maintainers = with maintainers; [ tri-ler ];
};
};
psucontrol = buildPlugin rec { psucontrol = buildPlugin rec {
pname = "psucontrol"; pname = "psucontrol";
version = "1.0.6"; version = "1.0.6";
@ -289,6 +437,27 @@ in
}; };
}; };
resource-monitor = buildPlugin rec {
pname = "resource-monitor";
version = "0.3.16";
src = fetchFromGitHub {
owner = "Renaud11232";
repo = "OctoPrint-Resource-Monitor";
rev = version;
sha256 = "sha256-w1PBxO+Qf7cSSNocu7BiulZE7kesSa+LGV3uJlmd0ao=";
};
propagatedBuildInputs = with super; [ psutil ];
meta = with lib; {
description = "Plugin to view the current CPU and RAM usage on your system";
homepage = "https://github.com/Renaud11232/OctoPrint-Resource-Monitor";
license = licenses.mit;
maintainers = with maintainers; [ tri-ler ];
};
};
simpleemergencystop = buildPlugin rec { simpleemergencystop = buildPlugin rec {
pname = "simpleemergencystop"; pname = "simpleemergencystop";
version = "1.0.5"; version = "1.0.5";
@ -367,6 +536,25 @@ in
}; };
}; };
timelapsepurger = buildPlugin rec {
pname = "firmwareupdater";
version = "0.1.4";
src = fetchFromGitHub {
owner = "jneilliii";
repo = "OctoPrint-TimelapsePurger";
rev = version;
sha256 = "sha256-XS4m4KByScGTPfVE4kuRLw829gNE2CdM0RyhRqGGxyw=";
};
meta = with lib; {
description = "Automatically deletes timelapses that are older than configured timeframe";
homepage = "https://github.com/jneilliii/OctoPrint-TimelapsePurger";
license = licenses.agpl3Only;
maintainers = with maintainers; [ tri-ler ];
};
};
titlestatus = buildPlugin rec { titlestatus = buildPlugin rec {
pname = "titlestatus"; pname = "titlestatus";
version = "0.0.5"; version = "0.0.5";

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pgmodeler"; pname = "pgmodeler";
version = "1.1.3"; version = "1.1.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pgmodeler"; owner = "pgmodeler";
repo = "pgmodeler"; repo = "pgmodeler";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-LDgRv7Todyy2pnE21Z0O5JQ6mE4ZO3THv6rfEWU66Cc="; sha256 = "sha256-axw0/QFQfnEc2P8tFRtSY5vVUJTqv+kRn68GXdZ5SeQ=";
}; };
nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ]; nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ];

View file

@ -3,10 +3,10 @@
, fetchurl , fetchurl
, cabextract , cabextract
, gettext , gettext
, glxinfo
, gnupg , gnupg
, icoutils , icoutils
, imagemagick , imagemagick
, mesa-demos
, netcat-gnu , netcat-gnu
, p7zip , p7zip
, python3 , python3
@ -37,10 +37,10 @@ let
cabextract cabextract
python python
gettext gettext
glxinfo
gnupg gnupg
icoutils icoutils
imagemagick imagemagick
mesa-demos
netcat-gnu netcat-gnu
p7zip p7zip
unzip unzip

View file

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
yarn run nextron build --no-pack yarn run nextron build --no-pack
yarn run electron-builder --dir \ yarn run electron-builder --dir \
--config electron-builder.yml \ --config electron-builder.yml \
-c.electronDist="${electron}/libexec/electron" \ -c.electronDist="${electron.dist}" \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
runHook postBuild runHook postBuild

View file

@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "xca"; pname = "xca";
version = "2.6.0"; version = "2.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "chris2511"; owner = "chris2511";
repo = "xca"; repo = "xca";
rev = "RELEASE.${finalAttrs.version}"; rev = "RELEASE.${finalAttrs.version}";
hash = "sha256-E0Ap+JDK/oYTG+uaRHsdOxyLIywlYJ01T4ANQhNH220="; hash = "sha256-Ty6j0Fl2smMGxp+1nnD3Fu83bn19gqtRKSA1wDgNZes=";
}; };
buildInputs = [ openssl qtbase ]; buildInputs = [ openssl qtbase ];

View file

@ -6,13 +6,13 @@
buildGoModule rec { buildGoModule rec {
pname = "arkade"; pname = "arkade";
version = "0.11.20"; version = "0.11.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alexellis"; owner = "alexellis";
repo = "arkade"; repo = "arkade";
rev = version; rev = version;
hash = "sha256-xjJbO+42PUuRb4vMSKscTf2DEDekSwEF/v2QwKeBtvI="; hash = "sha256-vNJQLrpPJJG5FjQ73203V/Ky93HawRWgMiPYHU+eXPM=";
}; };
CGO_ENABLED = 0; CGO_ENABLED = 0;

View file

@ -1,16 +1,16 @@
{ buildGoModule, lib, fetchFromGitHub }: { buildGoModule, lib, fetchFromGitHub }:
buildGoModule rec { buildGoModule rec {
pname = "tfswitch"; pname = "tfswitch";
version = "1.0.2"; version = "1.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "warrensbox"; owner = "warrensbox";
repo = "terraform-switcher"; repo = "terraform-switcher";
rev = version; rev = "v${version}";
sha256 = "sha256-Gp7+TEE7rmlabZhley/crpYZiqiKcc6uqSr6leZsmgU="; sha256 = "sha256-Ym0ypMfoceOvje1z1oCxjnFrl1oosMFSplM7bhI0KXU=";
}; };
vendorHash = "sha256-DsC9djgt7Er2m2TacUldpJP43jC0IBklPnu41Saf4DY="; vendorHash = "sha256-44A9fF+HIOJrlxpps6GV3yjPBqfpwOhEZ8Ejnp2o/wk=";
# Disable tests since it requires network access and relies on the # Disable tests since it requires network access and relies on the
# presence of release.hashicorp.com # presence of release.hashicorp.com

View file

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
npm exec electron-builder -- \ npm exec electron-builder -- \
--dir \ --dir \
-c.electronDist="${electron_30}/libexec/electron" \ -c.electronDist="${electron_30.dist}" \
-c.electronVersion="${electron_30.version}" -c.electronVersion="${electron_30.version}"
runHook postBuild runHook postBuild

View file

@ -68,14 +68,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jami"; pname = "jami";
version = "20240813.0"; version = "20240823.0";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "git.jami.net"; domain = "git.jami.net";
owner = "savoirfairelinux"; owner = "savoirfairelinux";
repo = "jami-client-qt"; repo = "jami-client-qt";
rev = "stable/${version}"; rev = "stable/${version}";
hash = "sha256-XRWbV1s87niwNiWf2KRpV+wUH6ptw3vnVXCEwqh2r7M="; hash = "sha256-7jGH54sFiS6qrdEiKSS64lJyJXL1FOJVbesxo/FFmyA=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -16,8 +16,6 @@
let let
inherit (darwin.apple_sdk.frameworks) Carbon CoreFoundation ApplicationServices OpenGL; inherit (darwin.apple_sdk.frameworks) Carbon CoreFoundation ApplicationServices OpenGL;
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
in in
buildNpmPackage rec { buildNpmPackage rec {
pname = "jitsi-meet-electron"; pname = "jitsi-meet-electron";
@ -70,7 +68,7 @@ buildNpmPackage rec {
''; '';
postBuild = '' postBuild = ''
cp -r ${electronDist} electron-dist cp -r ${electron.dist} electron-dist
chmod -R u+w electron-dist chmod -R u+w electron-dist
# npmRebuild is needed because robotjs won't be built on darwin otherwise # npmRebuild is needed because robotjs won't be built on darwin otherwise

View file

@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
yarn --offline electron-builder \ yarn --offline electron-builder \
--dir ${if stdenv.isDarwin then "--macos" else "--linux"} ${if stdenv.hostPlatform.isAarch64 then "--arm64" else "--x64"} \ --dir ${if stdenv.isDarwin then "--macos" else "--linux"} ${if stdenv.hostPlatform.isAarch64 then "--arm64" else "--x64"} \
-c.electronDist=${electron}/libexec/electron \ -c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
runHook postBuild runHook postBuild

View file

@ -8,6 +8,8 @@ buildGoModule rec {
pname = "rclone"; pname = "rclone";
version = "1.67.0"; version = "1.67.0";
outputs = [ "out" "man" ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rclone"; owner = "rclone";
repo = "rclone"; repo = "rclone";
@ -19,15 +21,19 @@ buildGoModule rec {
subPackages = [ "." ]; subPackages = [ "." ];
outputs = [ "out" "man" ]; nativeBuildInputs = [ installShellFiles makeWrapper ];
buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse); buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse);
nativeBuildInputs = [ installShellFiles makeWrapper ];
tags = lib.optionals enableCmount [ "cmount" ]; tags = lib.optionals enableCmount [ "cmount" ];
ldflags = [ "-s" "-w" "-X github.com/rclone/rclone/fs.Version=${version}" ]; ldflags = [ "-s" "-w" "-X github.com/rclone/rclone/fs.Version=${version}" ];
postConfigure = lib.optionalString (!stdenv.isDarwin) ''
substituteInPlace vendor/github.com/winfsp/cgofuse/fuse/host_cgo.go \
--replace-fail '"libfuse.so.2"' '"${lib.getLib fuse}/lib/libfuse.so.2"'
'';
postInstall = postInstall =
let let
rcloneBin = rcloneBin =
@ -50,8 +56,7 @@ buildGoModule rec {
# as the setuid wrapper is required as non-root on NixOS. # as the setuid wrapper is required as non-root on NixOS.
'' ''
wrapProgram $out/bin/rclone \ wrapProgram $out/bin/rclone \
--suffix PATH : "${lib.makeBinPath [ fuse3 ] }" \ --suffix PATH : "${lib.makeBinPath [ fuse3 ] }"
--prefix LD_LIBRARY_PATH : "${fuse3}/lib"
''; '';
passthru.tests = { passthru.tests = {

View file

@ -33,14 +33,14 @@ let
}.${system} or throwSystem; }.${system} or throwSystem;
hash = { hash = {
x86_64-linux = "sha256-KLOI0lG0rZbLS2uiONNlgyCkohzQhytRovAfrjnGuDI="; x86_64-linux = "sha256-l67oq9Jj2mmxcLsEMI4t+85cKD65xxMNkTNJrrRrwJQ=";
}.${system} or throwSystem; }.${system} or throwSystem;
displayname = "XPipe"; displayname = "XPipe";
in stdenvNoCC.mkDerivation rec { in stdenvNoCC.mkDerivation rec {
pname = "xpipe"; pname = "xpipe";
version = "10.2.2"; version = "11.0";
src = fetchzip { src = fetchzip {
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz"; url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";

View file

@ -10,7 +10,7 @@
}: }:
let let
version = "5.13.22"; version = "5.13.28";
in in
rustPlatform.buildRustPackage { rustPlatform.buildRustPackage {
pname = "git-mit"; pname = "git-mit";
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
owner = "PurpleBooth"; owner = "PurpleBooth";
repo = "git-mit"; repo = "git-mit";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-nYKwf0+Ai6GU9CeRKI7NInmkA4yH41tMWoT9S03m0VI="; hash = "sha256-zw1yY/vCrxklmIXGHO5cMOQ9L3xfHD24f2JN7ibF/I8=";
}; };
cargoHash = "sha256-dcTyombQBR0IGkK+2GWedFQf/1a74gVUIqM96xVxlj0="; cargoHash = "sha256-pnSp6XCVSxCY7b1LHeQM9/KsjG6sGQoMCPcL8Bby4A4=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -34,7 +34,7 @@ let
davinci = ( davinci = (
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}";
version = "18.6.6"; version = "19.0";
nativeBuildInputs = [ nativeBuildInputs = [
(appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } ) (appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } )
@ -55,8 +55,8 @@ let
outputHashAlgo = "sha256"; outputHashAlgo = "sha256";
outputHash = outputHash =
if studioVariant if studioVariant
then "sha256-9iTdIjHH8uoXlVr6miyqmHuzbbpbqdJPEbPGycsccoI=" then "sha256-KxoUXHMlgWoa00GSq/DLVgyOjuv7k8aUwl20XvDRZvc="
else "sha256-WrIQ1FHm65MOGb5HfFl2WzXYJRlqktuZdrtzcjWp1gI="; else "sha256-XQP5RL/p/voQePLiBr1Hc+dBUZHW39XxDjyxKJyKXxw=";
impureEnvVars = lib.fetchers.proxyImpureEnvVars; impureEnvVars = lib.fetchers.proxyImpureEnvVars;
@ -94,7 +94,7 @@ let
} '' } ''
DOWNLOADID=$( DOWNLOADID=$(
curl --silent --compressed "$DOWNLOADSURL" \ curl --silent --compressed "$DOWNLOADSURL" \
| jq --raw-output '.downloads[] | select(.name | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .urls.Linux[0].downloadId' | jq --raw-output '.downloads[] | .urls.Linux?[]? | select(.downloadTitle | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .downloadId'
) )
echo "downloadid is $DOWNLOADID" echo "downloadid is $DOWNLOADID"
test -n "$DOWNLOADID" test -n "$DOWNLOADID"
@ -271,13 +271,13 @@ buildFHSEnv {
currentVersion=${lib.escapeShellArg davinci.version} currentVersion=${lib.escapeShellArg davinci.version}
downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)" downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)"
latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+\.\d+' | sort | tail -n 1)" latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src
# Since the standard and studio both use the same version we need to reset it before updating studio # Since the standard and studio both use the same version we need to reset it before updating studio
sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv" sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv"
latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+\.\d+' | sort | tail -n 1)" latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src
''; '';
}); });

View file

@ -13,7 +13,7 @@
, libogg, libvorbis, flac, libxslt , libogg, libvorbis, flac, libxslt
, lzo, libcdio, libmodplug, libass, libbluray, libudfread , lzo, libcdio, libmodplug, libass, libbluray, libudfread
, sqlite, libmysqlclient, nasm, gnutls, libva, libdrm , sqlite, libmysqlclient, nasm, gnutls, libva, libdrm
, curl, bzip2, zip, unzip, glxinfo , curl, bzip2, zip, unzip, mesa-demos
, libcec, libcec_platform, dcadec, libuuid , libcec, libcec_platform, dcadec, libuuid
, libcrossguid, libmicrohttpd , libcrossguid, libmicrohttpd
, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn2, libpthreadstubs, libtasn1 , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn2, libpthreadstubs, libtasn1
@ -119,7 +119,7 @@ in stdenv.mkDerivation (finalAttrs: {
libogg libvorbis flac libxslt systemd libogg libvorbis flac libxslt systemd
lzo libcdio libmodplug libass libbluray libudfread lzo libcdio libmodplug libass libbluray libudfread
sqlite libmysqlclient avahi lame sqlite libmysqlclient avahi lame
curl bzip2 zip unzip glxinfo curl bzip2 zip unzip mesa-demos
libcec libcec_platform dcadec libuuid libcec libcec_platform dcadec libuuid
libxcrypt libgcrypt libgpg-error libunistring libxcrypt libgcrypt libgpg-error libunistring
libcrossguid libplist libcrossguid libplist
@ -229,7 +229,7 @@ in stdenv.mkDerivation (finalAttrs: {
# TODO: figure out which binaries should be wrapped this way and which shouldn't # TODO: figure out which binaries should be wrapped this way and which shouldn't
for p in $(ls --ignore=kodi-send $out/bin/) ; do for p in $(ls --ignore=kodi-send $out/bin/) ; do
wrapProgram $out/bin/$p \ wrapProgram $out/bin/$p \
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] --prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python mesa-demos ]
++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \ ++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
([ curl systemd libmad libcec libcec_platform libass ] ([ curl systemd libmad libcec libcec_platform libass ]

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "motion"; pname = "motion";
version = "4.6.0"; version = "4.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Motion-Project"; owner = "Motion-Project";
repo = "motion"; repo = "motion";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "sha256-f23glk91HWSEW/Glq/DdEikTQeg1eELEg4XG9zTsU78="; sha256 = "sha256-bGjiO14a7xKRgoeo5JlexXlKggE+agRMmQViBXagmt8=";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -73,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
yarn --offline run build yarn --offline run build
yarn --offline run electron-builder --dir \ yarn --offline run electron-builder --dir \
--config .electron-builder.config.cjs \ --config .electron-builder.config.cjs \
-c.electronDist=${electron}/libexec/electron \ -c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
runHook postBuild runHook postBuild

View file

@ -120,7 +120,7 @@ in buildNpmPackage rec {
npm exec electron-builder -- \ npm exec electron-builder -- \
--dir \ --dir \
-c.electronDist=${electron}/libexec/electron \ -c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
popd popd

View file

@ -10,9 +10,6 @@
electron, electron,
}: }:
let
electronDist = "${electron}/${if stdenv.isDarwin then "Applications" else "libexec/electron"}";
in
buildNpmPackage rec { buildNpmPackage rec {
pname = "blockbench"; pname = "blockbench";
version = "4.10.4"; version = "4.10.4";
@ -45,7 +42,7 @@ buildNpmPackage rec {
postBuild = '' postBuild = ''
# electronDist needs to be modifiable on Darwin # electronDist needs to be modifiable on Darwin
cp -r ${electronDist} electron-dist cp -r ${electron.dist} electron-dist
chmod -R u+w electron-dist chmod -R u+w electron-dist
npm exec electron-builder -- \ npm exec electron-builder -- \

View file

@ -103,7 +103,7 @@ buildNpmPackage' rec {
${ ${
if stdenv.isDarwin then if stdenv.isDarwin then
'' ''
cp -r ${electron}/Applications/Electron.app ./ cp -r ${electron.dist}/Electron.app ./
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
substituteInPlace electron-builder-config.js \ substituteInPlace electron-builder-config.js \
@ -121,7 +121,7 @@ buildNpmPackage' rec {
'' ''
npm exec electron-builder -- \ npm exec electron-builder -- \
--dir \ --dir \
-c.electronDist=${electron}/libexec/electron \ -c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version} \ -c.electronVersion=${electron.version} \
-c.npmRebuild=false -c.npmRebuild=false
'' ''

View file

@ -8,9 +8,6 @@
electron, electron,
}: }:
let
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
in
buildNpmPackage rec { buildNpmPackage rec {
pname = "caprine"; pname = "caprine";
version = "2.60.1"; version = "2.60.1";
@ -29,7 +26,7 @@ buildNpmPackage rec {
nativeBuildInputs = [ copyDesktopItems ]; nativeBuildInputs = [ copyDesktopItems ];
postBuild = '' postBuild = ''
cp -r ${electronDist} electron-dist cp -r ${electron.dist} electron-dist
chmod -R u+w electron-dist chmod -R u+w electron-dist
npm exec electron-builder -- \ npm exec electron-builder -- \

View file

@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "eza"; pname = "eza";
version = "0.19.0"; version = "0.19.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eza-community"; owner = "eza-community";
repo = "eza"; repo = "eza";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-FhtgqfPQRUsnyi/qEe0PPtRfJIUa4UaNbvrkPvZpsQk="; hash = "sha256-VV8tqVJq+bsgfdNSxSzo1vqYtYT37D2pBX4HydY6cKs=";
}; };
cargoHash = "sha256-z1jrCUstQk272EEeqcjGhm5b/YaxTFw21F+AbguMdmo="; cargoHash = "sha256-SUvQxW3STsP1VrPJKK2NYbApuoGfbmfUiywZILvcvj4=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ] buildInputs = [ zlib ]

View file

@ -79,7 +79,7 @@ buildNpmPackage {
postBuild = postBuild =
lib.optionalString stdenv.isDarwin '' lib.optionalString stdenv.isDarwin ''
# electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle. # electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle.
cp -r ${electron}/Applications/Electron.app ./ cp -r ${electron.dist}/Electron.app ./
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
# Disable code signing during build on macOS. # Disable code signing during build on macOS.
@ -90,7 +90,7 @@ buildNpmPackage {
+ '' + ''
npm exec electron-builder -- \ npm exec electron-builder -- \
--dir \ --dir \
-c.electronDist=${if stdenv.isDarwin then "./" else "${electron}/libexec/electron"} \ -c.electronDist=${if stdenv.isDarwin then "./" else electron.dist} \
-c.electronVersion=${electron.version} \ -c.electronVersion=${electron.version} \
-c.npmRebuild=false -c.npmRebuild=false
''; '';

View file

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "flarectl"; pname = "flarectl";
version = "0.102.0"; version = "0.103.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cloudflare"; owner = "cloudflare";
repo = "cloudflare-go"; repo = "cloudflare-go";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-i/JWbi8itjcFklknFGB23DtYh4+jd+2YMQysHtS3qf8="; hash = "sha256-mYdZgHJz2Ajrk/JRbaDeghm39PWidnAIZvjJTvl8lpM=";
}; };
vendorHash = "sha256-4tJATAvWpWq1aTtV4ERTHF6S2D0azC3HlrwxkLIGT7s="; vendorHash = "sha256-R3By8/cR4pZQgUSyNGDnnvWwcpZqraqk5GRZ8Om9JOU=";
subPackages = [ "cmd/flarectl" ]; subPackages = [ "cmd/flarectl" ];

View file

@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
npm exec electron-builder -- \ npm exec electron-builder -- \
--dir \ --dir \
-c.electronDist="${electron}/libexec/electron" \ -c.electronDist="${electron.dist}" \
-c.electronVersion="${electron.version}" -c.electronVersion="${electron.version}"
runHook postBuild runHook postBuild

View file

@ -13,9 +13,6 @@
electron, electron,
}: }:
let
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "koodo-reader"; pname = "koodo-reader";
version = "1.6.7"; version = "1.6.7";
@ -52,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
env.CSC_IDENTITY_AUTO_DISCOVERY = "false"; env.CSC_IDENTITY_AUTO_DISCOVERY = "false";
postBuild = '' postBuild = ''
cp -r ${electronDist} electron-dist cp -r ${electron.dist} electron-dist
chmod -R u+w electron-dist chmod -R u+w electron-dist
yarn --offline run electron-builder --dir \ yarn --offline run electron-builder --dir \
-c.electronDist=electron-dist \ -c.electronDist=electron-dist \
@ -117,7 +114,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = { meta = {
changelog = "https://github.com/troyeguo/koodo-reader/releases/tag/v${finalAttrs.version}"; changelog = "https://github.com/troyeguo/koodo-reader/releases/tag/v${finalAttrs.version}";
description = "A cross-platform ebook reader"; description = "Cross-platform ebook reader";
longDescription = '' longDescription = ''
A modern ebook manager and reader with sync and backup capacities A modern ebook manager and reader with sync and backup capacities
for Windows, macOS, Linux and Web for Windows, macOS, Linux and Web

View file

@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "lxgw-neoxihei"; pname = "lxgw-neoxihei";
version = "1.200"; version = "1.201";
src = fetchurl { src = fetchurl {
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf"; url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
hash = "sha256-8m+19lJNdg+mBvvHAig8NyZ4AOC2NE3k7rll7u32cuw="; hash = "sha256-2w25Jvbx7u9O0azsvLSX1TxfXANVNdfzjfNALhsxUZI=";
}; };
dontUnpack = true; dontUnpack = true;

View file

@ -12,9 +12,6 @@
makeDesktopItem, makeDesktopItem,
copyDesktopItems, copyDesktopItems,
}: }:
let
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
in
# NOTE mqtt-explorer has 3 yarn subpackages and uses relative links # NOTE mqtt-explorer has 3 yarn subpackages and uses relative links
# between them, which makes it hard to package them via 3 `mkYarnPackage` # between them, which makes it hard to package them via 3 `mkYarnPackage`
# since the resulting `node_modules` directories don't have the same structure # since the resulting `node_modules` directories don't have the same structure
@ -88,7 +85,7 @@ stdenv.mkDerivation rec {
patchShebangs {node_modules,app/node_modules,backend/node_modules} patchShebangs {node_modules,app/node_modules,backend/node_modules}
cp -r ${electronDist} electron-dist cp -r ${electron.dist} electron-dist
chmod -R u+w electron-dist chmod -R u+w electron-dist
runHook postConfigure runHook postConfigure

View file

@ -10,18 +10,17 @@
libICE, libICE,
libSM, libSM,
libX11, libX11,
nexusmods-app,
runCommand, runCommand,
pname ? "nexusmods-app", pname ? "nexusmods-app",
}: }:
buildDotnetModule rec { buildDotnetModule (finalAttrs: {
inherit pname; inherit pname;
version = "0.4.1"; version = "0.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Nexus-Mods"; owner = "Nexus-Mods";
repo = "NexusMods.App"; repo = "NexusMods.App";
rev = "v${version}"; rev = "v${finalAttrs.version}";
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-FzQphMhiC1g+6qmk/R1v4rq2ldy35NcaWm0RR1UlwLA="; hash = "sha256-FzQphMhiC1g+6qmk/R1v4rq2ldy35NcaWm0RR1UlwLA=";
}; };
@ -54,10 +53,13 @@ buildDotnetModule rec {
''; '';
makeWrapperArgs = [ makeWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [ desktop-file-utils ]}" "--prefix PATH : ${lib.makeBinPath finalAttrs.runtimeInputs}"
"--set APPIMAGE ${placeholder "out"}/bin/${meta.mainProgram}" # Make associating with nxm links work on Linux # Make associating with nxm links work on Linux
"--set APPIMAGE ${placeholder "out"}/bin/NexusMods.App"
]; ];
runtimeInputs = [ desktop-file-utils ];
runtimeDeps = [ runtimeDeps = [
fontconfig fontconfig
libICE libICE
@ -65,7 +67,7 @@ buildDotnetModule rec {
libX11 libX11
]; ];
executables = [ meta.mainProgram ]; executables = [ "NexusMods.App" ];
doCheck = true; doCheck = true;
@ -93,15 +95,10 @@ buildDotnetModule rec {
let let
runTest = runTest =
name: script: name: script:
runCommand "${pname}-test-${name}" runCommand "${pname}-test-${name}" { nativeBuildInputs = [ finalAttrs.finalPackage ]; } ''
{ ${script}
# TODO: use finalAttrs when buildDotnetModule has support touch $out
nativeBuildInputs = [ nexusmods-app ]; '';
}
''
${script}
touch $out
'';
in in
{ {
serve = runTest "serve" '' serve = runTest "serve" ''
@ -123,7 +120,7 @@ buildDotnetModule rec {
meta = { meta = {
mainProgram = "NexusMods.App"; mainProgram = "NexusMods.App";
homepage = "https://github.com/Nexus-Mods/NexusMods.App"; homepage = "https://github.com/Nexus-Mods/NexusMods.App";
changelog = "https://github.com/Nexus-Mods/NexusMods.App/releases/tag/${src.rev}"; changelog = "https://github.com/Nexus-Mods/NexusMods.App/releases/tag/${finalAttrs.src.rev}";
license = [ lib.licenses.gpl3Plus ]; license = [ lib.licenses.gpl3Plus ];
maintainers = with lib.maintainers; [ maintainers = with lib.maintainers; [
l0b0 l0b0
@ -158,4 +155,4 @@ buildDotnetModule rec {
} }
''; '';
}; };
} })

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "novops"; pname = "novops";
version = "0.15.0"; version = "0.16.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PierreBeucher"; owner = "PierreBeucher";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-b6CM7dDjEzFuL6SZQsFMBOq8p66Jnd7BdXFspWYlTps="; hash = "sha256-Hqm3bKMRUyIZ/wD+kjAhUuKcJdaA8LT7bnourda6nuw=";
}; };
cargoHash = "sha256-mhNEeczbqXVsHoErwEIPUuJqNcyR6dTKBDeHCVH+KsE="; cargoHash = "sha256-ObbCJQw4DgUH1/XuI7ZgqFY9O9OH1uGUkfaQRjcGkAY=";
buildInputs = [ buildInputs = [
openssl # required for openssl-sys openssl # required for openssl-sys

View file

@ -9,7 +9,7 @@
gamemode, gamemode,
glfw, glfw,
glfw-wayland-minecraft, glfw-wayland-minecraft,
glxinfo, mesa-demos,
jdk8, jdk8,
jdk17, jdk17,
jdk21, jdk21,
@ -134,7 +134,7 @@ symlinkJoin {
++ additionalLibs; ++ additionalLibs;
runtimePrograms = [ runtimePrograms = [
glxinfo mesa-demos
pciutils # need lspci pciutils # need lspci
xorg.xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 xorg.xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
] ++ additionalPrograms; ] ++ additionalPrograms;

View file

@ -6,7 +6,7 @@
cdrtools, cdrtools,
curl, curl,
gawk, gawk,
glxinfo, mesa-demos,
gnugrep, gnugrep,
gnused, gnused,
jq, jq,
@ -49,7 +49,7 @@ let
zsync zsync
] ]
++ lib.optionals stdenv.isLinux [ ++ lib.optionals stdenv.isLinux [
glxinfo mesa-demos
usbutils usbutils
xdg-user-dirs xdg-user-dirs
]; ];

View file

@ -4,14 +4,14 @@
}: }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "rclip"; pname = "rclip";
version = "1.10.2"; version = "1.10.3";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "yurijmikhalevich"; owner = "yurijmikhalevich";
repo = "rclip"; repo = "rclip";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-z+zwhd3JH40Vg9yHt9ektvm2jWFOvj1DaCSI9GwXLT8="; hash = "sha256-MdqO6X1dbIzmDuDSjrbmKbQfPIPcyhVIbodERYu9PZU=";
}; };
nativeBuildInputs = with python3Packages; [ nativeBuildInputs = with python3Packages; [

View file

@ -32,8 +32,6 @@ let
}; };
platformInfo = platformInfos.${stdenv.system}; platformInfo = platformInfos.${stdenv.system};
electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron");
in in
buildNpmPackage rec { buildNpmPackage rec {
pname = "ride"; pname = "ride";
@ -109,7 +107,7 @@ buildNpmPackage rec {
mkdir local-cache mkdir local-cache
# electron files need to be writable on Darwin # electron files need to be writable on Darwin
cp -r ${electronDist} electron-dist cp -r ${electron.dist} electron-dist
chmod -R u+w electron-dist chmod -R u+w electron-dist
pushd electron-dist pushd electron-dist

View file

@ -101,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: {
npm exec electron-builder -- \ npm exec electron-builder -- \
--dir \ --dir \
--config electron-builder-${platformId}.yml \ --config electron-builder-${platformId}.yml \
-c.electronDist=${electron}/libexec/electron \ -c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
runHook postBuild runHook postBuild

View file

@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
# electron builds must be writable on darwin # electron builds must be writable on darwin
preBuild = lib.optionalString stdenv.isDarwin '' preBuild = lib.optionalString stdenv.isDarwin ''
cp -r ${electron}/Applications/Electron.app . cp -r ${electron.dist}/Electron.app .
chmod -R u+w Electron.app chmod -R u+w Electron.app
''; '';
@ -98,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpm exec electron-builder \ pnpm exec electron-builder \
--dir \ --dir \
-c.asarUnpack="**/*.node" \ -c.asarUnpack="**/*.node" \
-c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \ -c.electronDist=${if stdenv.isDarwin then "." else electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
runHook postBuild runHook postBuild

View file

@ -11,20 +11,20 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "yazi"; pname = "yazi";
version = "0.3.1"; version = "0.3.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sxyazi"; owner = "sxyazi";
repo = "yazi"; repo = "yazi";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-tK2dm+WIEJGSq/PbRyagt7x43nd/o1HxP8HMj23HfnQ="; hash = "sha256-skJK0iAqQ4uyEx/SeF/97YHWKYBNHmdYpltx3h6JvNc=";
}; };
cargoHash = "sha256-Lb9gu4/i+vPH3dhdzIn9V2s6fKooxEefcN2T/oDqVmg="; cargoHash = "sha256-w7eFeKmYFDmSpG/p4r2w6qw8uUm4q+VUbAI+TnKhp5s=";
env.YAZI_GEN_COMPLETIONS = true; env.YAZI_GEN_COMPLETIONS = true;
env.VERGEN_GIT_SHA = "Nixpkgs"; env.VERGEN_GIT_SHA = "Nixpkgs";
env.VERGEN_BUILD_DATE = "2024-08-15"; env.VERGEN_BUILD_DATE = "2024-08-28";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
buildInputs = [ rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ Foundation ]; buildInputs = [ rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ Foundation ];

View file

@ -28,5 +28,6 @@ stdenv.mkDerivation {
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ jordanisaacs ]; maintainers = with maintainers; [ jordanisaacs ];
platforms = platforms.unix; platforms = platforms.unix;
broken = stdenv.isDarwin && stdenv.isAarch64; # build timeout
}; };
} }

View file

@ -0,0 +1,22 @@
{ lib, mkCoqDerivation, coq, version ? null }:
mkCoqDerivation {
pname = "rewriter";
owner = "mit-plv";
inherit version;
defaultVersion = let inherit (lib.versions) range; in
lib.switch coq.coq-version [
{ case = range "8.17" "8.19"; out = "0.0.11"; }
] null;
release = {
"0.0.11".sha256 = "sha256-aYoO08nwItlOoE5BnKRGib2Zk4Fz4Ni/L4QaqkObPow=";
};
releaseRev = v: "v${v}";
mlPlugin = true;
meta = {
description = "Reflective PHOAS rewriting/pattern-matching-compilation framework for simply-typed equalities and let-lifting, experimental and tailored for use in Fiat Cryptography";
license = lib.licenses.mit;
};
}

View file

@ -8,14 +8,14 @@
python3Packages.buildPythonPackage { python3Packages.buildPythonPackage {
pname = "edl"; pname = "edl";
version = "3.52.1-unstable-2024-07-05"; version = "3.52.1-unstable-2024-08-27";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bkerler"; owner = "bkerler";
repo = "edl"; repo = "edl";
rev = "53671740213046bcf875acd2feb1c1d07fb1605c"; rev = "d2c585e4ccc066895b71ca9014c1ebb5af316e07";
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-jm5BSnjAuqOa5oHhboruqQJ9BdsyjQic4vbwSNgIneQ="; hash = "sha256-hQturda+iDmH5DVP1CjG526wcggdzTSrW2jqrEzLXtY=";
}; };
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [

View file

@ -1,7 +1,8 @@
{ lib, stdenv, fetchurl, autoreconfHook, unzip, m4, bison, flex, openssl, zlib }: { lib, stdenv, fetchurl, autoreconfHook, unzip, m4, bison, flex, openssl, zlib, buildPackages }:
let let
majorVersion = "2.8"; majorVersion = "2.8";
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "gsoap"; pname = "gsoap";
@ -22,6 +23,10 @@ in stdenv.mkDerivation rec {
prePatch = '' prePatch = ''
substituteInPlace configure.ac \ substituteInPlace configure.ac \
--replace 'AM_INIT_AUTOMAKE([foreign])' 'AM_INIT_AUTOMAKE([foreign subdir-objects])' --replace 'AM_INIT_AUTOMAKE([foreign])' 'AM_INIT_AUTOMAKE([foreign subdir-objects])'
${lib.optionalString isCross ''
substituteInPlace gsoap/wsdl/Makefile.am \
--replace-fail 'SOAP=$(top_builddir)/gsoap/src/soapcpp2$(EXEEXT)' 'SOAP=${lib.getExe' buildPackages.gsoap "soapcpp2"}'
''}
''; '';
meta = with lib; { meta = with lib; {

View file

@ -12,13 +12,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pdfhummus"; pname = "pdfhummus";
version = "4.6.6"; version = "4.6.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "galkahana"; owner = "galkahana";
repo = "PDF-Writer"; repo = "PDF-Writer";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-JPL5+GoL4zvHgStgTV9pJBPsQtAeE2DJe02YrZEtdJ8="; hash = "sha256-XOoMh1YL4wJQ6Uliy0sdcrlqJbbbnZ0gmjuaXS1h+qQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -17,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioambient"; pname = "aioambient";
version = "2024.01.0"; version = "2024.08.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "bachya"; owner = "bachya";
repo = "aioambient"; repo = "aioambient";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-eqZVY0L+2BWF7cCXW/VLQYYXNPtUF6tJHQmeZNW1W5o="; hash = "sha256-GedGwG4Lm28BvfSBOGcspUQ3LCmdb2IC2rLifuKGOes=";
}; };
build-system = [ poetry-core ]; build-system = [ poetry-core ];

View file

@ -1,15 +1,16 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchFromGitHub,
pythonOlder, pythonOlder,
setuptools, flit-core,
# extras: babel # extras: babel
babel, babel,
flask-babel, flask-babel,
# extras: common # extras: common
argon2-cffi,
bcrypt, bcrypt,
bleach, bleach,
flask-mailman, flask-mailman,
@ -31,12 +32,14 @@
flask-login, flask-login,
flask-principal, flask-principal,
flask-wtf, flask-wtf,
markupsafe,
passlib, passlib,
importlib-resources, importlib-resources,
wtforms, wtforms,
# tests # tests
argon2-cffi, authlib,
flask-sqlalchemy-lite,
freezegun, freezegun,
mongoengine, mongoengine,
mongomock, mongomock,
@ -47,19 +50,25 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "flask-security-too"; pname = "flask-security";
version = "5.5.0"; version = "5.5.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.9";
src = fetchPypi { src = fetchFromGitHub {
pname = "flask_security_too"; owner = "pallets-eco";
inherit version; repo = "flask-security";
hash = "sha256-nuYOqKgH3Wfk2IFEDUhWUB6aP1xZ+c4DK7n0zB01TSk="; rev = "refs/tags/${version}";
hash = "sha256-RGRwgrDFe+0v8NYyajMikdoi1DQf1I+B5y8KJyF+cZs=";
}; };
build-system = [ setuptools ]; postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail phonenumberslite phonenumbers
'';
build-system = [ flit-core ];
# flask-login>=0.6.2 not satisfied by version 0.7.0.dev0 # flask-login>=0.6.2 not satisfied by version 0.7.0.dev0
pythonRelaxDeps = [ "flask-login" ]; pythonRelaxDeps = [ "flask-login" ];
@ -70,17 +79,19 @@ buildPythonPackage rec {
flask-login flask-login
flask-principal flask-principal
flask-wtf flask-wtf
markupsafe
passlib passlib
importlib-resources importlib-resources
wtforms wtforms
]; ];
passthru.optional-dependencies = { optional-dependencies = {
babel = [ babel = [
babel babel
flask-babel flask-babel
]; ];
common = [ common = [
argon2-cffi
bcrypt bcrypt
bleach bleach
flask-mailman flask-mailman
@ -100,7 +111,8 @@ buildPythonPackage rec {
nativeCheckInputs = nativeCheckInputs =
[ [
argon2-cffi authlib
flask-sqlalchemy-lite
freezegun freezegun
mongoengine mongoengine
mongomock mongomock
@ -108,12 +120,15 @@ buildPythonPackage rec {
pony pony
pytestCheckHook pytestCheckHook
zxcvbn zxcvbn
freezegun
] ]
++ passthru.optional-dependencies.babel ++ optional-dependencies.babel
++ passthru.optional-dependencies.common ++ optional-dependencies.common
++ passthru.optional-dependencies.fsqla ++ optional-dependencies.fsqla
++ passthru.optional-dependencies.mfa; ++ optional-dependencies.mfa;
preCheck = ''
pybabel compile --domain flask_security -d flask_security/translations
'';
disabledTests = [ disabledTests = [
# needs /etc/resolv.conf # needs /etc/resolv.conf
@ -123,9 +138,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "flask_security" ]; pythonImportsCheck = [ "flask_security" ];
meta = with lib; { meta = with lib; {
changelog = "https://github.com/Flask-Middleware/flask-security/blob/${version}/CHANGES.rst"; changelog = "https://github.com/pallets-eco/flask-security/blob/${version}/CHANGES.rst";
homepage = "https://github.com/Flask-Middleware/flask-security"; homepage = "https://github.com/pallets-eco/flask-security";
description = "Simple security for Flask apps (fork)"; description = "Quickly add security features to your Flask application";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ gador ]; maintainers = with maintainers; [ gador ];
}; };

View file

@ -0,0 +1,45 @@
{
aiosqlite,
buildPythonPackage,
fetchFromGitHub,
flask,
flit-core,
lib,
pytestCheckHook,
sqlalchemy,
}:
buildPythonPackage rec {
pname = "flask-sqlalchemy-lite";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pallets-eco";
repo = "flask-sqlalchemy-lite";
rev = "refs/tags/${version}";
hash = "sha256-LpdPp5Gp74DSJqD1DJqwNeaMKdN5pEAUkxnKGYZcVis=";
};
build-system = [ flit-core ];
dependencies = [
flask
sqlalchemy
] ++ flask.optional-dependencies.async ++ sqlalchemy.optional-dependencies.asyncio;
pythonImportsCheck = [ "flask_sqlalchemy_lite" ];
nativeCheckInputs = [
aiosqlite
pytestCheckHook
];
meta = {
changelog = "https://github.com/pallets-eco/flask-sqlalchemy-lite/blob/${src.rev}/CHANGES.md";
description = "Integrate SQLAlchemy with Flask";
homepage = "https://github.com/pallets-eco/flask-sqlalchemy-lite";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View file

@ -3,35 +3,26 @@
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
pytestCheckHook, pytestCheckHook,
pythonAtLeast,
pythonOlder, pythonOlder,
setuptools, setuptools,
fetchpatch,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pony"; pname = "pony";
version = "0.7.17"; version = "0.7.18";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8" || pythonAtLeast "3.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ponyorm"; owner = "ponyorm";
repo = "pony"; repo = "pony";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-wBqw+YHKlxYplgsYL1pbkusHyPfCaVPcH/Yku6WDYbE="; hash = "sha256-2qGkHPBbfFrjJatKVa44bDbn/i3/YH/8LWd8CXyFRqo=";
}; };
patches = [ build-system = [ setuptools ];
# https://github.com/ponyorm/pony/pull/713
(fetchpatch {
name = "py312-compat.patch";
url = "https://github.com/ponyorm/pony/commit/5a37f6d59b6433d17d6d56b54f3726190e98c98f.patch";
hash = "sha256-niOoANOYHqrcmEXRZEDew2BM8P/s7UFnn0qpgB8V0Mk=";
})
];
nativeBuildInputs = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [ pytestCheckHook ];

View file

@ -1,54 +1,52 @@
{ {
lib, lib,
stdenv, stdenv,
fetchFromGitHub, darwin,
ocl-icd,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub,
# build-system # build-system
cmake, cmake,
scikit-build-core,
pathspec,
ninja,
nanobind, nanobind,
ninja,
numpy,
pathspec,
scikit-build-core,
# buildInputs
opencl-headers,
pybind11,
# dependencies # dependencies
appdirs,
cffi,
darwin,
decorator,
mako,
numpy,
ocl-icd,
oldest-supported-numpy,
opencl-headers,
platformdirs, platformdirs,
pybind11,
pytestCheckHook,
pytools, pytools,
six,
# checks
pytestCheckHook,
}: }:
let let
os-specific-buildInputs = if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ]; os-specific-buildInputs =
if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ];
in in
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyopencl"; pname = "pyopencl";
version = "2024.2.6"; version = "2024.2.7";
format = "pyproject"; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "inducer"; owner = "inducer";
repo = "pyopencl"; repo = "pyopencl";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-nP7ZAGeRXrjqDRWlc2SDP1hk1fseGeu9Zx0lOp9Pchs="; hash = "sha256-DfZCtTeN1a1KS2qUU6iztba4opAVC/RUCe/hnkqTbII=";
}; };
nativeBuildInputs = [ build-system = [
cmake cmake
nanobind nanobind
ninja ninja
numpy numpy
oldest-supported-numpy
pathspec pathspec
scikit-build-core scikit-build-core
]; ];
@ -60,15 +58,10 @@ buildPythonPackage rec {
pybind11 pybind11
] ++ os-specific-buildInputs; ] ++ os-specific-buildInputs;
propagatedBuildInputs = [ dependencies = [
appdirs
cffi
decorator
mako
numpy numpy
platformdirs platformdirs
pytools pytools
six
]; ];
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [ pytestCheckHook ];
@ -83,9 +76,13 @@ buildPythonPackage rec {
pythonImportsCheck = [ "pyopencl" ]; pythonImportsCheck = [ "pyopencl" ];
meta = with lib; { meta = {
description = "Python wrapper for OpenCL"; description = "Python wrapper for OpenCL";
homepage = "https://github.com/pyopencl/pyopencl"; homepage = "https://github.com/pyopencl/pyopencl";
license = licenses.mit; changelog = "https://github.com/inducer/pyopencl/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
# ld: symbol(s) not found for architecture arm64
broken = stdenv.isDarwin && stdenv.isAarch64;
}; };
} }

View file

@ -9,14 +9,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "rangehttpserver"; pname = "rangehttpserver";
version = "1.3.3"; version = "1.4.0";
format = "pyproject"; format = "pyproject";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "danvk"; owner = "danvk";
repo = "RangeHTTPServer"; repo = "RangeHTTPServer";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-ZXEbis37QO8t05JQ2qQQf5rkUSxq3DwzR3khAJkZ5W0="; hash = "sha256-wvGJ5wHYLb7wJUGgurkdRTABV6kTH7/GXzXgpd0Ypbc=";
}; };
nativeBuildInputs = [ setuptools ]; nativeBuildInputs = [ setuptools ];

View file

@ -19,7 +19,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "renault-api"; pname = "renault-api";
version = "0.2.5"; version = "0.2.6";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "hacf-fr"; owner = "hacf-fr";
repo = "renault-api"; repo = "renault-api";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-PBNiYfWcPx3AorpYmNiPGC8MAE8efQOwdtaY8dH1wTs="; hash = "sha256-opxEQIpZkaSWglPh4gwLJIi89B/ooHlwc9nKZRIS/j8=";
}; };
build-system = [ poetry-core ]; build-system = [ poetry-core ];

View file

@ -12,7 +12,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "reolink-aio"; pname = "reolink-aio";
version = "0.9.7"; version = "0.9.8";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "starkillerOG"; owner = "starkillerOG";
repo = "reolink_aio"; repo = "reolink_aio";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-EWNnaLXgJ4ieLFVBT651d50eZ/s/NfdRwRAVQy49kpc="; hash = "sha256-3rwL47mXVzWBL4REE1Dchg8GQLWJn+bzoZnmXHgKX40=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];

View file

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "tencentcloud-sdk-python"; pname = "tencentcloud-sdk-python";
version = "3.0.1219"; version = "3.0.1221";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "TencentCloud"; owner = "TencentCloud";
repo = "tencentcloud-sdk-python"; repo = "tencentcloud-sdk-python";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-EgWa4YmMLcA0z7M88vWMaNDLi5pZ+qNYvALi/MSS45s="; hash = "sha256-wrz0Q/sNy6FBEcIu/eD7yV2HGOgV9sdzw+Q2Pxkh9eI=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];
@ -30,12 +30,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "tencentcloud" ]; pythonImportsCheck = [ "tencentcloud" ];
pytestFlagsArray = [ pytestFlagsArray = [ "tests/unit/" ];
# Other tests require credentials
"tests/unit/test_deserialize_warning.py"
"tests/unit/test_import.py"
"tests/unit/test_serialization.py"
];
meta = with lib; { meta = with lib; {
description = "Tencent Cloud API 3.0 SDK for Python"; description = "Tencent Cloud API 3.0 SDK for Python";

View file

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ttn-client"; pname = "ttn-client";
version = "1.2.0"; version = "1.2.1";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "angelnu"; owner = "angelnu";
repo = "thethingsnetwork_python_client"; repo = "thethingsnetwork_python_client";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-CAodXoc2T/vyAQKWYCm3te3urbSpGMZ7gmYlvDmTEQY="; hash = "sha256-dWEXoqW4JyYeLFLS3J4CaRJ45wjdVf8wrtMGCKgBds8=";
}; };
build-system = [ hatchling ]; build-system = [ hatchling ];

View file

@ -17,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "xiaomi-ble"; pname = "xiaomi-ble";
version = "0.30.2"; version = "0.31.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices"; owner = "Bluetooth-Devices";
repo = "xiaomi-ble"; repo = "xiaomi-ble";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-x+i5zC0WTWO+F1uIliAzyc+48X3njwTNz5ss5KK6xuQ="; hash = "sha256-JmJfLRszP0uKsQ6HjTUbh9YeEGa06qBuJwbmu1lzZCw=";
}; };
postPatch = '' postPatch = ''

View file

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "checkov"; pname = "checkov";
version = "3.2.236"; version = "3.2.238";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bridgecrewio"; owner = "bridgecrewio";
repo = "checkov"; repo = "checkov";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-w5ac8yerkGEOFOKNgeFtIOIjzekOd7G4Hn3J3kEzjMM="; hash = "sha256-L5HGX7cT5pxd4dFjrppSg70XyqCDg1EXodsBRWFZ9o8=";
}; };
patches = [ ./flake8-compat-5.x.patch ]; patches = [ ./flake8-compat-5.x.patch ];

View file

@ -1,21 +1,21 @@
{ {
"version": "1.4.3", "version": "1.5.0",
"assets": { "assets": {
"aarch64-darwin": { "aarch64-darwin": {
"asset": "scala-cli-aarch64-apple-darwin.gz", "asset": "scala-cli-aarch64-apple-darwin.gz",
"sha256": "1hb0n97z5f1h2fcxiygi72ljc20lmlymhm6kcff2azfnjr2sdc48" "sha256": "1samfkiw4rgfw36sqd85nrn0v050jy9mca3qvn46wfxczrf3sjvj"
}, },
"aarch64-linux": { "aarch64-linux": {
"asset": "scala-cli-aarch64-pc-linux.gz", "asset": "scala-cli-aarch64-pc-linux.gz",
"sha256": "1267cvhfmkxhxhq4ypqx4v24w19i1p8bx36hm2mbwi7aqz1m32ms" "sha256": "02zpqffprf1hf68jhr9h7panqr110ip0fyv42lgqpj6rbhlxi371"
}, },
"x86_64-darwin": { "x86_64-darwin": {
"asset": "scala-cli-x86_64-apple-darwin.gz", "asset": "scala-cli-x86_64-apple-darwin.gz",
"sha256": "190kwxr93m2i8azrlahq41xhkpx0pkadiak1wbdzalgfxd7q36n6" "sha256": "1lfrcz2khabyww52ji03p034k3h6zrmgzxgy1zw78r5z2s984w4f"
}, },
"x86_64-linux": { "x86_64-linux": {
"asset": "scala-cli-x86_64-pc-linux.gz", "asset": "scala-cli-x86_64-pc-linux.gz",
"sha256": "0fhydw1axm2xj8qwsl43y3bbbhm95h4yag055py1mxkqsq6f4vw4" "sha256": "15rlzgg2innaifixwqy4w2lxg2ab9pi11s2fx1c053ylhbbbz3v1"
} }
} }
} }

View file

@ -61,7 +61,7 @@ let
patchShebangs node_modules patchShebangs node_modules
mkdir -p ~/.cache/electron/${electronDummyHash} mkdir -p ~/.cache/electron/${electronDummyHash}
cp -ra '${electron}/libexec/electron' "$TMPDIR/electron" cp -ra '${electron.dist}' "$TMPDIR/electron"
chmod -R u+w "$TMPDIR/electron" chmod -R u+w "$TMPDIR/electron"
(cd "$TMPDIR/electron" && zip -0Xr ~/.cache/electron/${electronDummyHash}/${electronDummyFilename} .) (cd "$TMPDIR/electron" && zip -0Xr ~/.cache/electron/${electronDummyHash}/${electronDummyFilename} .)

View file

@ -107,7 +107,7 @@ let
++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libGL vulkan-loader ] ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libGL vulkan-loader ]
); );
linux = { linux = finalAttrs: {
buildInputs = [ glib gtk3 ]; buildInputs = [ glib gtk3 ];
nativeBuildInputs = [ nativeBuildInputs = [
@ -142,9 +142,11 @@ let
rm "$out/libexec/electron/libvulkan.so.1" rm "$out/libexec/electron/libvulkan.so.1"
ln -s -t "$out/libexec/electron" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1" ln -s -t "$out/libexec/electron" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
''; '';
passthru.dist = finalAttrs.finalPackage + "/libexec/electron";
}; };
darwin = { darwin = finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper makeWrapper
unzip unzip
@ -157,9 +159,12 @@ let
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper $out/Applications/Electron.app/Contents/MacOS/Electron $out/bin/electron makeWrapper $out/Applications/Electron.app/Contents/MacOS/Electron $out/bin/electron
''; '';
passthru.dist = finalAttrs.finalPackage + "/Applications";
}; };
in in
stdenv.mkDerivation ( stdenv.mkDerivation (finalAttrs:
(common stdenv.hostPlatform) // lib.recursiveUpdate
(if stdenv.isDarwin then darwin else linux) (common stdenv.hostPlatform)
((if stdenv.isDarwin then darwin else linux) finalAttrs)
) )

View file

@ -27,7 +27,7 @@ let
fetchedDeps = lib.mapAttrs (name: fetchdep) info.deps; fetchedDeps = lib.mapAttrs (name: fetchdep) info.deps;
in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { in ((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
packageName = "electron"; packageName = "electron";
inherit (info) version; inherit (info) version;
buildTargets = [ "electron:electron_dist_zip" ]; buildTargets = [ "electron:electron_dist_zip" ];
@ -244,4 +244,9 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
hydraPlatforms = lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) ["aarch64-linux" "x86_64-linux"]; hydraPlatforms = lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) ["aarch64-linux" "x86_64-linux"];
timeout = 172800; # 48 hours (increased from the Hydra default of 10h) timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
}; };
})).overrideAttrs (finalAttrs: prevAttrs: {
# this was the only way I could get the package to properly reference itself
passthru = prevAttrs.passthru // {
dist = finalAttrs.finalPackage + "/libexec/electron";
};
}) })

View file

@ -31,7 +31,7 @@ stdenv.mkDerivation {
passthru = { passthru = {
unwrapped = electron-unwrapped; unwrapped = electron-unwrapped;
inherit (electron-unwrapped) headers; inherit (electron-unwrapped) headers dist;
}; };
inherit (electron-unwrapped) meta; inherit (electron-unwrapped) meta;
} }

View file

@ -15,7 +15,7 @@ let
buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json); buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
# the version of infisical # the version of infisical
version = "0.28.5"; version = "0.28.6";
# the platform-specific, statically linked binary # the platform-specific, statically linked binary
src = src =

View file

@ -1,6 +1,6 @@
{ "_comment": "@generated by pkgs/development/tools/infisical/update.sh" { "_comment": "@generated by pkgs/development/tools/infisical/update.sh"
, "x86_64-linux": "sha256-hYDBZ6cTUCJTd5Zv/jCXVLpSGSeXbtC0uxAjh4NIjV8=" , "x86_64-linux": "sha256-izVUw/RcH+U6i5kCdPGojsBF+Ont40QBYk4sJW/BLOA="
, "x86_64-darwin": "sha256-IjxGVl1TrQFN3ic0dAinfzziJeR1fiSeW8jE+aXD6cA=" , "x86_64-darwin": "sha256-j0f4NhLivG+MmzitOSnAcc/EQAiFVEn44w3UMnLCkVY="
, "aarch64-linux": "sha256-6KFwHFS8dZfG8rrK+85BUwjD+sNTqY/5WVhu0yEtJ70=" , "aarch64-linux": "sha256-hunRA42xIMcu5JBtTnibWXKEECIeBIHyeBwVnOGR25U="
, "aarch64-darwin": "sha256-nkv9r5CzzjI7CKfQ/tD+UJGoDR6Os7W6bc0dcoAiGhE=" , "aarch64-darwin": "sha256-s6bmANYuuAOq959R+lipThc39qyqww20ISZ965hWkWc="
} }

View file

@ -116,7 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
yarn --offline electron-builder \ yarn --offline electron-builder \
--dir \ --dir \
-c.electronDist=${electron}/libexec/electron \ -c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version} -c.electronVersion=${electron.version}
runHook postBuild runHook postBuild

View file

@ -1,5 +1,5 @@
{ makeScopeWithSplicing', generateSplicesForMkScope { makeScopeWithSplicing', generateSplicesForMkScope
, stdenv, buildFHSEnv, pkgsi686Linux, glxinfo , stdenv, buildFHSEnv, pkgsi686Linux, mesa-demos
}: }:
let let
@ -14,10 +14,10 @@ let
steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { }; steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { };
steam = callPackage ./steam.nix { }; steam = callPackage ./steam.nix { };
steam-fhsenv = callPackage ./fhsenv.nix { steam-fhsenv = callPackage ./fhsenv.nix {
glxinfo-i686 = mesa-demos-i686 =
if self.steamArch == "amd64" if self.steamArch == "amd64"
then pkgsi686Linux.glxinfo then pkgsi686Linux.mesa-demos
else glxinfo; else mesa-demos;
steam-runtime-wrapped-i686 = steam-runtime-wrapped-i686 =
if self.steamArch == "amd64" if self.steamArch == "amd64"
then pkgsi686Linux.steamPackages.steam-runtime-wrapped then pkgsi686Linux.steamPackages.steam-runtime-wrapped

View file

@ -1,4 +1,4 @@
{ lib, stdenv, writeShellScript, buildFHSEnv, steam, glxinfo-i686 { lib, stdenv, writeShellScript, buildFHSEnv, steam, mesa-demos-i686
, steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null , steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null
, extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs , extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
, extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs , extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs
@ -269,7 +269,7 @@ in buildFHSEnv rec {
runScript = writeShellScript "steam-wrapper.sh" '' runScript = writeShellScript "steam-wrapper.sh" ''
if [ -f /etc/NIXOS ]; then # Check only useful on NixOS if [ -f /etc/NIXOS ]; then # Check only useful on NixOS
${glxinfo-i686}/bin/glxinfo 2>&1 | grep -q Error ${mesa-demos-i686}/bin/glxinfo 2>&1 | grep -q Error
# If there was an error running glxinfo, we know something is wrong with the configuration # If there was an error running glxinfo, we know something is wrong with the configuration
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
cat <<EOF > /dev/stderr cat <<EOF > /dev/stderr

View file

@ -10,6 +10,7 @@
nixosTests, nixosTests,
enableLocalIcons ? false, enableLocalIcons ? false,
nix-update-script, nix-update-script,
git,
}: }:
let let
dashboardIcons = fetchFromGitHub { dashboardIcons = fetchFromGitHub {
@ -49,7 +50,7 @@ buildNpmPackage rec {
patchShebangs .next/standalone/server.js patchShebangs .next/standalone/server.js
''; '';
nativeBuildInputs = lib.optionals stdenv.isDarwin [ cctools ]; nativeBuildInputs = [ git ] ++ lib.optionals stdenv.isDarwin [ cctools ];
buildInputs = [ nodePackages.node-gyp-build ] ++ lib.optionals stdenv.isDarwin [ IOKit ]; buildInputs = [ nodePackages.node-gyp-build ] ++ lib.optionals stdenv.isDarwin [ IOKit ];
@ -68,9 +69,21 @@ buildNpmPackage rec {
chmod +x $out/share/homepage/server.js chmod +x $out/share/homepage/server.js
# This patch must be applied here, as it's patching the `dist` directory
# of NextJS. Without this, homepage-dashboard errors when trying to
# write its prerender cache.
#
# This patch ensures that the cache implementation respects the env
# variable `HOMEPAGE_CACHE_DIR`, which is set by default in the
# wrapper below.
pushd $out
git apply ${./prerender_cache_path.patch}
popd
makeWrapper $out/share/homepage/server.js $out/bin/homepage \ makeWrapper $out/share/homepage/server.js $out/bin/homepage \
--set-default PORT 3000 \ --set-default PORT 3000 \
--set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard --set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard \
--set-default HOMEPAGE_CACHE_DIR /var/cache/homepage-dashboard
${if enableLocalIcons then installLocalIcons else ""} ${if enableLocalIcons then installLocalIcons else ""}

View file

@ -0,0 +1,18 @@
diff --git a/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js b/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
index b1b74d8..a46c80b 100644
--- a/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
+++ b/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js
@@ -5,11 +5,12 @@ Object.defineProperty(exports, "__esModule", {
exports.default = void 0;
var _lruCache = _interopRequireDefault(require("next/dist/compiled/lru-cache"));
var _path = _interopRequireDefault(require("../../../shared/lib/isomorphic/path"));
+var path = require('node:path');
class FileSystemCache {
constructor(ctx){
this.fs = ctx.fs;
this.flushToDisk = ctx.flushToDisk;
- this.serverDistDir = ctx.serverDistDir;
+ this.serverDistDir = path.join(process.env.HOMEPAGE_CACHE_DIR, "homepage");
this.appDir = !!ctx._appDir;
if (ctx.maxMemoryCacheSize) {
this.memoryCache = new _lruCache.default({

View file

@ -6,16 +6,16 @@
buildGoModule rec { buildGoModule rec {
pname = "nats-server"; pname = "nats-server";
version = "2.10.18"; version = "2.10.19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nats-io"; owner = "nats-io";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-xoCeP/6qKNeqsqVPKfybdwVs50QPBS82zBGxwOXrVGU="; hash = "sha256-zgLo6j6CC/AHQKCnpXJIczneT4RbU6WneUSoL2vTthw=";
}; };
vendorHash = "sha256-6Dgk/F0gZlULpEZpWvJndHdp7AyggClOb3FrwotSjRs="; vendorHash = "sha256-D/3c8Sov8LJzeWN2tu6iqwnwfb3EXXnJpgONo96pmYI=";
doCheck = false; doCheck = false;

View file

@ -44,6 +44,7 @@ buildFHSEnv {
mit mit
cockroachdb-community-license cockroachdb-community-license
]; ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = [ "aarch64-linux" "x86_64-linux" ]; platforms = [ "aarch64-linux" "x86_64-linux" ];
maintainers = with maintainers; [ rushmorem thoughtpolice ]; maintainers = with maintainers; [ rushmorem thoughtpolice ];
}; };

View file

@ -5,14 +5,14 @@
, git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }: , git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2024-08-21"; version = "2024-08-27";
pname = "oh-my-zsh"; pname = "oh-my-zsh";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ohmyzsh"; owner = "ohmyzsh";
repo = "ohmyzsh"; repo = "ohmyzsh";
rev = "ebb479e5e2395d26fc368c9b9d534e935a292740"; rev = "efe21261d031b4836f64112a899706322acd26b0";
sha256 = "sha256-+uACSlon6xraKqwZhL8xFU40b0SvkEE2GAzvm/ROun0="; sha256 = "sha256-ICHdwxySSzX64q+mfPKOQqOrLrc/RKiyvPioseNt4hE=";
}; };
strictDeps = true; strictDeps = true;

View file

@ -173,7 +173,7 @@ pythonPackages.buildPythonApplication rec {
python-dateutil python-dateutil
sqlalchemy sqlalchemy
itsdangerous itsdangerous
flask-security-too flask-security
bcrypt bcrypt
cryptography cryptography
sshtunnel sshtunnel

View file

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "spotdl"; pname = "spotdl";
version = "4.2.6"; version = "4.2.7";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "spotDL"; owner = "spotDL";
repo = "spotify-downloader"; repo = "spotify-downloader";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-OhZXxGkcO/dlYth9xUnpd/IbyvsbjMzwqQ9lPSvnFSs="; hash = "sha256-AZpTxfnUyOLcPJQJyk77eqw1EbN3s7/8QQMxcxyJVKE=";
}; };
build-system = with python3.pkgs; [ poetry-core ]; build-system = with python3.pkgs; [ poetry-core ];

View file

@ -1,35 +0,0 @@
{ lib, stdenv, fetchurl, libGL, libX11 }:
stdenv.mkDerivation rec {
pname = "glxinfo";
version = "8.4.0";
src = fetchurl {
url = "ftp://ftp.freedesktop.org/pub/mesa/demos/mesa-demos-${version}.tar.bz2";
sha256 = "0zgzbz55a14hz83gbmm0n9gpjnf5zadzi2kjjvkn6khql2a9rs81";
};
buildInputs = [ libX11 libGL ];
dontConfigure = true;
buildPhase = "
$CC src/xdemos/{glxinfo.c,glinfo_common.c} -o glxinfo -lGL -lX11
$CC src/xdemos/glxgears.c -o glxgears -lGL -lX11 -lm
$CC src/egl/opengles2/es2_info.c -o es2_info -lEGL -lGLESv2 -lX11
$CC src/egl/opengles2/es2gears.c src/egl/eglut/{eglut.c,eglut_x11.c} -o es2gears -Isrc/egl/eglut -lEGL -lGLESv2 -lX11 -lm
$CC src/egl/opengl/eglinfo.c -o eglinfo -lEGL -lGLESv2 -lX11
";
installPhase = "
install -Dm 555 -t $out/bin glx{info,gears} es2{_info,gears} eglinfo
";
meta = with lib; {
description = "Test utilities for OpenGL";
homepage = "https://www.mesa3d.org/";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
};
}

View file

@ -6,7 +6,6 @@
, substituteAll , substituteAll
, coreutils , coreutils
, curl , curl
, glxinfo
, gnugrep , gnugrep
, gnused , gnused
, xdg-utils , xdg-utils
@ -18,6 +17,7 @@
, git , git
, glslang , glslang
, mako , mako
, mesa-demos
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
@ -131,9 +131,9 @@ stdenv.mkDerivation (finalAttrs: {
path = lib.makeBinPath [ path = lib.makeBinPath [
coreutils coreutils
curl curl
glxinfo
gnugrep gnugrep
gnused gnused
mesa-demos
xdg-utils xdg-utils
]; ];

View file

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "sheldon"; pname = "sheldon";
version = "0.7.3"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rossmacarthur"; owner = "rossmacarthur";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-vGFR8NL3bOCUuNr0KQuAbjQMxvFbN/T9aVmf7Wxt9JU="; hash = "sha256-eyfIPO1yXvb+0SeAx+F6/z5iDUA2GfWOiElfjn6abJM=";
}; };
cargoHash = "sha256-wVB+yL+h90f7NnASDaX5gxT5z45M8I1rxIJwY8uyB4k="; cargoHash = "sha256-+yTX1wUfVVjsM42X0QliL+0xbzTPheADZibPh/5Czh8=";
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
nativeBuildInputs = [ installShellFiles pkg-config ]; nativeBuildInputs = [ installShellFiles pkg-config ];

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "flannel"; pname = "flannel";
version = "0.25.5"; version = "0.25.6";
rev = "v${version}"; rev = "v${version}";
vendorHash = "sha256-i8uwHOPRVOCSPnFNr7IFZHkboV+iXrA23pkOmRAix54="; vendorHash = "sha256-telkdlxNUoaZJ8mzKbcBq2sruI0reT9wp+yOLa8RBOs=";
src = fetchFromGitHub { src = fetchFromGitHub {
inherit rev; inherit rev;
owner = "flannel-io"; owner = "flannel-io";
repo = "flannel"; repo = "flannel";
sha256 = "sha256-SMOS0ndBV8KySh9E2/vTAznKLZY2LAM7zSNQAiFBiGU="; sha256 = "sha256-72eoAr3Vnvwqcrq1qFqEJY/J3yodICv+uWM484d99b4=";
}; };
ldflags = [ "-X github.com/flannel-io/flannel/pkg/version.Version=${rev}" ]; ldflags = [ "-X github.com/flannel-io/flannel/pkg/version.Version=${rev}" ];

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