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:
* `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}
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.
*/
let
pkgs = import ../.. {};
pkgs = import ../.. { config.allowAliases = false; };
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 {
name = "wireplumber-extra-config";
paths = mapConfigToFiles cfg.extraConfig;
@ -240,8 +229,7 @@ in
configPackages = cfg.configPackages
++ [ extraConfigPkg extraScriptsPkg ]
++ optional (!pwUsedForAudio) pwNotForAudioConfigPkg
++ optional pwCfg.systemWide systemwideConfigPkg;
++ optional (!pwUsedForAudio) pwNotForAudioConfigPkg;
configs = pkgs.buildEnv {
name = "wireplumber-configs";

View File

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

View File

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

View File

@ -20,8 +20,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
};
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:
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"):
for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]:
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
machine.wait_for_text('WorkspaceSwitcherApplet')

View File

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

View File

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

View File

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

View File

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

View File

@ -6,17 +6,17 @@ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
if stdenv.isAarch64 then
rec {
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";
hash = "sha256-4j5Byts8mawq3Z7pgVhtujE+RR/uOb5MIC4iip0GtEw=";
hash = "sha256-uG3I91XyuEn/ZFjlv84041ZTCslkC5XElag/4R7MBHc=";
platform = "aarch64-linux";
}
else if stdenv.isx86_64 then
rec {
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";
hash = "sha256-a5Hg7DoasbTQ7NOcx6XZ9zQosT5Y+TgQW5XCyYmIZDw=";
hash = "sha256-O8sf0sw6ljemNdSJwHyX2JjqQWEuKvSP9hj0H2VXQC8=";
platform = "x86_64-linux";
}
else

View File

@ -5,6 +5,7 @@
, installShellFiles
, nixosTests
, enableDbusUi ? true
, wrapGAppsHook3
}:
python3Packages.buildPythonApplication rec {
@ -60,6 +61,15 @@ python3Packages.buildPythonApplication rec {
]
++ 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
doCheck = !stdenv.isDarwin;

View File

@ -27,12 +27,10 @@
, tl-expected
, hunspell
, gobject-introspection
, glibmm_2_68
, jemalloc
, rnnoise
, microsoft-gsl
, boost
, fmt
, wayland
, libicns
, darwin
@ -48,13 +46,13 @@ let
in
stdenv.mkDerivation rec {
pname = "kotatogram-desktop";
version = "0-unstable-2024-07-01";
version = "0-unstable-2024-09-01";
src = fetchFromGitHub {
owner = "kotatogram";
repo = "kotatogram-desktop";
rev = "fbb22ebd3e39dfa4a036fa79a7a3f78b86b1cea2";
hash = "sha256-ccfmaqapk9ct+5kvBI02xHJ7YCGmm1CcqwM+3hC1bk0=";
rev = "e30c1857bf38c354467f4e6a2a37b1252b4e28e6";
hash = "sha256-kmJeqaDAVKhMWwcazy+gGB+55Kao67RJrlLvZQ+AtqY=";
fetchSubmodules = true;
};
@ -115,9 +113,7 @@ stdenv.mkDerivation rec {
alsa-lib
libpulseaudio
hunspell
glibmm_2_68
jemalloc
fmt
wayland
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
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
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
@ -33,14 +49,88 @@ index 7ce90d3..dac3c2c 100644
const auto state = DetectBatteryState();
if (!state.has || !state.draining) {
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
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
+++ 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);
[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];
+#if 0
if (@available(macOS 13.3, *)) {
@ -50,3 +140,32 @@ index 657c5a4..4bfc097 100644
[_manager addScriptMessageHandler:_handler name:@"external"];
[_webview setNavigationDelegate:_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
, buildDotnetModule
, dotnetCorePackages
, libX11
, libICE
, libSM
, fontconfig
, libsecret
, git
, git-credential-manager
, gnupg
, pass
, testers
, withGuiSupport ? true
, withLibsecretSupport ? true
, withGpgSupport ? true
}:
assert withLibsecretSupport -> withGuiSupport;
buildDotnetModule rec {
pname = "git-credential-manager";
version = "2.5.1";
@ -36,9 +30,8 @@ buildDotnetModule rec {
dotnetInstallFlags = [ "--framework" "net8.0" ];
executables = [ "git-credential-manager" ];
runtimeDeps = [ fontconfig ]
++ lib.optionals withGuiSupport [ libX11 libICE libSM ]
++ lib.optional withLibsecretSupport libsecret;
runtimeDeps =
lib.optional withLibsecretSupport libsecret;
makeWrapperArgs = [
"--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
, version
@ -23,13 +23,15 @@ buildDotnetModule (args // {
src = emptyDirectory;
nugetDeps = mkNugetDeps {
name = pname;
nugetDeps = { fetchNuGet }: [
(fetchNuGet { pname = nugetName; inherit version; sha256 = nugetSha256; hash = nugetHash; })
] ++ (nugetDeps fetchNuGet);
installable = true;
};
buildInputs = [
(fetchNupkg {
pname = nugetName;
inherit version;
sha256 = nugetSha256;
hash = nugetHash;
installable = true;
})
];
dotnetGlobalTool = true;

View File

@ -7,7 +7,7 @@
writeShellScript,
makeWrapper,
dotnetCorePackages,
mkNugetDeps,
fetchNupkg,
nuget-to-nix,
cacert,
unzip,
@ -18,10 +18,7 @@ let
transformArgs =
finalAttrs:
{
name ? "${args.pname}-${args.version}",
pname ? name,
enableParallelBuilding ? true,
doCheck ? false,
# Flags to pass to `makeWrapper`. This is done to avoid double wrapping.
makeWrapperArgs ? [ ],
@ -115,22 +112,36 @@ let
_nugetDeps =
if (nugetDeps != null) then
if lib.isDerivation nugetDeps then
[ nugetDeps ]
else if lib.isList nugetDeps then
nugetDeps
else
mkNugetDeps {
inherit name;
sourceFile = nugetDeps;
}
assert (lib.isPath nugetDeps);
callPackage nugetDeps { fetchNuGet = fetchNupkg; }
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;
in
# Not all args need to be passed through to mkDerivation
# 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;
dotnetExecutables = executables;
@ -145,9 +156,18 @@ let
dotnetRuntimeDeps = map lib.getLib runtimeDeps;
dotnetSelfContainedBuild = selfContainedBuild;
dotnetUseAppHost = useAppHost;
inherit useDotnetFromEnv;
inherit enableParallelBuilding;
inherit
enableParallelBuilding
dotnetRestoreFlags
dotnetBuildFlags
dotnetTestFlags
dotnetInstallFlags
dotnetPackFlags
dotnetFlags
packNupkg
useDotnetFromEnv
;
nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
dotnetConfigureHook
@ -163,13 +183,7 @@ let
yq
];
buildInputs =
args.buildInputs or [ ]
++ [
dotnet-sdk.packages
_nugetDeps
]
++ projectReferences;
buildInputs = args.buildInputs or [ ] ++ [ dotnet-sdk.packages ] ++ _nugetDeps ++ projectReferences;
# 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
@ -213,13 +227,13 @@ let
{
nugetDeps = _nugetDeps;
}
// lib.optionalAttrs (!lib.isDerivation nugetDeps) {
// lib.optionalAttrs (nugetDeps == null || lib.isPath nugetDeps) {
fetch-deps =
let
pkg = finalAttrs.finalPackage.overrideAttrs (
old:
{
buildInputs = lib.remove _nugetDeps old.buildInputs;
buildInputs = lib.subtractLists _nugetDeps old.buildInputs;
keepNugetConfig = true;
}
// lib.optionalAttrs (runtimeId == null) {
@ -238,15 +252,15 @@ let
# 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
# 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
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; });
};
in
writeShellScript "${name}-fetch-deps" ''
writeShellScript "${finalAttrs.finalPackage.name}-fetch-deps" ''
NIX_BUILD_SHELL="${runtimeShell}" exec ${nix}/bin/nix-shell \
--pure --run 'source "${innerScript}"' "${drv}"
'';

View File

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

View File

@ -50,7 +50,7 @@ dotnetConfigureHook() {
fi
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
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
, patchNupkgs
, nugetPackageHook
, fetchNupkg
}:
lib.makeOverridable(
{ name
@ -15,56 +16,7 @@ lib.makeOverridable(
(symlinkJoin {
name = "${name}-nuget-deps";
paths = nugetDeps {
fetchNuGet =
{ 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;
};
fetchNuGet = args: fetchNupkg (args // { inherit installable; });
};
}) // {
inherit sourceFile;

View File

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

View File

@ -6,9 +6,6 @@
dotnetCorePackages,
xz,
pcre,
libX11,
libICE,
libSM,
autoPatchelfHook,
bintools,
fixDarwinDylibNames,
@ -77,13 +74,9 @@ buildDotnetModule rec {
runtimeDeps = [
xz
pcre
libX11
libICE
libSM
libgdiplus
glib
libXrandr
fontconfig
] ++ lib.optionals stdenv.hostPlatform.isLinux [ blender ];
# 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" { } ''
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"
'';

View File

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

View File

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

View File

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

View File

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

View File

@ -1,15 +1,16 @@
{ lib
, python3Packages
, fetchFromGitHub
, writeText
, copyDesktopItems
, makeDesktopItem
, makeWrapper
, onedrive
{
lib,
python3Packages,
fetchFromGitHub,
writeText,
copyDesktopItems,
makeDesktopItem,
makeWrapper,
onedrive,
}:
let
version = "1.0.3";
version = "1.1.0rc3";
setupPy = writeText "setup.py" ''
from setuptools import setup
@ -31,12 +32,18 @@ python3Packages.buildPythonApplication rec {
owner = "bpozdena";
repo = "OneDriveGUI";
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
dontWrapPythonPrograms = true;
@ -73,7 +80,9 @@ python3Packages.buildPythonApplication rec {
makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \
--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
'';

View File

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

View File

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

View File

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

View File

@ -2,6 +2,7 @@
# Please dont edit it manually, your changes might get overwritten!
{ 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 = "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"; })
@ -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.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 = "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 = "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"; })

View File

@ -33,7 +33,7 @@ buildDotnetModule rec {
jq '.sdk.rollForward = "latestMinor"' < global.json > global.json.tmp
mv global.json.tmp global.json
substituteInPlace $projectFile \
substituteInPlace $dotnetProjectFiles \
--replace-fail \
'>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>'
@ -58,7 +58,7 @@ buildDotnetModule rec {
''
runHook preInstall
env dotnet publish $projectFile \
env dotnet publish $dotnetProjectFiles \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
-p:InformationalVersion=$version \

View File

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

View File

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

View File

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

View File

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

View File

@ -51,6 +51,13 @@ makeScopeWithSplicing' {
patchNupkgs = callPackage ./patch-nupkgs.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_9 = recurseIntoAttrs (callPackage ./9 {});
} // lib.optionalAttrs config.allowAliases {

View File

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

View File

@ -65,6 +65,7 @@ in {
read version
mkdir -p "$packages"/share/nuget/packages/"$id"
cp -r "$package" "$packages"/share/nuget/packages/"$id"/"$version"
echo {} > "$packages"/share/nuget/packages/"$id"/"$version"/.nupkg.metadata
)
fi
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 {
pname = "wireplumber";
version = "0.5.5";
version = "0.5.6";
outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
owner = "pipewire";
repo = "wireplumber";
rev = version;
hash = "sha256-evqQCKf4oE/PwkAOMPPPw8LPiNIWQ2gkOJzsFC8UN+k=";
hash = "sha256-UAx7laULICb9ClZsIFcKi687M0yEgV4sCyhKqxs4nHE=";
};
nativeBuildInputs = [

View File

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

View File

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

View File

@ -1,54 +1,53 @@
{
lib,
buildPythonPackage,
distutils,
fetchPypi,
pythonOlder,
ncurses,
packaging,
setuptools,
filelock,
typing-extensions,
wheel,
patchelf,
}:
buildPythonPackage rec {
pname = "cx-freeze";
version = "7.1.1";
version = "7.2.0";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.11";
src = fetchPypi {
pname = "cx_freeze";
inherit version;
hash = "sha256-M1wwutDj5lNlXyMJkzCEWL7cmXuvW3qZXoZB3rousoc=";
hash = "sha256-xX9xAbTTUTJGSx7IjLiUjDt8W07OS7NUwWCRWJyzNYM=";
};
pythonRelaxDeps = [
"setuptools"
"wheel"
];
postPatch = ''
sed -i /patchelf/d pyproject.toml
# 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 = [
setuptools
wheel
];
buildInputs = [
ncurses
];
buildInputs = [ ncurses ];
dependencies = [
distutils
filelock
packaging
setuptools
] ++ lib.optionals (pythonOlder "3.10") [
typing-extensions
wheel
];
postPatch = ''
sed -i /patchelf/d pyproject.toml
'';
makeWrapperArgs = [
"--prefix"
"PATH"
@ -56,7 +55,7 @@ buildPythonPackage rec {
(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;
meta = with lib; {

View File

@ -15,19 +15,20 @@
rich,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "howdoi";
version = "2.0.20";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "gleitz";
repo = pname;
rev = "v${version}";
repo = "howdoi";
rev = "refs/tags/v${version}";
hash = "sha256-u0k+h7Sp2t/JUnfPqRzDpEA+vNXB7CpyZ/SRvk+B9t0=";
};
@ -37,11 +38,13 @@ buildPythonPackage rec {
# Please remove on the next release
(fetchpatch {
url = "https://github.com/gleitz/howdoi/commit/7d24e9e1c87811a6e66d60f504381383cf1ac3fd.patch";
sha256 = "sha256-AFQMnMEijaExqiimbNaVeIRmZJ4Yj0nGUOEjfsvBLh8=";
hash = "sha256-AFQMnMEijaExqiimbNaVeIRmZJ4Yj0nGUOEjfsvBLh8=";
})
];
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
appdirs
cachelib
colorama
@ -60,14 +63,25 @@ buildPythonPackage rec {
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" ];
meta = with lib; {
changelog = "https://github.com/gleitz/howdoi/blob/v${version}/CHANGES.txt";
description = "Instant coding answers via the command line";
homepage = "https://github.com/gleitz/howdoi";
changelog = "https://github.com/gleitz/howdoi/blob/v${version}/CHANGES.txt";
license = licenses.mit;
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}"'
'';
buildInputs = [ dotnet-build.nugetDeps ];
buildInputs = dotnet-build.nugetDeps;
nativeBuildInputs = [
setuptools

View File

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

View File

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

View File

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

View File

@ -84,5 +84,8 @@ in lib.makeExtensible (self: {
xcode_14_1 = requireXcode "14.1" "sha256-QJGAUVIhuDYyzDNttBPv5lIGOfvkYqdOFSUAr5tlkfs=";
xcode_15 = requireXcode "15" "sha256-ffqISt2Ayccln5BArKIjSdzbEgoSoNwq8TPLGysAE0c=";
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")}";
})

View File

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

View File

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

View File

@ -5,4 +5,5 @@
use-dotnet-from-env = lib.recurseIntoAttrs (callPackage ./use-dotnet-from-env { });
structured-attrs = lib.recurseIntoAttrs (callPackage ./structured-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
, glibc
, zlib
, libX11
, libICE
, libSM
, fontconfig
, gtk3
, copyDesktopItems
, icoutils
@ -32,10 +28,6 @@ buildDotnetModule rec {
runtimeDeps = [
glibc
zlib
libX11
libICE
libSM
fontconfig
gtk3
];

View File

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

View File

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

View File

@ -875,12 +875,8 @@ with pkgs;
dotnet-runtime = dotnetCorePackages.runtime_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 { };
mkNugetSource = callPackage ../build-support/dotnet/make-nuget-source { };
mkNugetDeps = (newScope dotnetCorePackages) ../build-support/dotnet/make-nuget-deps { };
buildDotnetGlobalTool = callPackage ../build-support/dotnet/build-dotnet-global-tool { };
inherit (dotnetCorePackages) buildDotnetModule buildDotnetGlobalTool mkNugetSource mkNugetDeps;
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_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_15 xcode_15_1
xcode_15 xcode_15_1 xcode_15_2 xcode_15_3 xcode_15_4
xcode;
CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication {

View File

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