diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/grantlee/5 | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/grantlee/5')
5 files changed, 113 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/grantlee/5/default.nix b/nixpkgs/pkgs/development/libraries/grantlee/5/default.nix new file mode 100644 index 000000000000..52c087b19147 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/grantlee/5/default.nix @@ -0,0 +1,52 @@ +{ mkDerivation, lib, copyPathsToStore, fetchurl, qtbase, qtscript, cmake }: + +mkDerivation rec { + name = "grantlee-${version}"; + version = "5.1.0"; + grantleeCompatVersion = "5.1"; + grantleePluginPrefix = "lib/grantlee/${grantleeCompatVersion}"; + + src = fetchurl { + url = "https://github.com/steveire/grantlee/archive/v${version}.tar.gz"; + sha256 = "1lf9rkv0i0kd7fvpgg5l8jb87zw8dzcwd1liv6hji7g4wlpmfdiq"; + name = "${name}.tar.gz"; + }; + + buildInputs = [ qtbase qtscript ]; + nativeBuildInputs = [ cmake ]; + + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + + 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 = http://gitorious.org/grantlee; + maintainers = [ maintainers.ttuegel ]; + license = licenses.lgpl21; + inherit (qtbase.meta) platforms; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-nix-profiles.patch b/nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-nix-profiles.patch new file mode 100644 index 000000000000..f6c13dbd6d55 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-nix-profiles.patch @@ -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() diff --git a/nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch b/nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch new file mode 100644 index 000000000000..d78ef74ce352 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch @@ -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 +@@ -141,10 +141,6 @@ Template FileSystemTemplateLoader::loadB + + QLatin1Char('/') + fileName); + const QFileInfo fi(file); + +- if (file.exists() +- && !fi.canonicalFilePath().contains( +- QDir(d->m_templateDirs.at(i)).canonicalPath())) +- return Template(); + ++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(); diff --git a/nixpkgs/pkgs/development/libraries/grantlee/5/series b/nixpkgs/pkgs/development/libraries/grantlee/5/series new file mode 100644 index 000000000000..9c4015a1c197 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/grantlee/5/series @@ -0,0 +1,2 @@ +grantlee-nix-profiles.patch +grantlee-no-canonicalize-filepath.patch diff --git a/nixpkgs/pkgs/development/libraries/grantlee/5/setup-hook.sh b/nixpkgs/pkgs/development/libraries/grantlee/5/setup-hook.sh new file mode 100644 index 000000000000..b51cb4a31909 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/grantlee/5/setup-hook.sh @@ -0,0 +1,13 @@ +grantleePluginPrefix=@grantleePluginPrefix@ + +providesGrantleeRuntime() { + [ -d "$1/$grantleePluginPrefix" ] +} + +_grantleeEnvHook() { + if providesGrantleeRuntime "$1"; then + propagatedBuildInputs+=" $1" + propagatedUserEnvPkgs+=" $1" + fi +} +addEnvHooks "$hostOffset" _grantleeEnvHook |