mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-30 20:00:10 +00:00
Merge staging-next into staging
This commit is contained in:
4
.github/workflows/periodic-merge-24h.yml
vendored
4
.github/workflows/periodic-merge-24h.yml
vendored
@@ -31,6 +31,10 @@ jobs:
|
||||
into: staging-next-24.11
|
||||
- from: staging-next-24.11
|
||||
into: staging-24.11
|
||||
- from: master
|
||||
into: staging-next-25.05
|
||||
- from: staging-next-25.05
|
||||
into: staging-25.05
|
||||
- from: master staging
|
||||
into: haskell-updates
|
||||
uses: ./.github/workflows/periodic-merge.yml
|
||||
|
||||
37
doc/release-notes/rl-2511.section.md
Normal file
37
doc/release-notes/rl-2511.section.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Nixpkgs 25.11 (2025.11/??) {#sec-nixpkgs-release-25.11}
|
||||
|
||||
## Highlights {#sec-nixpkgs-release-25.11-highlights}
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## Backward Incompatibilities {#sec-nixpkgs-release-25.11-incompatibilities}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## Other Notable Changes {#sec-nixpkgs-release-25.11-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## Nixpkgs Library {#sec-nixpkgs-release-25.11-lib}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
### Breaking changes {#sec-nixpkgs-release-25.11-lib-breaking}
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
|
||||
### Deprecations {#sec-nixpkgs-release-25.11-lib-deprecations}
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
|
||||
### Additions and Improvements {#sec-nixpkgs-release-25.11-lib-additions-improvements}
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
@@ -53,8 +53,7 @@
|
||||
More fields may be added in the future, however, in order to comply with GDPR this file should stay as minimal as possible.
|
||||
|
||||
When editing this file:
|
||||
* keep the list alphabetically sorted, check with:
|
||||
nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix
|
||||
* keep the list alphabetically sorted
|
||||
* test the validity of the format with:
|
||||
nix-build lib/tests/maintainers.nix
|
||||
|
||||
@@ -537,6 +536,12 @@
|
||||
}
|
||||
];
|
||||
};
|
||||
Acconut = {
|
||||
email = "marius@transloadit.com";
|
||||
github = "Acconut";
|
||||
githubId = 1375043;
|
||||
name = "Marius Kleidl";
|
||||
};
|
||||
acesyde = {
|
||||
name = "Pierre-Emmanuel Mercier";
|
||||
email = "acesyde@gmail.com";
|
||||
@@ -13423,6 +13428,12 @@
|
||||
githubId = 58425080;
|
||||
name = "Viktor Pocedulić";
|
||||
};
|
||||
kvz = {
|
||||
email = "kevin@transloadit.com";
|
||||
github = "kvz";
|
||||
githubId = 26752;
|
||||
name = "Kevin van Zonneveld";
|
||||
};
|
||||
kwaa = {
|
||||
name = "藍+85CD";
|
||||
email = "kwa@kwaa.dev";
|
||||
@@ -26844,6 +26855,12 @@
|
||||
githubId = 15948162;
|
||||
name = "Yanni Papandreou";
|
||||
};
|
||||
yarekt = {
|
||||
name = "Yarek T";
|
||||
email = "yarekt+nixpkgs@gmail.com";
|
||||
github = "yarektyshchenko";
|
||||
githubId = 185304;
|
||||
};
|
||||
yarny = {
|
||||
github = "Yarny0";
|
||||
githubId = 41838844;
|
||||
|
||||
25
nixos/doc/manual/release-notes/rl-2511.section.md
Normal file
25
nixos/doc/manual/release-notes/rl-2511.section.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Release 25.11 (2025.11/??) {#sec-release-25.11}
|
||||
|
||||
## Highlights {#sec-release-25.11-highlights}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## New Modules {#sec-release-25.11-new-modules}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## Backward Incompatibilities {#sec-release-25.11-incompatibilities}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
|
||||
## Other Notable Changes {#sec-release-25.11-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
@@ -186,7 +186,6 @@
|
||||
./programs/corefreq.nix
|
||||
./programs/cpu-energy-meter.nix
|
||||
./programs/criu.nix
|
||||
./programs/darling.nix
|
||||
./programs/dconf.nix
|
||||
./programs/digitalbitbox/default.nix
|
||||
./programs/direnv.nix
|
||||
@@ -1076,6 +1075,7 @@
|
||||
./services/networking/bitlbee.nix
|
||||
./services/networking/blockbook-frontend.nix
|
||||
./services/networking/blocky.nix
|
||||
./services/networking/cato-client.nix
|
||||
./services/networking/centrifugo.nix
|
||||
./services/networking/cgit.nix
|
||||
./services/networking/charybdis.nix
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.programs.darling;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
programs.darling = {
|
||||
enable = lib.mkEnableOption "Darling, a Darwin/macOS compatibility layer for Linux";
|
||||
package = lib.mkPackageOption pkgs "darling" { };
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
security.wrappers.darling = {
|
||||
source = lib.getExe cfg.package;
|
||||
owner = "root";
|
||||
group = "root";
|
||||
setuid = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -11,6 +11,8 @@ in
|
||||
options.services.oxidized = {
|
||||
enable = lib.mkEnableOption "the oxidized configuration backup service";
|
||||
|
||||
package = lib.mkPackageOption pkgs "oxidized" { };
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "oxidized";
|
||||
@@ -70,7 +72,8 @@ in
|
||||
};
|
||||
|
||||
routerDB = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
example = lib.literalExpression ''
|
||||
pkgs.writeText "oxidized-router.db" '''
|
||||
hostname-sw1:powerconnect:username1:password2
|
||||
@@ -94,18 +97,57 @@ in
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
systemd.tmpfiles.settings."10-oxidized" =
|
||||
{
|
||||
"${cfg.dataDir}" = {
|
||||
d = {
|
||||
mode = "0750";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
|
||||
"${cfg.dataDir}/.config" = {
|
||||
d = {
|
||||
mode = "0750";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
|
||||
"${cfg.dataDir}/.config/oxidized" = {
|
||||
d = {
|
||||
mode = "0750";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
|
||||
"${cfg.dataDir}/.config/oxidized/config" = {
|
||||
L = {
|
||||
argument = "${cfg.configFile}";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
// lib.optionalAttrs (cfg.routerDB != null) {
|
||||
"${cfg.dataDir}/.config/oxidized/router.db" = {
|
||||
L = {
|
||||
argument = "${cfg.routerDB}";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.oxidized = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
preStart = ''
|
||||
mkdir -p ${cfg.dataDir}/.config/oxidized
|
||||
ln -f -s ${cfg.routerDB} ${cfg.dataDir}/.config/oxidized/router.db
|
||||
ln -f -s ${cfg.configFile} ${cfg.dataDir}/.config/oxidized/config
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.oxidized}/bin/oxidized";
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
UMask = "0077";
|
||||
|
||||
75
nixos/modules/services/networking/cato-client.nix
Normal file
75
nixos/modules/services/networking/cato-client.nix
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkPackageOption;
|
||||
|
||||
cfg = config.services.cato-client;
|
||||
in
|
||||
{
|
||||
options.services.cato-client = {
|
||||
enable = mkEnableOption "cato-client service";
|
||||
package = mkPackageOption pkgs "cato-client" { };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users = {
|
||||
groups.cato-client = { };
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
cfg.package
|
||||
];
|
||||
|
||||
systemd.services.cato-client = {
|
||||
enable = true;
|
||||
description = "Cato Networks Linux client - connects tunnel to Cato cloud";
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = "root"; # Note: daemon runs as root, tools sticky to group
|
||||
Group = "cato-client";
|
||||
ExecStart = "${cfg.package}/bin/cato-clientd systemd";
|
||||
WorkingDirectory = "${cfg.package}";
|
||||
Restart = "always";
|
||||
|
||||
# Cato client seems to do the following:
|
||||
# - Look in each user's ~/.cato/ for configuration and keys
|
||||
# - Write to /var/log/cato-client.log
|
||||
# - Create and use sockets /var/run/cato-sdp.i, /var/run/cato-sdp.o
|
||||
# - Read and Write to /opt/cato/ for runtime settings
|
||||
# - Read /etc/systemd/resolved.conf (but fine if fails)
|
||||
# - Restart systemd-resolved (also fine if doesn't exist)
|
||||
|
||||
NoNewPrivileges = true;
|
||||
PrivateTmp = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectSystem = true;
|
||||
};
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
# set up Security wrapper Same as inteded in deb post install
|
||||
security.wrappers.cato-clientd = {
|
||||
source = "${cfg.package}/bin/cato-clientd";
|
||||
owner = "root";
|
||||
group = "cato-client";
|
||||
permissions = "u+rwx,g+rwx"; # 770
|
||||
setgid = true;
|
||||
};
|
||||
|
||||
security.wrappers.cato-sdp = {
|
||||
source = "${cfg.package}/bin/cato-sdp";
|
||||
owner = "root";
|
||||
group = "cato-client";
|
||||
permissions = "u+rwx,g+rx,a+rx"; # 755
|
||||
setgid = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -373,7 +373,6 @@ in
|
||||
croc = handleTest ./croc.nix { };
|
||||
cross-seed = runTest ./cross-seed.nix;
|
||||
cyrus-imap = runTest ./cyrus-imap.nix;
|
||||
darling = handleTest ./darling.nix { };
|
||||
darling-dmg = runTest ./darling-dmg.nix;
|
||||
dae = handleTest ./dae.nix { };
|
||||
davis = runTest ./davis.nix;
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
# Well, we _can_ cross-compile from Linux :)
|
||||
hello =
|
||||
pkgs.runCommand "hello"
|
||||
{
|
||||
sdk = "${pkgs.darling.sdk}/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk";
|
||||
nativeBuildInputs = with pkgs.llvmPackages_14; [
|
||||
clang-unwrapped
|
||||
lld
|
||||
];
|
||||
src = pkgs.writeText "hello.c" ''
|
||||
#include <stdio.h>
|
||||
int main() {
|
||||
printf("Hello, Darling!\n");
|
||||
return 0;
|
||||
}
|
||||
'';
|
||||
}
|
||||
''
|
||||
clang \
|
||||
-target x86_64-apple-darwin \
|
||||
-fuse-ld=lld \
|
||||
-nostdinc -nostdlib \
|
||||
-mmacosx-version-min=10.15 \
|
||||
--sysroot $sdk \
|
||||
-isystem $sdk/usr/include \
|
||||
-L $sdk/usr/lib -lSystem \
|
||||
$src -o $out
|
||||
'';
|
||||
in
|
||||
{
|
||||
name = "darling";
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ zhaofengli ];
|
||||
|
||||
nodes.machine = {
|
||||
programs.darling.enable = true;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
# Darling holds stdout until the server is shutdown
|
||||
machine.succeed("darling ${hello} >hello.out")
|
||||
machine.succeed("grep Hello hello.out")
|
||||
machine.succeed("darling shutdown")
|
||||
'';
|
||||
}
|
||||
)
|
||||
@@ -90,7 +90,10 @@ in
|
||||
{
|
||||
name = "nvidia-container-toolkit";
|
||||
meta = with lib.maintainers; {
|
||||
maintainers = [ ereslibre ];
|
||||
maintainers = [
|
||||
ereslibre
|
||||
christoph-heiss
|
||||
];
|
||||
};
|
||||
defaults =
|
||||
{ config, ... }:
|
||||
|
||||
@@ -501,12 +501,12 @@ When using the `patches` parameter to `mkDerivation`, make sure the patch name c
|
||||
|
||||
### Fetching patches
|
||||
|
||||
In the interest of keeping our maintenance burden and the size of Nixpkgs to a minimum, patches already merged upstream or published elsewhere _should_ be retrieved using `fetchpatch`:
|
||||
In the interest of keeping our maintenance burden and the size of Nixpkgs to a minimum, patches already merged upstream or published elsewhere _should_ be retrieved using `fetchpatch2`:
|
||||
|
||||
```nix
|
||||
{
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
(fetchpatch2 {
|
||||
name = "fix-check-for-using-shared-freetype-lib.patch";
|
||||
url = "https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/patch/?id=8f5d28536e4518716fdfe974e580194c8f57871d";
|
||||
hash = "sha256-uRcxaCjd+WAuGrXOmGfFeu79cUILwkRdBu48mwcBE7g=";
|
||||
@@ -515,7 +515,7 @@ In the interest of keeping our maintenance burden and the size of Nixpkgs to a m
|
||||
}
|
||||
```
|
||||
|
||||
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`. Check [the `fetchpatch` reference](https://nixos.org/manual/nixpkgs/unstable/#fetchpatch) for details.
|
||||
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch2`. Check [the `fetchpatch` reference](https://nixos.org/manual/nixpkgs/unstable/#fetchpatch) for details.
|
||||
|
||||
When adding patches in this manner you should be reasonably sure that the used URL is stable. Patches referencing open pull requests will change when the PR is updated and code forges (such as GitHub) usually garbage collect commits that are no longer reachable due to rebases/amends.
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@ in
|
||||
lib,
|
||||
pkgs,
|
||||
stdenv,
|
||||
fetchpatch,
|
||||
patchelf,
|
||||
|
||||
# build time
|
||||
@@ -77,6 +76,7 @@ in
|
||||
gnum4,
|
||||
gtk3,
|
||||
icu73,
|
||||
icu77,
|
||||
libGL,
|
||||
libGLU,
|
||||
libevent,
|
||||
@@ -328,6 +328,10 @@ buildStdenv.mkDerivation {
|
||||
rm -rf obj-x86_64-pc-linux-gnu
|
||||
patchShebangs mach build
|
||||
''
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1927380
|
||||
+ lib.optionalString (lib.versionAtLeast version "134") ''
|
||||
sed -i "s/icu-i18n/icu-uc &/" js/moz.configure
|
||||
''
|
||||
+ extraPostPatch;
|
||||
|
||||
# Ignore trivial whitespace changes in patches, this fixes compatibility of
|
||||
@@ -467,13 +471,12 @@ buildStdenv.mkDerivation {
|
||||
]
|
||||
++ lib.optional (isElfhackPlatform stdenv) (enableFeature elfhackSupport "elf-hack")
|
||||
++ lib.optional (!drmSupport) "--disable-eme"
|
||||
++ lib.optional (allowAddonSideload) "--allow-addon-sideload"
|
||||
++ lib.optional allowAddonSideload "--allow-addon-sideload"
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
# MacOS builds use bundled versions of libraries: https://bugzilla.mozilla.org/show_bug.cgi?id=1776255
|
||||
"--enable-system-pixman"
|
||||
"--with-system-ffi"
|
||||
# Firefox 136 fails to link with our icu76.1
|
||||
(lib.optionalString (lib.versionOlder version "136") "--with-system-icu")
|
||||
"--with-system-icu"
|
||||
"--with-system-jpeg"
|
||||
"--with-system-libevent"
|
||||
"--with-system-libvpx"
|
||||
@@ -557,7 +560,7 @@ buildStdenv.mkDerivation {
|
||||
xorg.xorgproto
|
||||
zlib
|
||||
(
|
||||
if (lib.versionAtLeast version "116") then nss_latest else nss_esr # 3.90
|
||||
if (lib.versionAtLeast version "129") then nss_latest else nss_esr # 3.90
|
||||
)
|
||||
]
|
||||
++ lib.optional alsaSupport alsa-lib
|
||||
@@ -569,7 +572,7 @@ buildStdenv.mkDerivation {
|
||||
libdrm
|
||||
]
|
||||
))
|
||||
++ lib.optionals (lib.versionOlder version "136") [ icu73 ]
|
||||
++ [ (if (lib.versionAtLeast version "138") then icu77 else icu73) ]
|
||||
++ lib.optional gssSupport libkrb5
|
||||
++ lib.optional jemallocSupport jemalloc
|
||||
++ extraBuildInputs;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ _1password-gui }:
|
||||
{ _1password-gui, ... }:
|
||||
_1password-gui.override {
|
||||
channel = "beta";
|
||||
}
|
||||
|
||||
35
pkgs/by-name/bs/bs-manager/depotdownloader/default.nix
Normal file
35
pkgs/by-name/bs/bs-manager/depotdownloader/default.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
lib,
|
||||
buildDotnetModule,
|
||||
fetchFromGitHub,
|
||||
dotnetCorePackages,
|
||||
}:
|
||||
|
||||
buildDotnetModule {
|
||||
pname = "depotdownloader";
|
||||
version = "2.7.4-unstable-2024-12-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Iluhadesu";
|
||||
repo = "DepotDownloader";
|
||||
rev = "a9f58e5513b72bd00b623a83e1460b3c5db49248";
|
||||
hash = "sha256-+QfwKQJzyXqUvTn8kKP7lYHvbtRtdJ7jc/W7E87tV7w=";
|
||||
};
|
||||
|
||||
projectFile = "DepotDownloader.sln";
|
||||
nugetDeps = ./deps.json;
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_8_0;
|
||||
|
||||
meta = {
|
||||
description = "Fork of DepotDownloader to be used by BSManager";
|
||||
license = lib.licenses.gpl2Only;
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
mainProgram = "DepotDownloader";
|
||||
};
|
||||
}
|
||||
67
pkgs/by-name/bs/bs-manager/depotdownloader/deps.json
generated
Normal file
67
pkgs/by-name/bs/bs-manager/depotdownloader/deps.json
generated
Normal file
@@ -0,0 +1,67 @@
|
||||
[
|
||||
{
|
||||
"pname": "Microsoft.NETCore.Platforms",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Win32.Registry",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.CsWin32",
|
||||
"version": "0.3.106",
|
||||
"hash": "sha256-S1uQa684taPb6uh69784ebVpXoirMoX+pxBRA+Rrzlg="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.SDK.Win32Docs",
|
||||
"version": "0.1.42-alpha",
|
||||
"hash": "sha256-6DvzmNzrGVfWmNJNqooj+Ya+7bAQlyeg7pmyKaUlIws="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.SDK.Win32Metadata",
|
||||
"version": "60.0.34-preview",
|
||||
"hash": "sha256-KdRe73sXipzMvm2BLmwwBZGh+l9isZDC9l8WFyUR1zM="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.WDK.Win32Metadata",
|
||||
"version": "0.11.4-experimental",
|
||||
"hash": "sha256-b3oKUKbr+3Udfl7RWzUY9BR/XWNsN+VmEkBxk6KiFo0="
|
||||
},
|
||||
{
|
||||
"pname": "protobuf-net",
|
||||
"version": "3.2.30",
|
||||
"hash": "sha256-keRy5OWT+/tlZt3D7x+9PEdjTvEJcZdYsf/i1ZBtciE="
|
||||
},
|
||||
{
|
||||
"pname": "protobuf-net.Core",
|
||||
"version": "3.2.30",
|
||||
"hash": "sha256-GMpJNecoBfrV2VgpYOhcZnKZaLFDObNLcX2LBTThrwY="
|
||||
},
|
||||
{
|
||||
"pname": "SteamKit2",
|
||||
"version": "3.0.0-beta.4",
|
||||
"hash": "sha256-7cXlpCuUD8ZuTMtqsT5MdklkZb+XIGBdoI28anjUXtg="
|
||||
},
|
||||
{
|
||||
"pname": "System.Collections.Immutable",
|
||||
"version": "7.0.0",
|
||||
"hash": "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="
|
||||
},
|
||||
{
|
||||
"pname": "System.IO.Hashing",
|
||||
"version": "8.0.0",
|
||||
"hash": "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="
|
||||
},
|
||||
{
|
||||
"pname": "System.Security.AccessControl",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
|
||||
},
|
||||
{
|
||||
"pname": "System.Security.Principal.Windows",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
|
||||
}
|
||||
]
|
||||
@@ -1,87 +1,143 @@
|
||||
{
|
||||
asar,
|
||||
autoPatchelfHook,
|
||||
dpkg,
|
||||
electron,
|
||||
fetchurl,
|
||||
lib,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
openssl,
|
||||
stdenv,
|
||||
zlib,
|
||||
callPackage,
|
||||
nix-update-script,
|
||||
|
||||
buildNpmPackage,
|
||||
fetchNpmDeps,
|
||||
fetchFromGitHub,
|
||||
makeDesktopItem,
|
||||
|
||||
autoPatchelfHook,
|
||||
copyDesktopItems,
|
||||
makeWrapper,
|
||||
|
||||
electron,
|
||||
steam-run-free,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "bs-manager";
|
||||
version = "1.5.2";
|
||||
version = "1.5.3";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://github.com/Zagrios/bs-manager/releases/download/v1.5.2/bs-manager_1.5.2_amd64.deb";
|
||||
hash = "sha256-rNqnEez56t4TPIKhljC0HEams2xhj6nB3CGW0CuQBKQ=";
|
||||
}
|
||||
else
|
||||
throw "BSManager is not available for your platform";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Zagrios";
|
||||
repo = "bs-manager";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-thqz6sFmov5py7mUBYUC6ANBgjnNFC1hfLEsaxJVYu8=";
|
||||
};
|
||||
|
||||
# TODO: Package BSManager's fork of DepotDownloader and replace vendored binary at $out/opt/BSManager/resources/assets/scripts/DepotDownloader
|
||||
# See https://github.com/Iluhadesu/DepotDownloader
|
||||
patches = [
|
||||
# https://github.com/Zagrios/bs-manager/pull/870
|
||||
./use-steam-run-for-wine.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# don't search for resources in electron's resource directory, but our own
|
||||
substituteInPlace src/main/services/utils.service.ts \
|
||||
--replace-fail "process.resourcesPath" "'$out/share/bs-manager/resources'"
|
||||
|
||||
# replace vendored DepotDownloader with our own
|
||||
rm assets/scripts/DepotDownloader
|
||||
ln -s ${finalAttrs.passthru.depotdownloader}/bin/DepotDownloader assets/scripts/DepotDownloader
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-VsCbz7ImDnJ0tonVhA4lOPA0w//tqF4hLhrReLUqYI8=";
|
||||
|
||||
extraNpmDeps = fetchNpmDeps {
|
||||
name = "bs-manager-${finalAttrs.version}-extra-npm-deps";
|
||||
inherit (finalAttrs) src;
|
||||
sourceRoot = "${finalAttrs.src.name}/release/app";
|
||||
hash = "sha256-JqDsv9kvYnbJdNwXN1EbppSrFVqr2cSnVhV2+8uw54g=";
|
||||
};
|
||||
|
||||
makeCacheWritable = true;
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
|
||||
npmRebuildFlags = [ "--ignore-scripts" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
asar
|
||||
autoPatchelfHook # for vendored DepotDownloader
|
||||
dpkg
|
||||
autoPatchelfHook # for some prebuilt node deps: query-process @resvg/resvg-js
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc
|
||||
zlib
|
||||
];
|
||||
|
||||
# DepotDownloader dlopen()s libssl
|
||||
runtimeDependencies = [
|
||||
(lib.getLib openssl)
|
||||
];
|
||||
preBuild = ''
|
||||
pushd release/app
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
rm -r "$npm_config_cache"
|
||||
npmDeps="$extraNpmDeps" npmConfigHook
|
||||
npm run postinstall
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
--config=electron-builder.config.js \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/opt/BSManager
|
||||
cp -r opt/BSManager/{locales,resources} $out/opt/BSManager
|
||||
cp -Tr usr/ $out
|
||||
for icon in build/icons/png/*.png; do
|
||||
install -Dm644 $icon $out/share/icons/hicolor/$(basename $icon .png)/apps/bs-manager.png
|
||||
done
|
||||
|
||||
# Some assets aren't included in the asar bundle. BSManager relies on
|
||||
# process.resourcesPath to load some of these assets which we have to patch later
|
||||
asar extract $out/opt/BSManager/resources/app.asar $out/opt/BSManager/resources
|
||||
rm $out/opt/BSManager/resources/app.asar
|
||||
mkdir -p $out/share/bs-manager
|
||||
cp -r release/build/*-unpacked/{locales,resources{,.pak}} $out/share/bs-manager
|
||||
|
||||
# Update desktop Exec entry
|
||||
substituteInPlace $out/share/applications/bs-manager.desktop \
|
||||
--replace-fail Exec=/opt/BSManager/bs-manager Exec=bs-manager
|
||||
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${lib.getExe electron} $out/bin/bs-manager \
|
||||
--set-default ELECTRON_FORCE_IS_PACKAGED 1 \
|
||||
--add-flags $out/opt/BSManager/resources \
|
||||
--add-flags $out/share/bs-manager/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--prefix PATH : ${lib.makeBinPath [ steam-run-free ]} \
|
||||
--inherit-argv0
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
substituteInPlace "$out/opt/BSManager/resources/dist/main/main.js" \
|
||||
--replace-fail "process.resourcesPath" "'$out/opt/BSManager/resources'"
|
||||
'';
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
desktopName = "BSManager";
|
||||
name = "BSManager";
|
||||
exec = "bs-manager";
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
icon = "bs-manager";
|
||||
mimeTypes = [
|
||||
"x-scheme-handler/bsmanager"
|
||||
"x-scheme-handler/beatsaver"
|
||||
"x-scheme-handler/bsplaylist"
|
||||
"x-scheme-handler/modelsaber"
|
||||
"x-scheme-handler/web+bsmap"
|
||||
];
|
||||
categories = [
|
||||
"Utility"
|
||||
"Game"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
depotdownloader = callPackage ./depotdownloader { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/Zagrios/bs-manager/blob/master/CHANGELOG.md";
|
||||
changelog = "https://github.com/Zagrios/bs-manager/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
description = "Your Beat Saber Assistant";
|
||||
homepage = "https://github.com/Zagrios/bs-manager";
|
||||
license = lib.licenses.gpl3Only;
|
||||
@@ -89,8 +145,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
mistyttm
|
||||
Scrumplex
|
||||
ImSapphire
|
||||
tomasajt
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
sourceProvenance = with lib.sourceTypes; [
|
||||
binaryNativeCode # prebuilt node deps
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
|
||||
40
pkgs/by-name/bs/bs-manager/use-steam-run-for-wine.patch
Normal file
40
pkgs/by-name/bs/bs-manager/use-steam-run-for-wine.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
diff --git a/src/main/services/linux.service.ts b/src/main/services/linux.service.ts
|
||||
index 7f92bed..5f12896 100644
|
||||
--- a/src/main/services/linux.service.ts
|
||||
+++ b/src/main/services/linux.service.ts
|
||||
@@ -129,12 +129,7 @@ export class LinuxService {
|
||||
return fs.pathExistsSync(protonPath) && fs.pathExistsSync(winePath);
|
||||
}
|
||||
|
||||
- public async getWinePath(): Promise<string> {
|
||||
- if (await this.isNixOS()) {
|
||||
- // Use system wine for nixos
|
||||
- return "wine";
|
||||
- }
|
||||
-
|
||||
+ public getWinePath(): string {
|
||||
if (!this.staticConfig.has("proton-folder")) {
|
||||
throw new Error("proton-folder variable not set");
|
||||
}
|
||||
diff --git a/src/main/services/mods/bs-mods-manager.service.ts b/src/main/services/mods/bs-mods-manager.service.ts
|
||||
index c842fda..60cc190 100644
|
||||
--- a/src/main/services/mods/bs-mods-manager.service.ts
|
||||
+++ b/src/main/services/mods/bs-mods-manager.service.ts
|
||||
@@ -162,12 +162,15 @@ export class BsModsManagerService {
|
||||
let winePath: string = "";
|
||||
if (process.platform === "linux") {
|
||||
const { error: winePathError, result: winePathResult } =
|
||||
- await tryit(async () => this.linuxService.getWinePath());
|
||||
+ tryit(() => this.linuxService.getWinePath());
|
||||
if (winePathError) {
|
||||
log.error(winePathError);
|
||||
return false;
|
||||
}
|
||||
- winePath = `"${winePathResult}"`;
|
||||
+
|
||||
+ winePath = await this.linuxService.isNixOS()
|
||||
+ ? `steam-run "${winePathResult}"`
|
||||
+ : `"${winePathResult}"`;
|
||||
|
||||
const winePrefix = this.linuxService.getWinePrefixPath();
|
||||
if (!winePrefix) {
|
||||
69
pkgs/by-name/ca/cato-client/package.nix
Normal file
69
pkgs/by-name/ca/cato-client/package.nix
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
writeScript,
|
||||
autoPatchelfHook,
|
||||
dpkg,
|
||||
libz,
|
||||
lib,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cato-client";
|
||||
version = "5.2.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://clients.catonetworks.com/linux/${version}/cato-client-install.deb";
|
||||
sha256 = "sha256-0hUchaxaiKJth2ByQMFfjsCLi/4kl+SrNSQ33Y6r3WA=";
|
||||
};
|
||||
|
||||
passthru.updateScript = writeScript "update-cato-client" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
version="$(curl -sI https://clientdownload.catonetworks.com/public/clients/cato-client-install.deb | grep -Fi 'Location:' | pcre2grep -o1 '/(([0-9]\.?)+)/')"
|
||||
update-source-version cato-client "$version"
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libz
|
||||
stdenv.cc.cc
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
dpkg -x $src source
|
||||
cd source
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir $out
|
||||
|
||||
mv usr/lib $out/lib
|
||||
|
||||
mkdir -p $out/bin
|
||||
mv usr/sbin/* $out/bin
|
||||
mv usr/bin/* $out/bin
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Lightweight agent that provides secure zero-trust access to resources everywhere";
|
||||
homepage = "https://www.catonetworks.com/platform/cato-client/";
|
||||
mainProgram = "cato-sdp";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ yarekt ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "cfripper";
|
||||
version = "1.17.0";
|
||||
version = "1.17.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Skyscanner";
|
||||
repo = "cfripper";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-xmCI+rM8Ijj66Df6H5WFpxTDkKqW5CPwXh+w/Qaqooc=";
|
||||
hash = "sha256-qAsIm1mcvMQshKActmFZuxgH3Yyzvw6m7e8DklG1AQ4=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
@@ -62,7 +62,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
meta = with lib; {
|
||||
description = "Tool for analysing CloudFormation templates";
|
||||
homepage = "https://github.com/Skyscanner/cfripper";
|
||||
changelog = "https://github.com/Skyscanner/cfripper/releases/tag/v${version}";
|
||||
changelog = "https://github.com/Skyscanner/cfripper/releases/tag/${src.tag}";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "cfripper";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "cntb";
|
||||
version = "1.5.4";
|
||||
version = "1.5.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "contabo";
|
||||
repo = "cntb";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-4QS1fkXVcGxhZDPRLDc0xKl4jr8W4og/Qf591i3gzxk=";
|
||||
hash = "sha256-chO59HBpMXXFMIt+7UjUxE3WtzUak8VhD/ahEXT5l/k=";
|
||||
# docs contains two files with the same name but different cases,
|
||||
# this leads to a different hash on case insensitive filesystems (e.g. darwin)
|
||||
# https://github.com/contabo/cntb/issues/34
|
||||
@@ -22,7 +22,7 @@ buildGoModule rec {
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
vendorHash = "sha256-LOGSllVQ28bXaqHXEv1Zd1vcTRZTZ5wy+gSQv1JWKMU=";
|
||||
vendorHash = "sha256-D0B1a2qbTGpAK1PkB+wqsReft14/SoKY3/I6k+pB2D0=";
|
||||
|
||||
ldflags = [
|
||||
"-X contabo.com/cli/cntb/cmd.version=${src.rev}"
|
||||
|
||||
@@ -41,13 +41,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit";
|
||||
version = "337";
|
||||
version = "338";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-49ijtHUP0Z1ZfiydFfDlEv290yBVDo8ZsBktokdDu8I=";
|
||||
hash = "sha256-ZNvMLzkDh1SuyHuChWM0YykSYu152JHvjrKVm+u0Upw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,267 +0,0 @@
|
||||
{
|
||||
clangStdenv,
|
||||
lib,
|
||||
runCommandWith,
|
||||
writeShellScript,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
nixosTests,
|
||||
|
||||
freetype,
|
||||
libjpeg,
|
||||
libpng,
|
||||
libtiff,
|
||||
giflib,
|
||||
libX11,
|
||||
libXext,
|
||||
libXrandr,
|
||||
libXcursor,
|
||||
libxkbfile,
|
||||
cairo,
|
||||
libglvnd,
|
||||
fontconfig,
|
||||
dbus,
|
||||
libGLU,
|
||||
fuse,
|
||||
ffmpeg,
|
||||
pulseaudio,
|
||||
|
||||
makeWrapper,
|
||||
python2,
|
||||
python3,
|
||||
cmake,
|
||||
ninja,
|
||||
pkg-config,
|
||||
bison,
|
||||
flex,
|
||||
|
||||
libbsd,
|
||||
openssl,
|
||||
|
||||
xdg-user-dirs,
|
||||
|
||||
addDriverRunpath,
|
||||
|
||||
# Whether to pre-compile Python 2 bytecode for performance.
|
||||
compilePy2Bytecode ? false,
|
||||
}:
|
||||
let
|
||||
stdenv = clangStdenv;
|
||||
|
||||
# The build system invokes clang to compile Darwin executables.
|
||||
# In this case, our cc-wrapper must not be used.
|
||||
ccWrapperBypass =
|
||||
runCommandWith
|
||||
{
|
||||
inherit stdenv;
|
||||
name = "cc-wrapper-bypass";
|
||||
runLocal = false;
|
||||
derivationArgs = {
|
||||
template = writeShellScript "template" ''
|
||||
for (( i=1; i<=$#; i++)); do
|
||||
j=$((i+1))
|
||||
if [[ "''${!i}" == "-target" && "''${!j}" == *"darwin"* ]]; then
|
||||
# their flags must take precedence
|
||||
exec @unwrapped@ "$@" $NIX_CFLAGS_COMPILE
|
||||
fi
|
||||
done
|
||||
exec @wrapped@ "$@"
|
||||
'';
|
||||
};
|
||||
}
|
||||
''
|
||||
unwrapped_bin=${stdenv.cc.cc}/bin
|
||||
wrapped_bin=${stdenv.cc}/bin
|
||||
|
||||
mkdir -p $out/bin
|
||||
|
||||
unwrapped=$unwrapped_bin/$CC wrapped=$wrapped_bin/$CC \
|
||||
substituteAll $template $out/bin/$CC
|
||||
unwrapped=$unwrapped_bin/$CXX wrapped=$wrapped_bin/$CXX \
|
||||
substituteAll $template $out/bin/$CXX
|
||||
|
||||
chmod +x $out/bin/$CC $out/bin/$CXX
|
||||
'';
|
||||
|
||||
wrappedLibs = [
|
||||
# To find all of them: rg -w wrap_elf
|
||||
|
||||
# src/native/CMakeLists.txt
|
||||
freetype
|
||||
libjpeg
|
||||
libpng
|
||||
libtiff
|
||||
giflib
|
||||
libX11
|
||||
libXext
|
||||
libXrandr
|
||||
libXcursor
|
||||
libxkbfile
|
||||
cairo
|
||||
libglvnd
|
||||
fontconfig
|
||||
dbus
|
||||
libGLU
|
||||
|
||||
# src/external/darling-dmg/CMakeLists.txt
|
||||
fuse
|
||||
|
||||
# src/CoreAudio/CMakeLists.txt
|
||||
ffmpeg
|
||||
pulseaudio
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "darling";
|
||||
version = "unstable-2024-02-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "darlinghq";
|
||||
repo = "darling";
|
||||
rev = "25afbc76428c39c3909e9efcf5caef1140425211";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-z9IMgc5hH2Upn8wHl1OgP42q9HTSkeHnxB3N812A+Kc=";
|
||||
# Remove 500MB of dependency test files to get under Hydra output limit
|
||||
postFetch = ''
|
||||
rm -r $out/src/external/openjdk/test
|
||||
rm -r $out/src/external/libmalloc/tests
|
||||
rm -r $out/src/external/libarchive/libarchive/tar/test
|
||||
'';
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"sdk"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix 'clang: error: no such file or directory: .../signal/mach_excUser.c'
|
||||
# https://github.com/darlinghq/darling/issues/1511
|
||||
# https://github.com/darlinghq/darling/commit/f46eb721c11d32addd807f092f4b3a6ea515bb6d
|
||||
(fetchpatch {
|
||||
url = "https://github.com/darlinghq/darling/commit/f46eb721c11d32addd807f092f4b3a6ea515bb6d.patch?full_index=1";
|
||||
hash = "sha256-FnLcHnK4cNto+E3OQSxE3iK+FHSU8y459FcpMvrzd6o=";
|
||||
})
|
||||
|
||||
# Fix compatibility with ffmpeg_7
|
||||
# https://github.com/darlinghq/darling/pull/1537
|
||||
# https://github.com/darlinghq/darling/commit/9655d5598c87dcb22c54a83cc7741b77cb47a1b0
|
||||
(fetchpatch {
|
||||
url = "https://github.com/darlinghq/darling/commit/9655d5598c87dcb22c54a83cc7741b77cb47a1b0.patch?full_index=1";
|
||||
hash = "sha256-ogMo4SRRwiOhaVJ+OS8BVolGDa7vGKyR9bdGiOiCuRc=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# We have to be careful - Patching everything indiscriminately
|
||||
# would affect Darwin scripts as well
|
||||
chmod +x src/external/bootstrap_cmds/migcom.tproj/mig.sh
|
||||
patchShebangs \
|
||||
src/external/bootstrap_cmds/migcom.tproj/mig.sh \
|
||||
src/external/darlingserver/scripts \
|
||||
src/external/openssl_certificates/scripts
|
||||
|
||||
substituteInPlace src/startup/CMakeLists.txt --replace SETUID ""
|
||||
substituteInPlace src/external/basic_cmds/CMakeLists.txt --replace SETGID ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
ccWrapperBypass
|
||||
cmake
|
||||
flex
|
||||
makeWrapper
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
] ++ lib.optional compilePy2Bytecode python2;
|
||||
buildInputs = wrappedLibs ++ [
|
||||
libbsd
|
||||
openssl
|
||||
stdenv.cc.libc.linuxHeaders
|
||||
];
|
||||
|
||||
# Breaks valid paths like
|
||||
# Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
|
||||
dontFixCmake = true;
|
||||
|
||||
# src/external/objc4 forces OBJC_IS_DEBUG_BUILD=1, which conflicts with NDEBUG
|
||||
# TODO: Fix in a better way
|
||||
cmakeBuildType = " ";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DTARGET_i386=OFF"
|
||||
"-DCOMPILE_PY2_BYTECODE=${if compilePy2Bytecode then "ON" else "OFF"}"
|
||||
"-DDARLINGSERVER_XDG_USER_DIR_CMD=${xdg-user-dirs}/bin/xdg-user-dir"
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-macro-redefined -Wno-unused-command-line-argument";
|
||||
|
||||
# Linux .so's are dlopen'd by wrapgen during the build
|
||||
env.LD_LIBRARY_PATH = lib.makeLibraryPath wrappedLibs;
|
||||
|
||||
# Breaks shebangs of Darwin scripts
|
||||
dontPatchShebangs = true;
|
||||
|
||||
postInstall = ''
|
||||
# Install the SDK as a separate output
|
||||
mkdir -p $sdk
|
||||
|
||||
sdkDir=$(readlink -f ../Developer)
|
||||
|
||||
while read -r path; do
|
||||
dst="$sdk/Developer/''${path#$sdkDir}"
|
||||
|
||||
if [[ -L "$path" ]]; then
|
||||
target=$(readlink -m "$path")
|
||||
if [[ -e "$target" && "$target" == "$NIX_BUILD_TOP"* && "$target" != "$sdkDir"* ]]; then
|
||||
# dereference
|
||||
cp -r -L "$path" "$dst"
|
||||
elif [[ -e "$target" ]]; then
|
||||
# preserve symlink
|
||||
cp -d "$path" "$dst"
|
||||
else
|
||||
# ignore symlink
|
||||
>&2 echo "Ignoring symlink $path -> $target"
|
||||
fi
|
||||
elif [[ -f $path ]]; then
|
||||
cp "$path" "$dst"
|
||||
elif [[ -d $path ]]; then
|
||||
mkdir -p "$dst"
|
||||
fi
|
||||
done < <(find $sdkDir)
|
||||
|
||||
mkdir -p $sdk/bin
|
||||
cp src/external/cctools-port/cctools/ld64/src/*-ld $sdk/bin
|
||||
cp src/external/cctools-port/cctools/ar/*-{ar,ranlib} $sdk/bin
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
echo "Checking for references to $NIX_STORE in Darling root..."
|
||||
|
||||
set +e
|
||||
grep -r --exclude=mldr "$NIX_STORE" $out/libexec/darling
|
||||
ret=$?
|
||||
set -e
|
||||
|
||||
if [[ $ret == 0 ]]; then
|
||||
echo "Found references to $NIX_STORE in Darling root (see above)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
patchelf --add-rpath "${lib.makeLibraryPath wrappedLibs}:${addDriverRunpath.driverLink}/lib" \
|
||||
$out/libexec/darling/usr/libexec/darling/mldr
|
||||
'';
|
||||
|
||||
passthru.tests.nixos = nixosTests.darling;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open-source Darwin/macOS emulation layer for Linux";
|
||||
homepage = "https://www.darlinghq.org";
|
||||
changelog = "https://github.com/darlinghq/darling/releases";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ zhaofengli ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "darling";
|
||||
};
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{ mkDprintPlugin }:
|
||||
mkDprintPlugin {
|
||||
description = "TypeScript/JavaScript code formatter.";
|
||||
hash = "sha256-Nvgd5d4aHJ07OXDlpelymS/f0N1cF8GQH4o4fCilb2g=";
|
||||
hash = "sha256-IHbpEwTATwAmVa/ihGjQzQL/WwWo8owslJtWYUjVF+g=";
|
||||
initConfig = {
|
||||
configExcludes = [ "**/node_modules" ];
|
||||
configKey = "typescript";
|
||||
@@ -16,6 +16,6 @@ mkDprintPlugin {
|
||||
};
|
||||
pname = "dprint-plugin-typescript";
|
||||
updateUrl = "https://plugins.dprint.dev/dprint/typescript/latest.json";
|
||||
url = "https://plugins.dprint.dev/typescript-0.95.0.wasm";
|
||||
version = "0.95.0";
|
||||
url = "https://plugins.dprint.dev/typescript-0.95.1.wasm";
|
||||
version = "0.95.1";
|
||||
}
|
||||
|
||||
54
pkgs/by-name/el/elfdeps/package.nix
Normal file
54
pkgs/by-name/el/elfdeps/package.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "elfdeps";
|
||||
version = "0.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "python-wheel-build";
|
||||
repo = "elfdeps";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-5CrxVmtZcBYBMXw7o58CpFopYFgXD4W/S42aow1z1Xw=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = [ python3Packages.pyelftools ];
|
||||
|
||||
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"elfdeps"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export PATH=$PATH:$out/bin
|
||||
'';
|
||||
|
||||
# tests assume that sys.executable is an ELF object
|
||||
doCheck = stdenv.hostPlatform.isElf;
|
||||
|
||||
disabledTests = [
|
||||
# Attempts to zip sys.executable and fails with:
|
||||
# ValueError: ZIP does not support timestamps before 1980
|
||||
"test_main_zipfile"
|
||||
"test_zipmember_python"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Python implementation of RPM elfdeps";
|
||||
homepage = "https://pypi.org/project/elfdeps/";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ booxter ];
|
||||
mainProgram = "elfdeps";
|
||||
};
|
||||
}
|
||||
@@ -62,13 +62,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "freerdp";
|
||||
version = "3.14.1";
|
||||
version = "3.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeRDP";
|
||||
repo = "FreeRDP";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-3hBssoD6l0d1DC5SRhE7HQlcoxNPjz3G8jbQx2rzp60=";
|
||||
hash = "sha256-xz1vP58hElXe/jLVrJOSpXcbqShBV7LHRpzqPLa2fDU=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
|
||||
62
pkgs/by-name/fr/fromager/package.nix
Normal file
62
pkgs/by-name/fr/fromager/package.nix
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "fromager";
|
||||
version = "0.46.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "python-wheel-build";
|
||||
repo = "fromager";
|
||||
tag = version;
|
||||
hash = "sha256-SBb5gWV8/t3oRAR2R5T72DW1LKrxXXH6yho9l7agsNI=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
click
|
||||
elfdeps
|
||||
html5lib
|
||||
packaging
|
||||
pkginfo
|
||||
psutil
|
||||
pydantic
|
||||
pyproject-hooks
|
||||
pyyaml
|
||||
requests
|
||||
resolvelib
|
||||
rich
|
||||
setuptools
|
||||
stevedore
|
||||
tomlkit
|
||||
tqdm
|
||||
virtualenv
|
||||
wheel
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
requests-mock
|
||||
twine
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"fromager"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Wheel maker";
|
||||
homepage = "https://pypi.org/project/fromager/";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ booxter ];
|
||||
mainProgram = "fromager";
|
||||
};
|
||||
}
|
||||
@@ -13,6 +13,7 @@
|
||||
gnused,
|
||||
util-linux,
|
||||
xdg-utils,
|
||||
zsh,
|
||||
unstableGitUpdater,
|
||||
}:
|
||||
|
||||
@@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
|
||||
-e "s,\bsed\b,${gnused}/bin/sed," \
|
||||
-e "s,\bxargs\b,${findutils}/bin/xargs," \
|
||||
-e "s,\bxdg-open\b,${xdg-utils}/bin/xdg-open," \
|
||||
-e "s,\bzsh\b,${zsh}/bin/zsh," \
|
||||
-e "/display-message\|fzf-git-\$o-widget\|\burl=\|\$remote_url =~ /!s,\bgit\b,${git}/bin/git,g" \
|
||||
-e "s,__fzf_git=.*BASH_SOURCE.*,__fzf_git=$out/share/${pname}/fzf-git.sh," \
|
||||
-e "/__fzf_git=.*readlink.*/d" \
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gale";
|
||||
version = "1.5.6";
|
||||
version = "1.5.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kesomannen";
|
||||
repo = "gale";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-YNTmREWSsXjQ8S2bM9JTsoTdPCmPnmt/svhTOoUFEs4=";
|
||||
hash = "sha256-5iJ04/q/emPwG0ILurFx2gNlXkZrfP2D6xv25AIlhfc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
npmDeps = fetchNpmDeps {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-EFP2Lwqg2bFaSCXXDPIAF6nfeV7/CH3XgI9fzxE+veA=";
|
||||
hash = "sha256-yaPUNtlb2vMwK42u+3/rViGx6YzhYxRDJylPu++tbNs=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src
|
||||
cargoRoot
|
||||
;
|
||||
hash = "sha256-AsViBPdXNzQBnN3Vv8ojfdG7fvy5DN3FiQHTzdLmxyQ=";
|
||||
hash = "sha256-GGH5kQlnYIlKbTAKbF275mH4J9BcbcBHSdzP7RgfDwk=";
|
||||
};
|
||||
|
||||
cargoRoot = "src-tauri";
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "git-town";
|
||||
version = "19.0.0";
|
||||
version = "20.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-town";
|
||||
repo = "git-town";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-To+WtPkMbVDuUBaOkemua9i7WOs/X214YunWtbKt02Y=";
|
||||
hash = "sha256-RoSLRGi//vk/jp/6rxI//cKdeoNL8nI73ZdeRKDesfs=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
13
pkgs/by-name/go/gopher/int_main.patch
Normal file
13
pkgs/by-name/go/gopher/int_main.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/configure b/configure
|
||||
index 1b20711..79ce215 100644
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -679,7 +679,7 @@ cat > conftest.$ac_ext << EOF
|
||||
#line 680 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
-main(){return(0);}
|
||||
+int main(){return(0);}
|
||||
EOF
|
||||
if { (eval echo configure:685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
ac_cv_prog_cc_works=yes
|
||||
@@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
patches = [
|
||||
./int_main.patch # https://github.com/jgoerzen/gopher/pull/8
|
||||
];
|
||||
|
||||
preConfigure = "export LIBS=-lncurses";
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -11,18 +11,18 @@
|
||||
}:
|
||||
let
|
||||
pname = "homebox";
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sysadminsmedia";
|
||||
repo = "homebox";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-6iNlx0lBVU/awUZHqRYFKe84D86EJNFF7Nm1XChs75w=";
|
||||
hash = "sha256-98V2JnxHnMkW8YD8QekNgKeh9aPp0mcosmGh07GAFaU=";
|
||||
};
|
||||
in
|
||||
buildGo123Module {
|
||||
inherit pname version src;
|
||||
|
||||
vendorHash = "sha256-TxuydZjlT8Y4BB77Z8Tyn8j0SPTU2O12TNm9PQGZXTw=";
|
||||
vendorHash = "sha256-SkfYNOyRlcUSfga0g8o7yIvxgdL9SMxgVgRjIcPru0A=";
|
||||
modRoot = "backend";
|
||||
# the goModules derivation inherits our buildInputs and buildPhases
|
||||
# Since we do pnpm thing in those it fails if we don't explicitly remove them
|
||||
@@ -38,7 +38,7 @@ buildGo123Module {
|
||||
pnpmDeps = pnpm_9.fetchDeps {
|
||||
inherit pname version;
|
||||
src = "${src}/frontend";
|
||||
hash = "sha256-NjuthspxojlrCofAj4Egre8s5PG7vvPJW5mzrvAW4TQ=";
|
||||
hash = "sha256-6Q+tIY5dl5jCQyv1F8btLdJg0oEUGs0Wyu/joVdVhf8=";
|
||||
};
|
||||
pnpmRoot = "../frontend";
|
||||
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hwloc";
|
||||
version = "2.12.0";
|
||||
version = "2.12.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.open-mpi.org/software/hwloc/v${lib.versions.majorMinor version}/downloads/hwloc-${version}.tar.bz2";
|
||||
hash = "sha256-BqCivcClcU6DkWRoOEag6TaoliE3WOnTfkniMricWNQ=";
|
||||
hash = "sha256-OKkDKLuGJZ+bsv4dxX/YQeER0eY1gBK+8j39ldIdxms=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
||||
@@ -23,16 +23,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "kando";
|
||||
version = "1.7.0";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kando-menu";
|
||||
repo = "kando";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ihWHyafDU/B2Xb3ezNlC7hB8EhBCQOSuW+ki/V2SIPs=";
|
||||
hash = "sha256-4toYogcxvNS+J/OphXM1HtH61FZRmnLsgxOJtJgkVdM=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-PnKrTHAo3mKcVBhJQf/273k91UZxlDb3+2iXWGIfPs0=";
|
||||
npmDepsHash = "sha256-lyCIuvyoVhcrNDDg0P3lSY8ru81momG1EKKT5u4yW8Y=";
|
||||
|
||||
npmFlags = [ "--ignore-scripts" ];
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ let
|
||||
|
||||
imageHash =
|
||||
{
|
||||
"x86_64-linux" = "sha256-6ySKAqrbHDRgVlI7wm2p4Uw96ZMzUpP00liujxlruSM=";
|
||||
"aarch64-linux" = "sha256-pEPkDXT4OunfN2sGb8Ru05tFHaBsYUcmG5Iy7yH4kX8=";
|
||||
"x86_64-linux" = "sha256-7xDc5Rr3rP36zS3kpM2QEqOCtmka3EAnts4Z1h8MNWY=";
|
||||
"aarch64-linux" = "sha256-8nLHTPetEfIrdtrpiT9Czcpf0NhL97TZ2DXyeBL04LA=";
|
||||
}
|
||||
."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.7.0";
|
||||
version = "3.16.0";
|
||||
|
||||
kata-images = callPackage ./kata-images.nix { inherit version; };
|
||||
|
||||
@@ -34,7 +34,7 @@ buildGoModule rec {
|
||||
owner = "kata-containers";
|
||||
repo = "kata-containers";
|
||||
rev = version;
|
||||
hash = "sha256-Ir+/ZZJHm6E+044wczU3UvL+Py9Wprgw2QKJaYyDrKU=";
|
||||
hash = "sha256-+SppAF77NbXlSrBGvIm40AmNC12GrexbX7fAPBoDAcs=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/src/runtime";
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"stable": {
|
||||
"version": "5.15.1",
|
||||
"hash": "sha256-nN5bOoLtj5zL5dXZkA/P3sDxZwu/LKfXnMnCxtKJbC0="
|
||||
"version": "5.16.4",
|
||||
"hash": "sha256-1ERKook2z8fKHOkAi43fU0amBgQaxYewFYCQGjFcF3o="
|
||||
},
|
||||
"beta": {
|
||||
"version": "5.15.1",
|
||||
"hash": "sha256-nN5bOoLtj5zL5dXZkA/P3sDxZwu/LKfXnMnCxtKJbC0="
|
||||
"version": "5.16.4",
|
||||
"hash": "sha256-1ERKook2z8fKHOkAi43fU0amBgQaxYewFYCQGjFcF3o="
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
#
|
||||
# Ensure you also check ../mattermostLatest/package.nix.
|
||||
regex = "^v(10\\.5\\.[0-9]+)$";
|
||||
version = "10.5.4";
|
||||
srcHash = "sha256-qf+OabB+QUaWRQTakuRy2dhUlmBv11Fdd8yh5QolVB0=";
|
||||
version = "10.5.5";
|
||||
srcHash = "sha256-ptyBYZvxCnqD3SX1Cy1uNFjM8wvBHDrroGsu1SnnuJs=";
|
||||
vendorHash = "sha256-9Jl+lxvSoxUReziTqkDRyeNrijGWcBDbqoywJRIeD2k=";
|
||||
npmDepsHash = "sha256-tIeuDUZbqgqooDm5TRfViiTT5OIyN0BPwvJdI+wf7p0=";
|
||||
lockfileOverlay = ''
|
||||
|
||||
@@ -21,17 +21,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mise";
|
||||
version = "2025.4.11";
|
||||
version = "2025.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jdx";
|
||||
repo = "mise";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-qnVLVT+evB/gUxU8HQaOhT3imdtVN2Iwh+7ldx6NR6s=";
|
||||
hash = "sha256-BNGjkWBw2RKHmZH5HYy7AGALaVLStXK91ilw9K8iO0U=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-TBkU10eqNT5825QlDyeBUAw3CZXUGSu4ufoC5XrmJ04=";
|
||||
cargoHash = "sha256-1bbj66+h9gnXqpf55cprqzZ5Ld44dsfET3FldututR4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
39
pkgs/by-name/ni/nightlight/package.nix
Normal file
39
pkgs/by-name/ni/nightlight/package.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nightlight";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "smudge";
|
||||
repo = "nightlight";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-NOphjrqsnO5693Zw3NkX3c74I3PdJ8W6sxYwOEJ1yCU=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
|
||||
cargoHash = "sha256-v5Oo1AxwvJs66l9CtVjO+WfwgsM16zSLT1SSnDi1kSo=";
|
||||
|
||||
checkFlags = [
|
||||
"--skip=repl"
|
||||
"--skip=printer::tests"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/smudge/nightlight";
|
||||
description = "CLI tool for configuring Night Shift macOS";
|
||||
maintainers = with lib.maintainers; [ aspauldingcode ];
|
||||
platforms = lib.platforms.darwin;
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "nightlight";
|
||||
};
|
||||
}
|
||||
@@ -11,17 +11,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nix-forecast";
|
||||
version = "0.3.0";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getchoo";
|
||||
repo = "nix-forecast";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-di9RV4xSCqIa+UCdALAEdR0cDq3u799L3YyFyAF+bRg=";
|
||||
hash = "sha256-GTINiV+oHmu1/DmQsE7UjfAFFtH26LK35TveW437lPA=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-n5LKfHBmua8iridnHY0C6ayjREwnqQpDI75+Ips4aNc=";
|
||||
cargoHash = "sha256-FQph9QOc0JrVjdilUxjRc77/obICK7fgzcDuqAoE2cs=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -52,15 +52,19 @@ buildGoModule rec {
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace internal/config/config.go \
|
||||
--replace '/usr/bin/nvidia-container-runtime-hook' "$tools/bin/nvidia-container-runtime-hook" \
|
||||
--replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
|
||||
--replace-fail '/usr/bin/nvidia-container-runtime-hook' "$tools/bin/nvidia-container-runtime-hook" \
|
||||
--replace-fail '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
|
||||
|
||||
substituteInPlace tools/container/toolkit/toolkit.go \
|
||||
--replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
|
||||
--replace-fail '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
|
||||
|
||||
substituteInPlace cmd/nvidia-cdi-hook/update-ldcache/update-ldcache.go \
|
||||
--replace-fail '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
|
||||
'';
|
||||
|
||||
subPackages = [
|
||||
"cmd/nvidia-cdi-hook"
|
||||
"cmd/nvidia-container-runtime"
|
||||
"cmd/nvidia-container-runtime.cdi"
|
||||
"cmd/nvidia-container-runtime-hook"
|
||||
"cmd/nvidia-container-runtime.legacy"
|
||||
@@ -77,6 +81,8 @@ buildGoModule rec {
|
||||
# "-X name=value"
|
||||
"-X"
|
||||
"${cliVersionPackage}.version=${version}"
|
||||
"-X"
|
||||
"github.com/NVIDIA/nvidia-container-toolkit/internal/info.gitCommit=${src.rev}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -99,11 +105,13 @@ buildGoModule rec {
|
||||
|
||||
postInstall =
|
||||
''
|
||||
wrapProgram $out/bin/nvidia-container-runtime-hook \
|
||||
--prefix PATH : ${libnvidia-container}/bin
|
||||
|
||||
mkdir -p $tools/bin
|
||||
mv $out/bin/{nvidia-cdi-hook,nvidia-container-runtime.cdi,nvidia-container-runtime-hook,nvidia-container-runtime.legacy} $tools/bin
|
||||
mv $out/bin/{nvidia-cdi-hook,nvidia-container-runtime,nvidia-container-runtime.cdi,nvidia-container-runtime-hook,nvidia-container-runtime.legacy} $tools/bin
|
||||
|
||||
for bin in nvidia-container-runtime-hook nvidia-container-runtime; do
|
||||
wrapProgram $tools/bin/$bin \
|
||||
--prefix PATH : ${libnvidia-container}/bin:$out/bin
|
||||
done
|
||||
''
|
||||
+ lib.optionalString (configTemplate != null || configTemplatePath != null) ''
|
||||
mkdir -p $out/etc/nvidia-container-runtime
|
||||
@@ -119,6 +127,9 @@ buildGoModule rec {
|
||||
description = "NVIDIA Container Toolkit";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ cpcloud ];
|
||||
maintainers = with maintainers; [
|
||||
cpcloud
|
||||
christoph-heiss
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
python311Packages.buildPythonApplication rec {
|
||||
pname = "opensnitch-ui";
|
||||
version = "1.6.8";
|
||||
version = "1.6.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evilsocket";
|
||||
repo = "opensnitch";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-zn5kBnINLt/qqAbka9wShFLWJoMJ6SXu2OL6V6uQ2IM=";
|
||||
hash = "sha256-c+VAlm32/NXvUr5i0AY/zuTrFIQLtPxNNeSiQTMoJAY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -31,13 +31,13 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "opensnitch";
|
||||
version = "1.6.7";
|
||||
version = "1.6.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evilsocket";
|
||||
repo = "opensnitch";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-2BwFCRbVvs7pAM5SnhynWws2+QthB/F9V6DYPViDICU=";
|
||||
hash = "sha256-c+VAlm32/NXvUr5i0AY/zuTrFIQLtPxNNeSiQTMoJAY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
gnupg,
|
||||
coreutils,
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication {
|
||||
@@ -13,13 +14,13 @@ python3.pkgs.buildPythonApplication {
|
||||
# PyPI has old alpha version. Since then the project has switched from using a
|
||||
# seemingly abandoned D-Bus package pydbus and started using maintained
|
||||
# dbus-next. So let's use latest from GitHub.
|
||||
version = "unstable-2022-07-18";
|
||||
version = "0-unstable-2023-12-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mdellweg";
|
||||
repo = "pass_secret_service";
|
||||
rev = "fadc09be718ae1e507eeb8719f3a2ea23edb6d7a";
|
||||
hash = "sha256-lrNU5bkG4/fMu5rDywfiI8vNHyBsMf/fiWIeEHug03c=";
|
||||
rev = "6335c85d9a790a6472e3de6eff87a15208caa5dc";
|
||||
hash = "sha256-SSmI3HJCUWuwFXCu3Zg66X18POlzp3ADRj7HeE8GRio=";
|
||||
};
|
||||
|
||||
# Need to specify session.conf file for tests because it won't be found under
|
||||
@@ -65,7 +66,12 @@ python3.pkgs.buildPythonApplication {
|
||||
|
||||
checkTarget = "test";
|
||||
|
||||
passthru.tests.pass-secret-service = nixosTests.pass-secret-service;
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [ "--version=branch" ];
|
||||
};
|
||||
tests.pass-secret-service = nixosTests.pass-secret-service;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Libsecret D-Bus API with pass as the backend";
|
||||
|
||||
@@ -17,13 +17,13 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "polkadot";
|
||||
version = "2503";
|
||||
version = "2503-2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
repo = "polkadot-sdk";
|
||||
rev = "polkadot-stable${version}";
|
||||
hash = "sha256-nPZFmsf82JpBrOrErH5hrEcmieECfgA7JWzEyEh8AAE=";
|
||||
hash = "sha256-sUBUWFAJ8PwWUVSqPef0SMJcvSt+bGruTW+GmJGTLdE=";
|
||||
|
||||
# the build process of polkadot requires a .git folder in order to determine
|
||||
# the git commit hash that is being built and add it to the version string.
|
||||
@@ -45,7 +45,7 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-yOJyvpsEK4Ab/Bh6xmqAEHhj1Rq4u/CevcP7vJi0zxo=";
|
||||
cargoHash = "sha256-U3roe7rQL1BaHr3rKV1Dl7Lhjic3pZlxo2DpD9C2ong=";
|
||||
|
||||
buildType = "production";
|
||||
buildAndTestSubdir = "polkadot";
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "powerstation";
|
||||
version = "0.4.2";
|
||||
version = "0.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ShadowBlip";
|
||||
repo = "PowerStation";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-R6p3zuYWggnOy60iGZ6G23ig1gzezweswAxVrCB+zvU=";
|
||||
hash = "sha256-2NCUDR85LAWGYrxruHLSipgX41N/jgy/P34qfm+bOb4=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-3mOmDDDGW7AClG4tNuXti07lCNbK5bMnpWUnsxcxGPI=";
|
||||
cargoHash = "sha256-4ACSwxGSPEdbGeVL44SN4qCd7ActL1T0xKuebPvTHPk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
||||
@@ -14,18 +14,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "rofi-games";
|
||||
version = "1.10.9";
|
||||
version = "1.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rolv-Apneseth";
|
||||
repo = "rofi-games";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-VkhavN1nte0JYRn8PRER9B6baGiRr4Qr/L/yZ0cXZmc=";
|
||||
hash = "sha256-6sopWMiXA6UmZP2wNbl7RlDDBRz4rNLPrNd6XnaFQko=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-Ld6lFljnfNUwhoDOb8XdFka87E0Y+KN1GFnubUza/LY=";
|
||||
hash = "sha256-5ofRwE68SNFYcnBiGORsTjl6jSeDJ+6PJH+/SA1l07g=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -24,7 +24,9 @@
|
||||
xxHash,
|
||||
zstd,
|
||||
libarchive,
|
||||
withBlas ? true,
|
||||
# Enabling blas support breaks bayes filter training from dovecot in nixos-mailserver tests
|
||||
# https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/issues/321
|
||||
withBlas ? false,
|
||||
withLuaJIT ? stdenv.hostPlatform.isx86_64,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "stevenblack-blocklist";
|
||||
version = "3.15.34";
|
||||
version = "3.15.37";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "StevenBlack";
|
||||
repo = "hosts";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-FSZzTEQrjY4InqHo1wPbnqqwKHpbfV1Y5JJsYR/c6VU=";
|
||||
hash = "sha256-d254AsNQgjExXaGd9EQ5dZ1xy5nP6Zqe2INtR9IKMiQ=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
diff --git a/src/core/debugger/debugger.cpp b/src/core/debugger/debugger.cpp
|
||||
index e86aae8460..a4dca23770 100644
|
||||
--- a/src/core/debugger/debugger.cpp
|
||||
+++ b/src/core/debugger/debugger.cpp
|
||||
@@ -5,7 +5,13 @@
|
||||
#include <mutex>
|
||||
#include <thread>
|
||||
|
||||
-#include <boost/asio.hpp>
|
||||
+// Use basic asio functionality only
|
||||
+#define BOOST_ASIO_STANDALONE
|
||||
+#include <boost/asio/basic_io_object.hpp>
|
||||
+#include <boost/asio/ip/tcp.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/read.hpp>
|
||||
+
|
||||
#include <boost/process/async_pipe.hpp>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -21,17 +27,22 @@
|
||||
|
||||
template <typename Readable, typename Buffer, typename Callback>
|
||||
static void AsyncReceiveInto(Readable& r, Buffer& buffer, Callback&& c) {
|
||||
- static_assert(std::is_trivial_v<Buffer>);
|
||||
- auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
- r.async_read_some(
|
||||
- boost_buffer, [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
- if (!error.failed()) {
|
||||
- const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
- std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
- c(received_data);
|
||||
- AsyncReceiveInto(r, buffer, c);
|
||||
- }
|
||||
- });
|
||||
+ try {
|
||||
+ static_assert(std::is_trivial_v<Buffer>);
|
||||
+ auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
+ r.async_read_some(
|
||||
+ boost_buffer,
|
||||
+ [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
+ if (!error) {
|
||||
+ const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
+ std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
+ c(received_data);
|
||||
+ AsyncReceiveInto(r, buffer, c);
|
||||
+ }
|
||||
+ });
|
||||
+ } catch (const std::exception& e) {
|
||||
+ LOG_ERROR(Debug_GDBStub, "AsyncReceiveInto error: {}", e.what());
|
||||
+ }
|
||||
}
|
||||
|
||||
template <typename Callback>
|
||||
@@ -1,30 +0,0 @@
|
||||
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp
|
||||
index 60821b31a6..8f9c047218 100644
|
||||
--- a/src/input_common/drivers/udp_client.cpp
|
||||
+++ b/src/input_common/drivers/udp_client.cpp
|
||||
@@ -2,7 +2,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <random>
|
||||
-#include <boost/asio.hpp>
|
||||
+// Include only needed asio components
|
||||
+#include <boost/asio/io_context.hpp>
|
||||
+#include <boost/asio/ip/udp.hpp>
|
||||
+#include <boost/asio/basic_waitable_timer.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/buffer.hpp>
|
||||
+#include <boost/asio/basic_socket.hpp>
|
||||
+#include <boost/asio/ip/address.hpp>
|
||||
+#include <boost/asio/ip/address_v4.hpp>
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -113,7 +121,7 @@ private:
|
||||
}
|
||||
|
||||
SocketCallback callback;
|
||||
- boost::asio::io_service io_service;
|
||||
+ boost::asio::io_context io_service;
|
||||
boost::asio::basic_waitable_timer<clock> timer;
|
||||
udp::socket socket;
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/src/input_common/helpers/udp_protocol.h b/src/input_common/helpers/udp_protocol.h
|
||||
index db08fc62c5..ea223ea937 100644
|
||||
--- a/src/input_common/helpers/udp_protocol.h
|
||||
+++ b/src/input_common/helpers/udp_protocol.h
|
||||
@@ -69,7 +69,7 @@ Message<T> CreateMessage(const u32 magic, const T data, const u32 sender_id) {
|
||||
};
|
||||
Message<T> message{header, data};
|
||||
crc.process_bytes(&message, sizeof(Message<T>));
|
||||
- message.header.crc = crc.checksum();
|
||||
+ message.header.crc = static_cast<u32_le>(crc.checksum());
|
||||
return message;
|
||||
}
|
||||
|
||||
@@ -1,237 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
SDL2,
|
||||
autoconf,
|
||||
boost,
|
||||
catch2_3,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
cpp-jwt,
|
||||
cubeb,
|
||||
discord-rpc,
|
||||
enet,
|
||||
fetchgit,
|
||||
fetchurl,
|
||||
ffmpeg-headless,
|
||||
fmt,
|
||||
glslang,
|
||||
libopus,
|
||||
libusb1,
|
||||
libva,
|
||||
lz4,
|
||||
unzip,
|
||||
nix-update-script,
|
||||
nlohmann_json,
|
||||
nv-codec-headers-12,
|
||||
pkg-config,
|
||||
qt6,
|
||||
vulkan-headers,
|
||||
vulkan-loader,
|
||||
yasm,
|
||||
simpleini,
|
||||
zlib,
|
||||
vulkan-memory-allocator,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (qt6)
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
qtwebengine
|
||||
;
|
||||
|
||||
compat-list = stdenv.mkDerivation {
|
||||
pname = "yuzu-compatibility-list";
|
||||
version = "unstable-2024-02-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flathub";
|
||||
repo = "org.yuzu_emu.yuzu";
|
||||
rev = "9c2032a3c7e64772a8112b77ed8b660242172068";
|
||||
hash = "sha256-ITh/W4vfC9w9t+TJnPeTZwWifnhTNKX54JSSdpgaoBk=";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
cp $src/compatibility_list.json $out
|
||||
'';
|
||||
};
|
||||
|
||||
nx_tzdb = stdenv.mkDerivation rec {
|
||||
pname = "nx_tzdb";
|
||||
version = "221202";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/${version}/${version}.zip";
|
||||
hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
buildCommand = ''
|
||||
unzip $src -d $out
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "suyu";
|
||||
version = "0.0.4";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.suyu.dev/suyu/suyu";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GgLCbQI7u9neFxQq4borNhlg72FIYn+J5XkaK/7hpnQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove coroutines from debugger to fix boost::asio compatibility issues
|
||||
./fix-debugger.patch
|
||||
# Add explicit cast for CRC checksum value
|
||||
./fix-udp-protocol.patch
|
||||
# Use specific boost::asio includes and update to modern io_context
|
||||
./fix-udp-client.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glslang
|
||||
pkg-config
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# vulkan-headers must come first, so the older propagated versions
|
||||
# don't get picked up by accident
|
||||
vulkan-headers
|
||||
|
||||
boost
|
||||
catch2_3
|
||||
cpp-jwt
|
||||
cubeb
|
||||
discord-rpc
|
||||
# intentionally omitted: dynarmic - prefer vendored version for compatibility
|
||||
enet
|
||||
|
||||
# ffmpeg deps (also includes vendored)
|
||||
# we do not use internal ffmpeg because cuda errors
|
||||
autoconf
|
||||
yasm
|
||||
libva # for accelerated video decode on non-nvidia
|
||||
nv-codec-headers-12 # for accelerated video decode on nvidia
|
||||
ffmpeg-headless
|
||||
# end ffmpeg deps
|
||||
|
||||
fmt
|
||||
# intentionally omitted: gamemode - loaded dynamically at runtime
|
||||
# intentionally omitted: httplib - upstream requires an older version than what we have
|
||||
libopus
|
||||
libusb1
|
||||
# intentionally omitted: LLVM - heavy, only used for stack traces in the debugger
|
||||
lz4
|
||||
nlohmann_json
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
qtwebengine
|
||||
# intentionally omitted: renderdoc - heavy, developer only
|
||||
SDL2
|
||||
# intentionally omitted: stb - header only libraries, vendor uses git snapshot
|
||||
vulkan-memory-allocator
|
||||
# intentionally omitted: xbyak - prefer vendored version for compatibility
|
||||
zlib
|
||||
zstd
|
||||
];
|
||||
|
||||
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
|
||||
# making the build fail, as that path does not exist
|
||||
dontFixCmake = true;
|
||||
|
||||
cmakeFlags = [
|
||||
# actually has a noticeable performance impact
|
||||
(lib.cmakeBool "SUYU_ENABLE_LTO" true)
|
||||
|
||||
(lib.cmakeBool "ENABLE_QT6" true)
|
||||
(lib.cmakeBool "ENABLE_QT_TRANSLATION" true)
|
||||
|
||||
# use system libraries
|
||||
# NB: "external" here means "from the externals/ directory in the source",
|
||||
# so "off" means "use system"
|
||||
(lib.cmakeBool "SUYU_USE_EXTERNAL_SDL2" false)
|
||||
(lib.cmakeBool "SUYU_USE_EXTERNAL_VULKAN_HEADERS" true)
|
||||
"-DVulkan_INCLUDE_DIRS=${vulkan-headers}/include"
|
||||
|
||||
# # don't use system ffmpeg, suyu uses internal APIs
|
||||
# (lib.cmakeBool "SUYU_USE_BUNDLED_FFMPEG" true)
|
||||
|
||||
# don't check for missing submodules
|
||||
(lib.cmakeBool "SUYU_CHECK_SUBMODULES" false)
|
||||
|
||||
# enable some optional features
|
||||
(lib.cmakeBool "SUYU_USE_QT_WEB_ENGINE" true)
|
||||
(lib.cmakeBool "SUYU_USE_QT_MULTIMEDIA" true)
|
||||
(lib.cmakeBool "USE_DISCORD_PRESENCE" true)
|
||||
|
||||
# We dont want to bother upstream with potentially outdated compat reports
|
||||
(lib.cmakeBool "SUYU_ENABLE_COMPATIBILITY_REPORTING" false)
|
||||
(lib.cmakeBool "ENABLE_COMPATIBILITY_LIST_DOWNLOAD" false) # We provide this deterministically
|
||||
];
|
||||
|
||||
env = {
|
||||
# Does some handrolled SIMD
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isx86_64 "-msse4.1";
|
||||
};
|
||||
|
||||
qtWrapperArgs = [
|
||||
# Fixes vulkan detection.
|
||||
# FIXME: patchelf --add-rpath corrupts the binary for some reason, investigate
|
||||
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
|
||||
];
|
||||
|
||||
# Setting this through cmakeFlags does not work.
|
||||
# https://github.com/NixOS/nixpkgs/issues/114044
|
||||
preConfigure = lib.concatStringsSep "\n" [
|
||||
''
|
||||
cmakeFlagsArray+=(
|
||||
"-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}"
|
||||
"-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}"
|
||||
)
|
||||
''
|
||||
# provide pre-downloaded tz data
|
||||
''
|
||||
mkdir -p build/externals/nx_tzdb
|
||||
ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb
|
||||
''
|
||||
];
|
||||
|
||||
postConfigure = ''
|
||||
ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
|
||||
'';
|
||||
|
||||
postInstall = "
|
||||
install -Dm444 $src/dist/72-suyu-input.rules $out/lib/udev/rules.d/72-suyu-input.rules
|
||||
";
|
||||
|
||||
meta = {
|
||||
description = "Experimental Nintendo Switch emulator written in C++";
|
||||
homepage = "https://suyu.dev";
|
||||
mainProgram = "suyu";
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ liberodark ];
|
||||
license = with lib.licenses; [
|
||||
gpl3Plus
|
||||
# Icons
|
||||
asl20
|
||||
mit
|
||||
cc0
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -1,21 +1,26 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchPypi,
|
||||
python3Packages,
|
||||
fetchFromGitea,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "synadm";
|
||||
version = "0.47";
|
||||
format = "setuptools";
|
||||
version = "0.48";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Ts/WPonVa+DUvKKa/XbmDDWx3vW17z0orVaIREJfnO0=";
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "synadm";
|
||||
repo = "synadm";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-6t4CXXt22/yR0gIxSsM/r+zJQeoKz5q/Ifg8PLNojLI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
build-system = [ python3Packages.setuptools ];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
click
|
||||
click-option-group
|
||||
dnspython
|
||||
@@ -41,8 +46,9 @@ python3.pkgs.buildPythonApplication rec {
|
||||
conveniently issue commands available via its admin API's
|
||||
(element-hq/synapse@master/docs/admin_api)
|
||||
'';
|
||||
changelog = "https://github.com/JOJ0/synadm/releases/tag/v${version}";
|
||||
homepage = "https://github.com/JOJ0/synadm";
|
||||
changelog = "https://codeberg.org/synadm/synadm/releases/tag/${src.tag}";
|
||||
downloadPage = "https://codeberg.org/synadm/synadm";
|
||||
homepage = "https://synadm.readthedocs.io/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
diff --git a/src/video_core/host1x/vic.cpp b/src/video_core/host1x/vic.cpp
|
||||
index 3ad56bb80..57e6adbf8 100644
|
||||
--- a/src/video_core/host1x/vic.cpp
|
||||
+++ b/src/video_core/host1x/vic.cpp
|
||||
@@ -13,7 +13,8 @@
|
||||
#endif
|
||||
#elif defined(ARCHITECTURE_arm64)
|
||||
#pragma GCC diagnostic push
|
||||
-#pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
|
||||
+#pragma GCC diagnostic ignored "-Wconversion"
|
||||
+#pragma GCC diagnostic ignored "-Wshadow"
|
||||
#include <sse2neon.h>
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
@@ -1,53 +0,0 @@
|
||||
diff --git a/src/core/debugger/debugger.cpp b/src/core/debugger/debugger.cpp
|
||||
index e86aae8460..a4dca23770 100644
|
||||
--- a/src/core/debugger/debugger.cpp
|
||||
+++ b/src/core/debugger/debugger.cpp
|
||||
@@ -5,7 +5,13 @@
|
||||
#include <mutex>
|
||||
#include <thread>
|
||||
|
||||
-#include <boost/asio.hpp>
|
||||
+// Use basic asio functionality only
|
||||
+#define BOOST_ASIO_STANDALONE
|
||||
+#include <boost/asio/basic_io_object.hpp>
|
||||
+#include <boost/asio/ip/tcp.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/read.hpp>
|
||||
+
|
||||
#include <boost/process/async_pipe.hpp>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -21,17 +27,22 @@
|
||||
|
||||
template <typename Readable, typename Buffer, typename Callback>
|
||||
static void AsyncReceiveInto(Readable& r, Buffer& buffer, Callback&& c) {
|
||||
- static_assert(std::is_trivial_v<Buffer>);
|
||||
- auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
- r.async_read_some(
|
||||
- boost_buffer, [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
- if (!error.failed()) {
|
||||
- const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
- std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
- c(received_data);
|
||||
- AsyncReceiveInto(r, buffer, c);
|
||||
- }
|
||||
- });
|
||||
+ try {
|
||||
+ static_assert(std::is_trivial_v<Buffer>);
|
||||
+ auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
+ r.async_read_some(
|
||||
+ boost_buffer,
|
||||
+ [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
+ if (!error) {
|
||||
+ const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
+ std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
+ c(received_data);
|
||||
+ AsyncReceiveInto(r, buffer, c);
|
||||
+ }
|
||||
+ });
|
||||
+ } catch (const std::exception& e) {
|
||||
+ LOG_ERROR(Debug_GDBStub, "AsyncReceiveInto error: {}", e.what());
|
||||
+ }
|
||||
}
|
||||
|
||||
template <typename Callback>
|
||||
@@ -1,30 +0,0 @@
|
||||
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp
|
||||
index 60821b31a6..8f9c047218 100644
|
||||
--- a/src/input_common/drivers/udp_client.cpp
|
||||
+++ b/src/input_common/drivers/udp_client.cpp
|
||||
@@ -2,7 +2,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <random>
|
||||
-#include <boost/asio.hpp>
|
||||
+// Include only needed asio components
|
||||
+#include <boost/asio/io_context.hpp>
|
||||
+#include <boost/asio/ip/udp.hpp>
|
||||
+#include <boost/asio/basic_waitable_timer.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/buffer.hpp>
|
||||
+#include <boost/asio/basic_socket.hpp>
|
||||
+#include <boost/asio/ip/address.hpp>
|
||||
+#include <boost/asio/ip/address_v4.hpp>
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -113,7 +121,7 @@ private:
|
||||
}
|
||||
|
||||
SocketCallback callback;
|
||||
- boost::asio::io_service io_service;
|
||||
+ boost::asio::io_context io_service;
|
||||
boost::asio::basic_waitable_timer<clock> timer;
|
||||
udp::socket socket;
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/src/input_common/helpers/udp_protocol.h b/src/input_common/helpers/udp_protocol.h
|
||||
index db08fc62c5..ea223ea937 100644
|
||||
--- a/src/input_common/helpers/udp_protocol.h
|
||||
+++ b/src/input_common/helpers/udp_protocol.h
|
||||
@@ -69,7 +69,7 @@ Message<T> CreateMessage(const u32 magic, const T data, const u32 sender_id) {
|
||||
};
|
||||
Message<T> message{header, data};
|
||||
crc.process_bytes(&message, sizeof(Message<T>));
|
||||
- message.header.crc = crc.checksum();
|
||||
+ message.header.crc = static_cast<u32_le>(crc.checksum());
|
||||
return message;
|
||||
}
|
||||
|
||||
@@ -1,229 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
SDL2,
|
||||
boost,
|
||||
catch2_3,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
cpp-jwt,
|
||||
cubeb,
|
||||
discord-rpc,
|
||||
enet,
|
||||
fetchgit,
|
||||
fetchurl,
|
||||
ffmpeg-headless,
|
||||
fmt,
|
||||
glslang,
|
||||
libopus,
|
||||
libusb1,
|
||||
lz4,
|
||||
python3,
|
||||
unzip,
|
||||
nix-update-script,
|
||||
nlohmann_json,
|
||||
pkg-config,
|
||||
qt6,
|
||||
spirv-tools,
|
||||
spirv-headers,
|
||||
vulkan-utility-libraries,
|
||||
vulkan-headers,
|
||||
vulkan-loader,
|
||||
simpleini,
|
||||
zlib,
|
||||
vulkan-memory-allocator,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (qt6)
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
qtwebengine
|
||||
;
|
||||
|
||||
compat-list = stdenv.mkDerivation {
|
||||
pname = "yuzu-compatibility-list";
|
||||
version = "unstable-2024-02-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flathub";
|
||||
repo = "org.yuzu_emu.yuzu";
|
||||
rev = "9c2032a3c7e64772a8112b77ed8b660242172068";
|
||||
hash = "sha256-ITh/W4vfC9w9t+TJnPeTZwWifnhTNKX54JSSdpgaoBk=";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
cp $src/compatibility_list.json $out
|
||||
'';
|
||||
};
|
||||
|
||||
nx_tzdb = stdenv.mkDerivation rec {
|
||||
pname = "nx_tzdb";
|
||||
version = "221202";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/${version}/${version}.zip";
|
||||
hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
buildCommand = ''
|
||||
unzip $src -d $out
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "torzu";
|
||||
version = "unstable-2025-02-22";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.ynh.ovh/liberodark/torzu.git";
|
||||
rev = "eaa9c9e3a46eb5099193b11d620ddfe96b6aec83";
|
||||
hash = "sha256-KxLRXM8Y+sIW5L9oYMSeK95HRb30zGRRSfil9DO+utU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove coroutines from debugger to fix boost::asio compatibility issues
|
||||
./fix-debugger.patch
|
||||
# Add explicit cast for CRC checksum value
|
||||
./fix-udp-protocol.patch
|
||||
# Use specific boost::asio includes and update to modern io_context
|
||||
./fix-udp-client.patch
|
||||
# Updates suppressed diagnostics
|
||||
./fix-aarch64-linux-build.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glslang
|
||||
pkg-config
|
||||
python3
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# vulkan-headers must come first, so the older propagated versions
|
||||
# don't get picked up by accident
|
||||
vulkan-headers
|
||||
|
||||
boost
|
||||
catch2_3
|
||||
cpp-jwt
|
||||
cubeb
|
||||
discord-rpc
|
||||
# intentionally omitted: dynarmic - prefer vendored version for compatibility
|
||||
enet
|
||||
|
||||
ffmpeg-headless
|
||||
fmt
|
||||
# intentionally omitted: gamemode - loaded dynamically at runtime
|
||||
# intentionally omitted: httplib - upstream requires an older version than what we have
|
||||
libopus
|
||||
libusb1
|
||||
# intentionally omitted: LLVM - heavy, only used for stack traces in the debugger
|
||||
lz4
|
||||
nlohmann_json
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
qtwebengine
|
||||
# intentionally omitted: renderdoc - heavy, developer only
|
||||
SDL2
|
||||
# intentionally omitted: stb - header only libraries, vendor uses git snapshot
|
||||
simpleini
|
||||
spirv-tools
|
||||
spirv-headers
|
||||
vulkan-memory-allocator
|
||||
vulkan-utility-libraries
|
||||
# intentionally omitted: xbyak - prefer vendored version for compatibility
|
||||
zlib
|
||||
zstd
|
||||
];
|
||||
|
||||
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
|
||||
# making the build fail, as that path does not exist
|
||||
dontFixCmake = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
cmakeFlags = [
|
||||
# actually has a noticeable performance impact
|
||||
(lib.cmakeBool "YUZU_ENABLE_LTO" true)
|
||||
(lib.cmakeBool "YUZU_TESTS" false)
|
||||
|
||||
(lib.cmakeBool "ENABLE_QT6" true)
|
||||
(lib.cmakeBool "ENABLE_QT_TRANSLATION" true)
|
||||
|
||||
# use system libraries
|
||||
# NB: "external" here means "from the externals/ directory in the source",
|
||||
# so "false" means "use system"
|
||||
(lib.cmakeBool "YUZU_USE_EXTERNAL_SDL2" false)
|
||||
(lib.cmakeBool "YUZU_USE_EXTERNAL_VULKAN_HEADERS" false)
|
||||
(lib.cmakeBool "YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES" false)
|
||||
(lib.cmakeBool "YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS" false)
|
||||
|
||||
# don't check for missing submodules
|
||||
(lib.cmakeBool "YUZU_CHECK_SUBMODULES" false)
|
||||
|
||||
# enable some optional features
|
||||
(lib.cmakeBool "YUZU_USE_QT_WEB_ENGINE" true)
|
||||
(lib.cmakeBool "YUZU_USE_QT_MULTIMEDIA" true)
|
||||
(lib.cmakeBool "USE_DISCORD_PRESENCE" true)
|
||||
|
||||
# We dont want to bother upstream with potentially outdated compat reports
|
||||
(lib.cmakeBool "YUZU_ENABLE_COMPATIBILITY_REPORTING" false)
|
||||
(lib.cmakeBool "ENABLE_COMPATIBILITY_LIST_DOWNLOAD" false) # We provide this deterministically
|
||||
|
||||
(lib.cmakeFeature "TITLE_BAR_FORMAT_IDLE" "${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}")
|
||||
(lib.cmakeFeature "TITLE_BAR_FORMAT_RUNNING" "${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}")
|
||||
];
|
||||
|
||||
env = {
|
||||
# Does some handrolled SIMD
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isx86_64 "-msse4.1";
|
||||
};
|
||||
|
||||
qtWrapperArgs = [
|
||||
# Fixes vulkan detection.
|
||||
# FIXME: patchelf --add-rpath corrupts the binary for some reason, investigate
|
||||
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# provide pre-downloaded tz data
|
||||
mkdir -p build/externals/nx_tzdb
|
||||
ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb
|
||||
'';
|
||||
|
||||
postConfigure = ''
|
||||
ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
|
||||
'';
|
||||
|
||||
postInstall = "
|
||||
install -Dm444 $src/dist/72-yuzu-input.rules $out/lib/udev/rules.d/72-yuzu-input.rules
|
||||
";
|
||||
|
||||
meta = {
|
||||
description = "Fork of yuzu, an open-source Nintendo Switch emulator";
|
||||
homepage = "https://notabug.org/litucks/torzu";
|
||||
mainProgram = "yuzu";
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ liberodark ];
|
||||
license = with lib.licenses; [
|
||||
gpl3Plus
|
||||
# Icons
|
||||
asl20
|
||||
mit
|
||||
cc0
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "trdl-client";
|
||||
version = "0.10.0";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "trdl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0Q0qs7lzLnJChhT3LGVCHIz1ruci/PGGLJdR9FO1RyE=";
|
||||
hash = "sha256-QqAVcATpxfjKEaluurVN9EylEGKNKWlBkE8KepIpjfo=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/client";
|
||||
|
||||
@@ -33,6 +33,8 @@ buildGoModule rec {
|
||||
maintainers = with lib.maintainers; [
|
||||
nh2
|
||||
kalbasit
|
||||
kvz
|
||||
Acconut
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,20 +4,19 @@
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "xplr";
|
||||
version = "0.21.9";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sayanarijit";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0c2QJUEQwKEzzDBDP5XdX7xe1rivazsoZtepB4Dxp/c=";
|
||||
hash = "sha256-QeR7KXwRGfAU31ueI6v26pKnoQdj2C7bXlcMP4qKvZg=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-D8BYJtf6joAXyqLDdAeP4GGAA9W5dvA16ia4/ZeZWaE=";
|
||||
cargoHash = "sha256-UkyRl2eY520JPxtcOl7hvkY3MCH2bi2jL9zCJEdkQmU=";
|
||||
|
||||
# fixes `thread 'main' panicked at 'cannot find strip'` on x86_64-darwin
|
||||
env = lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isDarwin) {
|
||||
@@ -26,7 +25,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
# error: linker `aarch64-linux-gnu-gcc` not found
|
||||
postPatch = ''
|
||||
rm .cargo/config
|
||||
rm .cargo/config.toml
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -7,15 +7,15 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "zwave-js-ui";
|
||||
version = "10.3.3";
|
||||
version = "10.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zwave-js";
|
||||
repo = "zwave-js-ui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-SZIGwv/9aCA5/cZk8n32tkI/vu0oLw/t3dOJgf+km7c=";
|
||||
hash = "sha256-shjjxdjbPdjbLcVyF3CfSKtsB24m+ez5/vehSOWcjls=";
|
||||
};
|
||||
npmDepsHash = "sha256-i3ug7syt4ElLiHV/kdwoaNvPYDsTdjlIg4XQbkB+Q4A=";
|
||||
npmDepsHash = "sha256-Wq/R9pvYfnE4RYBX7DB68/lgJ1Tz1nbjFK1SomVwkXA=";
|
||||
|
||||
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;
|
||||
|
||||
|
||||
@@ -124,6 +124,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [
|
||||
silvanshade
|
||||
thoughtpolice
|
||||
tmarkus
|
||||
];
|
||||
|
||||
@@ -85,6 +85,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
platforms = platforms.unix ++ platforms.windows;
|
||||
maintainers = with maintainers; [
|
||||
silvanshade
|
||||
thoughtpolice
|
||||
tmarkus
|
||||
];
|
||||
|
||||
@@ -50,6 +50,9 @@ stdenv.mkDerivation rec {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/uxlfoundation/oneTBB/pull/1696.patch";
|
||||
hash = "sha256-yjX2FkOK8bz29a/XSA7qXgQw9lxzx8VIgEBREW32NN4=";
|
||||
})
|
||||
# Fix Threads::Threads target for static from https://github.com/oneapi-src/oneTBB/pull/1248
|
||||
# This is a conflict-resolved cherry-pick of the above PR to due to formatting differences.
|
||||
./patches/fix-cmake-threads-threads-target-for-static.patch
|
||||
];
|
||||
|
||||
# Fix build with modern gcc
|
||||
@@ -95,6 +98,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
platforms = platforms.unix ++ platforms.windows;
|
||||
maintainers = with maintainers; [
|
||||
silvanshade
|
||||
thoughtpolice
|
||||
tmarkus
|
||||
];
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From b42f074a724a41d2369a94283a2e94190d0cbb44 Mon Sep 17 00:00:00 2001
|
||||
From: Liam Keegan <liam@keegan.ch>
|
||||
Date: Fri, 10 Nov 2023 09:08:42 +0100
|
||||
Subject: [PATCH] Fix CMake "Threads::Threads target not found" issue for
|
||||
static builds (#1248)
|
||||
|
||||
- add `Threads` dependency to installed CMake config for static builds only
|
||||
- based on #912 by @p12tic including reviewer comments from @ilya-lavrenov and @isaevil
|
||||
- resolves #1145
|
||||
|
||||
Signed-off-by: Liam Keegan <liam@keegan.ch>
|
||||
(cherry picked from commit 12ceae12138af08845b3e8c369b24527346fe99e)
|
||||
---
|
||||
CMakeLists.txt | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 16ee29ed..0bc39a52 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -265,6 +265,10 @@ else()
|
||||
COMPONENT devel)
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
"include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}Targets.cmake)\n")
|
||||
+ if (NOT BUILD_SHARED_LIBS)
|
||||
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
+ "include(CMakeFindDependencyMacro)\nfind_dependency(Threads)\n")
|
||||
+ endif()
|
||||
|
||||
write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
||||
COMPATIBILITY AnyNewerVersion)
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
hostname,
|
||||
pytest,
|
||||
pythonAtLeast,
|
||||
lib,
|
||||
stdenv,
|
||||
}:
|
||||
@@ -29,15 +30,21 @@ buildPythonPackage rec {
|
||||
|
||||
# tests very flaky & hang often on darwin
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
# test files do indeed need to be executed separately
|
||||
checkPhase = ''
|
||||
pushd ruffus/test
|
||||
rm test_with_logger.py # spawns 500 processes
|
||||
for f in test_*.py ; do
|
||||
HOME=$TMPDIR pytest -v --disable-warnings $f
|
||||
done
|
||||
popd
|
||||
'';
|
||||
checkPhase =
|
||||
# https://docs.python.org/3/whatsnew/3.13.html#re
|
||||
lib.optionalString (pythonAtLeast "3.13") ''
|
||||
substituteInPlace ruffus/test/test_ruffus_utility.py \
|
||||
--replace-fail re.error re.PatternError
|
||||
''
|
||||
# test files do indeed need to be executed separately
|
||||
+ ''
|
||||
pushd ruffus/test
|
||||
rm test_with_logger.py # spawns 500 processes
|
||||
for f in test_*.py ; do
|
||||
HOME=$TMPDIR pytest -v --disable-warnings $f
|
||||
done
|
||||
popd
|
||||
'';
|
||||
pythonImportsCheck = [ "ruffus" ];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
kinparse,
|
||||
pyspice,
|
||||
graphviz,
|
||||
sexpdata,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "skidl";
|
||||
version = "2.0.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xesscorp";
|
||||
owner = "devbisme";
|
||||
repo = "skidl";
|
||||
tag = version;
|
||||
sha256 = "sha256-EzKtXdQFB6kjaIuCYAsyFPlwmkefb5RJcnpFYCVHHb8=";
|
||||
@@ -25,6 +25,7 @@ buildPythonPackage rec {
|
||||
kinparse
|
||||
pyspice
|
||||
graphviz
|
||||
sexpdata
|
||||
];
|
||||
|
||||
# Checks require availability of the kicad symbol libraries.
|
||||
@@ -32,9 +33,9 @@ buildPythonPackage rec {
|
||||
pythonImportsCheck = [ "skidl" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Module that extends Python with the ability to design electronic circuits";
|
||||
description = "SKiDL is a module that extends Python with the ability to design electronic circuits";
|
||||
mainProgram = "netlist_to_skidl";
|
||||
homepage = "https://xess.com/skidl/docs/_site/";
|
||||
homepage = "https://devbisme.github.io/skidl/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ matthuszagh ];
|
||||
};
|
||||
|
||||
@@ -13,13 +13,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "rtl8192eu";
|
||||
version = "${kernel.version}-4.4.1.20240507";
|
||||
version = "${kernel.version}-4.4.1.20250504";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mange";
|
||||
repo = "rtl8192eu-linux-driver";
|
||||
rev = "27410641da6926eb1ac565068ff89d35f7496328";
|
||||
sha256 = "sha256-/BztTE3yKw35Oo7KkzHMtD+8qpJNXWiSwR3YjrotR0I=";
|
||||
rev = "27aa922c298f2be240eec6c2e8636fe865ece195";
|
||||
sha256 = "sha256-1Kz/GgsHsEgrp+1x2rLpJpo98Ur16aWf9CV0gcYmp0Q=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
version = "1.24.1";
|
||||
hash = "sha256-qJfqycQKQlkGV4RJ7v97bH1gOaDaLpcaItrTkW1c4Sk=";
|
||||
npmDepsHash = "sha256-tPye9tLz4SnGU+dxAitUehasYXHgy8Gxcc6xzC+8GmU=";
|
||||
vendorHash = "sha256-7zCSQGN4Lz+gV0YQcG2AN9JB5oPLzsuhdX4Rm/4YItE=";
|
||||
version = "1.24.2";
|
||||
hash = "sha256-MRoo06As8gZkpeeRwoLThCrGdwKeS++6u877TDsZFqs=";
|
||||
npmDepsHash = "sha256-502v1nEI6sYMttdpxPtjqOuN34HvI38RRbRLE3a0Dio=";
|
||||
vendorHash = "sha256-UPp5c4KW3HQ0VE9Sk488mUpKzIxdfV4ScTSmdqxc4pU=";
|
||||
}
|
||||
|
||||
@@ -425,6 +425,9 @@ mapAliases {
|
||||
chromatic = throw "chromatic has been removed due to being unmaintained and failing to build"; # Added 2025-04-18
|
||||
chrome-gnome-shell = gnome-browser-connector; # Added 2022-07-27
|
||||
cinnamon = throw "The cinnamon scope has been removed and all packages have been moved to the top-level"; # Added 2024-11-25
|
||||
citra = throw "citra has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04
|
||||
citra-nightly = throw "citra-nightly has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04
|
||||
citra-canary = throw "citra-canary has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04
|
||||
cloog = throw "cloog has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
|
||||
cloog_0_18_0 = throw "cloog_0_18_0 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
|
||||
cloogppl = throw "cloogppl has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
|
||||
@@ -497,6 +500,7 @@ mapAliases {
|
||||
### D ###
|
||||
|
||||
dap = throw "'dap' has been removed because it doesn't compile and has been unmaintained since 2014"; # Added 2025-05-10
|
||||
darling = throw "'darling' has been removed due to vendoring Python2"; # Added 2025-05-10
|
||||
dart_stable = throw "'dart_stable' has been renamed to/replaced by 'dart'"; # Converted to throw 2024-10-17
|
||||
dart-sass-embedded = throw "dart-sass-embedded has been removed from nixpkgs, as is now included in Dart Sass itself.";
|
||||
dat = nodePackages.dat;
|
||||
@@ -1753,6 +1757,7 @@ mapAliases {
|
||||
sumneko-lua-language-server = lua-language-server; # Added 2023-02-07
|
||||
sumokoin = throw "sumokoin has been removed as it was abandoned upstream"; # Added 2024-11-23
|
||||
supertag = throw "supertag has been removed as it was abandoned upstream and fails to build"; # Added 2025-04-20
|
||||
suyu = throw "suyu has been removed from nixpkgs, as it is subject to a DMCA takedown"; # Added 2025-05-12
|
||||
swiProlog = lib.warnOnInstantiate "swiProlog has been renamed to swi-prolog" swi-prolog; # Added 2024-09-07
|
||||
swiPrologWithGui = lib.warnOnInstantiate "swiPrologWithGui has been renamed to swi-prolog-gui" swi-prolog-gui; # Added 2024-09-07
|
||||
swig1 = throw "swig1 has been removed as it is obsolete"; # Added 2024-08-23
|
||||
@@ -1829,6 +1834,7 @@ mapAliases {
|
||||
tor-browser-bundle-bin = tor-browser; # Added 2023-09-23
|
||||
torrenttools = throw "torrenttools has been removed due to lack of maintanance upstream"; # Added 2025-04-06
|
||||
torq = throw "torq has been removed because the project went closed source"; # Added 2024-11-24
|
||||
torzu = throw "torzu has been removed from nixpkgs, as it is subject to a DMCA takedown"; # Added 2025-05-12
|
||||
transmission = lib.warnOnInstantiate (transmission3Warning { }) transmission_3; # Added 2024-06-10
|
||||
transmission-gtk = lib.warnOnInstantiate (transmission3Warning {
|
||||
suffix = "-gtk";
|
||||
@@ -2012,6 +2018,11 @@ mapAliases {
|
||||
yandex-browser-corporate = throw "'yandex-browser-corporate' has been removed, as it was broken and unmaintained"; # Added 2025-04-17
|
||||
youtrack_2022_3 = throw "'youtrack_2022_3' has been removed as it was deprecated. Please update to the 'youtrack' package."; # Added 2024-10-17
|
||||
yrd = throw "'yrd' has been removed, as it was broken and unmaintained"; # added 2024-05-27
|
||||
yuzu-ea = throw "yuzu-ea has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04
|
||||
yuzu-early-access = throw "yuzu-early-access has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04
|
||||
yuzu = throw "yuzu has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04
|
||||
yuzu-mainline = throw "yuzu-mainline has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04
|
||||
yuzuPackages = throw "yuzuPackages has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04
|
||||
|
||||
### Z ###
|
||||
|
||||
|
||||
@@ -4410,6 +4410,8 @@ self: super: with self; {
|
||||
|
||||
elevenlabs = callPackage ../development/python-modules/elevenlabs { };
|
||||
|
||||
elfdeps = toPythonModule (pkgs.elfdeps.override { python3Packages = self; });
|
||||
|
||||
elgato = callPackage ../development/python-modules/elgato { };
|
||||
|
||||
eliot = callPackage ../development/python-modules/eliot { };
|
||||
|
||||
Reference in New Issue
Block a user