push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
{
mkDerivation,
lib,
fetchFromGitHub,
qtbase,
qtscript,
cmake,
}:
mkDerivation rec {
pname = "grantlee";
version = "5.3.1";
grantleePluginPrefix = "lib/grantlee/${lib.versions.majorMinor version}";
src = fetchFromGitHub {
owner = "steveire";
repo = "grantlee";
rev = "v${version}";
sha256 = "sha256-enP7b6A7Ndew2LJH569fN3IgPu2/KL5rCmU/jmKb9sY=";
};
buildInputs = [
qtbase
qtscript
];
nativeBuildInputs = [ cmake ];
patches = [
./grantlee-nix-profiles.patch
./grantlee-no-canonicalize-filepath.patch
];
outputs = [
"out"
"dev"
];
postFixup =
# Disabuse CMake of the notion that libraries are in $dev
''
for way in release debug; do
cmake="$dev/lib/cmake/Grantlee5/GrantleeTargets-$way.cmake"
if [ -f "$cmake" ]; then
sed -i "$cmake" -e "s|\''${_IMPORT_PREFIX}|$out|"
fi
done
'';
setupHook = ./setup-hook.sh;
doCheck = false; # fails all the tests (ctest)
meta = with lib; {
description = "Qt5 port of Django template system";
longDescription = ''
Grantlee is a plugin based String Template system written using the Qt
framework. The goals of the project are to make it easier for application
developers to separate the structure of documents from the data they
contain, opening the door for theming.
The syntax is intended to follow the syntax of the Django template system,
and the design of Django is reused in Grantlee.'';
homepage = "https://github.com/steveire/grantlee";
maintainers = [ maintainers.ttuegel ];
license = licenses.lgpl21;
inherit (qtbase.meta) platforms;
};
}

View File

@@ -0,0 +1,19 @@
Index: grantlee-5.1.0/templates/lib/engine.cpp
===================================================================
--- grantlee-5.1.0.orig/templates/lib/engine.cpp
+++ grantlee-5.1.0/templates/lib/engine.cpp
@@ -48,6 +48,14 @@ Engine::Engine(QObject *parent)
d_ptr->m_pluginDirs = QCoreApplication::instance()->libraryPaths();
d_ptr->m_pluginDirs << QString::fromLocal8Bit(GRANTLEE_PLUGIN_PATH);
+
+ // Add library paths derived from NIX_PROFILES.
+ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
+ for (const QByteArray &profile: profiles) {
+ if (!profile.isEmpty()) {
+ d_ptr->m_pluginDirs << (QFile::decodeName(profile) + QStringLiteral("/lib"));
+ }
+ }
}
Engine::~Engine()

View File

@@ -0,0 +1,27 @@
Index: grantlee-5.1.0/templates/lib/templateloader.cpp
===================================================================
--- grantlee-5.1.0.orig/templates/lib/templateloader.cpp
+++ grantlee-5.1.0/templates/lib/templateloader.cpp
@@ -142,10 +142,6 @@ Template FileSystemTemplateLoader::loadByName(const QString &fileName,
+ QLatin1Char('/') + fileName);
const QFileInfo fi(file);
- if (file.exists()
- && !fi.canonicalFilePath().contains(
- QDir(d->m_templateDirs.at(i)).canonicalPath()))
- return {};
++i;
}
@@ -173,11 +169,6 @@ FileSystemTemplateLoader::getMediaUri(co
+ QLatin1Char('/') + fileName);
const QFileInfo fi(file);
- if (!fi.canonicalFilePath().contains(
- QDir(d->m_templateDirs.at(i)).canonicalPath())) {
- ++i;
- continue;
- }
if (file.exists()) {
auto path = fi.absoluteFilePath();

View File

@@ -0,0 +1,13 @@
grantleePluginPrefix=@grantleePluginPrefix@
providesGrantleeRuntime() {
[ -d "$1/$grantleePluginPrefix" ]
}
_grantleeEnvHook() {
if providesGrantleeRuntime "$1"; then
appendToVar propagatedBuildInputs "$1"
appendToVar propagatedUserEnvPkgs "$1"
fi
}
addEnvHooks "$hostOffset" _grantleeEnvHook

View File

@@ -0,0 +1,38 @@
{
stdenv,
lib,
fetchFromGitHub,
qtbase,
cmake,
wrapQtAppsHook,
}:
stdenv.mkDerivation rec {
pname = "grantlee";
version = "5.3.1";
src = fetchFromGitHub {
owner = "steveire";
repo = "grantlee";
rev = "v${version}";
hash = "sha256-enP7b6A7Ndew2LJH569fN3IgPu2/KL5rCmU/jmKb9sY=";
};
nativeBuildInputs = [
cmake
wrapQtAppsHook
];
buildInputs = [ qtbase ];
meta = {
description = "Libraries for text templating with Qt";
longDescription = ''
Grantlee is a set of Free Software libraries written using the Qt framework. Currently two libraries are shipped with Grantlee: Grantlee Templates and Grantlee TextDocument.
The goal of Grantlee Templates is to make it easier for application developers to separate the structure of documents from the data they contain, opening the door for theming and advanced generation of other text such as code.
The syntax uses the syntax of the Django template system, and the core design of Django is reused in Grantlee.
'';
homepage = "https://github.com/steveire/grantlee";
license = lib.licenses.lgpl21Plus;
};
}