diff --git a/pkgs/cutelyst/0001-fix-build-under-nix.patch b/pkgs/cutelyst/0001-fix-build-under-nix.patch new file mode 100644 index 0000000..5d2a3d7 --- /dev/null +++ b/pkgs/cutelyst/0001-fix-build-under-nix.patch @@ -0,0 +1,219 @@ +From da8af7fc3067e270976527a75d372c869a27cc15 Mon Sep 17 00:00:00 2001 +From: catvayor +Date: Mon, 16 Dec 2024 14:14:17 +0100 +Subject: [PATCH] fix: build under nix + +--- + Cutelyst/CutelystQtCore.pc.in | 2 +- + Cutelyst/Plugins/Authentication/CutelystQtAuthentication.pc.in | 2 +- + Cutelyst/Plugins/CSRFProtection/CutelystQtCSRFProtection.pc.in | 2 +- + Cutelyst/Plugins/Memcached/CutelystQtMemcached.pc.in | 2 +- + .../MemcachedSessionStore/CutelystQtMemcachedSessionStore.pc.in | 2 +- + Cutelyst/Plugins/Session/CutelystQtSession.pc.in | 2 +- + .../Plugins/StaticCompressed/CutelystQtStaticCompressed.pc.in | 2 +- + Cutelyst/Plugins/StaticSimple/CutelystQtStaticSimple.pc.in | 2 +- + Cutelyst/Plugins/StatusMessage/CutelystQtStatusMessage.pc.in | 2 +- + Cutelyst/Plugins/UserAgent/CutelystQtUserAgent.pc.in | 2 +- + .../Plugins/Utils/LangSelect/CutelystQtUtilsLangSelect.pc.in | 2 +- + Cutelyst/Plugins/Utils/Sql/CutelystQtUtilsSql.pc.in | 2 +- + Cutelyst/Plugins/Utils/Validator/CutelystQtUtilsValidator.pc.in | 2 +- + Cutelyst/Plugins/View/Cutelee/CutelystQtCutelee.pc.in | 2 +- + Cutelyst/Plugins/View/Email/CutelystQtViewEmail.pc.in | 2 +- + Cutelyst/Plugins/View/JSON/CutelystQtViewJSON.pc.in | 2 +- + 16 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/Cutelyst/CutelystQtCore.pc.in b/Cutelyst/CutelystQtCore.pc.in +index 8f527d9f..8295c072 100644 +--- a/Cutelyst/CutelystQtCore.pc.in ++++ b/Cutelyst/CutelystQtCore.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ +diff --git a/Cutelyst/Plugins/Authentication/CutelystQtAuthentication.pc.in b/Cutelyst/Plugins/Authentication/CutelystQtAuthentication.pc.in +index 22d7c84f..26992da5 100644 +--- a/Cutelyst/Plugins/Authentication/CutelystQtAuthentication.pc.in ++++ b/Cutelyst/Plugins/Authentication/CutelystQtAuthentication.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Authentication Plugin +diff --git a/Cutelyst/Plugins/CSRFProtection/CutelystQtCSRFProtection.pc.in b/Cutelyst/Plugins/CSRFProtection/CutelystQtCSRFProtection.pc.in +index c62da8c0..4a62d606 100644 +--- a/Cutelyst/Plugins/CSRFProtection/CutelystQtCSRFProtection.pc.in ++++ b/Cutelyst/Plugins/CSRFProtection/CutelystQtCSRFProtection.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ CSRF Protection Plugin +diff --git a/Cutelyst/Plugins/Memcached/CutelystQtMemcached.pc.in b/Cutelyst/Plugins/Memcached/CutelystQtMemcached.pc.in +index afdd784d..8e68dd03 100644 +--- a/Cutelyst/Plugins/Memcached/CutelystQtMemcached.pc.in ++++ b/Cutelyst/Plugins/Memcached/CutelystQtMemcached.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Memcached Plugin +diff --git a/Cutelyst/Plugins/MemcachedSessionStore/CutelystQtMemcachedSessionStore.pc.in b/Cutelyst/Plugins/MemcachedSessionStore/CutelystQtMemcachedSessionStore.pc.in +index 35fec502..bd7e0e66 100644 +--- a/Cutelyst/Plugins/MemcachedSessionStore/CutelystQtMemcachedSessionStore.pc.in ++++ b/Cutelyst/Plugins/MemcachedSessionStore/CutelystQtMemcachedSessionStore.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Memcached Session Store Plugin +diff --git a/Cutelyst/Plugins/Session/CutelystQtSession.pc.in b/Cutelyst/Plugins/Session/CutelystQtSession.pc.in +index 8e44981e..24581612 100644 +--- a/Cutelyst/Plugins/Session/CutelystQtSession.pc.in ++++ b/Cutelyst/Plugins/Session/CutelystQtSession.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Sesion Plugin +diff --git a/Cutelyst/Plugins/StaticCompressed/CutelystQtStaticCompressed.pc.in b/Cutelyst/Plugins/StaticCompressed/CutelystQtStaticCompressed.pc.in +index 2e50cb4a..747abbae 100644 +--- a/Cutelyst/Plugins/StaticCompressed/CutelystQtStaticCompressed.pc.in ++++ b/Cutelyst/Plugins/StaticCompressed/CutelystQtStaticCompressed.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Static Compressed +diff --git a/Cutelyst/Plugins/StaticSimple/CutelystQtStaticSimple.pc.in b/Cutelyst/Plugins/StaticSimple/CutelystQtStaticSimple.pc.in +index e75f83f0..60e9dc19 100644 +--- a/Cutelyst/Plugins/StaticSimple/CutelystQtStaticSimple.pc.in ++++ b/Cutelyst/Plugins/StaticSimple/CutelystQtStaticSimple.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Static Simple +diff --git a/Cutelyst/Plugins/StatusMessage/CutelystQtStatusMessage.pc.in b/Cutelyst/Plugins/StatusMessage/CutelystQtStatusMessage.pc.in +index 9592c236..b3d3de54 100644 +--- a/Cutelyst/Plugins/StatusMessage/CutelystQtStatusMessage.pc.in ++++ b/Cutelyst/Plugins/StatusMessage/CutelystQtStatusMessage.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Status Message +diff --git a/Cutelyst/Plugins/UserAgent/CutelystQtUserAgent.pc.in b/Cutelyst/Plugins/UserAgent/CutelystQtUserAgent.pc.in +index 4634589b..26f8f7f7 100644 +--- a/Cutelyst/Plugins/UserAgent/CutelystQtUserAgent.pc.in ++++ b/Cutelyst/Plugins/UserAgent/CutelystQtUserAgent.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ UserAgent Plugin +diff --git a/Cutelyst/Plugins/Utils/LangSelect/CutelystQtUtilsLangSelect.pc.in b/Cutelyst/Plugins/Utils/LangSelect/CutelystQtUtilsLangSelect.pc.in +index 732b0c6a..a1e92305 100644 +--- a/Cutelyst/Plugins/Utils/LangSelect/CutelystQtUtilsLangSelect.pc.in ++++ b/Cutelyst/Plugins/Utils/LangSelect/CutelystQtUtilsLangSelect.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Language Selector Utils Plugin +diff --git a/Cutelyst/Plugins/Utils/Sql/CutelystQtUtilsSql.pc.in b/Cutelyst/Plugins/Utils/Sql/CutelystQtUtilsSql.pc.in +index b4c884fc..58db39b8 100644 +--- a/Cutelyst/Plugins/Utils/Sql/CutelystQtUtilsSql.pc.in ++++ b/Cutelyst/Plugins/Utils/Sql/CutelystQtUtilsSql.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Sql Utils Plugin +diff --git a/Cutelyst/Plugins/Utils/Validator/CutelystQtUtilsValidator.pc.in b/Cutelyst/Plugins/Utils/Validator/CutelystQtUtilsValidator.pc.in +index b6ed353d..d37bf0fc 100644 +--- a/Cutelyst/Plugins/Utils/Validator/CutelystQtUtilsValidator.pc.in ++++ b/Cutelyst/Plugins/Utils/Validator/CutelystQtUtilsValidator.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Validator Utils Plugin +diff --git a/Cutelyst/Plugins/View/Cutelee/CutelystQtCutelee.pc.in b/Cutelyst/Plugins/View/Cutelee/CutelystQtCutelee.pc.in +index 0a1fb46d..5e4adff2 100644 +--- a/Cutelyst/Plugins/View/Cutelee/CutelystQtCutelee.pc.in ++++ b/Cutelyst/Plugins/View/Cutelee/CutelystQtCutelee.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Cutelee +diff --git a/Cutelyst/Plugins/View/Email/CutelystQtViewEmail.pc.in b/Cutelyst/Plugins/View/Email/CutelystQtViewEmail.pc.in +index f94bb892..388519b4 100644 +--- a/Cutelyst/Plugins/View/Email/CutelystQtViewEmail.pc.in ++++ b/Cutelyst/Plugins/View/Email/CutelystQtViewEmail.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Email View +diff --git a/Cutelyst/Plugins/View/JSON/CutelystQtViewJSON.pc.in b/Cutelyst/Plugins/View/JSON/CutelystQtViewJSON.pc.in +index 663c52bc..6ad546b5 100644 +--- a/Cutelyst/Plugins/View/JSON/CutelystQtViewJSON.pc.in ++++ b/Cutelyst/Plugins/View/JSON/CutelystQtViewJSON.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ + includedir=${prefix}/include/cutelyst@PROJECT_VERSION_MAJOR@-qt@QT_VERSION_MAJOR@ + + Name: Cutelyst@PROJECT_VERSION_MAJOR@ Qt@QT_VERSION_MAJOR@ Json View +-- +2.47.0 + diff --git a/pkgs/cutelyst/default.nix b/pkgs/cutelyst/default.nix new file mode 100644 index 0000000..957b568 --- /dev/null +++ b/pkgs/cutelyst/default.nix @@ -0,0 +1,50 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + qt6, + + # optionnal + cutelee, + + withCutelee ? true, +}: + +stdenv.mkDerivation rec { + pname = "cutelyst"; + version = "4.6.0"; + + src = fetchFromGitHub { + owner = "cutelyst"; + repo = "cutelyst"; + rev = "v${version}"; + hash = "sha256-3OtCuCtoIEerTytDLBc5FjYhLOYci6vCB0E22wiwovQ="; + fetchSubmodules = true; + }; + + patches = [ + ./0001-fix-build-under-nix.patch + ]; + + nativeBuildInputs = [ + qt6.wrapQtAppsNoGuiHook + cmake + ]; + buildInputs = [ + qt6.qtbase + qt6.qttools + ] ++ lib.optional withCutelee cutelee; + + cmakeFlags = lib.optional withCutelee "-DPLUGIN_VIEW_CUTELEE=ON"; + + meta = { + description = "A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework"; + homepage = "https://github.com/cutelyst/cutelyst"; + changelog = "https://github.com/cutelyst/cutelyst/blob/${src.rev}/NEWS"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ ]; + mainProgram = "cutelyst"; + platforms = lib.platforms.all; + }; +}