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