summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-games/ogre
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-games/ogre')
-rw-r--r--dev-games/ogre/Manifest1
-rw-r--r--dev-games/ogre/files/ogre-1.9.0-remove_media_path_to_bindir.patch13
-rw-r--r--dev-games/ogre/files/ogre-1.9.0-remove_resource_path_to_bindir.patch14
-rw-r--r--dev-games/ogre/metadata.xml90
-rw-r--r--dev-games/ogre/ogre-1.9.0-r1.ebuild127
5 files changed, 245 insertions, 0 deletions
diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest
new file mode 100644
index 000000000000..4ef26084c7fb
--- /dev/null
+++ b/dev-games/ogre/Manifest
@@ -0,0 +1 @@
+DIST ogre-1.9.0.tar.bz2 128098305 SHA256 3072df52b2bed2a1b52e969f140ae9a4373ec931029d3eaa032e7c609a91ef82 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde WHIRLPOOL 625cc09ba5a76757b47764c41583584f538eb9561e5bfd546192e06da504aa3924d7070a7dfbe420c4db3edf5870baf5e8b77cc611aa4185806508f79302d6cd
diff --git a/dev-games/ogre/files/ogre-1.9.0-remove_media_path_to_bindir.patch b/dev-games/ogre/files/ogre-1.9.0-remove_media_path_to_bindir.patch
new file mode 100644
index 000000000000..9af7685c7d77
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.9.0-remove_media_path_to_bindir.patch
@@ -0,0 +1,13 @@
+--- a/CMake/InstallResources.cmake 2014-10-29 12:43:49.000000000 +0100
++++ b/CMake/InstallResources.cmake 2014-10-29 12:46:10.017611431 +0100
+@@ -178,10 +178,6 @@
+
+ # CREATE CONFIG FILES - BUILD DIR VERSIONS
+ if (NOT OGRE_BUILD_PLATFORM_APPLE_IOS)
+- set(OGRE_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Samples/Media")
+- set(OGRE_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Samples/Media")
+- set(OGRE_TEST_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Tests/Media")
+- set(OGRE_TEST_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Tests/Media")
+ else ()
+ # iOS needs to use relative paths in the config files
+ set(OGRE_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")
diff --git a/dev-games/ogre/files/ogre-1.9.0-remove_resource_path_to_bindir.patch b/dev-games/ogre/files/ogre-1.9.0-remove_resource_path_to_bindir.patch
new file mode 100644
index 000000000000..d73762859081
--- /dev/null
+++ b/dev-games/ogre/files/ogre-1.9.0-remove_resource_path_to_bindir.patch
@@ -0,0 +1,14 @@
+--- a/CMake/InstallResources.cmake 2013-12-01 18:28:12.000000000 +0100
++++ b/CMake/InstallResources.cmake 2014-10-29 12:38:29.963602465 +0100
+@@ -201,11 +201,6 @@
+ set(OGRE_PLUGIN_DIR_DBG "")
+ set(OGRE_SAMPLES_DIR_REL "")
+ set(OGRE_SAMPLES_DIR_DBG "")
+-elseif (UNIX)
+- set(OGRE_PLUGIN_DIR_REL "${OGRE_BINARY_DIR}/lib")
+- set(OGRE_PLUGIN_DIR_DBG "${OGRE_BINARY_DIR}/lib")
+- set(OGRE_SAMPLES_DIR_REL "${OGRE_BINARY_DIR}/lib")
+- set(OGRE_SAMPLES_DIR_DBG "${OGRE_BINARY_DIR}/lib")
+ endif ()
+
+ if (MSVC AND NOT NMAKE)
diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml
new file mode 100644
index 000000000000..c9f8ae738ba8
--- /dev/null
+++ b/dev-games/ogre/metadata.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <longdescription>
+OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D
+engine written in C++ designed to make it easier and more intuitive for developers
+to produce games and demos utilising 3D hardware. The class library abstracts all
+the details of using the underlying system libraries like Direct3D and OpenGL and
+provides an interface based on world objects and other intuitive classes.
+
+Productivity features
+
+ * Simple, easy to use OO interface designed to minimise the effort required to render 3D scenes, and to be independent of 3D implementation e.g. Direct3D/OpenGL/Glide etc.
+ * Extensible example framework makes getting your application running is quick and simple
+ * Common requirements like render state management, hierarchical culling, dealing with transparency are done for you automatically saving you valuable time
+ * Clean, uncluttered design and full documentation of all engine classes
+
+Platform and 3D API support
+
+ * Direct3D and OpenGL support
+ * Windows (all major versions), Linux and Mac OSX support
+ * Builds on Visual C++ 6 (with STLport), Visual C++.Net (with STLport), Visual C++.Net 2003
+ * Builds on gcc 3+ on Linux / Mac OSX
+
+Material / Shader support
+
+ * Load textures from PNG, JPEG or TGA files, MipMaps generated automatically, resizes maps to align with hardware requirements
+ * Procedural texture coordinate generation (e.g. environment mapping) and modification (scrolls, warps, rotations)
+ * Unbounded number of texture layers with many texture blending effects, animated textures
+ * Multitexturing hardware used to best effect automatically, combined with automatic fallback to mulitpass rendering
+ * Object transparency and other scene-level blending effects
+ * All defineable through text scripts to allow you to set up and tweak advanced materials without recompiling
+
+Meshes
+
+ * Flexible mesh data formats accepted
+ * Export from Milkshape3D direct to OGRE .mesh and .skeleton format
+ * Skeletal animation (including blending of multiple animations)
+ * Biquadric Bezier patches for curved surfaces
+ * Progressive meshes
+
+Scene Features
+
+ * Highly customisable, flexible scene management, not tied to any single scene type. Use predefined classes for scene organisation if they suit or plug in your own subclass to gain full control over the scene organisation
+ * Generic SceneManager hierarchically culls by bounding volumes
+ * Example plugin (BspSceneManager) specialises to allow fast indoor renders, loading Quake3 levels inc. shader script parsing support
+ * Hierarchical scene graph; nodes allow objects to be attached to each other and follow each others movements, articulated structures etc
+ * Scene querying features
+
+Special Effects
+
+ * Particle Systems, including easily extensible emitters and affectors (customisable through plugins). Systems can be defined in text scripts for easy tweaking. Automatic use of particle pooling for maximum performance
+ * Support for skyboxes, skyplanes and skydomes, very easy to use
+ * Billboarding for sprite graphics
+ * Transparent objects automatically managed (rendering order and depth buffer settings all set up for you)
+
+Misc features
+
+ * Common resource infrastructure for memory management and loading from archives (ZIP, PK3)
+ * Flexible plugin architecture allows engine to be extended without recompilation
+ * 'Controllers' allow you to easily organise derived values between objects e.g. changing the colour of a ship based on shields left
+ * Debugging memory manager for identifying memory leaks
+ * ReferenceAppLayer provides an example of how to combine OGRE with other libraries, for example ODE for collision and physics
+ * XMLConverter to convert efficient runtime binary formats to/from XML for interchange or editing
+
+Exporters
+
+ * 3D Studio Max (meshes and animation)
+ * Milkshape 3D (meshes and animation)
+ * Blender3D (meshes)
+ * Wings3D (meshes)
+ * VRML97 (meshes)
+ * Maya (meshes)
+</longdescription>
+ <use>
+ <flag name="boost">enable boost support</flag>
+ <flag name="cg">NVIDIA toolkit plugin</flag>
+ <flag name="double-precision">more precise calculations at the expense of speed</flag>
+ <flag name="freeimage">support images via freeimage</flag>
+ <flag name="gl3plus">Build OpenGL 3+ RenderSystem (EXPERIMENTAL)</flag>
+ <flag name="gles2">build OpenGL ES 2.x RenderSystem</flag>
+ <flag name="gles3">Enable OpenGL ES 3.x Features</flag>
+ <flag name="ois">pull in Object-oriented Input System library for samples</flag>
+ <flag name="poco">when USE=threads, use poco for threading</flag>
+ <flag name="tbb">when USE=threads, use tbb for threading</flag>
+ <flag name="tools">build+install helper tools</flag>
+ <flag name="zip">support zip archives</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-games/ogre/ogre-1.9.0-r1.ebuild b/dev-games/ogre/ogre-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..059d63e167ba
--- /dev/null
+++ b/dev-games/ogre/ogre-1.9.0-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+CMAKE_REMOVE_MODULES="yes"
+CMAKE_REMOVE_MODULES_LIST="FindFreetype"
+
+inherit eutils cmake-utils vcs-snapshot
+
+DESCRIPTION="Object-oriented Graphics Rendering Engine"
+HOMEPAGE="http://www.ogre3d.org/"
+SRC_URI="https://bitbucket.org/sinbad/ogre/get/v${PV//./-}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="MIT public-domain"
+SLOT="0/1.9.0"
+KEYWORDS="amd64 ~arm x86"
+
+# gles1 currently broken wrt bug #418201
+# gles1 does not even build wrt bug #506058
+IUSE="+boost cg doc double-precision examples +freeimage gl3plus gles2 gles3 ois +opengl poco profile tbb threads tools +zip"
+
+REQUIRED_USE="threads? ( ^^ ( boost poco tbb ) )
+ poco? ( threads )
+ tbb? ( threads )
+ ?? ( gl3plus ( || ( gles2 gles3 ) ) )
+ gles3? ( gles2 )
+ gl3plus? ( opengl )"
+
+RESTRICT="test" #139905
+
+RDEPEND="
+ media-libs/freetype:2
+ virtual/opengl
+ virtual/glu
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXrandr
+ x11-libs/libXt
+ boost? ( dev-libs/boost )
+ cg? ( media-gfx/nvidia-cg-toolkit )
+ freeimage? ( media-libs/freeimage )
+ gles2? ( >=media-libs/mesa-9.0.0[gles2] )
+ gles3? ( >=media-libs/mesa-10.0.0[gles2] )
+ gl3plus? ( >=media-libs/mesa-9.2.5 )
+ ois? ( dev-games/ois )
+ threads? (
+ poco? ( dev-libs/poco )
+ tbb? ( dev-cpp/tbb )
+ )
+ tools? ( dev-libs/tinyxml[stl] )
+ zip? ( sys-libs/zlib dev-libs/zziplib )"
+DEPEND="${RDEPEND}
+ x11-proto/xf86vidmodeproto
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ sed -i \
+ -e "s:share/OGRE/docs:share/doc/${PF}:" \
+ Docs/CMakeLists.txt || die
+ # Stupid build system hardcodes release names
+ sed -i \
+ -e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \
+ CMake/Utils/OgreConfigTargets.cmake || die
+
+ # make sure we're not using the included tinyxml
+ rm -f Tools/XMLConverter/{include,src}/tiny*.*
+
+ # Fix some path issues
+ epatch "${FILESDIR}/${P}-remove_resource_path_to_bindir.patch" \
+ "${FILESDIR}/${P}-remove_media_path_to_bindir.patch"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DOGRE_FULL_RPATH=NO
+ $(cmake-utils_use boost OGRE_USE_BOOST)
+ $(cmake-utils_use cg OGRE_BUILD_PLUGIN_CG)
+ $(cmake-utils_use doc OGRE_INSTALL_DOCS)
+ $(cmake-utils_use double-precision OGRE_CONFIG_DOUBLE)
+ $(cmake-utils_use examples OGRE_INSTALL_SAMPLES)
+ $(cmake-utils_use freeimage OGRE_CONFIG_ENABLE_FREEIMAGE)
+ $(cmake-utils_use opengl OGRE_BUILD_RENDERSYSTEM_GL)
+ $(cmake-utils_use gl3plus OGRE_BUILD_RENDERSYSTEM_GL3PLUS)
+ -DOGRE_BUILD_RENDERSYSTEM_GLES=FALSE
+ $(cmake-utils_use gles2 OGRE_BUILD_RENDERSYSTEM_GLES2)
+ $(cmake-utils_use gles3 OGRE_CONFIG_ENABLE_GLES3_SUPPORT)
+ $(cmake-utils_use profile OGRE_PROFILING)
+ $(cmake-utils_use examples OGRE_BUILD_SAMPLES)
+ $(cmake-utils_use examples OGRE_INSTALL_SAMPLES_SOURCE)
+ -DOGRE_BUILD_TESTS=FALSE
+ $(usex threads "-DOGRE_CONFIG_THREADS=2" "-DOGRE_CONFIG_THREADS=0")
+ $(cmake-utils_use tools OGRE_BUILD_TOOLS)
+ $(cmake-utils_use zip OGRE_CONFIG_ENABLE_ZIP)
+ )
+
+ if use threads ; then
+ local f
+ for f in boost poco tbb ; do
+ use ${f} || continue
+ mycmakeargs+=( -DOGRE_CONFIG_THREAD_PROVIDER=${f} )
+ break
+ done
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ CONFIGDIR=/etc/OGRE
+ SHAREDIR=/usr/share/OGRE
+
+ # plugins and resources are the main configuration
+ insinto "${CONFIGDIR}"
+ doins "${CMAKE_BUILD_DIR}"/bin/plugins.cfg
+ doins "${CMAKE_BUILD_DIR}"/bin/resources.cfg
+ dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg
+ dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg
+
+ # These are only for the sample browser
+ insinto "${SHAREDIR}"
+ doins "${CMAKE_BUILD_DIR}"/bin/quakemap.cfg
+ doins "${CMAKE_BUILD_DIR}"/bin/samples.cfg
+}