mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
opencsg, new recipe, version 1.8.1 (#12008)
This commit is contained in:
88
media-gfx/opencsg/opencsg-1.8.1.recipe
Normal file
88
media-gfx/opencsg/opencsg-1.8.1.recipe
Normal file
@@ -0,0 +1,88 @@
|
||||
SUMMARY="The CSG rendering library"
|
||||
DESCRIPTION="OpenCSG is a library that does image-based CSG rendering using OpenGL. It is \
|
||||
written in C++ and supports most modern graphics hardware using Microsoft Windows or the Linux \
|
||||
operating system. The current version is OpenCSG-1.8.1.
|
||||
|
||||
What is CSG, anyway? CSG is short for Constructive Solid Geometry and denotes an approach to \
|
||||
model complex 3D-shapes using simpler ones. I.e., two shapes can be combined by taking the union \
|
||||
of them, by intersecting them, or by subtracting one shape of the other. The most basic shapes, \
|
||||
which are not result of such a CSG operation, are called primitives. Primitives must be solid, \
|
||||
i.e., they must have a clearly defined interior and exterior. By construction, a CSG shape is \
|
||||
also solid then.
|
||||
|
||||
Image-based CSG rendering (also z-buffer CSG rendering) is a term for algorithms that render CSG \
|
||||
shapes without an explicit calculation of the geometric boundary of a CSG shape. Such algorithms \
|
||||
use frame-buffer settings of the graphics hardware, e.g., the depth and stencil buffer, to \
|
||||
compose CSG shapes. OpenCSG implements a variety of those algorithms, namely the Goldfeather \
|
||||
algorithm and the SCS algorithm, both of them in several variants."
|
||||
HOMEPAGE="https://www.opencsg.org/"
|
||||
COPYRIGHT="2002-2025, Florian Kirsch
|
||||
2002-2005 Hasso-Plattner-Institute Potsdam"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
#SOURCE_URI="https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-8-1-release.tar.gz"
|
||||
SOURCE_URI="https://www.opencsg.org/OpenCSG-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="afcc004a89ed3bc478a9e4ba39b20f3d589b24e23e275b7383f91a590d4d57c5"
|
||||
SOURCE_DIR="OpenCSG-$portVersion"
|
||||
#PATCHES="projectx-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
libVersion="$portVersion"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
opencsg$secondaryArchSuffix = $portVersion
|
||||
lib:libopencsg$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libGLU$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
opencsg${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libopencsg$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
opencsg$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libGLU$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
|
||||
$cmakeDirArgs \
|
||||
-DBUILD_EXAMPLE=OFF
|
||||
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make -C build install
|
||||
|
||||
prepareInstalledDevelLib \
|
||||
libopencsg
|
||||
|
||||
packageEntries devel \
|
||||
"$developDir"
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make check
|
||||
}
|
||||
Reference in New Issue
Block a user