From 6ffd76f0801fbcc2c1891a2640619f174f06aa6d Mon Sep 17 00:00:00 2001 From: aleksana Date: Mon, 17 Jun 2024 21:48:35 +0800 Subject: [PATCH 1/4] python3Packages.f3d: add python module --- pkgs/applications/graphics/f3d/default.nix | 17 ++++++++++++++--- pkgs/top-level/python-packages.nix | 5 +++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/graphics/f3d/default.nix b/pkgs/applications/graphics/f3d/default.nix index dd893ba9a976..ef0ee16e4ed6 100644 --- a/pkgs/applications/graphics/f3d/default.nix +++ b/pkgs/applications/graphics/f3d/default.nix @@ -6,11 +6,11 @@ , gzip , vtk_9 , autoPatchelfHook -, libX11 -, libGL , Cocoa , OpenGL +, python3Packages , withManual ? !stdenv.isDarwin +, withPythonBinding ? false }: stdenv.mkDerivation rec { @@ -37,7 +37,16 @@ stdenv.mkDerivation rec { autoPatchelfHook ]; - buildInputs = [ vtk_9 ] ++ lib.optionals stdenv.isDarwin [ Cocoa OpenGL ]; + buildInputs = [ + vtk_9 + ] ++ lib.optionals stdenv.isDarwin [ + Cocoa + OpenGL + ] ++ lib.optionals withPythonBinding [ + python3Packages.python + # Using C++ header files, not Python import + python3Packages.pybind11 + ]; cmakeFlags = [ # conflict between VTK and Nixpkgs; @@ -47,6 +56,8 @@ stdenv.mkDerivation rec { "-DCMAKE_INSTALL_BINDIR=bin" ] ++ lib.optionals withManual [ "-DF3D_LINUX_GENERATE_MAN=ON" + ] ++ lib.optionals withPythonBinding [ + "-DF3D_BINDINGS_PYTHON=ON" ]; meta = with lib; { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 483cb05e6996..b7f038b4217a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4052,6 +4052,11 @@ self: super: with self; { ezyrb = callPackage ../development/python-modules/ezyrb { }; + f3d = toPythonModule (pkgs.f3d.override { + withPythonBinding = true; + python3Packages = self; + }); + f5-icontrol-rest = callPackage ../development/python-modules/f5-icontrol-rest { }; f5-sdk = callPackage ../development/python-modules/f5-sdk { }; From 99fecbbe2fce07d839c1dc209bc0dc0967e7405a Mon Sep 17 00:00:00 2001 From: aleksana Date: Mon, 17 Jun 2024 22:59:25 +0800 Subject: [PATCH 2/4] vtk: enable egl and external rendering --- pkgs/development/libraries/vtk/generic.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/vtk/generic.nix b/pkgs/development/libraries/vtk/generic.nix index 73fc650844db..18e182d3a44e 100644 --- a/pkgs/development/libraries/vtk/generic.nix +++ b/pkgs/development/libraries/vtk/generic.nix @@ -79,8 +79,10 @@ in stdenv.mkDerivation { "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_MODULE_USE_EXTERNAL_vtkpng=ON" "-DVTK_MODULE_USE_EXTERNAL_vtktiff=1" + "-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" ] ++ lib.optionals (!stdenv.isDarwin) [ "-DOPENGL_INCLUDE_DIR=${libGL}/include" + "-DVTK_OPENGL_HAS_EGL=ON" ] ++ [ "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_INCLUDEDIR=include" From 7bd1f036c48fde5c3bfea4bc8e46e1f7906487eb Mon Sep 17 00:00:00 2001 From: aleksana Date: Mon, 17 Jun 2024 22:59:34 +0800 Subject: [PATCH 3/4] f3d: enable external rendering --- pkgs/applications/graphics/f3d/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/graphics/f3d/default.nix b/pkgs/applications/graphics/f3d/default.nix index ef0ee16e4ed6..dc3b9e4b3a61 100644 --- a/pkgs/applications/graphics/f3d/default.nix +++ b/pkgs/applications/graphics/f3d/default.nix @@ -54,6 +54,7 @@ stdenv.mkDerivation rec { "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_INCLUDEDIR=include" "-DCMAKE_INSTALL_BINDIR=bin" + "-DF3D_MODULE_EXTERNAL_RENDERING=ON" ] ++ lib.optionals withManual [ "-DF3D_LINUX_GENERATE_MAN=ON" ] ++ lib.optionals withPythonBinding [ From 504a78dcc7900aaf43aaf1c8930d468baad21874 Mon Sep 17 00:00:00 2001 From: aleksana Date: Mon, 17 Jun 2024 23:03:13 +0800 Subject: [PATCH 4/4] exhibit: init at 1.2.0 --- pkgs/by-name/ex/exhibit/package.nix | 59 +++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 pkgs/by-name/ex/exhibit/package.nix diff --git a/pkgs/by-name/ex/exhibit/package.nix b/pkgs/by-name/ex/exhibit/package.nix new file mode 100644 index 000000000000..79b0f4742ea4 --- /dev/null +++ b/pkgs/by-name/ex/exhibit/package.nix @@ -0,0 +1,59 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gobject-introspection, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, +}: + +python3Packages.buildPythonApplication rec { + pname = "exhibit"; + version = "1.2.0"; + pyproject = false; # Built with meson + + src = fetchFromGitHub { + owner = "Nokse22"; + repo = "Exhibit"; + rev = "v${version}"; + hash = "sha256-yNS6q7XbWda2+so9QRS/c4uYaVPo7b4JCite5nzc3Eo="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection + wrapGAppsHook4 + desktop-file-utils + ]; + + buildInputs = [ libadwaita ]; + + dependencies = with python3Packages; [ + pygobject3 + f3d + ]; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = { + description = "3D model viewer for the GNOME desktop powered by f3d"; + homepage = "https://github.com/Nokse22/Exhibit"; + license = with lib.licenses; [ + gpl3Plus + cc0 + ]; + mainProgram = "exhibit"; + maintainers = with lib.maintainers; [ aleksana ]; + platforms = lib.platforms.linux; + }; +}