temporary change

This commit is contained in:
Marko Andjelic 2026-02-20 16:43:58 +00:00
commit 41201ebb58
Signed by: marko
GPG key ID: 9C5E99C8C682FB59
3 changed files with 115 additions and 26 deletions

27
flake.lock generated Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1754923922,
"narHash": "sha256-xRFTBIzOkHAyUJzWuGRoITGPvPTKYV+zedivG426Iqc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7b6142dae00643a9dfa37723a7bee73ffe54f8dc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "7b6142dae006",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,6 +1,5 @@
# flake.nix
{
description = "Haskell Development Environment with GTK and WebKit";
description = "svitak dev shell (GHC 9.12, GTK4, WebKit 6.0)";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/7b6142dae006";
@ -11,26 +10,89 @@
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
pkgs.haskellPackages.ghc
pkgs.haskellPackages.cabal-install
pkgs.gtk3
pkgs.webkitgtk
# Haskell toolchain
pkgs.haskell.compiler.ghc912
pkgs.cabal-install
# Build tools
pkgs.pkg-config
pkgs.zlib
pkgs.libsysprof-capture
pkgs.pcre2
pkgs.libxdmcp
pkgs.util-linux
pkgs.libselinux
pkgs.libsepol
pkgs.libpsl
pkgs.libnghttp2
pkgs.libnghttp2_asio
pkgs.nghttp2
pkgs.fribidi
pkgs.libthai
pkgs.libdatrie
pkgs.libdeflate
pkgs.lerc
pkgs.liblzma
# GTK stack
pkgs.gtk4
pkgs.webkitgtk_6_0
pkgs.libsoup_3
pkgs.glib
pkgs.gobject-introspection
pkgs.libx11
pkgs.gdk-pixbuf
pkgs.cairo
pkgs.pango
pkgs.libsoup
pkgs.atk
# X11 runtime
pkgs.xorg.libX11
pkgs.xorg.libXext
pkgs.xorg.libXcursor
pkgs.xorg.libXrandr
pkgs.xorg.libXrender
pkgs.xorg.libXfixes
pkgs.xorg.libXcomposite
pkgs.xorg.libXdamage
pkgs.xorg.libXScrnSaver
pkgs.xorg.libICE
pkgs.xorg.libSM
# Optional but common
pkgs.sqlite
];
shellHook = ''
echo "Welcome to the Haskell shell for Svitak."
echo "Entering svitak dev shell (GHC 9.12 + GTK4 + WebKit6)"
unset GHC_PACKAGE_PATH
# Haskell GI needs pkg-config for gobject-introspection
export PKG_CONFIG_PATH=${pkgs.gobject-introspection}/lib/pkgconfig
# Runtime libraries
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath [
pkgs.webkitgtk_6_0
pkgs.libsoup_3
pkgs.gtk4
pkgs.glib
pkgs.gobject-introspection
pkgs.gdk-pixbuf
pkgs.cairo
pkgs.pango
pkgs.xorg.libX11
pkgs.xorg.libXext
pkgs.xorg.libXcursor
pkgs.xorg.libXrandr
pkgs.xorg.libXrender
pkgs.xorg.libXfixes
pkgs.xorg.libXcomposite
pkgs.xorg.libXdamage
pkgs.xorg.libXScrnSaver
pkgs.xorg.libICE
pkgs.xorg.libSM
]}:$LD_LIBRARY_PATH
'';
};
};

View file

@ -58,26 +58,26 @@ executable svitak
Types,
Navigation
build-depends: base ^>=4.21.0.0,
build-depends: base,
base64-bytestring,
bytestring >= 0.12.2.0,
containers >= 0.7,
directory >= 1.3.9.0,
epub-metadata >=5.4,
filepath >= 1.5.4.0,
bytestring,
containers,
directory,
epub-metadata,
filepath,
gi-gdk4,
gi-gio,
gi-gtk == 4.0.*,
gi-webkit == 6.0.*,
gi-gtk,
gi-webkit,
haskell-gi-base,
mtl >= 2.3.2,
scalpel >= 0.6.2.2,
text >= 2.1.2,
zip-archive >= 0.4.3.2,
stm >=2.5.3.1,
gi-glib >= 2.0.30,
async >= 2.2.6,
scalpel-core >= 0.6.2.2
mtl,
scalpel,
text,
zip-archive,
stm,
gi-glib,
async,
scalpel-core
hs-source-dirs: app
default-language: Haskell2010
@ -92,7 +92,7 @@ test-suite svitak-test
hs-source-dirs: test, app
build-depends: base ^>= 4.21.0.0,
build-depends: base,
base64-bytestring,
bytestring,
epub-metadata,