From 6af9143648f58664b8e40a9ce6814bca859f0841 Mon Sep 17 00:00:00 2001 From: Emil Kosz Date: Wed, 25 Mar 2026 05:32:30 +0100 Subject: [PATCH] WebKit support --- .gitignore | 3 ++- cd.nix | 21 +++++++++++++------ im.nix | 34 +++++++++++++++++++------------ iup.nix | 59 ++++++++++++++++++++++++++++++++---------------------- 4 files changed, 73 insertions(+), 44 deletions(-) diff --git a/.gitignore b/.gitignore index e552ca3..3576c25 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ default.nix -result \ No newline at end of file +ftgl-static.nix +result diff --git a/cd.nix b/cd.nix index 6f1a352..febccf7 100644 --- a/cd.nix +++ b/cd.nix @@ -6,7 +6,7 @@ , im , libGLU , ftgl -, lua51Packages +, lua , lib }: @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { gtk3 libGLU ftgl - lua51Packages.lua + lua ]; propagatedBuildInputs = [ @@ -39,11 +39,16 @@ stdenv.mkDerivation rec { postPatch = '' sed -i 's/\bcdpdf\b//g' src/Makefile sed -i 's/\bcdluapdf5\b//g' src/Makefile + + substituteInPlace src/config.mak \ + --replace-fail "LIBS = " "LIBS = ftgl " \ + --replace-fail "LIBS += " "LIBS += ftgl " ''; makeFlags = [ "NO_DEPEND=Yes" "USE_PKGCONFIG=Yes" + "USE_LUA_VERSION=52" "USE_GTK3=Yes" "GTK_DEFAULT=Yes" ]; @@ -62,7 +67,7 @@ includedir=${placeholder "out"}/include Name: CD Description: A vector graphics toolkit with device independent output Version: ${version} -Libs: -L${placeholder "out"}/lib -lcd +Libs: -L${placeholder "out"}/lib -lcd -lcdcontextplus -lcdgl -lcdim Cflags: -I${placeholder "out"}/include Requires: im gtk+-3.0 glu ftgl ''; @@ -70,16 +75,20 @@ Requires: im gtk+-3.0 glu ftgl installPhase = '' runHook preInstall - mkdir -p $out/{include,lib/pkgconfig} - - cp -vr include/* $out/include/ + mkdir -p $out/{include,lib/pkgconfig,share/lua/5.2} cp -v lib/Linux*/*.so $out/lib/ cp -v lib/Linux*/*.a $out/lib/ || true + cp -vr include/*.h $out/include/ cp -v lib/Linux*/Lua*/*.so $out/lib/ cp -v lib/Linux*/Lua*/*.a $out/lib/ || true + ln -fs $out/lib/libcdlua52.so $out/share/lua/5.2/cdlua.so + ln -fs $out/lib/libcdluacontextplus52.so $out/share/lua/5.2/cdluacontextplus.so + ln -fs $out/lib/libcdluagl52.so $out/share/lua/5.2/cdluagl.so + ln -fs $out/lib/libcdluaim52.so $out/share/lua/5.2/cdluaim.so + cat > $out/lib/pkgconfig/cd.pc <' src/libjasper2/base/jas_stream.c + ''; + + makeFlags = [ + "NO_DEPEND=Yes" + "USE_LUA_VERSION=52" + ]; + pc = '' prefix=${placeholder "out"} exec_prefix=${placeholder "out"} @@ -40,30 +49,29 @@ includedir=${placeholder "out"}/include Name: IM Description: A toolkit for image representation, storage, capture and processing Version: ${version} -Libs: -L${placeholder "out"} -lim +Libs: -L${placeholder "out"} -lim -lim_jp2 -lim_process -lim_process_omp -lim_fftw3 Cflags: -I${placeholder "out"}/include Requires: fftw3 libpng zlib ''; - postPatch = '' - sed -i '1i#include ' src/libjasper2/base/jas_stream.c - ''; - - makeFlags = [ "NO_DEPEND=Yes" ]; - installPhase = '' runHook preInstall - mkdir -p $out/{include,lib/pkgconfig} - - cp -vr include/* $out/include/ + mkdir -p $out/{include,lib/pkgconfig,share/lua/5.2} cp -v lib/Linux*/*.so $out/lib/ cp -v lib/Linux*/*.a $out/lib/ || true + cp -vr include/*.h $out/include/ cp -v lib/Linux*/Lua*/*.so $out/lib/ cp -v lib/Linux*/Lua*/*.a $out/lib/ || true + ln -fs $out/lib/libimlua52.so $out/share/lua/5.2/imlua.so + ln -fs $out/lib/libimlua_jp252.so $out/share/lua/5.2/imlua_jp2.so + ln -fs $out/lib/libimlua_process52.so $out/share/lua/5.2/imlua_process.so + ln -fs $out/lib/libimlua_process_omp52.so $out/share/lua/5.2/imlua_process_omp.so + ln -fs $out/lib/libimlua_fftw352.so $out/share/lua/5.2/imlua_fftw3.so + # Since IM doesn't supply it, provide pkg-config file. cat > $out/lib/pkgconfig/im.pc < $out/lib/pkgconfig/iup.pc <