about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/grantlee/5
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/grantlee/5
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-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')
-rw-r--r--nixpkgs/pkgs/development/libraries/grantlee/5/default.nix52
-rw-r--r--nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-nix-profiles.patch19
-rw-r--r--nixpkgs/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch27
-rw-r--r--nixpkgs/pkgs/development/libraries/grantlee/5/series2
-rw-r--r--nixpkgs/pkgs/development/libraries/grantlee/5/setup-hook.sh13
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