about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/ogre
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/ogre')
-rw-r--r--nixpkgs/pkgs/development/libraries/ogre/default.nix111
1 files changed, 111 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/ogre/default.nix b/nixpkgs/pkgs/development/libraries/ogre/default.nix
new file mode 100644
index 000000000000..83355c235f31
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ogre/default.nix
@@ -0,0 +1,111 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, unzip
+, SDL2
+, boost
+, freeimage
+, freetype
+, libpng
+, ois
+, pugixml
+, zziplib
+  # linux
+, freeglut
+, libGL
+, libGLU
+, libICE
+, libSM
+, libX11
+, libXaw
+, libXmu
+, libXrandr
+, libXrender
+, libXt
+, libXxf86vm
+, xorgproto
+  # darwin
+, darwin
+  # optional
+, withNvidiaCg ? false
+, nvidia_cg_toolkit
+, withSamples ? false
+}:
+
+let
+  common = { version, hash }: stdenv.mkDerivation {
+    pname = "ogre";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "OGRECave";
+      repo = "ogre";
+      rev = "v${version}";
+      inherit hash;
+    };
+
+    nativeBuildInputs = [
+      cmake
+      pkg-config
+      unzip
+    ];
+
+    buildInputs = [
+      SDL2
+      boost
+      freeimage
+      freetype
+      libpng
+      ois
+      pugixml
+      zziplib
+    ] ++ lib.optionals stdenv.isLinux [
+      freeglut
+      libGL
+      libGLU
+      libICE
+      libSM
+      libX11
+      libXaw
+      libXmu
+      libXrandr
+      libXrender
+      libXt
+      libXxf86vm
+      xorgproto
+    ] ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.Cocoa
+    ] ++ lib.optionals withNvidiaCg [
+      nvidia_cg_toolkit
+    ];
+
+    cmakeFlags = [
+      "-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=FALSE"
+      "-DOGRE_BUILD_DEPENDENCIES=OFF"
+      "-DOGRE_BUILD_SAMPLES=${toString withSamples}"
+    ] ++ lib.optionals stdenv.isDarwin [
+      "-DOGRE_BUILD_LIBS_AS_FRAMEWORKS=FALSE"
+    ];
+
+    meta = {
+      description = "3D Object-Oriented Graphics Rendering Engine";
+      homepage = "https://www.ogre3d.org/";
+      maintainers = with lib.maintainers; [ raskin wegank ];
+      platforms = lib.platforms.unix;
+      license = lib.licenses.mit;
+    };
+  };
+in
+{
+  ogre_14 = common {
+    version = "14.1.2";
+    hash = "sha256-qPoC5VXA9IC1xiFLrvE7cqCZFkuiEM0OMowUXDlmhF4=";
+  };
+
+  ogre_13 = common {
+    version = "13.6.5";
+    hash = "sha256-8VQqePrvf/fleHijVIqWWfwOusGjVR40IIJ13o+HwaE=";
+  };
+}