Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-09-07 12:04:51 +00:00 committed by GitHub
commit de15243c9a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
65 changed files with 617 additions and 385 deletions

View File

@ -93,7 +93,7 @@ The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given
To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions: To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions:
* `projectFile` is used for specifying the dotnet project file, relative to the source root. These have `.sln` (entire solution) or `.csproj` (single project) file extensions. This can be a list of multiple projects as well. When omitted, will attempt to find and build the solution (`.sln`). If running into problems, make sure to set it to a file (or a list of files) with the `.csproj` extension - building applications as entire solutions is not fully supported by the .NET CLI. * `projectFile` is used for specifying the dotnet project file, relative to the source root. These have `.sln` (entire solution) or `.csproj` (single project) file extensions. This can be a list of multiple projects as well. When omitted, will attempt to find and build the solution (`.sln`). If running into problems, make sure to set it to a file (or a list of files) with the `.csproj` extension - building applications as entire solutions is not fully supported by the .NET CLI.
* `nugetDeps` takes either a path to a `deps.nix` file, or a derivation. The `deps.nix` file can be generated using the script attached to `passthru.fetch-deps`. If the argument is a derivation, it will be used directly and assume it has the same output as `mkNugetDeps`. * `nugetDeps` takes either a path to a `deps.nix` file, or a derivation. The `deps.nix` file can be generated using the script attached to `passthru.fetch-deps`. For compatibility, if the argument is a list of derivations, they will be added to `buildInputs`.
::: {.note} ::: {.note}
For more detail about managing the `deps.nix` file, see [Generating and updating NuGet dependencies](#generating-and-updating-nuget-dependencies) For more detail about managing the `deps.nix` file, see [Generating and updating NuGet dependencies](#generating-and-updating-nuget-dependencies)
::: :::

View File

@ -10,7 +10,7 @@
update scripts. update scripts.
*/ */
let let
pkgs = import ../.. {}; pkgs = import ../.. { config.allowAliases = false; };
inherit (pkgs) lib; inherit (pkgs) lib;

View File

@ -215,17 +215,6 @@ in
} }
''; '';
systemwideConfigPkg = pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/90-nixos-systemwide.conf" ''
# When running system-wide, we don't have logind to call ReserveDevice,
# And bluetooth logind integration needs to be disabled
wireplumber.profiles = {
main = {
support.reserve-device = disabled
monitor.bluez.seat-monitoring = disabled
}
}
'';
extraConfigPkg = pkgs.buildEnv { extraConfigPkg = pkgs.buildEnv {
name = "wireplumber-extra-config"; name = "wireplumber-extra-config";
paths = mapConfigToFiles cfg.extraConfig; paths = mapConfigToFiles cfg.extraConfig;
@ -240,8 +229,7 @@ in
configPackages = cfg.configPackages configPackages = cfg.configPackages
++ [ extraConfigPkg extraScriptsPkg ] ++ [ extraConfigPkg extraScriptsPkg ]
++ optional (!pwUsedForAudio) pwNotForAudioConfigPkg ++ optional (!pwUsedForAudio) pwNotForAudioConfigPkg;
++ optional pwCfg.systemWide systemwideConfigPkg;
configs = pkgs.buildEnv { configs = pkgs.buildEnv {
name = "wireplumber-configs"; name = "wireplumber-configs";

View File

@ -19,6 +19,8 @@ in
services.matterbridge = { services.matterbridge = {
enable = mkEnableOption "Matterbridge chat platform bridge"; enable = mkEnableOption "Matterbridge chat platform bridge";
package = mkPackageOption pkgs "matterbridge" { };
configPath = mkOption { configPath = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
@ -111,7 +113,7 @@ in
serviceConfig = { serviceConfig = {
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
ExecStart = "${pkgs.matterbridge}/bin/matterbridge -conf ${matterbridgeConfToml}"; ExecStart = "${cfg.package}/bin/matterbridge -conf ${matterbridgeConfToml}";
Restart = "always"; Restart = "always";
RestartSec = "10"; RestartSec = "10";
}; };

View File

@ -133,7 +133,7 @@ in
}; };
networking.firewall.allowedTCPPorts = with cfg; networking.firewall.allowedTCPPorts = with cfg;
optionals openFirewall [ port prometheus.port ]; optionals openFirewall [ port ];
}; };
meta.maintainers = with maintainers; [ azahi ]; meta.maintainers = with maintainers; [ azahi ];

View File

@ -20,8 +20,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
}; };
services.xserver.desktopManager.mate.enableWaylandSession = true; services.xserver.desktopManager.mate.enableWaylandSession = true;
hardware.pulseaudio.enable = true;
# Need to switch to a different GPU driver than the default one (-vga std) so that wayfire can launch: # Need to switch to a different GPU driver than the default one (-vga std) so that wayfire can launch:
virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
}; };
@ -41,7 +39,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
with subtest("Check if MATE session components actually start"): with subtest("Check if MATE session components actually start"):
for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]: for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]:
machine.wait_until_succeeds(f"pgrep -f {i}") machine.wait_until_succeeds(f"pgrep -f {i}")
machine.wait_for_text('(Applications|Places|System)')
# It is expected that this applet doesn't work in Wayland # It is expected that this applet doesn't work in Wayland
machine.wait_for_text('WorkspaceSwitcherApplet') machine.wait_for_text('WorkspaceSwitcherApplet')

View File

@ -5,9 +5,6 @@
, dotnetCorePackages , dotnetCorePackages
, dbus , dbus
, fontconfig , fontconfig
, libICE
, libSM
, libX11
, portaudio , portaudio
}: }:
@ -32,10 +29,6 @@ buildDotnetModule rec {
runtimeDeps = [ runtimeDeps = [
dbus dbus
fontconfig
libICE
libSM
libX11
portaudio portaudio
]; ];

View File

@ -15,10 +15,10 @@
"src": { "src": {
"owner": "libretro", "owner": "libretro",
"repo": "libretro-atari800", "repo": "libretro-atari800",
"rev": "50141a6bf1a069abd86dd8c53aa4031f3f7cfbd1", "rev": "72884ccbf9ec8ce7b65d7fc6f44e127e3abdf799",
"hash": "sha256-pS5nvU+2eZ7We0ySN+Te6+Y3uuro5bz2FTPuLgvNCl4=" "hash": "sha256-+trOeRe9YJzOfGgtKGb5UGYKf8RVxEc+rxEw+bgFz5M="
}, },
"version": "unstable-2024-07-25" "version": "unstable-2024-09-06"
}, },
"beetle-gba": { "beetle-gba": {
"fetcher": "fetchFromGitHub", "fetcher": "fetchFromGitHub",
@ -165,10 +165,10 @@
"src": { "src": {
"owner": "libretro", "owner": "libretro",
"repo": "bsnes-libretro", "repo": "bsnes-libretro",
"rev": "d47f5d162e879fddf117583e7cc391989359c009", "rev": "20c55eb6333a11395ba637df8583066483e58cb2",
"hash": "sha256-0tVXa+valyBbHFqXGG8jmargBdqgJafLrFuZ4ym7i8I=" "hash": "sha256-IP00xtxS3wwnQSmYltrX8GEHZX/65xnx2EsmQlE1VZM="
}, },
"version": "unstable-2024-08-30" "version": "unstable-2024-09-06"
}, },
"bsnes-hd": { "bsnes-hd": {
"fetcher": "fetchFromGitHub", "fetcher": "fetchFromGitHub",

View File

@ -8,43 +8,52 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "gcalcli"; pname = "gcalcli";
version = "4.3.0"; version = "4.4.0";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "insanum"; owner = "insanum";
repo = "gcalcli"; repo = "gcalcli";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-roHMWUwklLMNhLJANsAeBKcSX1Qk47kH5A3Y8SuDrmg="; hash = "sha256-X9sgnujHMbmrt7cpcBOvTycIKFz3G2QzNDt3me5GUrQ=";
}; };
postPatch = lib.optionalString stdenv.isLinux '' postPatch =
substituteInPlace gcalcli/argparsers.py \ ''
--replace-fail "'notify-send" "'${lib.getExe libnotify}" # dev dependencies
''; substituteInPlace pyproject.toml \
--replace-fail "\"google-api-python-client-stubs\"," "" \
--replace-fail "\"types-python-dateutil\"," "" \
--replace-fail "\"types-requests\"," "" \
--replace-fail "\"types-vobject\"," ""
''
+ lib.optionalString stdenv.isLinux ''
substituteInPlace gcalcli/argparsers.py \
--replace-fail "'notify-send" "'${lib.getExe libnotify}"
'';
build-system = with python3Packages; [ setuptools ]; build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [ dependencies = with python3Packages; [
argcomplete
python-dateutil python-dateutil
gflags gflags
httplib2 httplib2
parsedatetime parsedatetime
six
vobject vobject
google-api-python-client google-api-python-client
oauth2client google-auth-oauthlib
uritemplate uritemplate
libnotify libnotify
]; ];
nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
meta = with lib; { meta = {
description = "CLI for Google Calendar"; description = "CLI for Google Calendar";
mainProgram = "gcalcli"; mainProgram = "gcalcli";
homepage = "https://github.com/insanum/gcalcli"; homepage = "https://github.com/insanum/gcalcli";
license = licenses.mit; license = lib.licenses.mit;
maintainers = with maintainers; [ nocoolnametom ]; maintainers = with lib.maintainers; [ nocoolnametom ];
}; };
} }

View File

@ -1,17 +1,17 @@
{ lib, buildGoModule, installShellFiles, fetchFromGitHub }: { lib, stdenv, buildGoModule, installShellFiles, fetchFromGitHub }:
buildGoModule rec { buildGoModule rec {
pname = "gum"; pname = "gum";
version = "0.14.4"; version = "0.14.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "charmbracelet"; owner = "charmbracelet";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-kR/DNNWCFj/ott31bcppA2gkpNK5OY+SsjYcQak5CK8="; hash = "sha256-moKirTXziVo6ESOsnTUmPkcdBYL/VHaG226+UfM0xAk=";
}; };
vendorHash = "sha256-pjWaAeBXIBG+g3TPxioIG9Cl4rvEf4QjyinAtCBYSug="; vendorHash = "sha256-wjM2ld4go7OQu6XqsSGurjN09Fd5t9FNLvIzgrZEZ1k=";
nativeBuildInputs = [ nativeBuildInputs = [
installShellFiles installShellFiles
@ -22,6 +22,7 @@ buildGoModule rec {
postInstall = '' postInstall = ''
$out/bin/gum man > gum.1 $out/bin/gum man > gum.1
installManPage gum.1 installManPage gum.1
'' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd gum \ installShellCompletion --cmd gum \
--bash <($out/bin/gum completion bash) \ --bash <($out/bin/gum completion bash) \
--fish <($out/bin/gum completion fish) \ --fish <($out/bin/gum completion fish) \

View File

@ -6,17 +6,17 @@ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
if stdenv.isAarch64 then if stdenv.isAarch64 then
rec { rec {
pname = "brave"; pname = "brave";
version = "1.69.153"; version = "1.69.162";
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
hash = "sha256-4j5Byts8mawq3Z7pgVhtujE+RR/uOb5MIC4iip0GtEw="; hash = "sha256-uG3I91XyuEn/ZFjlv84041ZTCslkC5XElag/4R7MBHc=";
platform = "aarch64-linux"; platform = "aarch64-linux";
} }
else if stdenv.isx86_64 then else if stdenv.isx86_64 then
rec { rec {
pname = "brave"; pname = "brave";
version = "1.69.153"; version = "1.69.162";
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-a5Hg7DoasbTQ7NOcx6XZ9zQosT5Y+TgQW5XCyYmIZDw="; hash = "sha256-O8sf0sw6ljemNdSJwHyX2JjqQWEuKvSP9hj0H2VXQC8=";
platform = "x86_64-linux"; platform = "x86_64-linux";
} }
else else

View File

@ -5,6 +5,7 @@
, installShellFiles , installShellFiles
, nixosTests , nixosTests
, enableDbusUi ? true , enableDbusUi ? true
, wrapGAppsHook3
}: }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
@ -60,6 +61,15 @@ python3Packages.buildPythonApplication rec {
] ]
++ lib.flatten (lib.attrValues optional-dependencies); ++ lib.flatten (lib.attrValues optional-dependencies);
nativeBuildInputs = lib.optionals enableDbusUi [
wrapGAppsHook3
];
dontWrapGApps = enableDbusUi;
makeWrapperArgs = lib.optionals enableDbusUi [
"\${gappsWrapperArgs[@]}"
];
# darwin has difficulty communicating with server, fails some integration tests # darwin has difficulty communicating with server, fails some integration tests
doCheck = !stdenv.isDarwin; doCheck = !stdenv.isDarwin;

View File

@ -27,12 +27,10 @@
, tl-expected , tl-expected
, hunspell , hunspell
, gobject-introspection , gobject-introspection
, glibmm_2_68
, jemalloc , jemalloc
, rnnoise , rnnoise
, microsoft-gsl , microsoft-gsl
, boost , boost
, fmt
, wayland , wayland
, libicns , libicns
, darwin , darwin
@ -48,13 +46,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kotatogram-desktop"; pname = "kotatogram-desktop";
version = "0-unstable-2024-07-01"; version = "0-unstable-2024-09-01";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kotatogram"; owner = "kotatogram";
repo = "kotatogram-desktop"; repo = "kotatogram-desktop";
rev = "fbb22ebd3e39dfa4a036fa79a7a3f78b86b1cea2"; rev = "e30c1857bf38c354467f4e6a2a37b1252b4e28e6";
hash = "sha256-ccfmaqapk9ct+5kvBI02xHJ7YCGmm1CcqwM+3hC1bk0="; hash = "sha256-kmJeqaDAVKhMWwcazy+gGB+55Kao67RJrlLvZQ+AtqY=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -115,9 +113,7 @@ stdenv.mkDerivation rec {
alsa-lib alsa-lib
libpulseaudio libpulseaudio
hunspell hunspell
glibmm_2_68
jemalloc jemalloc
fmt
wayland wayland
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
Cocoa Cocoa

View File

@ -1,3 +1,19 @@
diff --git a/Telegram/SourceFiles/platform/mac/overlay_widget_mac.mm b/Telegram/SourceFiles/platform/mac/overlay_widget_mac.mm
index ef544803e9..69c61b3139 100644
--- a/Telegram/SourceFiles/platform/mac/overlay_widget_mac.mm
+++ b/Telegram/SourceFiles/platform/mac/overlay_widget_mac.mm
@@ -97,9 +97,11 @@ void MacOverlayWidgetHelper::updateStyles(bool fullscreen) {
[window setTitleVisibility:NSWindowTitleHidden];
[window setTitlebarAppearsTransparent:YES];
[window setStyleMask:[window styleMask] | NSWindowStyleMaskFullSizeContentView];
+#if 0
if (@available(macOS 12.0, *)) {
_data->topNotchSkip = [[window screen] safeAreaInsets].top;
}
+#endif
}
void MacOverlayWidgetHelper::refreshButtons(bool fullscreen) {
Submodule Telegram/lib_base contains modified content Submodule Telegram/lib_base contains modified content
diff --git a/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm b/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm diff --git a/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm b/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm
index 7ce90d3..dac3c2c 100644 index 7ce90d3..dac3c2c 100644
@ -33,14 +49,88 @@ index 7ce90d3..dac3c2c 100644
const auto state = DetectBatteryState(); const auto state = DetectBatteryState();
if (!state.has || !state.draining) { if (!state.has || !state.draining) {
return false; return false;
Submodule Telegram/lib_webrtc contains modified content
diff --git a/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm b/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm
index 7521c08..5e22da2 100644
--- a/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm
+++ b/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm
@@ -364,6 +364,7 @@ EnvironmentMac::EnvironmentMac(not_null<EnvironmentDelegate*> delegate)
DefaultCaptureDeviceChangedMonitor.registerEnvironment(this);
AudioDeviceListChangedMonitor.registerEnvironment(this);
+#if 0
if (@available(macOS 14.0, *)) {
const auto weak = base::make_weak(this);
id block = [^(BOOL shouldBeMuted){
@@ -387,6 +388,7 @@ EnvironmentMac::EnvironmentMac(not_null<EnvironmentDelegate*> delegate)
setInputMuteStateChangeHandler:block
error:nil];
}
+#endif
}
EnvironmentMac::~EnvironmentMac() {
@@ -537,15 +539,18 @@ void EnvironmentMac::devicesRequested(DeviceType type) {
}
void EnvironmentMac::setCaptureMuted(bool muted) {
+#if 0
if (@available(macOS 14.0, *)) {
if (!_captureMuteNotification) {
const auto value = muted ? YES : NO;
[[AVAudioApplication sharedInstance] setInputMuted:value error:nil];
}
}
+#endif
}
void EnvironmentMac::captureMuteSubscribe() {
+#if 0
if (@available(macOS 14.0, *)) {
id observer = [[InputMuteObserver alloc] init];
[[[NSWorkspace sharedWorkspace] notificationCenter]
@@ -578,6 +583,7 @@ void EnvironmentMac::captureMuteSubscribe() {
[observer release];
});
}
+#endif
}
void EnvironmentMac::captureMuteUnsubscribe() {
@@ -595,6 +601,7 @@ void EnvironmentMac::captureMuteRestartAdm() {
void EnvironmentMac::setCaptureMuteTracker(
not_null<CaptureMuteTracker*> tracker,
bool track) {
+#if 0
if (@available(macOS 14.0, *)) {
if (track) {
if (!_captureMuteTracker) {
@@ -619,6 +626,7 @@ void EnvironmentMac::setCaptureMuteTracker(
}
}
}
+#endif
}
std::unique_ptr<Environment> CreateEnvironment(
Submodule Telegram/lib_webview contains modified content Submodule Telegram/lib_webview contains modified content
diff --git a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm diff --git a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
index 657c5a4..4bfc097 100644 index e7808fc..34020f0 100644
--- a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm --- a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
+++ b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm +++ b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
@@ -317,9 +317,11 @@ Instance::Instance(Config config) { @@ -334,6 +334,7 @@ Instance::Instance(Config config) {
_handler = [[Handler alloc] initWithMessageHandler:config.messageHandler navigationStartHandler:config.navigationStartHandler navigationDoneHandler:config.navigationDoneHandler dialogHandler:config.dialogHandler dataRequested:handleDataRequest];
_dataRequestHandler = std::move(config.dataRequestHandler); _dataRequestHandler = std::move(config.dataRequestHandler);
[configuration setURLSchemeHandler:_handler forURLScheme:stdToNS(kDataUrlScheme)]; [configuration setURLSchemeHandler:_handler forURLScheme:stdToNS(kDataUrlScheme)];
+#if 0
if (@available(macOS 14, *)) {
if (config.userDataToken != LegacyStorageIdToken().toStdString()) {
NSUUID *uuid = UuidFromToken(config.userDataToken);
@@ -341,10 +342,13 @@ Instance::Instance(Config config) {
[uuid release];
}
}
+#endif
_webview = [[WKWebView alloc] initWithFrame:NSZeroRect configuration:configuration]; _webview = [[WKWebView alloc] initWithFrame:NSZeroRect configuration:configuration];
+#if 0 +#if 0
if (@available(macOS 13.3, *)) { if (@available(macOS 13.3, *)) {
@ -50,3 +140,32 @@ index 657c5a4..4bfc097 100644
[_manager addScriptMessageHandler:_handler name:@"external"]; [_manager addScriptMessageHandler:_handler name:@"external"];
[_webview setNavigationDelegate:_handler]; [_webview setNavigationDelegate:_handler];
[_webview setUIDelegate:_handler]; [_webview setUIDelegate:_handler];
@@ -700,10 +704,12 @@ void *Instance::winId() {
}
void Instance::setOpaqueBg(QColor opaqueBg) {
+#if 0
if (@available(macOS 12.0, *)) {
[_webview setValue: @NO forKey: @"drawsBackground"];
[_webview setUnderPageBackgroundColor:[NSColor clearColor]];
}
+#endif
}
void Instance::resizeToWindow() {
@@ -739,6 +745,7 @@ std::string GenerateStorageToken() {
}
void ClearStorageDataByToken(const std::string &token) {
+#if 0
if (@available(macOS 14, *)) {
if (!token.empty() && token != LegacyStorageIdToken().toStdString()) {
if (NSUUID *uuid = UuidFromToken(token)) {
@@ -754,6 +761,7 @@ void ClearStorageDataByToken(const std::string &token) {
}
}
}
+#endif
}
} // namespace Webview

View File

@ -2,22 +2,16 @@
, fetchFromGitHub , fetchFromGitHub
, buildDotnetModule , buildDotnetModule
, dotnetCorePackages , dotnetCorePackages
, libX11
, libICE
, libSM
, fontconfig
, libsecret , libsecret
, git , git
, git-credential-manager , git-credential-manager
, gnupg , gnupg
, pass , pass
, testers , testers
, withGuiSupport ? true
, withLibsecretSupport ? true , withLibsecretSupport ? true
, withGpgSupport ? true , withGpgSupport ? true
}: }:
assert withLibsecretSupport -> withGuiSupport;
buildDotnetModule rec { buildDotnetModule rec {
pname = "git-credential-manager"; pname = "git-credential-manager";
version = "2.5.1"; version = "2.5.1";
@ -36,9 +30,8 @@ buildDotnetModule rec {
dotnetInstallFlags = [ "--framework" "net8.0" ]; dotnetInstallFlags = [ "--framework" "net8.0" ];
executables = [ "git-credential-manager" ]; executables = [ "git-credential-manager" ];
runtimeDeps = [ fontconfig ] runtimeDeps =
++ lib.optionals withGuiSupport [ libX11 libICE libSM ] lib.optional withLibsecretSupport libsecret;
++ lib.optional withLibsecretSupport libsecret;
makeWrapperArgs = [ makeWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath ([ git ] ++ lib.optionals withGpgSupport [ gnupg pass ])}" "--prefix PATH : ${lib.makeBinPath ([ git ] ++ lib.optionals withGpgSupport [ gnupg pass ])}"
]; ];

View File

@ -1,4 +1,4 @@
{ buildDotnetModule, emptyDirectory, mkNugetDeps, dotnet-sdk }: { buildDotnetModule, emptyDirectory, fetchNupkg, dotnet-sdk }:
{ pname { pname
, version , version
@ -23,13 +23,15 @@ buildDotnetModule (args // {
src = emptyDirectory; src = emptyDirectory;
nugetDeps = mkNugetDeps { buildInputs = [
name = pname; (fetchNupkg {
nugetDeps = { fetchNuGet }: [ pname = nugetName;
(fetchNuGet { pname = nugetName; inherit version; sha256 = nugetSha256; hash = nugetHash; }) inherit version;
] ++ (nugetDeps fetchNuGet); sha256 = nugetSha256;
installable = true; hash = nugetHash;
}; installable = true;
})
];
dotnetGlobalTool = true; dotnetGlobalTool = true;

View File

@ -7,7 +7,7 @@
writeShellScript, writeShellScript,
makeWrapper, makeWrapper,
dotnetCorePackages, dotnetCorePackages,
mkNugetDeps, fetchNupkg,
nuget-to-nix, nuget-to-nix,
cacert, cacert,
unzip, unzip,
@ -18,10 +18,7 @@ let
transformArgs = transformArgs =
finalAttrs: finalAttrs:
{ {
name ? "${args.pname}-${args.version}",
pname ? name,
enableParallelBuilding ? true, enableParallelBuilding ? true,
doCheck ? false,
# Flags to pass to `makeWrapper`. This is done to avoid double wrapping. # Flags to pass to `makeWrapper`. This is done to avoid double wrapping.
makeWrapperArgs ? [ ], makeWrapperArgs ? [ ],
@ -115,22 +112,36 @@ let
_nugetDeps = _nugetDeps =
if (nugetDeps != null) then if (nugetDeps != null) then
if lib.isDerivation nugetDeps then if lib.isDerivation nugetDeps then
[ nugetDeps ]
else if lib.isList nugetDeps then
nugetDeps nugetDeps
else else
mkNugetDeps { assert (lib.isPath nugetDeps);
inherit name; callPackage nugetDeps { fetchNuGet = fetchNupkg; }
sourceFile = nugetDeps;
}
else else
throw "Defining the `nugetDeps` attribute is required, as to lock the NuGet dependencies. This file can be generated by running the `passthru.fetch-deps` script."; [ ];
nugetDepsFile = _nugetDeps.sourceFile; nugetDepsFile = if lib.isPath nugetDeps then nugetDeps else null;
inherit (dotnetCorePackages) systemToDotnetRid; inherit (dotnetCorePackages) systemToDotnetRid;
in in
# Not all args need to be passed through to mkDerivation # Not all args need to be passed through to mkDerivation
# TODO: We should probably filter out even more attrs # TODO: We should probably filter out even more attrs
removeAttrs args [ "nugetDeps" ] removeAttrs args [
"nugetDeps"
"installPath"
"executables"
"projectFile"
"projectReferences"
"runtimeDeps"
"runtimeId"
"disabledTests"
"testProjectFile"
"buildType"
"selfContainedBuild"
"useDotnet"
"useAppHost"
]
// { // {
dotnetInstallPath = installPath; dotnetInstallPath = installPath;
dotnetExecutables = executables; dotnetExecutables = executables;
@ -145,9 +156,18 @@ let
dotnetRuntimeDeps = map lib.getLib runtimeDeps; dotnetRuntimeDeps = map lib.getLib runtimeDeps;
dotnetSelfContainedBuild = selfContainedBuild; dotnetSelfContainedBuild = selfContainedBuild;
dotnetUseAppHost = useAppHost; dotnetUseAppHost = useAppHost;
inherit useDotnetFromEnv;
inherit enableParallelBuilding; inherit
enableParallelBuilding
dotnetRestoreFlags
dotnetBuildFlags
dotnetTestFlags
dotnetInstallFlags
dotnetPackFlags
dotnetFlags
packNupkg
useDotnetFromEnv
;
nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [ nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
dotnetConfigureHook dotnetConfigureHook
@ -163,13 +183,7 @@ let
yq yq
]; ];
buildInputs = buildInputs = args.buildInputs or [ ] ++ [ dotnet-sdk.packages ] ++ _nugetDeps ++ projectReferences;
args.buildInputs or [ ]
++ [
dotnet-sdk.packages
_nugetDeps
]
++ projectReferences;
# Parse the version attr into a format acceptable for the Version msbuild property # Parse the version attr into a format acceptable for the Version msbuild property
# The actual version attr is saved in InformationalVersion, which accepts an arbitrary string # The actual version attr is saved in InformationalVersion, which accepts an arbitrary string
@ -213,13 +227,13 @@ let
{ {
nugetDeps = _nugetDeps; nugetDeps = _nugetDeps;
} }
// lib.optionalAttrs (!lib.isDerivation nugetDeps) { // lib.optionalAttrs (nugetDeps == null || lib.isPath nugetDeps) {
fetch-deps = fetch-deps =
let let
pkg = finalAttrs.finalPackage.overrideAttrs ( pkg = finalAttrs.finalPackage.overrideAttrs (
old: old:
{ {
buildInputs = lib.remove _nugetDeps old.buildInputs; buildInputs = lib.subtractLists _nugetDeps old.buildInputs;
keepNugetConfig = true; keepNugetConfig = true;
} }
// lib.optionalAttrs (runtimeId == null) { // lib.optionalAttrs (runtimeId == null) {
@ -238,15 +252,15 @@ let
# Note that toString is necessary here as it results in the path at # Note that toString is necessary here as it results in the path at
# eval time (i.e. to the file in your local Nixpkgs checkout) rather # eval time (i.e. to the file in your local Nixpkgs checkout) rather
# than the Nix store path of the path after it's been imported. # than the Nix store path of the path after it's been imported.
if lib.isPath nugetDepsFile && !lib.hasPrefix "${builtins.storeDir}/" (toString nugetDepsFile) then if lib.isPath nugetDeps && !lib.isStorePath nugetDepsFile then
toString nugetDepsFile toString nugetDepsFile
else else
''$(mktemp -t "${pname}-deps-XXXXXX.nix")''; ''$(mktemp -t "${finalAttrs.pname ? finalAttrs.finalPackage.name}-deps-XXXXXX.nix")'';
nugetToNix = (nuget-to-nix.override { inherit dotnet-sdk; }); nugetToNix = (nuget-to-nix.override { inherit dotnet-sdk; });
}; };
in in
writeShellScript "${name}-fetch-deps" '' writeShellScript "${finalAttrs.finalPackage.name}-fetch-deps" ''
NIX_BUILD_SHELL="${runtimeShell}" exec ${nix}/bin/nix-shell \ NIX_BUILD_SHELL="${runtimeShell}" exec ${nix}/bin/nix-shell \
--pure --run 'source "${innerScript}"' "${drv}" --pure --run 'source "${innerScript}"' "${drv}"
''; '';

View File

@ -4,6 +4,8 @@ tmp=$(mktemp -d)
trap 'chmod -R +w "$tmp" && rm -fr "$tmp"' EXIT trap 'chmod -R +w "$tmp" && rm -fr "$tmp"' EXIT
HOME=$tmp/.home HOME=$tmp/.home
export TMPDIR="$tmp/.tmp"
mkdir "$HOME" "$TMPDIR"
cd "$tmp" cd "$tmp"
phases=" phases="

View File

@ -50,7 +50,7 @@ dotnetConfigureHook() {
fi fi
done done
if [[ -f .config/dotnet-tools.json || -f .dotnet-tools.json ]]; then if [[ -f .config/dotnet-tools.json || -f dotnet-tools.json ]]; then
dotnet tool restore dotnet tool restore
fi fi

View File

@ -0,0 +1,80 @@
{
symlinkJoin,
fetchurl,
stdenvNoCC,
lib,
unzip,
patchNupkgs,
nugetPackageHook,
callPackage,
overrides ? callPackage ./overrides.nix { },
}:
{
pname,
version,
sha256 ? "",
hash ? "",
url ? "https://www.nuget.org/api/v2/package/${pname}/${version}",
installable ? false,
}:
let
package = stdenvNoCC.mkDerivation rec {
inherit pname version;
src = fetchurl {
name = "${pname}.${version}.nupkg";
# There is no need to verify whether both sha256 and hash are
# valid here, because nuget-to-nix does not generate a deps.nix
# containing both.
inherit
url
sha256
hash
version
;
};
nativeBuildInputs = [
unzip
patchNupkgs
nugetPackageHook
];
unpackPhase = ''
runHook preUnpack
unzip -nqd source $src
chmod -R +rw source
cd source
runHook postUnpack
'';
prePatch = ''
shopt -s nullglob
local dir
for dir in tools runtimes/*/native; do
[[ ! -d "$dir" ]] || chmod -R +x "$dir"
done
rm -rf .signature.p7s
'';
installPhase = ''
runHook preInstall
dir=$out/share/nuget/packages/${lib.toLower pname}/${lib.toLower version}
mkdir -p $dir
cp -r . $dir
echo {} > "$dir"/.nupkg.metadata
runHook postInstall
'';
preFixup = ''
patch-nupkgs $out/share/nuget/packages
'';
createInstallableNugetSource = installable;
};
in
overrides.${pname} or lib.id package

View File

@ -0,0 +1,55 @@
{
autoPatchelfHook,
dotnetCorePackages,
fontconfig,
lib,
libICE,
libSM,
libX11,
stdenv,
writeText,
}:
{
# e.g.
# "Package.Id" =
# package:
# package.overrideAttrs (old: {
# buildInputs = old.buildInputs or [ ] ++ [ hello ];
# });
"Avalonia.X11" =
package:
package.overrideAttrs (
old:
lib.optionalAttrs (!stdenv.isDarwin) {
setupHook = writeText "setupHook.sh" ''
prependToVar dotnetRuntimeDeps \
"${lib.getLib libICE}" \
"${lib.getLib libSM}" \
"${lib.getLib libX11}"
'';
}
);
"SkiaSharp.NativeAssets.Linux" =
package:
package.overrideAttrs (
old:
lib.optionalAttrs stdenv.isLinux {
nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ autoPatchelfHook ];
buildInputs = old.buildInputs or [ ] ++ [ fontconfig ];
preInstall =
old.preInstall or ""
+ ''
cd runtimes
for platform in *; do
[[ $platform == "${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" ]] ||
rm -r "$platform"
done
cd - >/dev/null
'';
}
);
}

View File

@ -5,6 +5,7 @@
, unzip , unzip
, patchNupkgs , patchNupkgs
, nugetPackageHook , nugetPackageHook
, fetchNupkg
}: }:
lib.makeOverridable( lib.makeOverridable(
{ name { name
@ -15,56 +16,7 @@ lib.makeOverridable(
(symlinkJoin { (symlinkJoin {
name = "${name}-nuget-deps"; name = "${name}-nuget-deps";
paths = nugetDeps { paths = nugetDeps {
fetchNuGet = fetchNuGet = args: fetchNupkg (args // { inherit installable; });
{ pname
, version
, sha256 ? ""
, hash ? ""
, url ? "https://www.nuget.org/api/v2/package/${pname}/${version}" }:
stdenvNoCC.mkDerivation rec {
inherit pname version;
src = fetchurl {
name = "${pname}.${version}.nupkg";
# There is no need to verify whether both sha256 and hash are
# valid here, because nuget-to-nix does not generate a deps.nix
# containing both.
inherit url sha256 hash version;
};
nativeBuildInputs = [
unzip
patchNupkgs
nugetPackageHook
];
unpackPhase = ''
unzip -nq $src
chmod -R +rw .
'';
prePatch = ''
shopt -s nullglob
local dir
for dir in tools runtimes/*/native; do
[[ ! -d "$dir" ]] || chmod -R +x "$dir"
done
rm -rf .signature.p7s
'';
installPhase = ''
dir=$out/share/nuget/packages/${lib.toLower pname}/${lib.toLower version}
mkdir -p $dir
cp -r . $dir
echo {} > "$dir"/.nupkg.metadata
'';
preFixup = ''
patch-nupkgs $out/share/nuget/packages
'';
createInstallableNugetSource = installable;
};
}; };
}) // { }) // {
inherit sourceFile; inherit sourceFile;

View File

@ -5,11 +5,6 @@
dotnetCorePackages, dotnetCorePackages,
libX11,
libICE,
libSM,
fontconfig,
xdg-utils, xdg-utils,
}: }:
@ -38,12 +33,6 @@ buildDotnetModule rec {
nugetDeps = ./deps.nix; nugetDeps = ./deps.nix;
runtimeDeps = [
libX11
libICE
libSM
fontconfig
];
# Required for OneClick # Required for OneClick
makeWrapperArgs = [ makeWrapperArgs = [

View File

@ -6,9 +6,6 @@
dotnetCorePackages, dotnetCorePackages,
xz, xz,
pcre, pcre,
libX11,
libICE,
libSM,
autoPatchelfHook, autoPatchelfHook,
bintools, bintools,
fixDarwinDylibNames, fixDarwinDylibNames,
@ -77,13 +74,9 @@ buildDotnetModule rec {
runtimeDeps = [ runtimeDeps = [
xz xz
pcre pcre
libX11
libICE
libSM
libgdiplus libgdiplus
glib glib
libXrandr libXrandr
fontconfig
] ++ lib.optionals stdenv.hostPlatform.isLinux [ blender ]; ] ++ lib.optionals stdenv.hostPlatform.isLinux [ blender ];
# there is no "*.so.3" or "*.so.5" in nixpkgs. So ignore the warning # there is no "*.so.3" or "*.so.5" in nixpkgs. So ignore the warning

View File

@ -202,7 +202,7 @@ stdenv.mkDerivation (finalAttrs: {
}: }:
runCommand "gnome-flashback-${wmName}.target" { } '' runCommand "gnome-flashback-${wmName}.target" { } ''
mkdir -p $out/lib/systemd/user mkdir -p $out/lib/systemd/user
cp -r "${finalAttrs.gnome-flashback}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \ cp -r "${finalAttrs.finalPackage}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \
"$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d" "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d"
''; '';

View File

@ -1,10 +1,8 @@
{ {
buildDotnetModule buildDotnetModule
, fetchFromGitHub , fetchFromGitHub
, fontconfig
, lib , lib
, openal , openal
, xorg
}: }:
buildDotnetModule rec { buildDotnetModule rec {
@ -23,7 +21,7 @@ buildDotnetModule rec {
nugetDeps = ./deps.nix; nugetDeps = ./deps.nix;
executables = [ "Knossos.NET" ]; executables = [ "Knossos.NET" ];
runtimeDeps = [ fontconfig openal xorg.libX11 xorg.libICE xorg.libSM ]; runtimeDeps = [ openal ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/KnossosNET/Knossos.NET"; homepage = "https://github.com/KnossosNET/Knossos.NET";

View File

@ -6,14 +6,6 @@
dotnetCorePackages, dotnetCorePackages,
wrapGAppsHook3, wrapGAppsHook3,
libX11,
libICE,
libSM,
libXi,
libXcursor,
libXext,
libXrandr,
fontconfig,
glew, glew,
gtk3, gtk3,
}: }:
@ -48,14 +40,6 @@ buildDotnetModule rec {
runtimeDeps = [ runtimeDeps = [
# For Avalonia UI # For Avalonia UI
libX11
libICE
libSM
libXi
libXcursor
libXext
libXrandr
fontconfig
glew glew
# For file dialogs # For file dialogs
gtk3 gtk3

View File

@ -5,11 +5,7 @@
dotnetCorePackages, dotnetCorePackages,
zlib, zlib,
icu, icu,
fontconfig,
openssl, openssl,
libX11,
libICE,
libSM,
icoutils, icoutils,
copyDesktopItems, copyDesktopItems,
makeDesktopItem, makeDesktopItem,
@ -36,11 +32,7 @@ buildDotnetModule rec {
runtimeDeps = [ runtimeDeps = [
zlib zlib
icu icu
fontconfig
openssl openssl
libX11
libICE
libSM
]; ];
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -7,9 +7,6 @@
fetchFromGitHub, fetchFromGitHub,
fontconfig, fontconfig,
lib, lib,
libICE,
libSM,
libX11,
runCommand, runCommand,
pname ? "nexusmods-app", pname ? "nexusmods-app",
}: }:
@ -62,13 +59,6 @@ buildDotnetModule (finalAttrs: {
runtimeInputs = [ desktop-file-utils ]; runtimeInputs = [ desktop-file-utils ];
runtimeDeps = [
fontconfig
libICE
libSM
libX11
];
executables = [ "NexusMods.App" ]; executables = [ "NexusMods.App" ];
doCheck = true; doCheck = true;

View File

@ -1,15 +1,16 @@
{ lib {
, python3Packages lib,
, fetchFromGitHub python3Packages,
, writeText fetchFromGitHub,
, copyDesktopItems writeText,
, makeDesktopItem copyDesktopItems,
, makeWrapper makeDesktopItem,
, onedrive makeWrapper,
onedrive,
}: }:
let let
version = "1.0.3"; version = "1.1.0rc3";
setupPy = writeText "setup.py" '' setupPy = writeText "setup.py" ''
from setuptools import setup from setuptools import setup
@ -31,12 +32,18 @@ python3Packages.buildPythonApplication rec {
owner = "bpozdena"; owner = "bpozdena";
repo = "OneDriveGUI"; repo = "OneDriveGUI";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-HutziAzhIDYP8upNPieL2GNrxPBHUCVs09FFxdSqeBs="; hash = "sha256-d5NAcT3x9R/2DVQKZsw4GH63nTlVFsvkWwMrb42s18s=";
}; };
nativeBuildInputs = [ copyDesktopItems makeWrapper ]; nativeBuildInputs = [
copyDesktopItems
makeWrapper
];
propagatedBuildInputs = with python3Packages; [ pyside6 requests ]; propagatedBuildInputs = with python3Packages; [
pyside6
requests
];
# wrap manually to avoid having a bash script in $out/bin with a .py extension # wrap manually to avoid having a bash script in $out/bin with a .py extension
dontWrapPythonPrograms = true; dontWrapPythonPrograms = true;
@ -73,7 +80,9 @@ python3Packages.buildPythonApplication rec {
makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \ makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \
--prefix PATH : ${lib.makeBinPath [ onedrive ]} \ --prefix PATH : ${lib.makeBinPath [ onedrive ]} \
--prefix PYTHONPATH : ${python3Packages.makePythonPath (propagatedBuildInputs ++ [(placeholder "out")])} \ --prefix PYTHONPATH : ${
python3Packages.makePythonPath (propagatedBuildInputs ++ [ (placeholder "out") ])
} \
--add-flags $out/${python3Packages.python.sitePackages}/OneDriveGUI.py --add-flags $out/${python3Packages.python.sitePackages}/OneDriveGUI.py
''; '';

View File

@ -7,19 +7,19 @@
}: }:
let let
pname = "open-webui"; pname = "open-webui";
version = "0.3.19"; version = "0.3.20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "open-webui"; owner = "open-webui";
repo = "open-webui"; repo = "open-webui";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-0POrTElR4oze9sypfsJrY8miBVK6JvHRDmzMhqntFA4="; hash = "sha256-bzNwqUrFbU0Llew2den8ETDUDJ7HdGCwvSvbFFhAOFo=";
}; };
frontend = buildNpmPackage { frontend = buildNpmPackage {
inherit pname version src; inherit pname version src;
npmDepsHash = "sha256-03F9Pz4RWoswdYh9lLEHtg5WitCsrG3JOa2S/RJDtZI="; npmDepsHash = "sha256-ejXQO2dwztyMBDUIlavJzflulXmV938SF5Do0sdQGAY=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase` # Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work. # Until this is solved, running python packages from the browser will not work.

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "openasar"; pname = "openasar";
version = "0-unstable-2024-06-30"; version = "0-unstable-2024-09-06";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GooseMod"; owner = "GooseMod";
repo = "OpenAsar"; repo = "OpenAsar";
rev = "5c875eb048e96543f1ec711fae522ace5e4a836c"; rev = "f92ee8c3dc6b6ff9829f69a1339e0f82a877929c";
hash = "sha256-dlf4X+2W2GfL2E46ZM35PqpcoKHoZ4fhroOCLpye1D0="; hash = "sha256-V2oZ0mQbX+DHDZfTj8sV4XS6r9NOmJYHvYOGK6X/+HU=";
}; };
postPatch = '' postPatch = ''

View File

@ -4,11 +4,6 @@
, copyDesktopItems , copyDesktopItems
, makeDesktopItem , makeDesktopItem
, lib , lib
, fontconfig
, libX11
, libXcursor
, libICE
, libSM
, runCommandLocal , runCommandLocal
}: }:
let let
@ -43,14 +38,6 @@ buildDotnetModule {
copyDesktopItems copyDesktopItems
]; ];
runtimeDeps = [
fontconfig
libX11
libICE
libXcursor
libSM
];
projectFile = [ projectFile = [
"RetroSpyX/RetroSpyX.csproj" "RetroSpyX/RetroSpyX.csproj"
"GBPemuX/GBPemuX.csproj" "GBPemuX/GBPemuX.csproj"

View File

@ -2,6 +2,7 @@
# Please dont edit it manually, your changes might get overwritten! # Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [ { fetchNuGet }: [
(fetchNuGet { pname = "dotnet-format"; version = "7.0.360304"; hash = "sha256-TuhZIhearocl702hLzGJCcRd8+RWoI4tDY02Bf6Lus8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/dotnet-format/7.0.360304/dotnet-format.7.0.360304.nupkg"; })
(fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg"; }) (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg"; })
(fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "8.1.1.7464"; hash = "sha256-71/e9zuQIfqRXOiWxZkUFW/tMAj63nE8tg/sR7bGzuM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/icsharpcode.decompiler/8.1.1.7464/icsharpcode.decompiler.8.1.1.7464.nupkg"; }) (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "8.1.1.7464"; hash = "sha256-71/e9zuQIfqRXOiWxZkUFW/tMAj63nE8tg/sR7bGzuM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/icsharpcode.decompiler/8.1.1.7464/icsharpcode.decompiler.8.1.1.7464.nupkg"; })
(fetchNuGet { pname = "MessagePack"; version = "2.5.108"; hash = "sha256-+vMXyEbfutY5WOFuFnNF24uLcKJTTdntVrVlSJH4yjI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack/2.5.108/messagepack.2.5.108.nupkg"; }) (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; hash = "sha256-+vMXyEbfutY5WOFuFnNF24uLcKJTTdntVrVlSJH4yjI="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack/2.5.108/messagepack.2.5.108.nupkg"; })
@ -116,6 +117,7 @@
(fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.8.0-rc.112"; hash = "sha256-geQh1fSRTp2FTzeilFL8gxFFq7q8u7YaakShPKiTwns="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.8.0-rc.112/nuget.projectmodel.6.8.0-rc.112.nupkg"; }) (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.8.0-rc.112"; hash = "sha256-geQh1fSRTp2FTzeilFL8gxFFq7q8u7YaakShPKiTwns="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.8.0-rc.112/nuget.projectmodel.6.8.0-rc.112.nupkg"; })
(fetchNuGet { pname = "NuGet.Protocol"; version = "6.8.0-rc.112"; hash = "sha256-6r/MJCo2ngibSAfNdH+xmeNUl38EPjQkaewKsTJpfvU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.8.0-rc.112/nuget.protocol.6.8.0-rc.112.nupkg"; }) (fetchNuGet { pname = "NuGet.Protocol"; version = "6.8.0-rc.112"; hash = "sha256-6r/MJCo2ngibSAfNdH+xmeNUl38EPjQkaewKsTJpfvU="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.8.0-rc.112/nuget.protocol.6.8.0-rc.112.nupkg"; })
(fetchNuGet { pname = "NuGet.Versioning"; version = "6.8.0-rc.112"; hash = "sha256-BzAWS5wpGnNj0gU33sfWao7BELGjrQBT4xj3EC7qRRE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.8.0-rc.112/nuget.versioning.6.8.0-rc.112.nupkg"; }) (fetchNuGet { pname = "NuGet.Versioning"; version = "6.8.0-rc.112"; hash = "sha256-BzAWS5wpGnNj0gU33sfWao7BELGjrQBT4xj3EC7qRRE="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.8.0-rc.112/nuget.versioning.6.8.0-rc.112.nupkg"; })
(fetchNuGet { pname = "PowerShell"; version = "7.0.0"; hash = "sha256-ioasr71UIhDmeZ2Etw52lQ7QsioEd1pnbpVlEeCyUI4="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/powershell/7.0.0/powershell.7.0.0.nupkg"; })
(fetchNuGet { pname = "RichCodeNav.EnvVarDump"; version = "0.1.1643-alpha"; hash = "sha256-bwND+Na9iEnkEdeL1elY34+m4/F4BYATBHv/2BEw4d4="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg"; }) (fetchNuGet { pname = "RichCodeNav.EnvVarDump"; version = "0.1.1643-alpha"; hash = "sha256-bwND+Na9iEnkEdeL1elY34+m4/F4BYATBHv/2BEw4d4="; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg"; })
(fetchNuGet { pname = "Roslyn.Diagnostics.Analyzers"; version = "3.11.0-beta1.24081.1"; hash = "sha256-wIOhKwvYetwytnuNX0uNC5oyBDU7xAhLqzTvyuGDVMM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.11.0-beta1.24081.1/roslyn.diagnostics.analyzers.3.11.0-beta1.24081.1.nupkg"; }) (fetchNuGet { pname = "Roslyn.Diagnostics.Analyzers"; version = "3.11.0-beta1.24081.1"; hash = "sha256-wIOhKwvYetwytnuNX0uNC5oyBDU7xAhLqzTvyuGDVMM="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.11.0-beta1.24081.1/roslyn.diagnostics.analyzers.3.11.0-beta1.24081.1.nupkg"; })
(fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg"; }) (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg"; })

View File

@ -33,7 +33,7 @@ buildDotnetModule rec {
jq '.sdk.rollForward = "latestMinor"' < global.json > global.json.tmp jq '.sdk.rollForward = "latestMinor"' < global.json > global.json.tmp
mv global.json.tmp global.json mv global.json.tmp global.json
substituteInPlace $projectFile \ substituteInPlace $dotnetProjectFiles \
--replace-fail \ --replace-fail \
'>win-x64;win-arm64;linux-x64;linux-arm64;linux-musl-x64;linux-musl-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>' \ '>win-x64;win-arm64;linux-x64;linux-arm64;linux-musl-x64;linux-musl-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>' \
'>linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>' '>linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>'
@ -58,7 +58,7 @@ buildDotnetModule rec {
'' ''
runHook preInstall runHook preInstall
env dotnet publish $projectFile \ env dotnet publish $dotnetProjectFiles \
-p:ContinuousIntegrationBuild=true \ -p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \ -p:Deterministic=true \
-p:InformationalVersion=$version \ -p:InformationalVersion=$version \

View File

@ -10,13 +10,6 @@
, sndio , sndio
, pulseaudio , pulseaudio
, vulkan-loader , vulkan-loader
, libICE
, libSM
, libXi
, libXcursor
, libXext
, libXrandr
, fontconfig
, glew , glew
, libGL , libGL
, udev , udev
@ -55,13 +48,6 @@ buildDotnetModule rec {
udev udev
# Avalonia UI # Avalonia UI
libICE
libSM
libXi
libXcursor
libXext
libXrandr
fontconfig
glew glew
# Headless executable # Headless executable

View File

@ -18,13 +18,13 @@
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "shotcut"; pname = "shotcut";
version = "24.06.26"; version = "24.08.29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mltframework"; owner = "mltframework";
repo = "shotcut"; repo = "shotcut";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-9eQF3s4BAUK81/94z7cMkd2NWdNLVMraP08qsDmuAI8="; hash = "sha256-iWXq9IdXfARe9h3Habe0rr0ohdxBARiwg5g7F53bhRg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -4452,7 +4452,7 @@ checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314"
[[package]] [[package]]
name = "uv" name = "uv"
version = "0.4.4" version = "0.4.6"
dependencies = [ dependencies = [
"anstream", "anstream",
"anyhow", "anyhow",
@ -4463,6 +4463,8 @@ dependencies = [
"byteorder", "byteorder",
"cache-key", "cache-key",
"clap", "clap",
"ctrlc",
"distribution-filename",
"distribution-types", "distribution-types",
"etcetera", "etcetera",
"filetime", "filetime",
@ -4511,6 +4513,7 @@ dependencies = [
"uv-configuration", "uv-configuration",
"uv-dispatch", "uv-dispatch",
"uv-distribution", "uv-distribution",
"uv-extract",
"uv-fs", "uv-fs",
"uv-git", "uv-git",
"uv-installer", "uv-installer",
@ -4558,6 +4561,7 @@ dependencies = [
name = "uv-build" name = "uv-build"
version = "0.0.1" version = "0.0.1"
dependencies = [ dependencies = [
"anstream",
"anyhow", "anyhow",
"distribution-types", "distribution-types",
"fs-err", "fs-err",
@ -4715,7 +4719,6 @@ dependencies = [
"distribution-filename", "distribution-filename",
"distribution-types", "distribution-types",
"fs-err", "fs-err",
"install-wheel-rs",
"itertools 0.13.0", "itertools 0.13.0",
"markdown", "markdown",
"mimalloc", "mimalloc",
@ -4725,7 +4728,6 @@ dependencies = [
"pretty_assertions", "pretty_assertions",
"pypi-types", "pypi-types",
"resvg", "resvg",
"rustc-hash",
"schemars", "schemars",
"serde", "serde",
"serde_json", "serde_json",
@ -4736,20 +4738,14 @@ dependencies = [
"tracing", "tracing",
"tracing-durations-export", "tracing-durations-export",
"tracing-subscriber", "tracing-subscriber",
"uv-build",
"uv-cache", "uv-cache",
"uv-cli", "uv-cli",
"uv-client", "uv-client",
"uv-configuration",
"uv-dispatch",
"uv-git",
"uv-installer", "uv-installer",
"uv-macros", "uv-macros",
"uv-options-metadata", "uv-options-metadata",
"uv-python", "uv-python",
"uv-resolver",
"uv-settings", "uv-settings",
"uv-types",
"uv-workspace", "uv-workspace",
"walkdir", "walkdir",
] ]
@ -5209,7 +5205,7 @@ dependencies = [
[[package]] [[package]]
name = "uv-version" name = "uv-version"
version = "0.4.4" version = "0.4.6"
[[package]] [[package]]
name = "uv-virtualenv" name = "uv-virtualenv"

View File

@ -16,14 +16,14 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "uv"; pname = "uv";
version = "0.4.4"; version = "0.4.6";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "astral-sh"; owner = "astral-sh";
repo = "uv"; repo = "uv";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-PhLatO4XeYFrv0DqPc0NlSGXJvLkem0pqxEcoVZddZw="; hash = "sha256-TBAnKVlv6SpPy6DUdq9AQE9qrCNuRiixuy4fMzDi9Yg=";
}; };
cargoDeps = rustPlatform.importCargoLock { cargoDeps = rustPlatform.importCargoLock {

View File

@ -51,6 +51,13 @@ makeScopeWithSplicing' {
patchNupkgs = callPackage ./patch-nupkgs.nix {}; patchNupkgs = callPackage ./patch-nupkgs.nix {};
nugetPackageHook = callPackage ./nuget-package-hook.nix {}; nugetPackageHook = callPackage ./nuget-package-hook.nix {};
buildDotnetModule = callPackage ../../../build-support/dotnet/build-dotnet-module { };
buildDotnetGlobalTool = callPackage ../../../build-support/dotnet/build-dotnet-global-tool { };
mkNugetSource = callPackage ../../../build-support/dotnet/make-nuget-source { };
mkNugetDeps = callPackage ../../../build-support/dotnet/make-nuget-deps { };
fetchNupkg = callPackage ../../../build-support/dotnet/fetch-nupkg { };
dotnet_8 = recurseIntoAttrs (callPackage ./8 { bootstrapSdk = dotnet_8_0.sdk_8_0_1xx; }); dotnet_8 = recurseIntoAttrs (callPackage ./8 { bootstrapSdk = dotnet_8_0.sdk_8_0_1xx; });
dotnet_9 = recurseIntoAttrs (callPackage ./9 {}); dotnet_9 = recurseIntoAttrs (callPackage ./9 {});
} // lib.optionalAttrs config.allowAliases { } // lib.optionalAttrs config.allowAliases {

View File

@ -16,6 +16,7 @@ _linkPackages() {
local -r src="$1" local -r src="$1"
local -r dest="$2" local -r dest="$2"
local dir local dir
local x
for x in "$src"/*/*; do for x in "$src"/*/*; do
dir=$dest/$(basename "$(dirname "$x")") dir=$dest/$(basename "$(dirname "$x")")
@ -27,8 +28,9 @@ _linkPackages() {
createNugetDirs() { createNugetDirs() {
nugetTemp=$PWD/.nuget-temp nugetTemp=$PWD/.nuget-temp
export NUGET_PACKAGES=$nugetTemp/packages export NUGET_PACKAGES=$nugetTemp/packages
export NUGET_FALLBACK_PACKAGES=$nugetTemp/fallback
nugetSource=$nugetTemp/source nugetSource=$nugetTemp/source
mkdir -p "$NUGET_PACKAGES" "$nugetSource" mkdir -p "$NUGET_PACKAGES" "$NUGET_FALLBACK_PACKAGES" "$nugetSource"
dotnet new nugetconfig dotnet new nugetconfig
if [[ -z ${keepNugetConfig-} ]]; then if [[ -z ${keepNugetConfig-} ]]; then
@ -39,9 +41,11 @@ createNugetDirs() {
} }
configureNuget() { configureNuget() {
local x
for x in "${!_nugetInputs[@]}"; do for x in "${!_nugetInputs[@]}"; do
if [[ -d $x/share/nuget/packages ]]; then if [[ -d $x/share/nuget/packages ]]; then
addToSearchPathWithCustomDelimiter ";" NUGET_FALLBACK_PACKAGES "$x/share/nuget/packages" _linkPackages "$x/share/nuget/packages" "$NUGET_FALLBACK_PACKAGES"
fi fi
if [[ -d $x/share/nuget/source ]]; then if [[ -d $x/share/nuget/source ]]; then
@ -60,7 +64,7 @@ configureNuget() {
done done
fi fi
if [[ -f paket.dependencies ]]; then if [[ -z ${keepNugetConfig-} && -f paket.dependencies ]]; then
sed -i "s:source .*:source $nugetSource:" paket.dependencies sed -i "s:source .*:source $nugetSource:" paket.dependencies
sed -i "s:remote\:.*:remote\: $nugetSource:" paket.lock sed -i "s:remote\:.*:remote\: $nugetSource:" paket.lock

View File

@ -65,6 +65,7 @@ in {
read version read version
mkdir -p "$packages"/share/nuget/packages/"$id" mkdir -p "$packages"/share/nuget/packages/"$id"
cp -r "$package" "$packages"/share/nuget/packages/"$id"/"$version" cp -r "$package" "$packages"/share/nuget/packages/"$id"/"$version"
echo {} > "$packages"/share/nuget/packages/"$id"/"$version"/.nupkg.metadata
) )
fi fi
done done

View File

@ -23,4 +23,4 @@ let
}; };
}); });
in mkPackages { inherit vmr; } in mkPackages { inherit vmr; } // { stage0 = lib.dontRecurseIntoAttrs stage0; }

View File

@ -24,7 +24,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wireplumber"; pname = "wireplumber";
version = "0.5.5"; version = "0.5.6";
outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc"; outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
owner = "pipewire"; owner = "pipewire";
repo = "wireplumber"; repo = "wireplumber";
rev = version; rev = version;
hash = "sha256-evqQCKf4oE/PwkAOMPPPw8LPiNIWQ2gkOJzsFC8UN+k="; hash = "sha256-UAx7laULICb9ClZsIFcKi687M0yEgV4sCyhKqxs4nHE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -11,13 +11,13 @@
buildPecl rec { buildPecl rec {
pname = "snuffleupagus"; pname = "snuffleupagus";
version = "0.10.0"; version = "0.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jvoisin"; owner = "jvoisin";
repo = "snuffleupagus"; repo = "snuffleupagus";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-NwG8gBaToBaJGrZoCD7bDym7hQidWU0ArckoQCHN81o="; hash = "sha256-W+EQXjvmDHih5YW/SjRcEdUELePUPKrNWB8vW9dLK/g=";
}; };
buildInputs = buildInputs =

View File

@ -38,8 +38,7 @@ buildPythonPackage {
buildInputs = [ buildInputs = [
dotnetCorePackages.sdk_6_0.packages dotnetCorePackages.sdk_6_0.packages
dotnet-build.nugetDeps ] ++ dotnet-build.nugetDeps;
];
nativeBuildInputs = [ nativeBuildInputs = [
setuptools setuptools

View File

@ -1,54 +1,53 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
distutils,
fetchPypi, fetchPypi,
pythonOlder, pythonOlder,
ncurses, ncurses,
packaging,
setuptools, setuptools,
filelock, filelock,
typing-extensions,
wheel, wheel,
patchelf, patchelf,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "cx-freeze"; pname = "cx-freeze";
version = "7.1.1"; version = "7.2.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.11";
src = fetchPypi { src = fetchPypi {
pname = "cx_freeze"; pname = "cx_freeze";
inherit version; inherit version;
hash = "sha256-M1wwutDj5lNlXyMJkzCEWL7cmXuvW3qZXoZB3rousoc="; hash = "sha256-xX9xAbTTUTJGSx7IjLiUjDt8W07OS7NUwWCRWJyzNYM=";
}; };
pythonRelaxDeps = [ postPatch = ''
"setuptools" sed -i /patchelf/d pyproject.toml
"wheel" # Build system requirements
]; substituteInPlace pyproject.toml \
--replace-fail "setuptools>=65.6.3,<71" "setuptools" \
--replace-fail "wheel>=0.42.0,<=0.43.0" "wheel"
'';
build-system = [ build-system = [
setuptools setuptools
wheel wheel
]; ];
buildInputs = [ buildInputs = [ ncurses ];
ncurses
];
dependencies = [ dependencies = [
distutils
filelock filelock
packaging
setuptools setuptools
] ++ lib.optionals (pythonOlder "3.10") [ wheel
typing-extensions
]; ];
postPatch = ''
sed -i /patchelf/d pyproject.toml
'';
makeWrapperArgs = [ makeWrapperArgs = [
"--prefix" "--prefix"
"PATH" "PATH"
@ -56,7 +55,7 @@ buildPythonPackage rec {
(lib.makeBinPath [ patchelf ]) (lib.makeBinPath [ patchelf ])
]; ];
# fails to find Console even though it exists on python 3.x # Fails to find Console even though it exists on python 3.x
doCheck = false; doCheck = false;
meta = with lib; { meta = with lib; {

View File

@ -15,19 +15,20 @@
rich, rich,
pytestCheckHook, pytestCheckHook,
pythonOlder, pythonOlder,
setuptools,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "howdoi"; pname = "howdoi";
version = "2.0.20"; version = "2.0.20";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gleitz"; owner = "gleitz";
repo = pname; repo = "howdoi";
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-u0k+h7Sp2t/JUnfPqRzDpEA+vNXB7CpyZ/SRvk+B9t0="; hash = "sha256-u0k+h7Sp2t/JUnfPqRzDpEA+vNXB7CpyZ/SRvk+B9t0=";
}; };
@ -37,11 +38,13 @@ buildPythonPackage rec {
# Please remove on the next release # Please remove on the next release
(fetchpatch { (fetchpatch {
url = "https://github.com/gleitz/howdoi/commit/7d24e9e1c87811a6e66d60f504381383cf1ac3fd.patch"; url = "https://github.com/gleitz/howdoi/commit/7d24e9e1c87811a6e66d60f504381383cf1ac3fd.patch";
sha256 = "sha256-AFQMnMEijaExqiimbNaVeIRmZJ4Yj0nGUOEjfsvBLh8="; hash = "sha256-AFQMnMEijaExqiimbNaVeIRmZJ4Yj0nGUOEjfsvBLh8=";
}) })
]; ];
propagatedBuildInputs = [ build-system = [ setuptools ];
dependencies = [
appdirs appdirs
cachelib cachelib
colorama colorama
@ -60,14 +63,25 @@ buildPythonPackage rec {
export HOME=$(mktemp -d) export HOME=$(mktemp -d)
''; '';
disabledTests = [ "test_colorize" ]; disabledTests = [
"test_colorize"
# Tests are flaky, OSError: [Errno 24] Too many open files happpens
"test_answer_links_using_l_option"
"test_answers_bing"
"test_answers"
"test_json_output"
"test_missing_pre_or_code_query"
"test_multiple_answers"
"test_position"
"test_unicode_answer"
];
pythonImportsCheck = [ "howdoi" ]; pythonImportsCheck = [ "howdoi" ];
meta = with lib; { meta = with lib; {
changelog = "https://github.com/gleitz/howdoi/blob/v${version}/CHANGES.txt";
description = "Instant coding answers via the command line"; description = "Instant coding answers via the command line";
homepage = "https://github.com/gleitz/howdoi"; homepage = "https://github.com/gleitz/howdoi";
changelog = "https://github.com/gleitz/howdoi/blob/v${version}/CHANGES.txt";
license = licenses.mit; license = licenses.mit;
maintainers = [ ]; maintainers = [ ];
}; };

View File

@ -0,0 +1,43 @@
{
lib,
buildPythonPackage,
cryptography,
fetchPypi,
gssapi,
pyasn1,
pycryptodomex,
setuptools,
}:
buildPythonPackage rec {
pname = "ldap3-bleeding-edge";
version = "2.10.1.1337";
pyproject = true;
src = fetchPypi {
pname = "ldap3_bleeding_edge";
inherit version;
hash = "sha256-j4hzcqwOONol6YqY9Ldz9YphjPmacFoVyqUnMHW1aZk=";
};
build-system = [ setuptools ];
dependencies = [
cryptography
gssapi
pyasn1
pycryptodomex
];
pythonImportsCheck = [ "ldap3" ];
# Tests require network access
doCheck = false;
meta = {
description = "Strictly RFC 4510 conforming LDAP V3 client library (bleeding edge)";
homepage = "https://pypi.org/project/ldap3-bleeding-edge/";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ fab ];
};
}

View File

@ -37,7 +37,7 @@ buildPythonPackage {
--replace 'dynamic = ["version"]' 'version = "${version}"' --replace 'dynamic = ["version"]' 'version = "${version}"'
''; '';
buildInputs = [ dotnet-build.nugetDeps ]; buildInputs = dotnet-build.nugetDeps;
nativeBuildInputs = [ nativeBuildInputs = [
setuptools setuptools

View File

@ -5,7 +5,7 @@
fetchFromGitHub, fetchFromGitHub,
gssapi, gssapi,
impacket, impacket,
ldap3, ldap3-bleeding-edge,
lxml, lxml,
pyasn1, pyasn1,
pycryptodome, pycryptodome,
@ -15,7 +15,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pywerview"; pname = "pywerview";
version = "0.6.1"; version = "0.7.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -24,16 +24,16 @@ buildPythonPackage rec {
owner = "the-useless-one"; owner = "the-useless-one";
repo = "pywerview"; repo = "pywerview";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-hsilBqk73txYIlgRtbn/l/kWORMGft7ne5BffchDLPc="; hash = "sha256-G4kcKlb6bq9Vx52MVZ+DCN5k1QcvkoMXm9P959nA1fI=";
}; };
nativeBuildInputs = [ setuptools ]; build-system = [ setuptools ];
propagatedBuildInputs = [ dependencies = [
beautifulsoup4 beautifulsoup4
gssapi gssapi
impacket impacket
ldap3 ldap3-bleeding-edge
lxml lxml
pycryptodome pycryptodome
pyasn1 pyasn1
@ -46,10 +46,10 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Module for PowerSploit's PowerView support"; description = "Module for PowerSploit's PowerView support";
mainProgram = "pywerview";
homepage = "https://github.com/the-useless-one/pywerview"; homepage = "https://github.com/the-useless-one/pywerview";
changelog = "https://github.com/the-useless-one/pywerview/releases/tag/v${version}"; changelog = "https://github.com/the-useless-one/pywerview/releases/tag/v${version}";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
mainProgram = "pywerview";
}; };
} }

View File

@ -10,7 +10,7 @@
let let
pname = "surrealdb-migrations"; pname = "surrealdb-migrations";
version = "2.0.0-preview.1"; version = "2.0.0-preview.2";
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
inherit pname version; inherit pname version;
@ -19,10 +19,10 @@ rustPlatform.buildRustPackage rec {
owner = "Odonno"; owner = "Odonno";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Ijuohu/KgHN5Ux2aWIGJQF9z6vmDPAyE7Sy66zX7nd8="; hash = "sha256-GrgBDuyXnwmaq55LWTnNGsichfoQ+/arSxLhl3ymbDM=";
}; };
cargoHash = "sha256-4YTcWKyVrlgGA1hpoRszB5qn0qa/lizvvGXdfQJoxlc="; cargoHash = "sha256-7AdaUz43GHHhS1WoOD7qT4ZleBXc+Sp2/7/UHcSppTs=";
buildInputs = [ ] buildInputs = [ ]
++ lib.optionals stdenv.isDarwin [ Security ]; ++ lib.optionals stdenv.isDarwin [ Security ];

View File

@ -6,14 +6,6 @@
, iconConvTools , iconConvTools
, copyDesktopItems , copyDesktopItems
, makeDesktopItem , makeDesktopItem
, libX11
, libICE
, libSM
, libXi
, libXcursor
, libXext
, libXrandr
, fontconfig
, glew , glew
, SDL2 , SDL2
, glfw , glfw
@ -95,14 +87,6 @@ buildDotnetModule rec {
gdk-pixbuf gdk-pixbuf
# Avalonia UI dependencies. # Avalonia UI dependencies.
libX11
libICE
libSM
libXi
libXcursor
libXext
libXrandr
fontconfig
glew glew
]; ];

View File

@ -84,5 +84,8 @@ in lib.makeExtensible (self: {
xcode_14_1 = requireXcode "14.1" "sha256-QJGAUVIhuDYyzDNttBPv5lIGOfvkYqdOFSUAr5tlkfs="; xcode_14_1 = requireXcode "14.1" "sha256-QJGAUVIhuDYyzDNttBPv5lIGOfvkYqdOFSUAr5tlkfs=";
xcode_15 = requireXcode "15" "sha256-ffqISt2Ayccln5BArKIjSdzbEgoSoNwq8TPLGysAE0c="; xcode_15 = requireXcode "15" "sha256-ffqISt2Ayccln5BArKIjSdzbEgoSoNwq8TPLGysAE0c=";
xcode_15_1 = requireXcode "15.1" "sha256-0djqoSamU87rCpjo50Un3cFg9wKf+pSczRko6uumGM0="; xcode_15_1 = requireXcode "15.1" "sha256-0djqoSamU87rCpjo50Un3cFg9wKf+pSczRko6uumGM0=";
xcode_15_2 = requireXcode "15.2" "sha256-9B/4Tdyb3QGAzm579QGn5Iq/hA2hscD8OcoSJ5BFFXs=";
xcode_15_3 = requireXcode "15.3" "sha256-FyVA8EEPCI12Z4sJ4RQRZlMMpFmi7S8VYLcyvad3swM=";
xcode_15_4 = requireXcode "15.4" "sha256-yeo+sf6bBIJy9/1sQiMuPEMPniwGXMB6/FXXL0UrI5U=";
xcode = self."xcode_${lib.replaceStrings ["."] ["_"] (if (stdenv.targetPlatform ? xcodeVer) then stdenv.targetPlatform.xcodeVer else "12.3")}"; xcode = self."xcode_${lib.replaceStrings ["."] ["_"] (if (stdenv.targetPlatform ? xcodeVer) then stdenv.targetPlatform.xcodeVer else "12.3")}";
}) })

View File

@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
description = "Microcode for Intel processors"; description = "Microcode for Intel processors";
license = licenses.unfreeRedistributableFirmware; license = licenses.unfreeRedistributableFirmware;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ ]; maintainers = with maintainers; [ felixsinger ];
}; };
} }

View File

@ -1,14 +1,14 @@
{ lib {
, python3 lib,
, fetchFromGitHub stdenv,
python3,
fetchFromGitHub,
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "dmarc-metrics-exporter"; pname = "dmarc-metrics-exporter";
version = "1.1.0"; version = "1.1.0";
disabled = python3.pythonOlder "3.8";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
@ -20,19 +20,21 @@ python3.pkgs.buildPythonApplication rec {
pythonRelaxDeps = true; pythonRelaxDeps = true;
nativeBuildInputs = with python3.pkgs; [ build-system = with python3.pkgs; [
poetry-core poetry-core
]; ];
propagatedBuildInputs = with python3.pkgs; [ dependencies =
bite-parser with python3.pkgs;
dataclasses-serialization [
prometheus-client bite-parser
structlog dataclasses-serialization
uvicorn prometheus-client
xsdata structlog
] uvicorn
++ uvicorn.optional-dependencies.standard; xsdata
]
++ uvicorn.optional-dependencies.standard;
nativeCheckInputs = with python3.pkgs; [ nativeCheckInputs = with python3.pkgs; [
aiohttp aiohttp
@ -41,6 +43,12 @@ python3.pkgs.buildPythonApplication rec {
requests requests
]; ];
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# flaky tests
"test_build_info"
"test_prometheus_exporter"
];
disabledTestPaths = [ disabledTestPaths = [
# require networking # require networking
"dmarc_metrics_exporter/tests/test_e2e.py" "dmarc_metrics_exporter/tests/test_e2e.py"

View File

@ -5,4 +5,5 @@
use-dotnet-from-env = lib.recurseIntoAttrs (callPackage ./use-dotnet-from-env { }); use-dotnet-from-env = lib.recurseIntoAttrs (callPackage ./use-dotnet-from-env { });
structured-attrs = lib.recurseIntoAttrs (callPackage ./structured-attrs { }); structured-attrs = lib.recurseIntoAttrs (callPackage ./structured-attrs { });
final-attrs = lib.recurseIntoAttrs (callPackage ./final-attrs { }); final-attrs = lib.recurseIntoAttrs (callPackage ./final-attrs { });
nuget-deps = lib.recurseIntoAttrs (callPackage ./nuget-deps { });
} }

View File

@ -0,0 +1,44 @@
# Tests that `nugetDeps` in buildDotnetModule can handle various types.
{
lib,
dotnet-sdk,
buildPackages, # buildDotnetModule
runCommand,
}:
let
inherit (lib)
mapAttrs
;
inherit (buildPackages)
emptyDirectory
buildDotnetModule
;
in
mapAttrs
(
name: nugetDeps:
buildDotnetModule {
name = "nuget-deps-${name}";
unpackPhase = ''
runHook preUnpack
mkdir test
cd test
dotnet new console -o .
ls -l
runHook postUnpack
'';
inherit nugetDeps;
}
)
{
"null" = null;
"file" = ./nuget-deps.nix;
"derivation" = emptyDirectory;
"list" = [ emptyDirectory ];
}

View File

@ -0,0 +1,6 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }:
[
]

View File

@ -3,10 +3,6 @@
, fetchFromGitHub , fetchFromGitHub
, glibc , glibc
, zlib , zlib
, libX11
, libICE
, libSM
, fontconfig
, gtk3 , gtk3
, copyDesktopItems , copyDesktopItems
, icoutils , icoutils
@ -32,10 +28,6 @@ buildDotnetModule rec {
runtimeDeps = [ runtimeDeps = [
glibc glibc
zlib zlib
libX11
libICE
libSM
fontconfig
gtk3 gtk3
]; ];

View File

@ -4,8 +4,6 @@
, dotnet-runtime_8 , dotnet-runtime_8
, buildDotnetModule , buildDotnetModule
, fetchFromGitHub , fetchFromGitHub
, fontconfig
, xorg
, libglvnd , libglvnd
, makeDesktopItem , makeDesktopItem
, copyDesktopItems , copyDesktopItems
@ -34,7 +32,7 @@ buildDotnetModule rec {
copyDesktopItems copyDesktopItems
]; ];
buildInputs = [ stdenv.cc.cc.lib fontconfig ]; buildInputs = [ stdenv.cc.cc.lib ];
postInstall = '' postInstall = ''
rm -rf $out/lib/${lib.toLower pname}/runtimes/{*musl*,win*} rm -rf $out/lib/${lib.toLower pname}/runtimes/{*musl*,win*}
@ -42,9 +40,6 @@ buildDotnetModule rec {
runtimeDeps = [ runtimeDeps = [
libglvnd libglvnd
xorg.libSM
xorg.libICE
xorg.libX11
]; ];
desktopItems = makeDesktopItem { desktopItems = makeDesktopItem {

View File

@ -1,38 +1,35 @@
{ lib {
, fetchFromGitHub lib,
, python3 fetchFromGitHub,
python3,
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "ldeep"; pname = "ldeep";
version = "1.0.60"; version = "1.0.61";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "franc-pentest"; owner = "franc-pentest";
repo = "ldeep"; repo = "ldeep";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-voj6I93+CTifhuUxmSZxYorbrQqnUUUJbO8WG8oJYEA="; hash = "sha256-2962O/7EqX1lR8rNrtg9hku6O3+2gPtGhT5jDojxBDY=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [
"cryptography" "cryptography"
]; ];
build-system = with python3.pkgs; [ build-system = with python3.pkgs; [ pdm-backend ];
pdm-backend
];
nativeBuildInputs = with python3.pkgs; [ nativeBuildInputs = with python3.pkgs; [ cython ];
cython
];
dependencies = with python3.pkgs; [ dependencies = with python3.pkgs; [
commandparse commandparse
cryptography cryptography
dnspython dnspython
gssapi gssapi
ldap3 ldap3-bleeding-edge
oscrypto oscrypto
pycryptodome pycryptodome
pycryptodomex pycryptodomex
@ -44,9 +41,7 @@ python3.pkgs.buildPythonApplication rec {
# Project has no tests # Project has no tests
doCheck = false; doCheck = false;
pythonImportsCheck = [ pythonImportsCheck = [ "ldeep" ];
"ldeep"
];
meta = with lib; { meta = with lib; {
description = "In-depth LDAP enumeration utility"; description = "In-depth LDAP enumeration utility";

View File

@ -875,12 +875,8 @@ with pkgs;
dotnet-runtime = dotnetCorePackages.runtime_6_0; dotnet-runtime = dotnetCorePackages.runtime_6_0;
dotnet-aspnetcore = dotnetCorePackages.aspnetcore_6_0; dotnet-aspnetcore = dotnetCorePackages.aspnetcore_6_0;
buildDotnetModule = callPackage ../build-support/dotnet/build-dotnet-module { };
nuget-to-nix = callPackage ../build-support/dotnet/nuget-to-nix { }; nuget-to-nix = callPackage ../build-support/dotnet/nuget-to-nix { };
mkNugetSource = callPackage ../build-support/dotnet/make-nuget-source { }; inherit (dotnetCorePackages) buildDotnetModule buildDotnetGlobalTool mkNugetSource mkNugetDeps;
mkNugetDeps = (newScope dotnetCorePackages) ../build-support/dotnet/make-nuget-deps { };
buildDotnetGlobalTool = callPackage ../build-support/dotnet/build-dotnet-global-tool { };
fsautocomplete = callPackage ../development/tools/fsautocomplete { }; fsautocomplete = callPackage ../development/tools/fsautocomplete { };

View File

@ -197,7 +197,7 @@ impure-cmds // appleSourcePackages // chooseLibs // {
xcode_12 xcode_12_0_1 xcode_12_1 xcode_12_2 xcode_12_3 xcode_12_4 xcode_12_5 xcode_12_5_1 xcode_12 xcode_12_0_1 xcode_12_1 xcode_12_2 xcode_12_3 xcode_12_4 xcode_12_5 xcode_12_5_1
xcode_13 xcode_13_1 xcode_13_2 xcode_13_3 xcode_13_3_1 xcode_13_4 xcode_13_4_1 xcode_13 xcode_13_1 xcode_13_2 xcode_13_3 xcode_13_3_1 xcode_13_4 xcode_13_4_1
xcode_14 xcode_14_1 xcode_14 xcode_14_1
xcode_15 xcode_15_1 xcode_15 xcode_15_1 xcode_15_2 xcode_15_3 xcode_15_4
xcode; xcode;
CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication {

View File

@ -6891,6 +6891,8 @@ self: super: with self; {
ldap3 = callPackage ../development/python-modules/ldap3 { }; ldap3 = callPackage ../development/python-modules/ldap3 { };
ldap3-bleeding-edge = callPackage ../development/python-modules/ldap3-bleeding-edge { };
ldapdomaindump = callPackage ../development/python-modules/ldapdomaindump { }; ldapdomaindump = callPackage ../development/python-modules/ldapdomaindump { };
ldappool = callPackage ../development/python-modules/ldappool { }; ldappool = callPackage ../development/python-modules/ldappool { };