Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 bash, 4 dbus, 5 fetchFromGitHub, 6 installShellFiles, 7 libgit2, 8 libssh2, 9 openssl, 10 pkg-config, 11 rustPlatform, 12 systemd, 13 xz, 14 zlib, 15}: 16 17rustPlatform.buildRustPackage rec { 18 pname = "ciel"; 19 version = "3.9.6"; 20 21 src = fetchFromGitHub { 22 owner = "AOSC-Dev"; 23 repo = "ciel-rs"; 24 tag = "v${version}"; 25 hash = "sha256-J6mXNJuLkKVNzE5lRRQEOt0yb2ow5EctXkr22eqOfII="; 26 }; 27 28 cargoHash = "sha256-n9VCy3nlZ+WDm9krlc3XO/YgdrbEMJuODBvYRkznUgU="; 29 30 nativeBuildInputs = [ 31 pkg-config 32 installShellFiles 33 ]; 34 35 # ciel has plugins which is actually bash scripts. 36 # Therefore, bash is required for plugins to work. 37 buildInputs = [ 38 bash 39 systemd 40 dbus 41 openssl 42 libssh2 43 libgit2 44 xz 45 zlib 46 ]; 47 48 postInstall = '' 49 mv -v "$out/bin/ciel-rs" "$out/bin/ciel" 50 51 # From install-assets.sh 52 install -Dm555 -t "$out/libexec/ciel-plugin" plugins/* 53 54 # Install completions 55 installShellCompletion --cmd ciel \ 56 --bash completions/ciel.bash \ 57 --fish completions/ciel.fish \ 58 --zsh completions/_ciel 59 ''; 60 61 meta = with lib; { 62 description = "Tool for controlling AOSC OS packaging environments using multi-layer filesystems and containers"; 63 homepage = "https://github.com/AOSC-Dev/ciel-rs"; 64 license = licenses.mit; 65 platforms = platforms.linux; 66 maintainers = with maintainers; [ 67 A1ca7raz 68 yisuidenghua 69 ]; 70 mainProgram = "ciel"; 71 }; 72}