summary refs log tree commit diff
path: root/pkgs/applications/graphics/jbrout/default.nix
blob: 4eb7518cc1027164854fce4d45e5602fb64caf48 (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
{ stdenv, fetchsvn, pythonPackages, makeWrapper, fbida, which }:

let
  inherit (pythonPackages) python;
in pythonPackages.buildPythonApplication rec {
  pname = "jbrout";
  version = "338";

  src = fetchsvn {
    url = "http://jbrout.googlecode.com/svn/trunk";
    rev = version;
    sha256 = "0257ni4vkxgd0qhs73fw5ppw1qpf11j8fgwsqc03b1k1yv3hk4hf";
  };

  doCheck = false;

  # XXX: patchPhase to avoid this
  #  File "/nix/store/vnyjxn6h3rbrn49m25yyw7i1chlxglhw-python-2.7.1/lib/python2.7/zipfile.py", line 348, in FileHeader
  #    len(filename), len(extra))
  #struct.error: ushort format requires 0 <= number <= USHRT_MAX
  patchPhase = ''
    find | xargs touch

    substituteInPlace setup.py --replace "version=__version__" "version=baseVersion"
  '';

  postInstall = ''
    mkdir $out/bin
    echo "python $out/${python.sitePackages}/jbrout/jbrout.py" > $out/bin/jbrout
    chmod +x $out/bin/jbrout
  '';

  buildInputs = [ python makeWrapper which ];
  propagatedBuildInputs = with pythonPackages; [ pillow lxml pyGtkGlade pyexiv2 fbida ];

  meta = {
    homepage = https://manatlan.com/jbrout/;
    description = "Photo manager";
    platforms = stdenv.lib.platforms.linux;
    license = stdenv.lib.licenses.gpl2Plus;
  };
}