Merge pull request #320555 from Aleksanaa/exhibit

exhibit: init at 1.2.0; enable f3d and vtk external rendering, add f3d python module
This commit is contained in:
Pol Dellaiera 2024-06-23 09:50:28 +02:00 committed by GitHub
commit 7337043ff6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 81 additions and 3 deletions

View File

@ -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;
@ -45,8 +54,11 @@ 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 [
"-DF3D_BINDINGS_PYTHON=ON"
];
meta = with lib; {

View File

@ -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;
};
}

View File

@ -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"

View File

@ -4083,6 +4083,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 { };