about summary refs log tree commit diff
path: root/pkgs/applications/misc/cataract/build.nix
blob: 860a49b5ce03ecf590767928dada4cff2a7d8e3d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{ lib, stdenv
, fetchgit
, autoreconfHook
, glib
, pkg-config
, libxml2
, exiv2
, imagemagick6
, version
, sha256
, rev }:

stdenv.mkDerivation {
  inherit version;
  pname = "cataract";

  src = fetchgit {
    url = "git://git.bzatek.net/cataract";
    inherit sha256 rev;
  };

  nativeBuildInputs = [ autoreconfHook pkg-config ];
  buildInputs = [ glib libxml2 exiv2 imagemagick6 ];

  prePatch = ''
    sed -i 's|#include <exiv2/exif.hpp>|#include <exiv2/exiv2.hpp>|' src/jpeg-utils.cpp
  '';

  # Add workaround for -fno-common toolchains like upstream gcc-10 to
  # avoid build failures like:
  #   ld: stats.o:/build/cataract-675e647/src/stats.h:24: multiple definition of
  #     `stats_images'; cgg.o:/build/cataract-675e647/src/stats.h:24: first defined here
  env.NIX_CFLAGS_COMPILE = "-fcommon";

  installPhase = ''
    mkdir $out/{bin,share} -p
    cp src/cgg{,-dirgen} $out/bin/
  '';

  meta = with lib; {
    homepage = "http://cgg.bzatek.net/";
    description = "Simple static web photo gallery, designed to be clean and easily usable";
    license = licenses.gpl2;
    maintainers = [ maintainers.matthiasbeyer ];
    platforms = with platforms; linux ++ darwin;
  };
}