Merge pull request #241974 from SohamG/pkg/oddjob

This commit is contained in:
Sandro 2023-07-19 15:07:04 +02:00 committed by GitHub
commit 3168d64a3f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 91 additions and 0 deletions

View file

@ -222,6 +222,7 @@
./programs/noisetorch.nix
./programs/npm.nix
./programs/oblogout.nix
./programs/oddjobd.nix
./programs/openvpn3.nix
./programs/pantheon-tweaks.nix
./programs/partition-manager.nix

View file

@ -0,0 +1,28 @@
{ config, pkgs, lib, ... }:
let
cfg = config.programs.oddjobd;
in
{
options.programs.oddjobd = {
enable = lib.mkEnableOption "oddjob";
package = lib.mkPackageOption pkgs "oddjob" {};
};
config = lib.mkIf cfg.enable {
systemd.packages = [ cfg.package ];
systemd.services.oddjobd = {
wantedBy = [ "multi-user.target"];
after = [ "network.target"];
description = "DBUS Odd-job Daemon";
enable = true;
documentation = [ "man:oddjobd(8)" "man:oddjobd.conf(5)" ];
serviceConfig = {
Type = "dbus";
BusName = "org.freedesktop.oddjob";
ExecStart = "${lib.getExe cfg.package}/bin/oddjobd";
};
};
};
}

View file

@ -0,0 +1,60 @@
{ lib
, fetchurl
, stdenv
, autoreconfHook
, dbus
, libxml2
, pam
, pkg-config
, systemd
}:
stdenv.mkDerivation rec {
pname = "oddjob";
version = "0.34.7";
src = fetchurl {
url = "https://pagure.io/oddjob/archive/${pname}-${version}/oddjob-${pname}-${version}.tar.gz";
hash = "sha256-SUOsMH55HtEsk5rX0CXK0apDObTj738FGOaL5xZRnIM=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs =[
libxml2
dbus
pam
systemd
];
postPatch = ''
substituteInPlace configure.ac \
--replace 'SYSTEMDSYSTEMUNITDIR=`pkg-config --variable=systemdsystemunitdir systemd 2> /dev/null`' "SYSTEMDSYSTEMUNITDIR=${placeholder "out"}" \
--replace 'SYSTEMDSYSTEMUNITDIR=`pkg-config --variable=systemdsystemunitdir systemd`' "SYSTEMDSYSTEMUNITDIR=${placeholder "out"}"
'';
configureFlags = [
"--prefix=${placeholder "out"}"
"--sysconfdir=${placeholder "out"}/etc"
"--with-selinux-acls=no"
"--with-selinux-labels=no"
"--disable-systemd"
];
postConfigure = ''
substituteInPlace src/oddjobd.c \
--replace "globals.selinux_enabled" "FALSE"
'';
meta = with lib; {
description = "Odd Job Daemon";
homepage = "https://pagure.io/oddjob";
changelog = "https://pagure.io/oddjob/blob/oddjob-${version}/f/ChangeLog";
license = licenses.bsd0;
platforms = platforms.linux;
maintainers = with maintainers; [ SohamG ];
};
}

View file

@ -9888,6 +9888,8 @@ with pkgs;
notesnook = callPackage ../applications/misc/notesnook { };
oddjob = callPackage ../os-specific/linux/oddjob { };
openipmi = callPackage ../tools/system/openipmi { };
ox = callPackage ../applications/editors/ox { };