feat(image): install upstream kexec which now have support for UKIs
This commit is contained in:
parent
0a0e9127e0
commit
7365ef8918
13 changed files with 74 additions and 7 deletions
pkgs/dbus-broker
166
pkgs/dbus-broker/default.nix
Normal file
166
pkgs/dbus-broker/default.nix
Normal file
|
@ -0,0 +1,166 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ peterhoeg ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
dep =
|
||||
{
|
||||
pname,
|
||||
version,
|
||||
hash,
|
||||
rev ? "v${version}",
|
||||
buildInputs ? [ ],
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
src = fetchFromGitHub {
|
||||
owner = "c-util";
|
||||
repo = pname;
|
||||
inherit hash rev;
|
||||
};
|
||||
nativeBuildInputs = with pkgs; [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
inherit buildInputs;
|
||||
meta = meta // {
|
||||
description = "The C-Util Project is a collection of utility libraries for the C11 language.";
|
||||
homepage = "https://c-util.github.io/";
|
||||
license = [
|
||||
lib.licenses.asl20
|
||||
lib.licenses.lgpl21Plus
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# These libraries are not used outside of dbus-broker.
|
||||
#
|
||||
# If that changes, we can always break them out, but they are essentially
|
||||
# part of the dbus-broker project, just in separate repositories.
|
||||
c-dvar = dep {
|
||||
pname = "c-dvar";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-p/C+BktclVseCtZJ1Q/YK03vP2ClnYRLB1Vmj2OQJD4=";
|
||||
buildInputs = [
|
||||
c-stdaux
|
||||
c-utf8
|
||||
];
|
||||
};
|
||||
c-ini = dep {
|
||||
pname = "c-ini";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-wa7aNl20hkb/83c4AkQ/0YFDdmBs4XGW+WLUtBWIC98=";
|
||||
buildInputs = [
|
||||
c-list
|
||||
c-rbtree
|
||||
c-stdaux
|
||||
c-utf8
|
||||
];
|
||||
};
|
||||
c-list = dep {
|
||||
pname = "c-list";
|
||||
version = "3.1.0";
|
||||
hash = "sha256-fp3EAqcbFCLaT2EstLSzwP2X13pi2EFpFAullhoCtpw=";
|
||||
};
|
||||
c-rbtree = dep {
|
||||
pname = "c-rbtree";
|
||||
version = "3.2.0";
|
||||
hash = "sha256-dTMeawhPLRtHvMXfXCrT5iCdoh7qS3v+raC6c+t+X38=";
|
||||
buildInputs = [ c-stdaux ];
|
||||
};
|
||||
c-shquote = dep {
|
||||
pname = "c-shquote";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-z6hpQ/kpCYAngMNfxLkfsxaGtvP4yBMigX1lGpIIzMQ=";
|
||||
buildInputs = [ c-stdaux ];
|
||||
};
|
||||
c-stdaux = dep {
|
||||
pname = "c-stdaux";
|
||||
version = "1.5.0";
|
||||
hash = "sha256-MsnuEyVCmOIr/q6I1qyPsNXp48jxIEcXoYLHbOAZtW0=";
|
||||
};
|
||||
c-utf8 = dep {
|
||||
pname = "c-utf8";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-9vBYylbt1ypJwIAQJd/oiAueh+4VYcn/KzofQuhUea0=";
|
||||
buildInputs = [ c-stdaux ];
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dbus-broker";
|
||||
version = "36";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bus1";
|
||||
repo = "dbus-broker";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5dAMKjybqrHG57vArbtWEPR/svSj2ION75JrjvnnpVM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
docutils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
c-dvar
|
||||
c-ini
|
||||
c-list
|
||||
c-rbtree
|
||||
c-shquote
|
||||
c-stdaux
|
||||
c-utf8
|
||||
pkgs.dbus
|
||||
pkgs.linuxHeaders
|
||||
pkgs.systemd
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
# while we technically support 4.9 and 4.14, the NixOS module will throw an
|
||||
# error when using a kernel that's too old
|
||||
"--prefix=/"
|
||||
"--bindir=/usr/bin"
|
||||
"-D=linux-4-17=true"
|
||||
"-D=system-console-users=gdm,sddm,lightdm"
|
||||
];
|
||||
|
||||
PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "/usr/lib/systemd/system";
|
||||
PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "/usr/lib/systemd/user";
|
||||
PKG_CONFIG_SYSTEMD_CATALOGDIR = "/usr/lib/systemd/catalog";
|
||||
|
||||
preInstall = ''
|
||||
export DESTDIR=${placeholder "out"}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/usr/share
|
||||
cp -Pr ${pkgs.dbus.out}/share/* $out/usr/share/
|
||||
cp ${pkgs.dbus.out}/etc/systemd/system/dbus.socket $out/usr/lib/systemd/system/
|
||||
mv $out/usr/lib/systemd/system/dbus-broker.service $out/usr/lib/systemd/system/dbus.service
|
||||
find $out/usr/share/ -type d -exec chmod 755 {} \;
|
||||
sed -i 's#/nix/store.*/share#/usr/share#' $out/usr/share/xml/dbus-1/catalog.xml
|
||||
sed -i 's#/nix/store.*/libexec#/usr/bin#' $out/usr/share/dbus-1/system.conf
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = meta // {
|
||||
description = "Linux D-Bus Message Broker";
|
||||
homepage = "https://github.com/bus1/dbus-broker/wiki";
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue