feat(cutelyst): init

This commit is contained in:
catvayor 2024-12-16 14:20:21 +01:00
parent 609399f994
commit b260481e20
Signed by: lbailly
GPG key ID: CE3E645251AC63F3
2 changed files with 269 additions and 0 deletions

View file

@ -0,0 +1,219 @@
From da8af7fc3067e270976527a75d372c869a27cc15 Mon Sep 17 00:00:00 2001
From: catvayor <catvayor@katvayor.net>
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

50
pkgs/cutelyst/default.nix Normal file
View file

@ -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;
};
}