Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 57 lines 1.5 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 bzip2, 6 gd, 7 libjpeg, 8 libpng, 9}: 10 11stdenv.mkDerivation rec { 12 pname = "analog"; 13 version = "6.0.18"; 14 15 src = fetchFromGitHub { 16 owner = "c-amie"; 17 repo = "analog-ce"; 18 rev = version; 19 sha256 = "sha256-NCturEibnpl6+paUZezksHzP33WtAzfIolvBLeEHXjY="; 20 }; 21 22 buildInputs = [ 23 bzip2 24 gd 25 libjpeg 26 libpng 27 ]; 28 29 postPatch = '' 30 sed -i src/anlghead.h \ 31 -e "s|#define DEFAULTCONFIGFILE .*|#define DEFAULTCONFIGFILE \"$out/etc/analog.cfg\"|g" \ 32 -e "s|#define LANGDIR .*|#define LANGDIR \"$out/share/${pname}/lang/\"|g" 33 substituteInPlace src/Makefile \ 34 --replace-fail "gcc" "${stdenv.cc.targetPrefix}cc" \ 35 --replace-fail "LIBS = -lm" "LIBS = -lm -lpng -lgd -ljpeg -lz -lbz2" \ 36 --replace-fail "DEFS =" "DEFS = -DHAVE_GD -DHAVE_ZLIB -DHAVE_BZLIB" 37 ''; 38 39 installPhase = '' 40 mkdir -p $out/bin $out/etc $out/share/doc/$pname $out/share/man/man1 $out/share/$pname 41 mv analog $out/bin/ 42 cp examples/big.cfg $out/etc/analog.cfg 43 mv analog.man $out/share/man/man1/analog.1 44 mv docs $out/share/doc/$pname/manual 45 mv how-to $out/share/doc/$pname/ 46 mv lang images examples $out/share/$pname/ 47 ''; 48 49 meta = { 50 homepage = "https://www.c-amie.co.uk/software/analog/"; 51 license = lib.licenses.gpl2Only; 52 description = "Powerful tool to generate web server statistics"; 53 platforms = lib.platforms.all; 54 mainProgram = "analog"; 55 }; 56 57}