Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 245 lines 5.8 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 znc, 6 cmake, 7 pkg-config, 8 python3, 9 which, 10}: 11 12let 13 zncDerivation = 14 a@{ 15 pname, 16 src, 17 module_name, 18 buildPhase ? '' 19 runHook preBuild 20 21 ${znc}/bin/znc-buildmod ${module_name}.cpp 22 23 runHook postBuild 24 '', 25 installPhase ? '' 26 runHook preInstall 27 28 install -D ${module_name}.so $out/lib/znc/${module_name}.so 29 30 runHook postInstall 31 '', 32 ... 33 }: 34 stdenv.mkDerivation ( 35 a 36 // { 37 inherit buildPhase installPhase; 38 39 nativeBuildInputs = [ 40 python3 41 which 42 cmake 43 pkg-config 44 ]; 45 46 dontUseCmakeConfigure = true; 47 48 buildInputs = znc.buildInputs; 49 50 passthru.module_name = module_name; 51 52 meta = a.meta // { 53 platforms = lib.platforms.unix; 54 }; 55 } 56 ); 57 58in 59{ 60 61 backlog = zncDerivation { 62 pname = "znc-backlog"; 63 version = "0-unstable-2018-08-24"; 64 module_name = "backlog"; 65 66 src = fetchFromGitHub { 67 owner = "FruitieX"; 68 repo = "znc-backlog"; 69 rev = "44314a6aca0409ae59b0d841807261be1159fff4"; 70 hash = "sha256-yhoMuwXul6zq4VPGn810PlFwiCUIvvV6wkQupE3svOQ="; 71 }; 72 73 meta = { 74 description = "Request backlog for IRC channels"; 75 homepage = "https://github.com/fruitiex/znc-backlog/"; 76 license = lib.licenses.asl20; 77 maintainers = [ ]; 78 }; 79 }; 80 81 clientbuffer = zncDerivation { 82 pname = "znc-clientbuffer"; 83 version = "0-unstable-2021-05-30"; 84 module_name = "clientbuffer"; 85 86 src = fetchFromGitHub { 87 owner = "CyberShadow"; 88 repo = "znc-clientbuffer"; 89 rev = "9a7465b413b53408f5d7af86e84b1d08efb6bec0"; 90 hash = "sha256-pAj4Iot0RFuNJOLSZFaXoH5BPb4vf0H8KPfIoo0kbig="; 91 }; 92 93 meta = { 94 description = "ZNC module for client specific buffers"; 95 homepage = "https://github.com/CyberShadow/znc-clientbuffer"; 96 license = lib.licenses.asl20; 97 maintainers = with lib.maintainers; [ 98 hrdinka 99 szlend 100 cybershadow 101 ]; 102 }; 103 }; 104 105 clientaway = zncDerivation { 106 pname = "znc-clientaway"; 107 version = "0-unstable-2017-04-28"; 108 module_name = "clientaway"; 109 110 src = fetchFromGitHub { 111 owner = "kylef-archive"; 112 repo = "znc-contrib"; 113 rev = "f6724a4a3b16b050088adde0cbeed74f189e5044"; 114 hash = "sha256-KBd78ucRFbgV/jILS1OSsZqqKyjT4RmBfiBTKX8bbUY="; 115 }; 116 117 meta = { 118 description = "ZNC clientaway module"; 119 homepage = "https://github.com/kylef-archive/znc-contrib"; 120 license = lib.licenses.gpl2; 121 maintainers = [ ]; 122 }; 123 }; 124 125 fish = zncDerivation { 126 pname = "znc-fish"; 127 version = "0-unstable-2017-06-26"; 128 module_name = "fish"; 129 130 src = fetchFromGitHub { 131 # this fork works with ZNC 1.7 132 owner = "oilslump"; 133 repo = "znc-fish"; 134 rev = "7d91467dbb195f7b591567911210523c6087662e"; 135 hash = "sha256-VW/je7vDc9arbrj848T0bbeqP9qx7Az5SMOVecLrxc8="; 136 }; 137 138 meta = { 139 description = "ZNC FiSH module"; 140 homepage = "https://github.com/oilslump/znc-fish"; 141 maintainers = [ lib.maintainers.offline ]; 142 }; 143 }; 144 145 ignore = zncDerivation { 146 pname = "znc-ignore"; 147 version = "0-unstable-2017-04-28"; 148 module_name = "ignore"; 149 150 src = fetchFromGitHub { 151 owner = "kylef"; 152 repo = "znc-contrib"; 153 rev = "f6724a4a3b16b050088adde0cbeed74f189e5044"; 154 hash = "sha256-KBd78ucRFbgV/jILS1OSsZqqKyjT4RmBfiBTKX8bbUY="; 155 }; 156 157 meta = { 158 description = "ZNC ignore module"; 159 homepage = "https://github.com/kylef/znc-contrib"; 160 license = lib.licenses.gpl2; 161 maintainers = [ ]; 162 }; 163 }; 164 165 palaver = zncDerivation rec { 166 pname = "znc-palaver"; 167 version = "1.2.2"; 168 module_name = "palaver"; 169 170 src = fetchFromGitHub { 171 owner = "cocodelabs"; 172 repo = "znc-palaver"; 173 tag = version; 174 hash = "sha256-8W3uF1PrLQiEZm7JaFrpqmJLSFioa4F4qlM1J6Zua8U="; 175 }; 176 177 meta = { 178 description = "Palaver ZNC module"; 179 homepage = "https://github.com/cocodelabs/znc-palaver"; 180 license = lib.licenses.mit; 181 maintainers = with lib.maintainers; [ szlend ]; 182 }; 183 }; 184 185 playback = zncDerivation { 186 pname = "znc-playback"; 187 version = "0-unstable-2020-05-10"; 188 module_name = "playback"; 189 190 src = fetchFromGitHub { 191 owner = "jpnurmi"; 192 repo = "znc-playback"; 193 rev = "8dd128bfe2b24b2cc6a9ea2e2d28bfaa28d2a833"; 194 hash = "sha256-/hmwhrWDYGzjfmTeCB4mk+FABAJNZvREnuxzvzl6uo4="; 195 }; 196 197 meta = { 198 description = "Advanced playback module for ZNC"; 199 homepage = "https://github.com/jpnurmi/znc-playback"; 200 license = lib.licenses.asl20; 201 maintainers = with lib.maintainers; [ hrdinka ]; 202 }; 203 }; 204 205 privmsg = zncDerivation { 206 pname = "znc-privmsg"; 207 version = "0-unstable-2017-04-28"; 208 module_name = "privmsg"; 209 210 src = fetchFromGitHub { 211 owner = "kylef"; 212 repo = "znc-contrib"; 213 rev = "f6724a4a3b16b050088adde0cbeed74f189e5044"; 214 hash = "sha256-KBd78ucRFbgV/jILS1OSsZqqKyjT4RmBfiBTKX8bbUY="; 215 }; 216 217 meta = { 218 description = "ZNC privmsg module"; 219 homepage = "https://github.com/kylef/znc-contrib"; 220 }; 221 }; 222 223 push = zncDerivation rec { 224 pname = "znc-push"; 225 version = "1.1.0"; 226 module_name = "push"; 227 228 src = fetchFromGitHub { 229 owner = "jreese"; 230 repo = "znc-push"; 231 tag = "v${version}"; 232 hash = "sha256-OS2nIU/DlESpJT82cWhb75TizSO7LQr74CMz09ulKyQ="; 233 }; 234 235 meta = { 236 description = "Push notification service module for ZNC"; 237 homepage = "https://github.com/jreese/znc-push"; 238 license = lib.licenses.mit; 239 maintainers = with lib.maintainers; [ 240 offline 241 schneefux 242 ]; 243 }; 244 }; 245}