Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-11-24 12:06:45 +00:00 committed by GitHub
commit c106fbf8e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
59 changed files with 1056 additions and 5899 deletions

View file

@ -516,6 +516,10 @@ checkConfigError 'The option .theOption.nested. in .other.nix. is already declar
# Test that types.optionType leaves types untouched as long as they don't need to be merged
checkConfigOutput 'ok' config.freeformItems.foo.bar ./adhoc-freeformType-survives-type-merge.nix
# Test that specifying both functor.wrapped and functor.payload isn't allowed
checkConfigError 'Type foo defines both `functor.payload` and `functor.wrapped` at the same time, which is not supported.' config.result ./default-type-merge-both.nix
# Anonymous submodules don't get nixed by import resolution/deduplication
# because of an `extendModules` bug, issue 168767.
checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-imports.nix

View file

@ -0,0 +1,28 @@
{ lib, options, ... }:
let
foo = lib.mkOptionType {
name = "foo";
functor = lib.types.defaultFunctor "foo" // {
wrapped = lib.types.int;
payload = 10;
};
};
in
{
imports = [
{
options.foo = lib.mkOption {
type = foo;
};
}
{
options.foo = lib.mkOption {
type = foo;
};
}
];
options.result = lib.mkOption {
default = builtins.seq options.foo null;
};
}

View file

@ -83,23 +83,37 @@ rec {
# Default type merging function
# takes two type functors and return the merged type
defaultTypeMerge = f: f':
let wrapped = f.wrapped.typeMerge f'.wrapped.functor;
payload = f.binOp f.payload f'.payload;
let mergedWrapped = f.wrapped.typeMerge f'.wrapped.functor;
mergedPayload = f.binOp f.payload f'.payload;
hasPayload = assert (f'.payload != null) == (f.payload != null); f.payload != null;
hasWrapped = assert (f'.wrapped != null) == (f.wrapped != null); f.wrapped != null;
in
# cannot merge different types
# Abort early: cannot merge different types
if f.name != f'.name
then null
# simple types
else if (f.wrapped == null && f'.wrapped == null)
&& (f.payload == null && f'.payload == null)
then f.type
# composed types
else if (f.wrapped != null && f'.wrapped != null) && (wrapped != null)
then f.type wrapped
# value types
else if (f.payload != null && f'.payload != null) && (payload != null)
then f.type payload
else null;
else
if hasPayload then
if hasWrapped then
# Has both wrapped and payload
throw ''
Type ${f.name} defines both `functor.payload` and `functor.wrapped` at the same time, which is not supported.
Use either `functor.payload` or `functor.wrapped` but not both.
If your code worked before remove `functor.payload` from the type definition.
''
else
# Has payload
if mergedPayload == null then null else f.type mergedPayload
else
if hasWrapped then
# Has wrapped
# TODO(@hsjobeki): This could also be a warning and removed in the future
if mergedWrapped == null then null else f.type mergedWrapped
else
f.type;
# Default type functor
defaultFunctor = name: {

View file

@ -90,7 +90,7 @@ in
(mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "mathics" ] "The Mathics module has been removed")
(mkRemovedOptionModule [ "services" "matrix-sliding-sync" ] "The matrix-sliding-sync package has been removed, since matrix-synapse incorporated its functionality. Simply remove `services.sliding-sync` from your NixOS Configuration, and the `.well-known` record for `org.matrix.msc3575.proxy` from your webserver")
(mkRemovedOptionModule [ "services" "matrix-sliding-sync" ] "The matrix-sliding-sync package has been removed, since matrix-synapse incorporated its functionality. Remove `services.sliding-sync` from your NixOS Configuration, and the `.well-known` record for `org.matrix.msc3575.proxy` from your webserver")
(mkRemovedOptionModule [ "services" "meguca" ] "Use meguca has been removed from nixpkgs")
(mkRemovedOptionModule [ "services" "mesos" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "mxisd" ] "The mxisd module has been removed as both mxisd and ma1sd got removed.")

View file

@ -2,6 +2,7 @@
lib,
pkgs,
config,
utils,
...
}:
let
@ -61,6 +62,7 @@ in
extraArgs = lib.mkOption {
type = lib.types.listOf lib.types.singleLineStr;
default = [ ];
example = [
"--slice-us 5000"
"--verbose"
@ -90,9 +92,13 @@ in
serviceConfig = {
Type = "simple";
ExecStart = "${lib.getExe' cfg.package cfg.scheduler} ${lib.concatStringsSep " " cfg.extraArgs}";
ExecStart = utils.escapeSystemdExecArgs (
[
(lib.getExe' cfg.package cfg.scheduler)
]
++ cfg.extraArgs
);
Restart = "on-failure";
StandardError = "journal";
};
wantedBy = [ "multi-user.target" ];

View file

@ -10,13 +10,13 @@
buildPythonApplication rec {
pname = "git-machete";
version = "3.29.3";
version = "3.31.0";
src = fetchFromGitHub {
owner = "virtuslab";
repo = pname;
rev = "v${version}";
hash = "sha256-3GXTdIXITZeDqe6gxwOCaFXwITYYfXTy57H2AHA5Zyc=";
hash = "sha256-s6unPuiutNtYixDD9kehOv4q38XPFmayjM/uxQ/98rM=";
};
nativeBuildInputs = [ installShellFiles ];

View file

@ -9,13 +9,13 @@
mkHyprlandPlugin hyprland {
pluginName = "hyprscroller";
version = "0-unstable-2024-11-09";
version = "0-unstable-2024-11-23";
src = fetchFromGitHub {
owner = "dawsers";
repo = "hyprscroller";
rev = "556e01458ba26aa63253ae590a6aa8b2601ecf03";
hash = "sha256-lILkkTNwPxMvfYNpusbakl2BW4lvNUZcIputwAfHHAE=";
rev = "f1e09fd86d0fff30aff0b9ca2e429c7331bab5ac";
hash = "sha256-5j7IqHKiXfmaq193ltGX4/150NA1YWNXNB1GIFwEfuc=";
};
nativeBuildInputs = [ cmake ];

File diff suppressed because it is too large Load diff

View file

@ -1,43 +1,43 @@
{
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
lib,
openssl,
pkg-config,
rustPlatform,
unstableGitUpdater,
wayland,
}:
rustPlatform.buildRustPackage rec {
pname = "aw-watcher-window-wayland";
version = "6108ad3df8e157965a43566fa35cdaf144b1c51b";
version = "0-unstable-2024-10-08";
src = fetchFromGitHub {
owner = "ActivityWatch";
repo = pname;
rev = version;
hash = "sha256-xl9+k6xJp5/t1QPOYfnBLyYprhhrzjzByDKkT3dtVVQ=";
repo = "aw-watcher-window-wayland";
rev = "58bf86a6984cb01fa750c84ce468c7ccb167f796";
hash = "sha256-SnlShM44jnQiZGg5mjreZg1bsjFLNYMjC/krR1TXTE4=";
};
cargoPatches = [ ./rustc-serialize-fix.patch ];
cargoHash = "sha256-WWT8tOrHPf5x3bXsVPt32VKut4qK+K8gickBfEc0zmk=";
useFetchCargoVendor = true;
passthru.updateScript = unstableGitUpdater { };
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"aw-client-rust-0.1.0" = "sha256-9tlVesnBeTlazKE2UAq6dzivjo42DT7p7XMuWXHHlnU=";
};
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
wayland
];
meta = with lib; {
description = "WIP window and afk watcher for wayland";
meta = {
description = "WIP window and afk watcher for some Wayland compositors";
homepage = "https://github.com/ActivityWatch/aw-watcher-window-wayland";
license = licenses.mpl20;
maintainers = with maintainers; [ esau79p ];
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ esau79p ];
mainProgram = "aw-watcher-window-wayland";
platforms = platforms.linux;
platforms = lib.platforms.linux;
};
}

View file

@ -1,16 +0,0 @@
diff --git a/Cargo.lock b/Cargo.lock
index b1cc23695b30..ffdeb1c90618 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -996,9 +996,9 @@ dependencies = [
[[package]]
name = "rustc-serialize"
-version = "0.3.24"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
+checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401"
[[package]]
name = "rustix"

View file

@ -1,6 +1,6 @@
{ lib
, stdenv
, fetchzip
, fetchurl
, cups
, autoPatchelfHook
, python3Packages
@ -22,18 +22,29 @@ stdenv.mkDerivation rec {
dontStrip = true;
src = fetchzip {
src = fetchurl {
# Steps to find the release download URL:
# 1. Go to https://www.kyoceradocumentsolutions.us/en/support/downloads.html
# 2. Search for printer model, e.g. "TASKalfa 6053ci"
# 3. Locate e.g. "Linux Print Driver (9.3)" in the list
urls = [
"https://dam.kyoceradocumentsolutions.com/content/dam/gdam_dc/dc_global/executables/driver/product_085/KyoceraLinuxPackages-${date}.tar.gz"
"https://www.kyoceradocumentsolutions.us/content/download-center-americas/us/drivers/drivers/MA_PA_4500ci_Linux_gz.download.gz"
"https://web.archive.org/web/20241123173620/https://www.kyoceradocumentsolutions.us/content/download-center-americas/us/drivers/drivers/MA_PA_4500ci_Linux_gz.download.gz"
];
hash = "sha256-pqBtfKiQo/+cF8fG5vsEQvr8UdxjGsSShXI+6bun03c=";
extension = "tar.gz";
stripRoot = false;
recursiveHash = true;
downloadToTemp = true;
postFetch = ''
unpackDir="$TMPDIR/unpack"
mkdir "$unpackDir"
cd "$unpackDir"
mv "$downloadedFile" "$TMPDIR/source.tar.gz.gz"
gunzip "$TMPDIR/source.tar.gz.gz"
unpackFile "$TMPDIR/source.tar.gz"
chmod -R +w "$unpackDir"
mv "$unpackDir" "$out"
# delete redundant Linux package dirs to reduce size in the Nix store; only keep Debian
rm -r $out/{CentOS,Fedora,OpenSUSE,Redhat,Ubuntu}
'';

View file

@ -10,8 +10,6 @@
# fetchers
fetchFromGitHub,
fetchpatch,
fetchurl,
# build inputs
bison,
@ -193,8 +191,9 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
homepage = "https://www.cyrusimap.org";
description = "Email, contacts and calendar server";
changelog = "https://www.cyrusimap.org/imap/download/release-notes/${lib.versions.majorMinor finalAttrs.version}/x/${finalAttrs.version}.html";
license = with lib.licenses; [ bsdOriginal ];
mainProgram = "cyrus";
mainProgram = "cyradm";
maintainers = with lib.maintainers; [
moraxyc
pingiun

View file

@ -1,23 +1,24 @@
{ lib
, stdenv
, fetchzip
, fetchurl
, makeDesktopItem
, copyDesktopItems
, buildFHSEnv
, alsa-lib
, freetype
, nghttp2
, libX11
, }:
{
lib,
stdenv,
fetchzip,
fetchurl,
makeDesktopItem,
copyDesktopItems,
buildFHSEnv,
alsa-lib,
freetype,
nghttp2,
libX11,
}:
let
pname = "decent-sampler";
version = "1.10.0";
version = "1.12.1";
icon = fetchurl {
url = "https://archive.org/download/ds-256/DS256.png";
hash = "sha256-SV8zY5QJ6uRSrLuGTmT1zwGoIIXCV9GD2ZNiqK+i1Bc=";
url = "https://www.decentsamples.com/wp-content/uploads/2018/09/cropped-Favicon_512x512.png";
hash = "sha256-EXjaHrlXY0HU2EGTrActNbltIiqTLfdkFgP7FXoLzrM=";
};
decent-sampler = stdenv.mkDerivation {
@ -25,8 +26,8 @@ let
src = fetchzip {
# dropbox links: https://www.dropbox.com/sh/dwyry6xpy5uut07/AABBJ84bjTTSQWzXGG5TOQpfa\
url = "https://archive.org/download/decent-sampler-linux-static-download-mirror/Decent_Sampler-${version}-Linux-Static-x86_64.tar.gz";
hash = "sha256-KYCf/F2/ziuXDHim4FPZQBARiSywvQDJBzKbHua+3SM=";
url = "https://www.dropbox.com/scl/fo/a0i0udw7ggfwnjoi05hh3/AJvmGadO6b-_Om8LjWkDTno/Decent_Sampler-1.12.1-Linux-Static-x86_64.tar.gz?rlkey=orvjprslmwn0dkfs0ncx6nxnm&dl=0";
hash = "sha256-9HkLk4XqkuiKinwHmtY7OY26SH1uzf3gJEihFhPLwe4=";
};
nativeBuildInputs = [ copyDesktopItems ];
@ -39,7 +40,10 @@ let
comment = "DecentSampler player";
icon = "decent-sampler";
exec = "decent-sampler";
categories = [ "Audio" "AudioVideo" ];
categories = [
"Audio"
"AudioVideo"
];
})
];
@ -78,9 +82,9 @@ buildFHSEnv {
meta = with lib; {
description = "Audio sample player";
longDescription = ''
Decent Sampler is an audio sample player.
Allowing you to play sample libraries in the DecentSampler format
(files with extensions: dspreset and dslibrary).
Decent Sampler is an audio sample player.
Allowing you to play sample libraries in the DecentSampler format
(files with extensions: dspreset and dslibrary).
'';
mainProgram = "decent-sampler";
homepage = "https://www.decentsamples.com/product/decent-sampler-plugin/";
@ -88,6 +92,6 @@ buildFHSEnv {
# that it is released under.
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ adam248 ];
maintainers = with maintainers; [ adam248 chewblacka ];
};
}

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fast-float";
version = "6.1.6";
version = "7.0.0";
src = fetchFromGitHub {
owner = "fastfloat";
repo = "fast_float";
rev = "v${finalAttrs.version}";
hash = "sha256-MEJMPQZZZhOFiKlPAKIi0zVzaJBvjAlbSyg3wLOQ1fg=";
hash = "sha256-CG5je117WYyemTe5PTqznDP0bvY5TeXn8Vu1Xh5yUzQ=";
};
nativeBuildInputs = [ cmake ];

View file

@ -1,20 +1,26 @@
commit e798ff19cd36daaed68b86edc7ebdb9dcfe1c057
Author: r-vdp <ramses@well-founded.dev>
Date: Tue Oct 15 11:46:38 2024 +0200
Add option for installation sysconfdir
diff --git a/data/bios-settings.d/meson.build b/data/bios-settings.d/meson.build
index b0ff5b106..13ac380d0 100644
index b0ff5b106..29b60a3be 100644
--- a/data/bios-settings.d/meson.build
+++ b/data/bios-settings.d/meson.build
@@ -1,5 +1,5 @@
if build_standalone and host_machine.system() == 'linux'
install_data('README.md',
- install_dir: join_paths(sysconfdir, 'fwupd', 'bios-settings.d')
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'bios-settings.d')
+ install_dir: join_paths(datadir, 'fwupd', 'bios-settings.d')
)
endif
diff --git a/data/meson.build b/data/meson.build
index e13da4adf..6858c240f 100644
index 9db5cd756..cf3181c8b 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -26,7 +26,7 @@ endif
@@ -27,7 +27,7 @@ endif
if build_standalone
install_data(['fwupd.conf'],
- install_dir: join_paths(sysconfdir, 'fwupd'),
@ -23,10 +29,10 @@ index e13da4adf..6858c240f 100644
)
plugin_quirks += files([
diff --git a/data/pki/meson.build b/data/pki/meson.build
index 3649fecea..c3462744b 100644
index 686064195..72ae401bd 100644
--- a/data/pki/meson.build
+++ b/data/pki/meson.build
@@ -12,13 +12,13 @@ install_data([
@@ -7,13 +7,13 @@ install_data([
'GPG-KEY-Linux-Foundation-Firmware',
'GPG-KEY-Linux-Vendor-Firmware-Service',
],
@ -41,8 +47,8 @@ index 3649fecea..c3462744b 100644
+ install_dir: join_paths(sysconfdir_install, 'pki', 'fwupd-metadata')
)
endif
@@ -26,11 +26,11 @@ if supported_pkcs7
@@ -21,11 +21,11 @@ if supported_pkcs7
install_data([
'LVFS-CA.pem',
],
@ -57,10 +63,10 @@ index 3649fecea..c3462744b 100644
)
endif
diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build
index c20a1a05e..5354bac7f 100644
index 10201bc9a..fba712491 100644
--- a/data/remotes.d/meson.build
+++ b/data/remotes.d/meson.build
@@ -15,14 +15,14 @@ if build_standalone and get_option('lvfs') != 'false'
@@ -11,14 +11,14 @@ if build_standalone and get_option('lvfs') != 'false'
output: 'lvfs.conf',
configuration: con3,
install: true,
@ -77,7 +83,7 @@ index c20a1a05e..5354bac7f 100644
)
i18n.merge_file(
input: 'lvfs.metainfo.xml',
@@ -56,12 +56,12 @@ configure_file(
@@ -52,12 +52,12 @@ configure_file(
output: 'vendor.conf',
configuration: con2,
install: get_option('vendor_metadata'),
@ -92,14 +98,68 @@ index c20a1a05e..5354bac7f 100644
- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
)
diff --git a/docs/meson.build b/docs/meson.build
index 5693edcc8..181c359a4 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -124,7 +124,7 @@ if build_docs
],
build_by_default: true,
install: true,
- install_dir: join_paths(datadir, 'doc'),
+ install_dir: join_paths(sysconfdir_install, 'doc'),
)
subdir('hsi-tests.d')
@@ -182,7 +182,7 @@ if build_docs
],
build_by_default: true,
install: true,
- install_dir: join_paths(datadir, 'doc'),
+ install_dir: join_paths(sysconfdir_install, 'doc'),
)
man_cmd = []
foreach man: man_md
@@ -196,7 +196,7 @@ if build_docs
man_cmd,
],
install: true,
- install_dir: join_paths(datadir, 'doc', 'fwupd')
+ install_dir: join_paths(sysconfdir_install, 'doc', 'fwupd')
)
if hsi
install_data(['hsi.html'],
@@ -204,18 +204,18 @@ if build_docs
)
endif
install_data(['urlmap_fwupd.js'],
- install_dir: join_paths(datadir, 'doc', 'libfwupd')
+ install_dir: join_paths(sysconfdir_install, 'doc', 'libfwupd')
)
install_data(['urlmap_fwupdplugin.js'],
- install_dir: join_paths(datadir, 'doc', 'libfwupdplugin')
+ install_dir: join_paths(sysconfdir_install, 'doc', 'libfwupdplugin')
)
#make devhelp work
install_symlink('libfwupd',
- install_dir: join_paths(datadir, 'doc', 'fwupd'),
+ install_dir: join_paths(sysconfdir_install, 'doc', 'fwupd'),
pointing_to: join_paths('..', 'libfwupd'),
)
install_symlink('libfwupdplugin',
- install_dir: join_paths(datadir, 'doc', 'fwupd'),
+ install_dir: join_paths(sysconfdir_install, 'doc', 'fwupd'),
pointing_to: join_paths('..', 'libfwupdplugin'),
)
endif
diff --git a/meson.build b/meson.build
index ca6ccdf92..0a3097d90 100644
index 2ceaf531c..e4e764b97 100644
--- a/meson.build
+++ b/meson.build
@@ -195,6 +195,12 @@ endif
@@ -201,6 +201,12 @@ endif
mandir = join_paths(prefix, get_option('mandir'))
localedir = join_paths(prefix, get_option('localedir'))
+if get_option('sysconfdir_install') != ''
+ sysconfdir_install = join_paths(prefix, get_option('sysconfdir_install'))
+else
@ -107,14 +167,16 @@ index ca6ccdf92..0a3097d90 100644
+endif
+
diffcmd = find_program('diff')
gio = dependency('gio-2.0', version: '>= 2.68.0')
giounix = dependency('gio-unix-2.0', version: '>= 2.68.0', required: false)
gio = dependency('gio-2.0', version: '>= 2.72.0')
giounix = dependency('gio-unix-2.0', version: '>= 2.72.0', required: false)
diff --git a/meson_options.txt b/meson_options.txt
index 877891126..986d0ee31 100644
index a4a211fbb..6197fe502 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,8 @@
@@ -7,6 +7,11 @@ option('bluez',
type: 'feature',
description: 'BlueZ support',
)
+option('sysconfdir_install',
+ type: 'string',
+ value: '',
@ -124,7 +186,7 @@ index 877891126..986d0ee31 100644
type: 'combo',
choices: [
diff --git a/plugins/uefi-capsule/meson.build b/plugins/uefi-capsule/meson.build
index eb196c21e..c9a29f680 100644
index 2dfc4d2f0..e5ac73edd 100644
--- a/plugins/uefi-capsule/meson.build
+++ b/plugins/uefi-capsule/meson.build
@@ -20,7 +20,7 @@ if host_machine.system() == 'linux'
@ -136,3 +198,17 @@ index eb196c21e..c9a29f680 100644
)
elif host_machine.system() == 'freebsd'
backend_srcs += 'fu-uefi-backend-freebsd.c'
@@ -93,7 +93,7 @@ if get_option('plugin_uefi_capsule_splash')
'--out', '@OUTPUT@',
],
install: true,
- install_dir: join_paths(datadir, 'fwupd'),
+ install_dir: join_paths(sysconfdir_install, 'fwupd'),
)
endif
@@ -146,4 +146,3 @@ summary({
'capsule splash': get_option('plugin_uefi_capsule_splash'),
}, section:'uefi capsule options')
endif
-

View file

@ -1,9 +1,15 @@
commit 1770b1871a567dfa78ae1e32094b6007bb7639e9
Author: r-vdp <ramses@well-founded.dev>
Date: Mon Oct 28 12:08:49 2024 +0100
Get the efi app from fwupd-efi
diff --git a/meson.build b/meson.build
index b18108c74..7e674b4d2 100644
index e4e764b97..8acaa3d2d 100644
--- a/meson.build
+++ b/meson.build
@@ -404,7 +404,7 @@ endif
@@ -482,7 +482,7 @@ endif
# EFI
if build_standalone
- efi_app_location = join_paths(libexecdir, 'fwupd', 'efi')

View file

@ -1,14 +1,19 @@
commit 50827b154728a97e5dfcb7d41e5c7155752919c3
Author: r-vdp <ramses@well-founded.dev>
Date: Mon Oct 28 12:07:51 2024 +0100
Install fwupdplugin to out
diff --git a/meson.build b/meson.build
index 9ae278b66..7cddf1a0d 100644
index 250b76107..62c127c35 100644
--- a/meson.build
+++ b/meson.build
@@ -507,7 +507,7 @@ if build_standalone
@@ -553,7 +553,7 @@ if build_standalone
if host_machine.system() == 'windows'
libdir_pkg = 'fwupd-@0@'.format(fwupd_version)
libdir_pkg = bindir
else
- libdir_pkg = join_paths(libdir, 'fwupd-@0@'.format(fwupd_version))
+ libdir_pkg = join_paths(prefix, 'lib', 'fwupd-@0@'.format(fwupd_version))
endif
conf.set_quoted('FWUPD_LIBDIR_PKG', libdir_pkg)
endif

View file

@ -1,19 +1,47 @@
diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build
index dfce86b1c..5e34c4fa6 100644
--- a/data/installed-tests/meson.build
+++ b/data/installed-tests/meson.build
@@ -86,5 +86,5 @@ configure_file(
commit 27ddb6910ec9027f8f502f5240fb33cddd9fd16b
Author: r-vdp <ramses@well-founded.dev>
Date: Tue Oct 15 14:49:53 2024 +0200
Add output for installed tests
diff --git a/data/device-tests/meson.build b/data/device-tests/meson.build
index 4f3a5f2da..b0d21c8bd 100644
--- a/data/device-tests/meson.build
+++ b/data/device-tests/meson.build
@@ -67,5 +67,5 @@ install_data([
'wacom-intuos-bt-s.json',
'wistron-dock-40b7.json',
],
- install_dir: join_paths(datadir, 'fwupd', 'device-tests'),
+ install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'device-tests'),
)
diff --git a/data/tests/meson.build b/data/tests/meson.build
index 3da184010..8606c9280 100644
--- a/data/tests/meson.build
+++ b/data/tests/meson.build
@@ -2,7 +2,7 @@ con2 = configuration_data()
con2.set('installedtestsdir', installed_test_datadir)
con2.set('installedtestsbindir', installed_test_bindir)
con2.set('installedtestsdatadir', installed_test_datadir)
-con2.set('devicetestdir', join_paths(datadir, 'fwupd', 'device-tests'))
+con2.set('devicetestdir', join_paths(installed_test_datadir, 'fwupd', 'device-tests'))
con2.set('bindir', bindir)
con2.set('libexecdir', libexecdir)
@@ -105,7 +105,7 @@ configure_file(
output: 'fwupd-tests.conf',
configuration: con2,
install: true,
- install_dir: join_paths(datadir, 'fwupd', 'remotes.d'),
+ install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'),
)
if umockdev_integration_tests.allowed()
diff --git a/meson.build b/meson.build
index ca6ccdf92..36b1b47b0 100644
index 62c127c35..2ceaf531c 100644
--- a/meson.build
+++ b/meson.build
@@ -188,8 +188,8 @@ else
@@ -194,8 +194,8 @@ else
datadir = join_paths(prefix, get_option('datadir'))
sysconfdir = join_paths(prefix, get_option('sysconfdir'))
localstatedir = join_paths(prefix, get_option('localstatedir'))
@ -24,7 +52,7 @@ index ca6ccdf92..36b1b47b0 100644
daemon_dir = join_paths(libexecdir, 'fwupd')
endif
mandir = join_paths(prefix, get_option('mandir'))
@@ -497,6 +497,7 @@ gnome = import('gnome')
@@ -541,6 +541,7 @@ gnome = import('gnome')
i18n = import('i18n')
conf.set_quoted('FWUPD_PREFIX', prefix)
@ -33,12 +61,12 @@ index ca6ccdf92..36b1b47b0 100644
conf.set_quoted('FWUPD_LIBDIR', libdir)
conf.set_quoted('FWUPD_LIBEXECDIR', libexecdir)
diff --git a/meson_options.txt b/meson_options.txt
index 877891126..bfc5d1afd 100644
index 769a5b655..a4a211fbb 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -452,6 +452,10 @@ option('elogind',
'false': 'disabled',
},
@@ -328,6 +328,10 @@ option('systemd_unit_user',
value: 'fwupd-refresh',
description: 'User account to use for fwupd-refresh.service (empty for DynamicUser)',
)
+option('installed_test_prefix',
+ type: 'string',
@ -47,3 +75,16 @@ index 877891126..bfc5d1afd 100644
option('tests',
type: 'boolean',
value: true,
diff --git a/src/tests/host-emulate/meson.build b/src/tests/host-emulate/meson.build
index 4bc02e46e..17bc2270d 100644
--- a/src/tests/host-emulate/meson.build
+++ b/src/tests/host-emulate/meson.build
@@ -9,7 +9,7 @@ if build_standalone
capture: true,
command: [gzip, '-k', '--stdout', '@INPUT@'],
install: true,
- install_dir: join_paths(datadir, 'fwupd', 'host-emulate.d'),
+ install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'host-emulate.d'),
)
endforeach
endif

View file

@ -1,65 +1,69 @@
# Updating? Keep $out/etc synchronized with passthru keys
{ stdenv
, lib
, fetchFromGitHub
, gi-docgen
, pkg-config
, gobject-introspection
, gettext
, libgudev
, libdrm
, polkit
, libxmlb
, gusb
, sqlite
, libarchive
, libredirect
, curl
, libjcat
, elfutils
, valgrind
, meson
, libuuid
, ninja
, gnutls
, protobufc
, python3
, wrapGAppsNoGuiHook
, ensureNewerSourcesForZipFilesHook
, json-glib
, bash-completion
, shared-mime-info
, umockdev
, vala
, makeFontsConf
, freefont_ttf
, pango
, tpm2-tss
, bubblewrap
, efibootmgr
, flashrom
, tpm2-tools
, fwupd-efi
, nixosTests
, runCommand
, unstableGitUpdater
, modemmanager
, libqmi
, libmbim
, libcbor
, xz
, nix-update-script
, enableFlashrom ? false
, enablePassim ? false
{
stdenv,
lib,
fetchFromGitHub,
fetchpatch,
gi-docgen,
pkg-config,
gobject-introspection,
gettext,
libgudev,
libdrm,
polkit,
libxmlb,
gusb,
sqlite,
libarchive,
libredirect,
curl,
libjcat,
elfutils,
valgrind,
meson,
libuuid,
ninja,
gnutls,
protobufc,
python3,
wrapGAppsNoGuiHook,
ensureNewerSourcesForZipFilesHook,
json-glib,
bash-completion,
shared-mime-info,
vala,
makeFontsConf,
freefont_ttf,
pango,
tpm2-tss,
bubblewrap,
efibootmgr,
flashrom,
tpm2-tools,
fwupd-efi,
nixosTests,
runCommand,
unstableGitUpdater,
modemmanager,
libqmi,
libmbim,
libcbor,
xz,
hwdata,
nix-update-script,
enableFlashrom ? false,
enablePassim ? false,
}:
let
python = python3.withPackages (p: with p; [
jinja2
pygobject3
setuptools
]);
python = python3.withPackages (
p: with p; [
jinja2
pygobject3
setuptools
]
);
isx86 = stdenv.hostPlatform.isx86;
@ -78,11 +82,9 @@ let
haveFlashrom = isx86 && enableFlashrom;
runPythonCommand =
name:
buildCommandPython:
name: buildCommandPython:
runCommand
name
runCommand name
{
nativeBuildInputs = [ python3 ];
inherit buildCommandPython;
@ -108,7 +110,8 @@ let
};
};
in
src // {
src
// {
meta = src.meta // {
# For update script
position =
@ -121,28 +124,28 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd";
version = "1.9.25";
version = "2.0.1";
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
# CLI programs go to out
outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
outputs = [
"out"
"lib"
"dev"
"devdoc"
"man"
"installedTests"
];
src = fetchFromGitHub {
owner = "fwupd";
repo = "fwupd";
rev = finalAttrs.version;
hash = "sha256-Yfj2Usto4BSnnBSvffdF02UeK4Ys8ZKzEsxrd2/XZe8=";
hash = "sha256-cIkbYoSqVZtEEIh0iTr+Ovu5BWGh6d2NfImTJoc69QU=";
};
patches = [
# Since /etc is the domain of NixOS, not Nix,
# we cannot install files there.
# Lets install the files to $prefix/etc
# while still reading them from /etc.
# NixOS module for fwupd will take take care of copying the files appropriately.
./add-option-for-installation-sysconfdir.patch
# Install plug-ins and libfwupdplugin to $out output,
# they are not really part of the library.
./install-fwupdplugin-to-out.patch
@ -151,8 +154,20 @@ stdenv.mkDerivation (finalAttrs: {
# we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle.
./installed-tests-path.patch
# Since /etc is the domain of NixOS, not Nix,
# we cannot install files there.
# Lets install the files to $prefix/etc
# while still reading them from /etc.
# NixOS module for fwupd will take take care of copying the files appropriately.
./add-option-for-installation-sysconfdir.patch
# EFI capsule is located in fwupd-efi now.
./efi-app-path.patch
(fetchpatch {
url = "https://github.com/fwupd/fwupd/pull/7994.diff?full_index=1";
hash = "sha256-fRM033aCoj11Q5u9Yfi3BSD/zpm2kIqf5qabs60nEoM=";
})
];
nativeBuildInputs = [
@ -173,61 +188,74 @@ stdenv.mkDerivation (finalAttrs: {
vala
];
buildInputs = [
polkit
libxmlb
gusb
sqlite
libarchive
libdrm
curl
elfutils
libgudev
libjcat
libuuid
propagatedBuildInputs = [
json-glib
umockdev
bash-completion
pango
tpm2-tss
fwupd-efi
protobufc
modemmanager
libmbim
libcbor
libqmi
xz # for liblzma
] ++ lib.optionals haveFlashrom [
flashrom
];
mesonFlags = [
"-Ddocs=enabled"
# We are building the official releases.
"-Dsupported_build=enabled"
"-Dlaunchd=disabled"
"-Dudevdir=lib/udev"
"-Dsystemd_root_prefix=${placeholder "out"}"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
"--localstatedir=/var"
"--sysconfdir=/etc"
"-Dsysconfdir_install=${placeholder "out"}/etc"
"-Defi_os_dir=nixos"
"-Dplugin_modem_manager=enabled"
"-Dvendor_metadata=true"
# We do not want to place the daemon into lib (cyclic reference)
"--libexecdir=${placeholder "out"}/libexec"
] ++ lib.optionals (!enablePassim) [
"-Dpassim=disabled"
] ++ lib.optionals (!haveDell) [
"-Dplugin_synaptics_mst=disabled"
] ++ lib.optionals (!haveRedfish) [
"-Dplugin_redfish=disabled"
] ++ lib.optionals (!haveFlashrom) [
"-Dplugin_flashrom=disabled"
] ++ lib.optionals (!haveMSR) [
"-Dplugin_msr=disabled"
];
buildInputs =
[
polkit
libxmlb
gusb
sqlite
libarchive
libdrm
curl
elfutils
libgudev
libjcat
libuuid
bash-completion
pango
tpm2-tss
fwupd-efi
protobufc
modemmanager
libmbim
libcbor
libqmi
xz # for liblzma
]
++ lib.optionals haveFlashrom [
flashrom
];
mesonFlags =
[
"-Ddocs=enabled"
# We are building the official releases.
"-Dsupported_build=enabled"
"-Dlaunchd=disabled"
"-Dsystemd_root_prefix=${placeholder "out"}"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
"--localstatedir=/var"
"--sysconfdir=/etc"
"-Dsysconfdir_install=${placeholder "out"}/etc"
"-Defi_os_dir=nixos"
"-Dplugin_modem_manager=enabled"
"-Dvendor_metadata=true"
"-Dplugin_uefi_capsule_splash=false"
# TODO: what should this be?
"-Dvendor_ids_dir=${hwdata}/share/hwdata"
"-Dumockdev_tests=disabled"
# We do not want to place the daemon into lib (cyclic reference)
"--libexecdir=${placeholder "out"}/libexec"
]
++ lib.optionals (!enablePassim) [
"-Dpassim=disabled"
]
++ lib.optionals (!haveDell) [
"-Dplugin_synaptics_mst=disabled"
]
++ lib.optionals (!haveRedfish) [
"-Dplugin_redfish=disabled"
]
++ lib.optionals (!haveFlashrom) [
"-Dplugin_flashrom=disabled"
]
++ lib.optionals (!haveMSR) [
"-Dplugin_msr=disabled"
];
# TODO: wrapGAppsHook3 wraps efi capsule even though it is not ELF
dontWrapGApps = true;
@ -235,19 +263,20 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = true;
# Environment variables
env = {
# Fontconfig error: Cannot load default config file
FONTCONFIG_FILE =
let
fontsConf = makeFontsConf {
fontDirectories = [ freefont_ttf ];
};
in
fontsConf;
# Fontconfig error: Cannot load default config file
FONTCONFIG_FILE =
let
fontsConf = makeFontsConf {
fontDirectories = [ freefont_ttf ];
};
in
fontsConf;
# error: “PolicyKit files are missing”
# https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428
PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions";
# error: “PolicyKit files are missing”
# https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428
PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions";
};
# Phase hooks
@ -257,22 +286,8 @@ stdenv.mkDerivation (finalAttrs: {
contrib/generate-man.py \
po/test-deps
# tests fail with: Failed to load SMBIOS: neither SMBIOS or DT found
sed -i 's/test(.*)//' plugins/lenovo-thinklmi/meson.build
sed -i 's/test(.*)//' plugins/mtd/meson.build
# fails on amd cpu
sed -i 's/test(.*)//' libfwupdplugin/meson.build
# in nixos test tries to chmod 0777 $out/share/installed-tests/fwupd/tests/redfish.conf
sed -i "s/get_option('tests')/false/" plugins/redfish/meson.build
# Device tests use device emulation and need to download emulation data from
# the internet, which does not work on our test VMs.
# It's probably better to disable these tests for NixOS by setting
# the device-tests directory to /dev/null.
# For more info on device emulation, see:
# https://github.com/fwupd/fwupd/blob/eeeac4e9ba8a6513428b456a551bffd95d533e50/docs/device-emulation.md
substituteInPlace data/installed-tests/meson.build \
--replace "join_paths(datadir, 'fwupd', 'device-tests')" "'/dev/null'"
'';
preBuild = ''
@ -321,6 +336,7 @@ stdenv.mkDerivation (finalAttrs: {
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
moveToOutput "share/doc" "$devdoc"
moveToOutput "etc/doc" "$devdoc"
'';
separateDebugInfo = true;
@ -328,7 +344,6 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
updateScript = nix-update-script { };
filesInstalledToEtc = [
"fwupd/bios-settings.d/README.md"
"fwupd/fwupd.conf"
"fwupd/remotes.d/lvfs-testing.conf"
"fwupd/remotes.d/lvfs.conf"

View file

@ -1,27 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
, pkg-config
, flac
, stdenv
, alsa-lib
, nix-update-script
{
lib,
buildGoModule,
fetchFromGitHub,
pkg-config,
flac,
stdenv,
alsa-lib,
nix-update-script,
}:
buildGoModule rec {
pname = "go-musicfox";
version = "4.5.3";
version = "4.5.7";
src = fetchFromGitHub {
owner = "go-musicfox";
repo = "go-musicfox";
rev = "v${version}";
hash = "sha256-qf4XAAfWWlHAnNGhXaYpnjj+2z+/lWOHaTyv8R4UDgQ=";
hash = "sha256-x3j+gfPRPkDJq9dF2NZBqvRWhnthQ8Y1TUE6xV0qFVU=";
};
deleteVendor = true;
vendorHash = "sha256-oz/kVp/Jj2Lmo19UFOn2VPD/iWbSRCbmKy8fK8RdkYs=";
vendorHash = "sha256-ItZMt6LLOQ/ZRBKAGjD72cTzK39l/ffXpXbODm9MCh8=";
subPackages = [ "cmd/musicfox.go" ];
@ -35,19 +36,25 @@ buildGoModule rec {
pkg-config
];
buildInputs = [
flac
] ++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
];
buildInputs =
[
flac
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
meta = {
description = "Terminal netease cloud music client written in Go";
homepage = "https://github.com/anhoder/go-musicfox";
license = licenses.mit;
license = lib.licenses.mit;
mainProgram = "musicfox";
maintainers = with maintainers; [ zendo Ruixi-rebirth aleksana ];
maintainers = with lib.maintainers; [
zendo
Ruixi-rebirth
aleksana
];
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "goread";
version = "1.6.5";
version = "1.7.0";
src = fetchFromGitHub {
owner = "TypicalAM";
repo = "goread";
rev = "v${version}";
hash = "sha256-SRVXcdgtRpWqvO28CnUcx40nFJnG+Hd94Ezgaj5xK6A=";
hash = "sha256-a30i8eh7asc4nlomrEFV3EgwMs69UUyXPWiRQ5w6Xvc=";
};
vendorHash = "sha256-/kxEnw8l9S7WNMcPh1x7xqiQ3L61DSn6DCIvJlyrip0=";
vendorHash = "sha256-S/0uuy/G7ZT239OgKaOT1dmY+u5/lnZKL4GtbEi2zCI=";
env.TEST_OFFLINE_ONLY = 1;

View file

@ -1,24 +1,52 @@
{ stdenv, lib, fetchurl, autoPatchelfHook, python3 }:
{
stdenv,
lib,
fetchurl,
autoPatchelfHook,
python3,
}:
let
platform =
{
aarch64-linux = "armlinux64";
x86_64-linux = "linux64";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
in
stdenv.mkDerivation rec {
pname = "gurobi";
version = "11.0.3";
version = "12.0.0";
src = fetchurl {
url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
hash = "sha256-gqLIZxwjS7qp3GTaIrGVGr9BxiBH/fdwBOZfJKkd/RM=";
url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_${platform}.tar.gz";
hash =
{
aarch64-linux = "sha256-jhICy/CGahb6eMPkvg+jKIjskS+N3zM8KVYdBXlk74Y=";
x86_64-linux = "sha256-or3Jwda/jrTlUaGErxzo17BDXqjn0ZoBfMfVP9Xv2hI=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
sourceRoot = "gurobi${builtins.replaceStrings [ "." ] [ "" ] version}/${platform}";
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ (python3.withPackages (ps: [ ps.gurobipy ])) ];
nativeBuildInputs = [
autoPatchelfHook
];
buildInputs = [
(python3.withPackages (ps: [
ps.gurobipy
]))
];
strictDeps = true;
makeFlags = [ "--directory=src/build" ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp bin/* $out/bin/
rm $out/bin/gurobi.sh
@ -39,19 +67,24 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/java
ln -s $out/lib/gurobi.jar $out/share/java/
ln -s $out/lib/gurobi-javadoc.jar $out/share/java/
runHook postInstall
'';
passthru.libSuffix = lib.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor version);
meta = with lib; {
meta = {
description = "Optimization solver for mathematical programming";
homepage = "https://www.gurobi.com";
sourceProvenance = with sourceTypes; [
sourceProvenance = with lib.sourceTypes; [
binaryBytecode
binaryNativeCode
];
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ wegank ];
license = lib.licenses.unfree;
platforms = [
"aarch64-linux"
"x86_64-linux"
];
maintainers = with lib.maintainers; [ wegank ];
};
}

View file

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "hyprwall";
version = "0.1.8";
version = "0.1.9";
src = fetchFromGitHub {
owner = "hyprutils";
repo = "hyprwall";
rev = "refs/tags/v${version}";
hash = "sha256-dzPd+5cws3hKhdd1CKKEO7EWMS0XW0y1vqxg1XKX+gY=";
hash = "sha256-A4lOEO7xKdKCUGv0scrGlwgkM8ekAWErzaN1DdgMMlA=";
};
cargoHash = "sha256-gT2ysWHckcUl1yx5tciy6kSvZZ0srrs4OwI1mr/58Pc=";
cargoHash = "sha256-ZyVHkQGv+THb2cAHH3V8nb3x9ZmpoSdR8CV7AiWQ8as=";
nativeBuildInputs = [
pkg-config

View file

@ -18,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "libxmlb";
version = "0.3.20";
version = "0.3.21";
outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
owner = "hughsie";
repo = "libxmlb";
rev = version;
hash = "sha256-X1sOUaqafppEjlcq2jYFo+BXxNX1d+vLizSQM+x/pvg=";
hash = "sha256-+gs1GqDVnt0uf/0vjUj+c9CRnUtaYfngBsjSs4ZwVXs=";
};
patches = [

View file

@ -0,0 +1,64 @@
{
lib,
stdenv,
appstream,
blueprint-compiler,
desktop-file-utils,
fetchFromGitHub,
gdk-pixbuf,
glib,
gpgme,
gtk4,
libadwaita,
meson,
ninja,
nix-update-script,
pkg-config,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lock";
version = "1.1.3";
src = fetchFromGitHub {
owner = "konstantintutsch";
repo = "Lock";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-ybWuI9hacc2vJ5KpkDlUYLaRhOurNMdTt6JiTN6BvqM=";
};
strictDeps = true;
nativeBuildInputs = [
appstream
blueprint-compiler
desktop-file-utils
glib # For `glib-compile-schemas`
gtk4 # For `gtk-update-icon-cache`
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [
gdk-pixbuf
gpgme
gtk4
libadwaita
];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Process data with GnuPG";
homepage = "https://konstantintutsch.com/Lock";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ getchoo ];
mainProgram = "com.konstantintutsch.Lock";
inherit (gpgme.meta) platforms;
};
})

View file

@ -0,0 +1,83 @@
{
lib,
stdenv,
ddcutil,
fetchFromGitHub,
gtk4,
installShellFiles,
libadwaita,
nix-update-script,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "luminance";
version = "1.1.0";
src = fetchFromGitHub {
owner = "sidevesh";
repo = "Luminance";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-1xDRs+OBzcrB75pILA3ZxIrZEleWVBROBNZz0MsCWnA=";
};
# Use our own ddcbc-api source
#
# Patch build.sh with the stdenv agnostic `$CC` variable
postPatch = ''
rmdir ddcbc-api
ln -sf ${finalAttrs.passthru.ddcbc-api} ddcbc-api
patchShebangs build.sh
substituteInPlace build.sh \
--replace-fail 'gcc' '"$CC"'
'';
strictDeps = true;
nativeBuildInputs = [
installShellFiles
pkg-config
];
buildInputs = [
ddcutil
gtk4
libadwaita
];
postBuild = "./build.sh";
postInstall = ''
mv build/app com.sidevesh.Luminance
installBin com.sidevesh.Luminance
install -Dm644 install_files/44-backlight-permissions.rules -t $out/lib/udev/rules.d
install -Dm644 install_files/com.sidevesh.Luminance.desktop -t $out/share/applications
install -Dm644 install_files/com.sidevesh.Luminance.gschema.xml -t $out/share/glib-2.0/schemas
mv icons $out/share/icons
rm $out/share/icons/com.sidevesh.luminance.Source.svg
'';
passthru = {
ddcbc-api = fetchFromGitHub {
owner = "ahshabbir";
repo = "ddcbc-api";
rev = "f54500284fcfc2f140d5ae01df779f3f47c9b563";
hash = "sha256-ViKik3468AHjE7NxdfrKicDNA0ENG6DmIplYtKVqduw=";
};
updateScript = nix-update-script { };
};
meta = {
description = "Simple GTK application to control brightness of displays including external displays supporting DDC/CI";
homepage = "https://github.com/sidevesh/Luminance";
changelog = "https://github.com/sidevesh/Luminance/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ getchoo ];
inherit (ddcutil.meta) platforms;
mainProgram = "com.sidevesh.Luminance";
};
})

View file

@ -1,43 +1,54 @@
{ lib, stdenv, fetchFromGitHub, boost, gtkmm2, lv2, pkg-config, python3, wafHook }:
{
lib,
stdenv,
fetchFromGitHub,
boost,
gtkmm2,
lv2,
pkg-config,
python3,
meson,
pugl,
ninja,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lvtk";
version = "1.2.0";
version = "1.2.0-unstable-2024-11-06";
src = fetchFromGitHub {
owner = "lvtk";
repo = "lvtk";
rev = version;
sha256 = "sha256-6IoyhBig3Nvc4Y8F0w8b1up6sn8O2RmoUVaBQ//+Aaw=";
rev = "0797fdcabef84f57b064c7b4507743afebc66589";
hash = "sha256-Z79zy2/OZTO6RTrAqgTHTzB00LtFTFiJ272RvQRpbH8=";
};
nativeBuildInputs = [ pkg-config python3 wafHook ];
buildInputs = [ boost gtkmm2 lv2 ];
nativeBuildInputs = [
pkg-config
python3
meson
ninja
];
buildInputs = [
boost
gtkmm2
lv2
pugl
];
enableParallelBuilding = true;
postPatch = ''
# Fix including the boost libraries during linking
sed -i '/target[ ]*= "ttl2c"/ ilib=["boost_system"],' tools/wscript_build
# don't use bundled waf
rm waf
# remove (useless) python2 based print
sed -e '/print/d' -i wscript
'';
wafConfigureFlags = [
"--boost-includes=${boost.dev}/include"
"--boost-libs=${boost.out}/lib"
];
meta = with lib; {
meta = {
description = "Set C++ wrappers around the LV2 C API";
mainProgram = "ttl2c";
homepage = "https://lvtk.org/";
license = licenses.gpl3;
maintainers = [ ];
platforms = platforms.unix;
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ bot-wxt1221 ];
platforms = lib.platforms.unix;
badPlatforms = [
"x86_64-darwin"
"aarch64-darwin"
];
};
}
})

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "redislabs";
repo = "memtier_benchmark";
rev = "refs/tags/${version}";
sha256 = "sha256-8xo4CbpjAl9+SArUwqSJiTcKCLhPF/rIPernDoPIi3I=";
sha256 = "sha256-a6v+M+r2f3AZImkHmUomViQNlgTdL7JaRayoVvmaMJU=";
};
patchPhase = ''

View file

@ -1,22 +0,0 @@
diff --git a/llm/generate/gen_common.sh b/llm/generate/gen_common.sh
index 3825c155..d22eccd2 100644
--- a/llm/generate/gen_common.sh
+++ b/llm/generate/gen_common.sh
@@ -69,6 +69,8 @@ git_module_setup() {
}
apply_patches() {
+ return
+
# apply temporary patches until fix is upstream
for patch in ../patches/*.patch; do
git -c 'user.name=nobody' -c 'user.email=<>' -C ${LLAMACPP_DIR} am ${patch}
@@ -133,6 +135,8 @@ install() {
# Keep the local tree clean after we're done with the build
cleanup() {
+ return
+
(cd ${LLAMACPP_DIR}/ && git checkout CMakeLists.txt)
if [ -n "$(ls -A ../patches/*.diff)" ]; then

View file

@ -12,6 +12,7 @@
cmake,
gcc12,
gitMinimal,
clblast,
libdrm,
rocmPackages,
@ -40,17 +41,17 @@ assert builtins.elem acceleration [
let
pname = "ollama";
# don't forget to invalidate all hashes each update
version = "0.3.12";
version = "0.4.4";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
rev = "v${version}";
hash = "sha256-K1FYXEP0bTZa8M+V4/SxI+Q+LWs2rsAMZ/ETJCaO7P8=";
hash = "sha256-yyUm9kETNQiJjpGeVLPe67G2CrEKYNcrPFixqqq+rH4=";
fetchSubmodules = true;
};
vendorHash = "sha256-hSxcREAujhvzHVNwnRTfhi0MKI3s8HNavER2VLz6SYk=";
vendorHash = "sha256-1+Eb81QQcVANQQ5u1c6is8dLVGYqrXKuFnF2MBkEHms=";
validateFallback = lib.warnIf (config.rocmSupport && config.cudaSupport) (lib.concatStrings [
"both `nixpkgs.config.rocmSupport` and `nixpkgs.config.cudaSupport` are enabled, "
@ -85,14 +86,22 @@ let
cudaPackages.libcublas
cudaPackages.cuda_cccl
];
# Extract the major version of CUDA. e.g. 11 12
cudaMajorVersion = lib.versions.major cudaPackages.cuda_cudart.version;
cudaToolkit = buildEnv {
name = "cuda-merged";
# ollama hardcodes the major version in the Makefile to support different variants.
# - https://github.com/ollama/ollama/blob/v0.4.4/llama/Makefile#L17-L18
name = "cuda-merged-${cudaMajorVersion}";
paths = map lib.getLib cudaLibs ++ [
(lib.getOutput "static" cudaPackages.cuda_cudart)
(lib.getBin (cudaPackages.cuda_nvcc.__spliced.buildHost or cudaPackages.cuda_nvcc))
];
};
cudaPath = lib.removeSuffix "-${cudaMajorVersion}" cudaToolkit;
metalFrameworks = with darwin.apple_sdk_11_0.frameworks; [
Accelerate
Metal
@ -133,12 +142,21 @@ goBuild {
lib.optionalAttrs enableRocm {
ROCM_PATH = rocmPath;
CLBlast_DIR = "${clblast}/lib/cmake/CLBlast";
HIP_PATH = rocmPath;
}
// lib.optionalAttrs enableCuda { CUDA_LIB_DIR = "${cudaToolkit}/lib"; };
// lib.optionalAttrs enableCuda {
CUDA_PATH = cudaPath;
};
nativeBuildInputs =
[ cmake ]
++ lib.optionals enableRocm [ rocmPackages.llvm.bintools ]
[
cmake
gitMinimal
]
++ lib.optionals enableRocm [
rocmPackages.llvm.bintools
rocmLibs
]
++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ]
++ lib.optionals (enableRocm || enableCuda) [
makeWrapper
@ -152,24 +170,13 @@ goBuild {
++ lib.optionals stdenv.hostPlatform.isDarwin metalFrameworks;
patches = [
# disable uses of `git` in the `go generate` script
# ollama's build script assumes the source is a git repo, but nix removes the git directory
# this also disables necessary patches contained in `ollama/llm/patches/`
# those patches are applied in `postPatch`
./disable-git.patch
# we provide our own deps at runtime
./skip-rocm-cp.patch
# ollama's build script is unable to find hipcc
./rocm.patch
];
postPatch = ''
# replace inaccurate version number with actual release version
substituteInPlace version/version.go --replace-fail 0.0.0 '${version}'
# apply ollama's patches to `llama.cpp` submodule
for diff in llm/patches/*; do
patch -p1 -d llm/llama.cpp < $diff
done
'';
overrideModAttrs = (
@ -180,10 +187,15 @@ goBuild {
);
preBuild = ''
# disable uses of `git`, since nix removes the git directory
export OLLAMA_SKIP_PATCHING=true
# build llama.cpp libraries for ollama
go generate ./...
make -j $NIX_BUILD_CORES
'';
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
# copy libggml_*.so and runners into lib
# https://github.com/ollama/ollama/blob/v0.4.4/llama/make/gpu.make#L90
mkdir -p $out/lib
cp -r dist/*/lib/* $out/lib/
'';
postFixup =

View file

@ -0,0 +1,13 @@
diff --git a/llama/make/Makefile.rocm b/llama/make/Makefile.rocm
index 4ab176b4..cd8be223 100644
--- a/llama/make/Makefile.rocm
+++ b/llama/make/Makefile.rocm
@@ -15,7 +15,7 @@ ifeq ($(OS),windows)
GPU_COMPILER:=$(GPU_COMPILER_WIN)
else ifeq ($(OS),linux)
GPU_LIB_DIR_LINUX := $(HIP_PATH)/lib
- GPU_COMPILER_LINUX := $(shell X=$$(which hipcc 2>/dev/null) && echo $$X)
+ GPU_COMPILER_LINUX := $(HIP_PATH)/bin/hipcc
GPU_COMPILER:=$(GPU_COMPILER_LINUX)
ROCM_TRANSITIVE_LIBS_INITIAL = $(sort $(shell ldd $(GPU_LIBS) | grep "=>" | cut -f2 -d= | cut -f2 -d' ' | grep -e rocm -e amdgpu -e libtinfo -e libnuma -e libelf))
GPU_TRANSITIVE_LIBS = $(sort $(shell readlink -f $(ROCM_TRANSITIVE_LIBS_INITIAL)) $(ROCM_TRANSITIVE_LIBS_INITIAL))

View file

@ -1,14 +0,0 @@
diff --git a/llm/generate/gen_linux.sh b/llm/generate/gen_linux.sh
index 48d08fd0..e50f7b36 100755
--- a/llm/generate/gen_linux.sh
+++ b/llm/generate/gen_linux.sh
@@ -284,9 +284,6 @@ if [ -z "${OLLAMA_SKIP_ROCM_GENERATE}" -a -d "${ROCM_PATH}" ]; then
mkdir -p "${ROCM_DIST_DIR}"
for dep in $(ldd "${BUILD_DIR}/bin/ollama_llama_server" | grep "=>" | cut -f2 -d= | cut -f2 -d' ' | grep -v "${GOARCH}/rocm${ROCM_VARIANT}" | grep -e rocm -e amdgpu -e libtinfo -e libnuma -e libelf ); do
cp -a "${dep}"* "${ROCM_DIST_DIR}"
- if [ $(readlink -f "${dep}") != "${dep}" ] ; then
- cp $(readlink -f "${dep}") "${ROCM_DIST_DIR}"
- fi
done
install
dist

View file

@ -0,0 +1,66 @@
{
lib,
fetchFromGitHub,
jre,
makeWrapper,
maven,
libGL,
xdg-utils,
zip,
zlib,
}:
maven.buildMavenPackage rec {
pname = "polyglot";
version = "3.5.1";
src = fetchFromGitHub {
owner = "DraqueT";
repo = "PolyGlot";
rev = version;
hash = "sha256-E7wLhohOpWGzXe1zEO9a8aFIVT7/34Wr0dsRzpuf+eY=";
};
preBuild = ''
echo "${version}" > assets/assets/org/DarisaDesigns/version
cd docs
zip -r ../assets/assets/org/DarisaDesigns/readme *
cd ../packaging_files/example_lexicons
zip -r ../../assets/assets/org/DarisaDesigns/exlex *
cd ../..
'';
mvnHash = "sha256-T7es44oNI9EXnpJd/DvYTb4LaJvR3rIdlhD4s/+Bfks=";
mvnParameters = "-DskipTests";
nativeBuildInputs = [
makeWrapper
zip
];
runtimeDeps = [
xdg-utils
zlib
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/PolyGlotLinA
install -Dm644 --target-directory=$out/share/PolyGlotLinA target/PolyGlotLinA-${version}-jar-with-dependencies.jar
makeWrapper ${jre}/bin/java $out/bin/PolyGlot \
--add-flags "-Djpackage.app-version=${version}" \
--add-flags "-jar $out/share/PolyGlotLinA/PolyGlotLinA-${version}-jar-with-dependencies.jar" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}"
runHook postInstall
'';
meta = {
description = "Conlang construction toolkit";
homepage = "https://draquet.github.io/PolyGlot/readme.html";
changelog = "https://github.com/DraqueT/PolyGlot/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ noodlez1232 ];
platforms = lib.platforms.linux;
mainProgram = "PolyGlot";
};
}

View file

@ -0,0 +1,70 @@
{
stdenv,
lib,
meson,
fetchFromGitHub,
pkg-config,
xorg,
libGL,
cairo,
glslang,
python3,
doxygen,
vulkan-loader,
vulkan-headers,
sphinx,
sphinxygen,
ninja,
apple-sdk_11,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pugl";
version = "0-unstable-2024-10-06";
src = fetchFromGitHub {
owner = "lv2";
repo = "pugl";
rev = "edd13c1b952b16633861855fcdbdd164e87b3c0a";
hash = "sha256-s7uvA3F16VxJgaKlQWQP9rQtzzlD1NuebIgR5L3yHw4=";
};
postPatch = ''
patchShebangs .
'';
nativeBuildInputs = [
meson
ninja
python3
pkg-config
doxygen
glslang
sphinxygen
sphinx
python3.pkgs.sphinx-lv2-theme
];
buildInputs =
[
xorg.libX11
xorg.libXcursor
xorg.libXrandr
libGL
vulkan-loader
vulkan-headers
xorg.libXext
cairo
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
apple-sdk_11
];
meta = {
homepage = "https://github.com/lv2/pugl";
maintainers = with lib.maintainers; [ bot-wxt1221 ];
platforms = lib.platforms.unix;
license = lib.licenses.isc;
description = "Minimal portable API for embeddable GUIs";
};
})

View file

@ -0,0 +1,48 @@
{
cmake,
fetchFromGitHub,
lib,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "stl-to-obj";
version = "0.3";
src = fetchFromGitHub {
owner = "Neizvestnyj";
repo = "stl-to-obj";
rev = finalAttrs.version;
hash = "sha256-+R7rNpMxKFC7sLYQXZX3Ikb5MqNd57r1M8gma73kCcg=";
};
postPatch = ''
# Add missing cstdint include
# ref. https://github.com/Neizvestnyj/stl-to-obj/pull/12
for filename in \
stl2obj/src/mode.cpp \
stl2obj/src/obj_to_stl/StlWriter.cpp \
stl2obj/src/stl_to_obj/importstl.cpp \
stl2obj/src/stl_to_obj/kdtree.h
do
echo "$(echo '#include <cstdint>'; cat $filename)" > $filename
done
# Install main executable
# ref. https://github.com/Neizvestnyj/stl-to-obj/pull/13
echo "install(TARGETS stl2obj DESTINATION $""{CMAKE_INSTALL_BINDIR})" >> CMakeLists.txt
'';
nativeBuildInputs = [
cmake
];
meta = {
description = "C++ stl to obj file converter and vice versa";
homepage = "https://github.com/Neizvestnyj/stl-to-obj";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ nim65s ];
mainProgram = "stl2obj";
platforms = lib.platforms.all;
};
})

View file

@ -9,7 +9,7 @@
, file
, hyperscan
, jansson
, libbpf
, libbpf_0
, libcap_ng
, libevent
, libmaxminddb
@ -23,10 +23,11 @@
, lz4
, nspr
, pcre2
, python
, python3
, zlib
, redisSupport ? true, redis, hiredis
, rustSupport ? true, rustc, cargo
, nixosTests
}: let
libmagic = file;
hyperscanSupport = stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
@ -49,14 +50,14 @@ stdenv.mkDerivation rec {
++ lib.optionals rustSupport [ rustc cargo ]
;
propagatedBuildInputs = with python.pkgs; [
propagatedBuildInputs = with python3.pkgs; [
pyyaml
];
buildInputs = [
elfutils
jansson
libbpf
libbpf_0
libcap_ng
libevent
libmagic
@ -71,7 +72,7 @@ stdenv.mkDerivation rec {
lz4
nspr
pcre2
python
python3
zlib
]
++ lib.optional hyperscanSupport hyperscan
@ -153,6 +154,8 @@ stdenv.mkDerivation rec {
--replace "/etc/suricata" "$out/etc/suricata"
'';
passthru.tests = { inherit (nixosTests) suricata; };
meta = with lib; {
description = "Free and open source, mature, fast and robust network threat detection engine";
homepage = "https://suricata.io";

View file

@ -4,6 +4,7 @@
autoreconfHook,
fetchFromGitHub,
autoconf-archive,
nix-update-script,
pkg-config,
openssl,
tpm2-tss,
@ -36,6 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
echo ${finalAttrs.version} > VERSION
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "OpenSSL Provider for TPM2 integration";
homepage = "https://github.com/tpm2-software/tpm2-openssl";

File diff suppressed because it is too large Load diff

View file

@ -23,11 +23,9 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-OfTMJ7ylVOJjL295W3Flj2upTiUQXmfkyDFSE1v8+a4=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"typst-dev-assets-0.12.0" = "sha256-YLxLuhpAUzktjyprZAhZ4GjcXEDUDdLtSzc5onzLuto=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-dphMJ1KkZARSntvyEayAtlYw8lL39K7Iw0X4n8nz3z8=";
};
nativeBuildInputs = [

View file

@ -12,12 +12,12 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "waagent";
version = "2.11.1.12";
version = "2.12.0.2";
src = fetchFromGitHub {
owner = "Azure";
repo = "WALinuxAgent";
rev = "refs/tags/v${version}";
hash = "sha256-1MaPjz9hWb/kJxuyJAUWPk065vpSyx2jq1ZSlDB4yFo=";
hash = "sha256-pp54J3x/+hkG4p7X1cojupdhjc0pyKcBRnE5ejd5ZpU=";
};
patches = [
# Suppress the following error when waagent tries to configure sshd:

View file

@ -13,13 +13,12 @@
, colorVariants ? [] # default: all
, opacityVariants ? [] # default: all
, themeVariants ? [] # default: default (BigSur-like theme)
, schemeVariants ? [] # default: standard
, iconVariant ? null # default: standard (Apple logo)
, nautilusStyle ? null # default: stable (BigSur-like style)
, nautilusSize ? null # default: 200px
, panelOpacity ? null # default: 15%
, panelSize ? null # default: 32px
, roundedMaxWindow ? false # default: false
, nordColor ? false # default = false
, darkerColor ? false # default = false
}:
@ -28,25 +27,25 @@ let
single = x: lib.optional (x != null) x;
in
lib.checkListOfEnum "${pname}: alt variants" [ "normal" "alt" "all" ] altVariants
lib.checkListOfEnum "${pname}: color variants" [ "Light" "Dark" ] colorVariants
lib.checkListOfEnum "${pname}: window control buttons variants" [ "normal" "alt" "all" ] altVariants
lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants
lib.checkListOfEnum "${pname}: opacity variants" [ "normal" "solid" ] opacityVariants
lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants
lib.checkListOfEnum "${pname}: accent color variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants
lib.checkListOfEnum "${pname}: colorscheme style variants" [ "standard" "nord" ] schemeVariants
lib.checkListOfEnum "${pname}: activities icon variants" [ "standard" "apple" "simple" "gnome" "ubuntu" "tux" "arch" "manjaro" "fedora" "debian" "void" "opensuse" "popos" "mxlinux" "zorin" "budgie" "gentoo" ] (single iconVariant)
lib.checkListOfEnum "${pname}: nautilus style" [ "stable" "normal" "mojave" "glassy" ] (single nautilusStyle)
lib.checkListOfEnum "${pname}: nautilus sidebar minimum width" [ "default" "180" "220" "240" "260" "280" ] (single nautilusSize)
lib.checkListOfEnum "${pname}: nautilus style" [ "stable" "normal" "mojave" "glassy" "right" ] (single nautilusStyle)
lib.checkListOfEnum "${pname}: panel opacity" [ "default" "30" "45" "60" "75" ] (single panelOpacity)
lib.checkListOfEnum "${pname}: panel size" [ "default" "smaller" "bigger" ] (single panelSize)
stdenv.mkDerivation rec {
pname = "whitesur-gtk-theme";
version = "2024.09.02";
version = "2024-11-18";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
hash = "sha256-a32iHPcbMYuBy65FWm/fkjwJQE3aVScR3WJJzKTVx9k=";
hash = "sha256-SSGb7EdJN8E4N8b98VO7oFTeOmhKEo/0qhso9410ihg=";
};
nativeBuildInputs = [
@ -68,10 +67,10 @@ stdenv.mkDerivation rec {
done
# Do not provide `sudo`, as it is not needed in our use case of the install script
substituteInPlace shell/lib-core.sh --replace-fail '$(which sudo)' false
substituteInPlace libs/lib-core.sh --replace-fail '$(which sudo)' false
# Provides a dummy home directory
substituteInPlace shell/lib-core.sh --replace-fail 'MY_HOME=$(getent passwd "''${MY_USERNAME}" | cut -d: -f6)' 'MY_HOME=/tmp'
substituteInPlace libs/lib-core.sh --replace-fail 'MY_HOME=$(getent passwd "''${MY_USERNAME}" | cut -d: -f6)' 'MY_HOME=/tmp'
'';
dontBuild = true;
@ -86,13 +85,12 @@ stdenv.mkDerivation rec {
${toString (map (x: "--color " + x) colorVariants)} \
${toString (map (x: "--opacity " + x) opacityVariants)} \
${toString (map (x: "--theme " + x) themeVariants)} \
${toString (map (x: "--scheme " + x) schemeVariants)} \
${lib.optionalString (nautilusStyle != null) ("--nautilus " + nautilusStyle)} \
${lib.optionalString (nautilusSize != null) ("--size " + nautilusSize)} \
${lib.optionalString roundedMaxWindow "--roundedmaxwindow"} \
${lib.optionalString nordColor "--nordcolor"} \
${lib.optionalString darkerColor "--darkercolor"} \
${lib.optionalString (iconVariant != null) ("--gnome-shell -i " + iconVariant)} \
${lib.optionalString (panelSize != null) ("--gnome-shell -height " + panelSize)} \
${lib.optionalString (panelSize != null) ("--gnome-shell -panelheight " + panelSize)} \
${lib.optionalString (panelOpacity != null) ("--gnome-shell -panelopacity " + panelOpacity)} \
--dest $out/share/themes

View file

@ -1,7 +1,7 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, unstableGitUpdater
, gitUpdater
}:
# NOTE:
@ -25,14 +25,14 @@
# ];
# };
stdenvNoCC.mkDerivation {
stdenvNoCC.mkDerivation rec {
pname = "whitesur-kde";
version = "2022-05-01-unstable-2024-11-01";
version = "2024-11-18";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = "whitesur-kde";
rev = "efba411e11f8f4d3219bffb393d25afae62eacf2";
rev = version;
hash = "sha256-052mKpf8e5pSecMzaWB3McOZ/uAqp/XGJjcVWnlKPLE=";
};
@ -65,7 +65,7 @@ stdenvNoCC.mkDerivation {
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
passthru.updateScript = gitUpdater { };
meta = {
description = "MacOS big sur like theme for KDE Plasma desktop";

View file

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "elementary-camera";
version = "8.0.0";
version = "8.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "camera";
rev = version;
sha256 = "sha256-c8wpo2oMkovZikzcWHfiUIUA/+L7iWEcUv6Cg/BMa+s=";
sha256 = "sha256-PSUav16aU9TFX9Zb0TkqLxgn+yed86Qft0rQvbjbXtA=";
};
nativeBuildInputs = [

View file

@ -22,13 +22,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "wingpanel-quick-settings";
version = "1.0.0";
version = "1.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "quick-settings";
rev = finalAttrs.version;
hash = "sha256-k8K6zGTLYGSsi5NtohbaGg4oVVovktR7BInN8BUE5bQ=";
hash = "sha256-I5RCMd3lkWOkpoawCXYuGHDa49A+wVlIlM8U2hRfq/o=";
};
nativeBuildInputs = [

View file

@ -2,7 +2,6 @@
, stdenv
, fetchFromGitHub
, nix-update-script
, python3
, meson
, ninja
, sassc
@ -19,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "granite";
version = "7.5.0";
version = "7.6.0";
outputs = [ "out" "dev" ];
@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-mwivme79zsPcS+Ol8iApECjpQz+fYcBLZwkULagXVvI=";
sha256 = "sha256-bv2rOq16xg9lCWfcLzAFN4LjBTJBxPhXvEJzutkdYzs=";
};
nativeBuildInputs = [
@ -36,7 +35,6 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
python3
sassc
vala
wrapGAppsHook4
@ -49,11 +47,6 @@ stdenv.mkDerivation rec {
libgee
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script { };
};

View file

@ -37,7 +37,7 @@ let
, hash ? null
, extraPatches ? [ ]
, packageOverrides ? (final: prev: { })
, phpAttrsOverrides ? (attrs: { })
, phpAttrsOverrides ? (final: prev: { })
, pearInstallPhar ? (callPackage ./install-pear-nozlib-phar.nix { })
# Sapi flags
@ -63,16 +63,6 @@ let
}@args:
let
# Compose two functions of the type expected by 'overrideAttrs'
# into one where changes made in the first are available to the second.
composeOverrides =
f: g: attrs:
let
fApplied = f attrs;
attrs' = attrs // fApplied;
in
fApplied // g attrs';
# buildEnv wraps php to provide additional extensions and
# configuration. Its usage is documented in
# doc/languages-frameworks/php.section.md.
@ -153,7 +143,8 @@ let
overrideAttrs =
f:
let
newPhpAttrsOverrides = composeOverrides (filteredArgs.phpAttrsOverrides or (attrs: { })) f;
phpAttrsOverrides = filteredArgs.phpAttrsOverrides or (final: prev: { });
newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) (lib.toExtension f);
php = generic (filteredArgs // { phpAttrsOverrides = newPhpAttrsOverrides; });
in
php.buildEnv { inherit extensions extraConfig; };
@ -342,7 +333,7 @@ let
overrideAttrs =
f:
let
newPhpAttrsOverrides = composeOverrides phpAttrsOverrides f;
newPhpAttrsOverrides = lib.composeExtensions (lib.toExtension phpAttrsOverrides) (lib.toExtension f);
php = generic (args // { phpAttrsOverrides = newPhpAttrsOverrides; });
in
php;
@ -359,8 +350,9 @@ let
outputsToInstall = [ "out" "dev" ];
};
};
final = attrs // (lib.toExtension phpAttrsOverrides) final attrs;
in
attrs // phpAttrsOverrides attrs
final
);
in
generic

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "aiopegelonline";
version = "0.0.10";
version = "0.1.0";
pyproject = true;
disabled = pythonOlder "3.9";
@ -21,9 +21,14 @@ buildPythonPackage rec {
owner = "mib1185";
repo = "aiopegelonline";
rev = "refs/tags/v${version}";
hash = "sha256-nKuqAzT1O5n9X/fEUm+M2RdB4u7moUGQzFA7knSEpBs=";
hash = "sha256-gY/+hifDFjHlpGUx8jgEpfIztEDZezWywZlRvLRBoX4=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools==69.2.0" "setuptools"
'';
build-system = [ setuptools ];
dependencies = [ aiohttp ];

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "bidsschematools";
version = "0.11.3";
version = "0.11.3.post3";
pyproject = true;
disabled = pythonOlder "3.9";
@ -19,7 +19,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "bidsschematools";
inherit version;
hash = "sha256-GvR3pOXXmdpjH2xdL+trhLW6ZdsTpEWUdNUlVQ4gFXo=";
hash = "sha256-GGMNAEW/gyBaduVuzPN5+9hmHYp+XQJwG8KQBeVkKfc=";
};
build-system = [

View file

@ -19,7 +19,7 @@
buildPythonPackage rec {
pname = "dbt-semantic-interfaces";
version = "0.7.4";
version = "0.8.1";
pyproject = true;
disabled = pythonOlder "3.8";
@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "dbt-labs";
repo = "dbt-semantic-interfaces";
rev = "refs/tags/v${version}";
hash = "sha256-LHcNitkrDQNz2971iMn13eELUyuJbjUK/u+u83JRIBk=";
hash = "sha256-gY2CJqN/ohYs4Qej451PexWcsM7N9GuHt79qC+NC7T4=";
};
pythonRelaxDeps = [ "importlib-metadata" ];

View file

@ -17,14 +17,14 @@ let
};
platform = platforms.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
hashes = rec {
cp311-aarch64-darwin = "sha256-E4tL6PtC1JS4SEvUz6meoeUR6IYM2xFxNJ9PzgbZqgE=";
cp311-aarch64-linux = "sha256-hMWOFkyQ/B3ovAqsitJagrSp0webUGRzWCLOz1UrGyY=";
cp311-aarch64-darwin = "sha256-KRC3fY7KUVCfI4u+TQQjgqLLIEunkzgIZxiuTol2/50=";
cp311-aarch64-linux = "sha256-/DiS49iND4oB2nXxL3QCPTmO9Zmp4a3WbtdjE3M+MPs=";
cp311-x86_64-darwin = cp311-aarch64-darwin;
cp311-x86_64-linux = "sha256-2O7Vykgx0fELCM1wH3VIOyeBBzR1DUFKWzy25LpMF/M=";
cp312-aarch64-darwin = "sha256-BXAJeUaVEa7fy00BNsFhB30IU5O2pEnJjp/3gYdHJ5w=";
cp312-aarch64-linux = "sha256-t1KopNiYo8xZsGcKpEne6OIVnU9CDzADO6+W8Uo2UW0=";
cp311-x86_64-linux = "sha256-oI+0Kl58sCzbmTwTgci4xaO67tyt1W5yiNhFile4FEI=";
cp312-aarch64-darwin = "sha256-tcNcuYGmFScBaFUyTgVMrkc0lnhdtX8Ggr1W1YSpbu4=";
cp312-aarch64-linux = "sha256-+Ch951NcO5yX9KqHFpadcDAqlyvQnp07b71yZsoOq3I=";
cp312-x86_64-darwin = cp312-aarch64-darwin;
cp312-x86_64-linux = "sha256-0IppqYhLLHq4Q8mWe0R3DBfHOsVybbeoeUroXXwfxEY=";
cp312-x86_64-linux = "sha256-kLukle+yXP9aOCYViv974pY30ugKzMOompjLhjCFYQY=";
};
hash =
hashes."${pyShortVersion}-${stdenv.system}"
@ -32,7 +32,7 @@ let
in
buildPythonPackage rec {
pname = "gurobipy";
version = "11.0.3";
version = "12.0.0";
inherit format;
src = fetchPypi {

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "mozart-api";
version = "4.1.1.116.0";
version = "4.1.1.116.3";
pyproject = true;
disabled = pythonOlder "3.11";
@ -26,7 +26,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "mozart_api";
inherit version;
hash = "sha256-QVh1MplzUL0LO3gPvxC/5uJjFoK57j2WdT2oMsneIkA=";
hash = "sha256-ioM+l+1ab191OTKXE4Ou8OOPafAqZz9XmxO5c82KH8g=";
};
build-system = [ poetry-core ];

View file

@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
nix-update-script,
# setuptools
setuptools,
@ -35,6 +36,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "stravaweblib" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Python library for extending the Strava v3 API using web scraping";
homepage = "https://github.com/pR0Ps/stravaweblib";

View file

@ -20,9 +20,6 @@
gnused,
systemd,
glibcLocales,
AppKit,
Carbon,
Cocoa,
nixosTests,
which,
}:
@ -64,19 +61,13 @@ stdenv.mkDerivation rec {
which
];
buildInputs =
[
erlang
elixir
libxml2
libxslt
glibcLocales
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
AppKit
Carbon
Cocoa
];
buildInputs = [
erlang
elixir
libxml2
libxslt
glibcLocales
];
outputs = [
"out"

View file

@ -1,4 +1,4 @@
# frozen_string_literal: true
source "https://rubygems.org"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.36"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.37"

View file

@ -1,9 +1,9 @@
GIT
remote: https://github.com/rapid7/metasploit-framework
revision: 65c9364cfbe9540e24a7c5312666e77e2de52389
ref: refs/tags/6.4.36
revision: c58328ce3f0a86d24580e76961476ad37b8d6de9
ref: refs/tags/6.4.37
specs:
metasploit-framework (6.4.36)
metasploit-framework (6.4.37)
aarch64
abbrev
actionpack (~> 7.0.0)
@ -488,4 +488,4 @@ DEPENDENCIES
metasploit-framework!
BUNDLED WITH
2.5.16
2.5.22

View file

@ -15,13 +15,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "metasploit-framework";
version = "6.4.36";
version = "6.4.37";
src = fetchFromGitHub {
owner = "rapid7";
repo = "metasploit-framework";
rev = "refs/tags/${version}";
hash = "sha256-di7/LBqXrcIhy4UG5krAFSJ1ZhrJuGxEWJ25aVLuiGg=";
hash = "sha256-/c0F/5bbuQYkNB2tzjK2NGoTr3OD4fAUUEjiJVybKFM=";
};
nativeBuildInputs = [

View file

@ -734,12 +734,12 @@
platforms = [];
source = {
fetchSubmodules = false;
rev = "65c9364cfbe9540e24a7c5312666e77e2de52389";
sha256 = "0s48xr96kfcxb126rf6939k7a8hmq15fc1l5rchw5bcp38ngybkn";
rev = "c58328ce3f0a86d24580e76961476ad37b8d6de9";
sha256 = "0lr8kdf2bqj8a0ag1qc3ffpi6silnqrcxb8x6hj0dffvjvzhbkgx";
type = "git";
url = "https://github.com/rapid7/metasploit-framework";
};
version = "6.4.36";
version = "6.4.37";
};
metasploit-model = {
groups = ["default"];

View file

@ -5303,11 +5303,6 @@ with pkgs;
spoof-mac = python3Packages.callPackage ../tools/networking/spoof-mac { };
suricata = callPackage ../applications/networking/ids/suricata {
python = python3;
libbpf = libbpf_0;
};
softhsm = callPackage ../tools/security/softhsm {
inherit (darwin) libobjc;
inherit (darwin.apple_sdk.frameworks) Security;
@ -12134,7 +12129,6 @@ with pkgs;
qremotecontrol-server = libsForQt5.callPackage ../servers/misc/qremotecontrol-server { };
rabbitmq-server = callPackage ../servers/amqp/rabbitmq-server {
inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa;
erlang = erlang_26;
};