Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 55 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 installShellFiles, 6 perl, 7 testers, 8}: 9 10stdenv.mkDerivation (finalAttrs: { 11 pname = "checkbashisms"; 12 version = "2.25.10"; 13 14 src = fetchurl { 15 url = "mirror://debian/pool/main/d/devscripts/devscripts_${finalAttrs.version}.tar.xz"; 16 hash = "sha256-pEzXrKV/bZbYG7j5QXjRDATZRGLt0fhdpwTDbCoKcus="; 17 }; 18 19 nativeBuildInputs = [ installShellFiles ]; 20 21 buildInputs = [ perl ]; 22 23 buildPhase = '' 24 runHook preBuild 25 26 substituteInPlace ./scripts/checkbashisms.pl \ 27 --replace-fail '###VERSION###' "${finalAttrs.version}" 28 29 runHook postBuild 30 ''; 31 32 installPhase = '' 33 runHook preInstall 34 35 installManPage scripts/checkbashisms.1 36 installShellCompletion --bash --name checkbashisms scripts/checkbashisms.bash_completion 37 install -D -m755 scripts/checkbashisms.pl $out/bin/checkbashisms 38 39 runHook postInstall 40 ''; 41 42 passthru.tests = { 43 version = testers.testVersion { package = finalAttrs.finalPackage; }; 44 }; 45 46 meta = { 47 homepage = "https://sourceforge.net/projects/checkbaskisms/"; 48 changelog = "https://salsa.debian.org/debian/devscripts/-/blob/v${finalAttrs.version}/debian/changelog"; 49 description = "Check shell scripts for non-portable syntax"; 50 mainProgram = "checkbashisms"; 51 license = lib.licenses.gpl2Plus; 52 maintainers = with lib.maintainers; [ kaction ]; 53 platforms = lib.platforms.unix; 54 }; 55})