about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gr-framework
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gr-framework')
-rw-r--r--nixpkgs/pkgs/development/libraries/gr-framework/Use-the-module-mode-to-search-for-the-LibXml2-package.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/gr-framework/default.nix71
2 files changed, 96 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gr-framework/Use-the-module-mode-to-search-for-the-LibXml2-package.patch b/nixpkgs/pkgs/development/libraries/gr-framework/Use-the-module-mode-to-search-for-the-LibXml2-package.patch
new file mode 100644
index 000000000000..b472d7271e8d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gr-framework/Use-the-module-mode-to-search-for-the-LibXml2-package.patch
@@ -0,0 +1,25 @@
+From 5d2377ad5e99742662e056bb782d5c21afb01dfb Mon Sep 17 00:00:00 2001
+From: Pavel Sobolev <paveloom@riseup.net>
+Date: Tue, 19 Sep 2023 13:27:39 +0300
+Subject: [PATCH] Use the module mode to search for the `LibXml2` package.
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 03490335..fb69e8fd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -96,7 +96,7 @@ find_package(Expat)
+ # CMake ships with a `FindLibXml2.cmake` module which does not configure needed libxml2 dependencies.
+ # Thus, use the `libxml2-config.cmake` config file shipped with libxml which configures dependencies correctly by
+ # skipping module search mode.
+-find_package(LibXml2 NO_MODULE)
++find_package(LibXml2 MODULE)
+ if(${CMAKE_VERSION} VERSION_GREATER "3.16.0")
+   find_package(
+     Qt6
+--
+2.42.0
+
diff --git a/nixpkgs/pkgs/development/libraries/gr-framework/default.nix b/nixpkgs/pkgs/development/libraries/gr-framework/default.nix
new file mode 100644
index 000000000000..2157a18f58d1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/gr-framework/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, nix-update-script
+
+, cmake
+, wrapQtAppsHook
+
+, cairo
+, ffmpeg
+, freetype
+, ghostscript
+, glfw
+, libjpeg
+, libtiff
+, qhull
+, qtbase
+, xorg
+, zeromq
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gr-framework";
+  version = "0.72.11";
+
+  src = fetchFromGitHub {
+    owner = "sciapp";
+    repo = "gr";
+    rev = "v${version}";
+    hash = "sha256-HspDRqO/JKpPeHOfctYAOwwR3y1u+GW3v0OnN7OfLT4=";
+  };
+
+  patches = [
+    ./Use-the-module-mode-to-search-for-the-LibXml2-package.patch
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    cairo
+    ffmpeg
+    freetype
+    ghostscript
+    glfw
+    libjpeg
+    libtiff
+    qhull
+    qtbase
+    xorg.libX11
+    xorg.libXft
+    xorg.libXt
+    zeromq
+  ];
+
+  preConfigure = ''
+    echo ${version} > version.txt
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "GR framework is a graphics library for visualisation applications";
+    homepage = "https://gr-framework.org";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ paveloom ];
+  };
+}