Files
nixpkgs/pkgs/by-name/bi/biboumi/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

104 lines
2.0 KiB
Nix

{
lib,
stdenv,
fetchFromGitea,
fetchpatch,
cmake,
libuuid,
expat,
libiconv,
botan3,
systemd,
pkg-config,
python3Packages,
withIDN ? true,
libidn,
withPostgreSQL ? false,
libpq,
withSQLite ? true,
sqlite,
withUDNS ? true,
udns,
}:
assert lib.assertMsg (
withPostgreSQL || withSQLite
) "At least one Biboumi database provider required";
let
catch = fetchFromGitea {
domain = "codeberg.org";
owner = "poezio";
repo = "catch";
tag = "v2.2.1";
hash = "sha256-dGUnB/KPONqPno1aO5cOSiE5N4lUiTbMUcH0X6HUoCk=";
};
pname = "biboumi";
version = "9.0";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchFromGitea {
domain = "codeberg.org";
owner = "poezio";
repo = "biboumi";
tag = version;
hash = "sha256-yjh9WFuFjaoZLfXTfZajmdRO+3KZqJYBEd0HgqcC28A=";
};
patches = [
./catch.patch
(fetchpatch {
name = "update_botan_to_version_3.patch";
url = "https://codeberg.org/poezio/biboumi/commit/e4d32f939240ed726e9981e42c0dc251cd9879da.patch";
hash = "sha256-QUt2ZQtoouLHAeEUlJh+yfCYEmLboL/tk6O2TbHR67Q=";
})
];
nativeBuildInputs = [
cmake
pkg-config
python3Packages.sphinx
];
buildInputs = [
libuuid
expat
libiconv
systemd
botan3
]
++ lib.optional withIDN libidn
++ lib.optional withPostgreSQL libpq
++ lib.optional withSQLite sqlite
++ lib.optional withUDNS udns;
buildFlags = [
"all"
"man"
];
cmakeFlags = [
# Fix breakage with CMake 4
"-DCMAKE_SKIP_RPATH=ON"
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
preConfigure = ''
substituteInPlace CMakeLists.txt --replace /etc/biboumi $out/etc/biboumi
cp ${catch}/single_include/catch.hpp tests/
'';
doCheck = true;
meta = {
description = "Modern XMPP IRC gateway";
mainProgram = "biboumi";
platforms = lib.platforms.unix;
homepage = "https://codeberg.org/poezio/biboumi";
license = lib.licenses.zlib;
maintainers = [ lib.maintainers.woffs ];
};
}