1{ lib, stdenv
2, fetchurl
3, qmake
4}:
5
6stdenv.mkDerivation rec {
7 version = "3.26.4";
8 pname = "dxflib";
9 src = fetchurl {
10 url = "https://qcad.org/archives/dxflib/${pname}-${version}-src.tar.gz";
11 sha256 = "0pwic33mj6bp4axai5jiyn4xqf31y0xmb1i0pcf55b2h9fav8zah";
12 };
13 nativeBuildInputs = [
14 qmake
15 ];
16 dontWrapQtApps = true;
17 preConfigure = ''
18 sed -i 's/CONFIG += staticlib/CONFIG += shared/' dxflib.pro
19 '';
20 installPhase = ''
21 install -d -m 0755 $out/lib
22 cp -pr *.so* $out/lib
23 install -d -m 0755 $out/include/dxflib
24 cp -pr src/*.h $out/include/dxflib
25 # Generate pkg-config file
26 install -d -m 0755 $out/lib/pkgconfig
27 cat << 'EOF' > $out/lib/pkgconfig/dxflib.pc
28 prefix=${placeholder "out"}
29 libdir=${placeholder "out"}/lib
30 includedir=${placeholder "out"}/include
31 Name: dxflib
32 Description: A C++ library for reading and writing DXF files
33 Version: %{version}
34 Libs: -L${placeholder "out"}/lib -ldxflib
35 Cflags: -I${placeholder "out"}/include/dxflib
36 EOF
37 '';
38 doCheck = true;
39
40 meta = {
41 homepage = "https://qcad.org/en/90-dxflib";
42 maintainers = with lib.maintainers; [raskin];
43 platforms = lib.platforms.linux;
44 description = "DXF file format library";
45 };
46}