extra-nixpkgs/default.nix

111 lines
3.1 KiB
Nix

{pkgs, uv2nix ? null, pyproject-nix ? null, pyproject-build-systems ? null, npm-lockfile-fix-pkg ? null, ...}:
with pkgs;
let
cedro = callPackage ./pkgs/c/cedro/package.nix {};
capnpc = callPackage ./pkgs/c/capnpc/package.nix {};
gost-ctl = callPackage ./pkgs/g/gost-ctl/package.nix {};
norouter = callPackage ./pkgs/n/norouter/package.nix {};
xbuild = callPackage ./pkgs/x/xbuild/package.nix {
pkgs = pkgs;
cedro = cedro;
capnpc = capnpc;
};
zlog_with_pkgconf = callPackage ./pkgs/z/zlog/package.nix {
with_pkgconf = true;
};
tinylog = callPackage ./pkgs/t/tinylog/package.nix {};
unity_test_with_color = pkgs.unity-test.overrideAttrs {
env.NIX_CFLAGS_COMPILE = "-DUNITY_OUTPUT_COLOR=1";
};
libcello_debug = pkgs.libcello.overrideAttrs (prevAttrs: {
separateDebugInfo = true;
postInstall = ''
mkdir -p $out/lib/pkgconfig
cat >$out/lib/pkgconfig/libcello.pc <<EOF
prefix=$out
exec_prefix=\''${prefix}
libdir=$out/lib
includedir=$out/include
Name: ${prevAttrs.pname}
Version: ${prevAttrs.version}
Description: ${prevAttrs.meta.description}
Libs: -L\''${libdir} -lCello
Cflags: -I\''${includedir}
EOF
'';
});
packcc_main = pkgs.packcc.overrideAttrs (prevAttrs: {
version = "3.0.0";
src = fetchFromGitHub {
owner = "arithy";
repo = "packcc";
rev = "main";
hash = "sha256-zkrpPGLylgPpV1iyXosVbsbn2qt8/+WnBeK/w1WtwBk=";
};
nativeBuildInputs = [
pkgs.cmake
pkgs.gnumake
];
preBuild = ''
echo using ${if stdenv.cc.isGNU then
"gcc"
else if stdenv.cc.isClang then
"clang"
else
throw "Unknown compiler"
}
'';
buildPhase = ''
cmake $src -DCMAKE_INSTALL_PREFIX=$out
cmake --build .
'';
installPhase = ''
cmake --install .
'';
});
uem = callPackage ./pkgs/u/uem/package.nix {
pkgs = pkgs;
};
claude-gate = callPackage ./pkgs/c/claude-gate/package.nix {
pkgs = pkgs;
};
cetcd = callPackage ./pkgs/c/cetcd/package.nix {};
deepseek-tui = callPackage ./pkgs/d/deepseek-tui/package.nix {};
kiro-account-manager = callPackage ./pkgs/k/kiro-account-manager/package.nix {};
hermes-agent = callPackage ./pkgs/h/hermes-agent/package.nix {
uv2nix = uv2nix;
pyproject-nix = pyproject-nix;
pyproject-build-systems = pyproject-build-systems;
npm-lockfile-fix = npm-lockfile-fix-pkg;
};
struct2json = callPackage ./pkgs/s/struct2json/package.nix {
pkgs = pkgs;
};
my-ttf-fonts = callPackage ./pkgs/f/fonts/package.nix {};
in
{
xbuild = xbuild;
capnpc = capnpc;
cedro = cedro;
gost-ctl = gost-ctl;
norouter = norouter;
zlog_with_pkgconf = zlog_with_pkgconf;
tinylog = tinylog;
unity_test_with_color = unity_test_with_color;
uem = uem;
cetcd = cetcd;
deepseek-tui = deepseek-tui;
kiro-account-manager = kiro-account-manager;
hermes-agent = hermes-agent;
libcello_debug = libcello_debug;
packcc = packcc_main;
struct2json = struct2json;
my-ttf-fonts = my-ttf-fonts;
claude-gate = claude-gate;
}