aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/libraries/dxflib/default.nix
blob: 1b63d8805fd9f6498fc914526b6834627e0b7eb9 (plain)
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
{ stdenv
, fetchurl
, qmake
}:

stdenv.mkDerivation rec {
  version = "3.17.0";
  pname = "dxflib";
  src = fetchurl {
    url = "http://www.qcad.org/archives/dxflib/${pname}-${version}-src.tar.gz";
    sha256 = "09yjgzh8677pzkkr7a59pql5d11451c22pxksk2my30mapxsri96";
  };
  nativeBuildInputs = [
    qmake
  ];
  preConfigure = ''
    sed -i 's/CONFIG += staticlib/CONFIG += shared/' dxflib.pro
  '';
  installPhase = ''
    install -d -m 0755 $out/lib
    cp -pr *.so* $out/lib
    install -d -m 0755 $out/include/dxflib
    cp -pr src/*.h $out/include/dxflib
    # Generate pkgconfig file
    install -d -m 0755 $out/lib/pkgconfig
    cat << 'EOF' > $out/lib/pkgconfig/dxflib.pc
    prefix=${placeholder "out"}
    libdir=${placeholder "out"}/lib
    includedir=${placeholder "out"}/include
    Name: dxflib
    Description: A C++ library for reading and writing DXF files
    Version: %{version}
    Libs: -L${placeholder "out"}/lib -ldxflib
    Cflags: -I${placeholder "out"}/include/dxflib
    EOF
  '';
  doCheck = true;

  meta = {
    maintainers = with stdenv.lib.maintainers; [raskin];
    platforms = stdenv.lib.platforms.linux;
    description = ''DXF file format library'';
  };
}