1SUMMARY="A thin layer of graphic data types" 2DESCRIPTION="When creating graphic libraries you most likely end up dealing with points and \ 3rectangles. If you're particularly unlucky, you may end up dealing with affine matrices and 2D \ 4transformations. If you're writing a graphic library with 3D transformations, though, you are \ 5going to hit the jackpot: 4x4 matrices, projections, transformations, vectors, and quaternions. 6 7Most of this stuff exists, in various forms, in other libraries, but it has the major drawback of \ 8coming along with the rest of those libraries, which may or may not be what you want. Those \ 9libraries are also available in various languages, as long as those languages are C++; again, it \ 10may or may not be something you want. 11 12For this reason, I decided to write the thinnest, smallest possible layer needed to write a \ 13canvas library; given its relative size, and the propensity for graphics libraries to have a pun \ 14in their name, I decided to call it Graphene. 15 16This library provides types and their relative API; it does not deal with windowing system \ 17surfaces, drawing, scene graphs, or input. You are supposed to do that yourself, in your own \ 18canvas implementation, which is the whole point of writing the library in the first place." 19HOMEPAGE="https://ebassi.github.io/graphene/" 20COPYRIGHT="2014-2018 Emmanuele Bassi" 21LICENSE="MIT" 22REVISION="1" 23SOURCE_URI="https://github.com/ebassi/graphene/archive/refs/tags/$portVersion.tar.gz" 24CHECKSUM_SHA256="922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed" 25srcGitRev_2="f0dcb2a48a4a8ef3dc1f7327bb0d4056a798c1a7" 26SOURCE_URI_2="https://github.com/ebassi/mutest/archive/$srcGitRev_2.tar.gz" 27CHECKSUM_SHA256_2="8e5728113f7247bd6f6655dae94642f646c03b747f44724a6dc2e5f95a627d99" 28 29ARCHITECTURES="all !x86_gcc2" 30SECONDARY_ARCHITECTURES="x86" 31 32libVersion="0.1000.8" 33libVersionCompat="$libVersion compat >= ${libVersion%%.*}" 34 35PROVIDES=" 36 graphene$secondaryArchSuffix = $portVersion 37 lib:libgraphene_1.0$secondaryArchSuffix = $libVersionCompat 38 " 39REQUIRES=" 40 haiku$secondaryArchSuffix 41 lib:libglib_2.0$secondaryArchSuffix 42 lib:libgobject_2.0$secondaryArchSuffix 43 " 44 45PROVIDES_devel=" 46 graphene${secondaryArchSuffix}_devel = $portVersion 47 devel:libgraphene_1.0$secondaryArchSuffix = $libVersionCompat 48 " 49REQUIRES_devel=" 50 graphene$secondaryArchSuffix == $portVersion base 51 " 52 53BUILD_REQUIRES=" 54 haiku${secondaryArchSuffix}_devel 55 devel:libgirepository_1.0$secondaryArchSuffix 56 devel:libglib_2.0$secondaryArchSuffix 57 devel:libgobject_2.0$secondaryArchSuffix 58 " 59BUILD_PREREQUIRES=" 60 cmd:cmake 61 cmd:gcc$secondaryArchSuffix 62 cmd:gtkdoc_scan 63 cmd:meson 64 cmd:ninja 65 cmd:pkg_config$secondaryArchSuffix 66 cmd:python3 67 pygments_python310 68 " 69 70BUILD() 71{ 72 cp -r $sourceDir2/mutest-$srcGitRev_2/* subprojects/mutest 73 meson --buildtype release \ 74 --prefix $prefix \ 75 --bindir $binDir \ 76 --datadir $dataDir \ 77 --includedir $includeDir \ 78 --libdir $libDir \ 79 --default-library shared \ 80 -Dgtk_doc=true \ 81 -Dintrospection=enabled \ 82 -Dinstalled_tests=false \ 83 build 84 ninja -C build $jobArgs 85} 86 87INSTALL() 88{ 89 ninja -C build install 90 91 # move header to $includeDir develop/lib/graphene-1.0/include 92 mkdir -p $developLibDir 93 mv $libDir/graphene-1.0 $developLibDir 94 95 mkdir -p $dataDir 96 mv $prefix/share/* $dataDir 97 rm -rf $prefix/share 98 99 prepareInstalledDevelLib \ 100 libgraphene-1.0 101 fixPkgconfig 102 103 packageEntries devel \ 104 $developDir 105} 106