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/1.10.x.nix49
-rw-r--r--nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix53
-rw-r--r--nixpkgs/pkgs/development/libraries/ogre/default.nix90
3 files changed, 192 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix b/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix
new file mode 100644
index 000000000000..616792787818
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ogre/1.10.x.nix
@@ -0,0 +1,49 @@
+{ fetchurl, stdenv, lib
+, cmake, libGLU, libGL
+, freetype, freeimage, zziplib, xorgproto, libXrandr
+, libXaw, freeglut, libXt, libpng, boost, ois
+, libX11, libXmu, libSM, pkg-config
+, libXxf86vm, libICE
+, libXrender
+, withNvidiaCg ? false, nvidia_cg_toolkit
+, withSamples ? false }:
+
+stdenv.mkDerivation {
+  name = "ogre-1.10.11";
+
+  src = fetchurl {
+     url = "https://bitbucket.org/sinbad/ogre/get/v1-10-11.tar.gz";
+     sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
+  };
+
+  # fix for ARM. sys/sysctl.h has moved in later glibcs, and
+  # https://github.com/OGRECave/ogre-next/issues/132 suggests it isn't
+  # needed anyway.
+  postPatch = ''
+    substituteInPlace OgreMain/src/OgrePlatformInformation.cpp \
+      --replace '#include <sys/sysctl.h>' ""
+  '';
+
+  cmakeFlags = [ "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ]
+    ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on")
+           ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG")
+    ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ];
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs =
+   [ libGLU libGL
+     freetype freeimage zziplib xorgproto libXrandr
+     libXaw freeglut libXt libpng boost ois
+     libX11 libXmu libSM
+     libXxf86vm libICE
+     libXrender
+   ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit;
+
+  meta = {
+    description = "A 3D engine";
+    homepage = "https://www.ogre3d.org/";
+    maintainers = [ lib.maintainers.raskin ];
+    platforms = lib.platforms.linux;
+    license = lib.licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix b/nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix
new file mode 100644
index 000000000000..7548ed48e7ae
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ogre/1.9.x.nix
@@ -0,0 +1,53 @@
+{ fetchFromGitHub, stdenv, lib
+, cmake, libGLU, libGL
+, freetype, freeimage, zziplib, xorgproto, libXrandr
+, libXaw, freeglut, libXt, libpng, boost, ois
+, libX11, libXmu, libSM, pkg-config
+, libXxf86vm, libICE
+, libXrender
+, withNvidiaCg ? false, nvidia_cg_toolkit
+, withSamples ? false }:
+
+stdenv.mkDerivation rec {
+  pname = "ogre";
+  version = "1.9.1";
+
+  src = fetchFromGitHub {
+    owner = "OGRECave";
+    repo = "ogre";
+    rev = "v${version}";
+    sha256 = "11lfgzqaps3728dswrq3cbwk7aicigyz08q4hfyy6ikc6m35r4wg";
+  };
+
+  # fix for ARM. sys/sysctl.h has moved in later glibcs, and
+  # https://github.com/OGRECave/ogre-next/issues/132 suggests it isn't
+  # needed anyway.
+  postPatch = ''
+    substituteInPlace OgreMain/src/OgrePlatformInformation.cpp \
+      --replace '#include <sys/sysctl.h>' ""
+  '';
+
+  cmakeFlags = [ "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ]
+    ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on")
+           ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG")
+    ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ];
+
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs =
+   [ libGLU libGL
+     freetype freeimage zziplib xorgproto libXrandr
+     libXaw freeglut libXt libpng boost ois
+     libX11 libXmu libSM
+     libXxf86vm libICE
+     libXrender
+   ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit;
+
+  meta = {
+    description = "A 3D engine";
+    homepage = "https://www.ogre3d.org/";
+    maintainers = [ lib.maintainers.raskin ];
+    platforms = lib.platforms.linux;
+    license = lib.licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/ogre/default.nix b/nixpkgs/pkgs/development/libraries/ogre/default.nix
new file mode 100644
index 000000000000..e93dfdfb144e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ogre/default.nix
@@ -0,0 +1,90 @@
+{ fetchFromGitHub
+, stdenv
+, lib
+, cmake
+, libGLU
+, libGL
+, freetype
+, freeimage
+, zziplib
+, xorgproto
+, libXrandr
+, libXaw
+, freeglut
+, libXt
+, libpng
+, boost
+, ois
+, libX11
+, libXmu
+, libSM
+, pkg-config
+, libXxf86vm
+, libICE
+, unzip
+, libXrender
+, SDL2
+, withNvidiaCg ? false
+, nvidia_cg_toolkit
+, withSamples ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ogre";
+  version = "1.12.1";
+
+  src = fetchFromGitHub {
+    owner = "OGRECave";
+    repo = "ogre";
+    rev = "v${version}";
+    sha256 = "sha256-FHW0+DZhw6MLlhjh4DRYhA+6vBBXMN9K6GEVoR6P5kM=";
+  };
+
+  # fix for ARM. sys/sysctl.h has moved in later glibcs, and
+  # https://github.com/OGRECave/ogre-next/issues/132 suggests it isn't
+  # needed anyway.
+  postPatch = ''
+    substituteInPlace OgreMain/src/OgrePlatformInformation.cpp \
+      --replace '#include <sys/sysctl.h>' ""
+  '';
+
+  cmakeFlags = [ "-DOGRE_BUILD_DEPENDENCIES=OFF" "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ]
+    ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on")
+    ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG")
+    ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ];
+
+
+  nativeBuildInputs = [ cmake unzip pkg-config ];
+  buildInputs =
+    [
+      cmake
+      libGLU
+      libGL
+      freetype
+      freeimage
+      zziplib
+      xorgproto
+      libXrandr
+      libXaw
+      freeglut
+      libXt
+      libpng
+      boost
+      ois
+      libX11
+      libXmu
+      libSM
+      libXxf86vm
+      libICE
+      libXrender
+      SDL2
+    ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit;
+
+  meta = {
+    description = "A 3D engine";
+    homepage = "https://www.ogre3d.org/";
+    maintainers = [ lib.maintainers.raskin ];
+    platforms = lib.platforms.linux;
+    license = lib.licenses.mit;
+  };
+}