1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 perlPackages,
6 shortenPerlShebang,
7}:
8
9perlPackages.buildPerlPackage rec {
10 pname = "shelldap";
11 version = "1.5.1";
12
13 src = fetchFromGitHub {
14 owner = "mahlonsmith";
15 repo = "shelldap";
16 tag = "v${version}";
17 hash = "sha256-67ttAXzu9pfeqjfhMfLMb9vWCXTrE+iUDCbamqswaLg=";
18 };
19
20 buildInputs = with perlPackages; [
21 AlgorithmDiff
22 AuthenSASL
23 IOSocketSSL
24 perl
25 perlldap
26 TermReadLineGnu
27 TermShell
28 TieIxHash
29 YAMLSyck
30 ];
31
32 nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang;
33
34 prePatch = ''
35 touch Makefile.PL
36 '';
37
38 installPhase = ''
39 runHook preInstall
40 install -Dm555 -t $out/bin shelldap
41 runHook postInstall
42 '';
43
44 postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
45 shortenPerlShebang $out/bin/shelldap
46 '';
47
48 # no make target 'test', not tests provided by source
49 doCheck = false;
50
51 outputs = [ "out" ];
52
53 meta = {
54 homepage = "https://github.com/mahlonsmith/shelldap/";
55 description = "Handy shell-like interface for browsing LDAP servers and editing their content";
56 changelog = "https://github.com/mahlonsmith/shelldap/blob/v${version}/CHANGELOG";
57 license = with lib.licenses; [ bsd3 ];
58 maintainers = with lib.maintainers; [
59 clerie
60 tobiasBora
61 ];
62 platforms = lib.platforms.unix;
63 mainProgram = "shelldap";
64 };
65}