WebKit support

This commit is contained in:
2026-03-25 05:32:30 +01:00
parent 87da005a9b
commit 6af9143648
4 changed files with 73 additions and 44 deletions
+2 -1
View File
@@ -1,2 +1,3 @@
default.nix
result
ftgl-static.nix
result
+15 -6
View File
@@ -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 <<EOF
${pc}
EOF
+21 -13
View File
@@ -5,9 +5,8 @@
, fftw
, fftwFloat
, libpng
, lua51Packages
, lua
, zlib
, tree
}:
stdenv.mkDerivation rec {
@@ -27,10 +26,20 @@ stdenv.mkDerivation rec {
fftw
fftwFloat
libpng
lua51Packages.lua
lua
zlib
];
postPatch = ''
sed -i '1i#include <unistd.h>' 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 <unistd.h>' 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 <<EOF
${pc}
+35 -24
View File
@@ -9,7 +9,7 @@
, im
, libGLU
, ftgl
, lua51Packages
, lua
, lib
}:
@@ -28,12 +28,12 @@ stdenv.mkDerivation rec {
];
buildInputs = [
ftgl
gtk3
webkitgtk_4_1
libsoup_3
libGLU
lua51Packages.lua
lua
ftgl
];
propagatedBuildInputs = [
@@ -42,25 +42,26 @@ stdenv.mkDerivation rec {
];
postPatch = ''
sed -i 's/\biupweb\b//g' Makefile
sed -i 's/\biupvled\b//g' Makefile
sed -i 's/\biupluaweb\b//g' srclua5/Makefile
substituteInPlace srclua5/config.mak \
--replace-fail "NO_LUALINK = Yes" "NO_LUALINK ="
'';
substituteInPlace srcweb/config.mak \
--replace-fail "\$(GTK)/include/webkitgtk-4.1" "${webkitgtk_4_1.dev}/include/webkitgtk-4.1" \
--replace-fail "\$(GTK)/include/libsoup-3.0" "${libsoup_3.dev}/include/libsoup-3.0"
''
;
makeFlags = [
"NO_DEPEND=Yes"
"USE_PKGCONFIG=Yes"
"USE_LUA_VERSION=52"
"USE_GTK3=Yes"
"GTK_DEFAULT=Yes"
"LUA_SFX="
"CD_LIB=${cd}/lib"
"IM_LIB=${im}/lib"
"LUA_LIB=${lua51Packages.lua}/lib"
"LUA_INC=${lua51Packages.lua}/include"
"LUA_LIB=${lua}/lib"
"LUA_INC=${lua}/include"
];
NIX_CFLAGS_COMPILE = ''
@@ -77,7 +78,7 @@ includedir=${placeholder "out"}/include
Name: IUP
Description: A portable toolkit for building graphical user interfaces
Version: ${version}
Libs: -L${placeholder "out"}/lib -liup
Libs: -L${placeholder "out"}/lib -liup -liupgl -liupcontrols -liup_plot -liupcd -liupim -liupimglib -liupole -liupweb
Cflags: -I${placeholder "out"}/include
Requires: cd im gtk+-3.0 glu ftgl
'';
@@ -85,28 +86,38 @@ Requires: cd im gtk+-3.0 glu ftgl
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,etc,include,lib/pkgconfig,share/lua/5.1}
mkdir -p $out/share/lua/5.1/{ctrl,elem,gl,lh,scripter}
cp -vr include/* $out/include/
mkdir -p $out/{bin,etc,include,lib/pkgconfig,share/lua/5.2}
mkdir -p $out/share/lua/5.2/{ctrl,elem,gl,lh,scripter}
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
cp -v srclua5/*.lua "$out/share/lua/5.2/"
cp -v srclua5/ctrl/*.lua "$out/share/lua/5.2/ctrl/"
cp -v srclua5/elem/*.lua "$out/share/lua/5.2/elem/"
cp -v srclua5/gl/*.lua "$out/share/lua/5.2/gl/"
cp -v srclua5/lh/*.lh "$out/share/lua/5.2/lh/"
cp -v srclua5/scripter/*.lua "$out/share/lua/5.2/scripter/"
ln -fs $out/lib/libiuplua52.so $out/share/lua/5.2/iuplua.so
ln -fs $out/lib/libiupluacd52.so $out/share/lua/5.2/iupluacd.so
ln -fs $out/lib/libiupluacontrols52.so $out/share/lua/5.2/iupluacontrols.so
ln -fs $out/lib/libiupluagl52.so $out/share/lua/5.2/iupluagl.so
ln -fs $out/lib/libiupluaglcontrols52.so $out/share/lua/5.2/iupluaglcontrols.so
ln -fs $out/lib/libiupluaim52.so $out/share/lua/5.2/iupluaim.so
ln -fs $out/lib/libiuplua_plot52.so $out/share/lua/5.2/iuplua_plot.so
ln -fs $out/lib/libiuplua_mglplot52.so $out/share/lua/5.2/iuplua_mglplot.so
ln -fs $out/lib/libiuplua_scintilla52.so $out/share/lua/5.2/iuplua_scintilla.so
ln -fs $out/lib/libiupluascripterdlg52.so $out/share/lua/5.2/iupluascripterdlg.so
ln -fs $out/lib/libiupluaweb52.so $out/share/lua/5.2/iupluaweb.so
ln -fs $out/lib/libiupluaimglib52.so $out/share/lua/5.2/iupluaimglib.so
cp -vr bin/Linux*/* $out/bin/
chmod +x $out/bin/*
cp -v srclua5/*.lua "$out/share/lua/5.1/"
cp -v srclua5/ctrl/*.lua "$out/share/lua/5.1/ctrl/"
cp -v srclua5/elem/*.lua "$out/share/lua/5.1/elem/"
cp -v srclua5/gl/*.lua "$out/share/lua/5.1/gl/"
cp -v srclua5/lh/*.lh "$out/share/lua/5.1/lh/"
cp -v srclua5/scripter/*.lua "$out/share/lua/5.1/scripter/"
cp -r etc/* $out/etc
cat > $out/lib/pkgconfig/iup.pc <<EOF