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})