blob: a1bfddf5887a4c0e189aa2c278fb587872dd4f24 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# Maintainer: Samuel Fernando Mesa Giraldo <samuelmesa@linuxmail.org>
# Contributor: Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>
# Contributor: James Duley <jagduley gmail>
# Contributor: A. Weiss <adam [at] archlinux.us>
_Name="osgEarth"
pkgbase="${_Name,,}"
pkgname=("${pkgbase}"{,'-docs'})
pkgver=3.7
pkgrel=1
pkgdesc="A terrain rendering toolkit for OpenSceneGraph"
arch=('aarch64' 'i686' 'x86_64')
url="https://www.pelicanmapping.com/home-1/opensource"
_url="https://github.com/gwaldron/${pkgbase}"
license=('LGPL-3.0-only')
makedepends=('cmake>=3.1' 'curl' 'doxygen' 'gcc-libs' 'gdal' 'geos' 'glew'
'glibc' 'lerc' 'libgl' 'libwebp' 'meshoptimizer' 'openscenegraph'
'protobuf' 'python-sphinx-markdown-tables' 'python-myst-parser'
'rapidjson' 'spdlog' 'sqlite')
_pkgsrc="${pkgbase}-${pkgbase}-${pkgver}"
source=("${_pkgsrc}.tar.gz::${_url}/archive/refs/tags/${pkgbase}-${pkgver}.tar.gz"
"${pkgbase}_build_imgui_guess.patch::${_url}/commit/8e2693f631269762592d6ced61c2af886a1eafbb.patch?full_index=1"
"${pkgbase}_optional_fastdxt.patch"
"${pkgbase}_unbundle.patch"
"${pkgbase}_link_lerc.patch"
"${pkgbase}_cmake_install_paths.patch"
"${pkgbase}_disable_osgdb_zip.patch")
b2sums=('6fd461fbb8818a974c5ac5e4195574886e58f33554cc98948dcf114349cce2309e25c44c6aae582fceae29de72d93fb500fd67782672635beb0f3a2943816e3e'
'a817ce6c51585f124db2764a421e25082b7b5da76795127fd2ace1edf8ca7ab5310f367e4c96dd95ecd8fa199867208c4b4dd01c959936d9448bce2db13ddff1'
'ab656dfd2de1e1b3a291f38098ff2443a6d4461a26d2a1b4adca3d351fb97f2507145e13b83057d05a65047c4214f34c94f75cd6397bd328fd42bebf620d541a'
'e493e05367befdc963a3561bfd04f5b25fc04c02fa3aeb7a7bcecc48945369c22ff91f2b049e36209b95c7f10a06ab68d1607ce23e23a1475eb37b0193ee33e8'
'c1f8f84d6e9477a26489e55a743cb727fbe327c5d472d35a7b58292db6d2312002a277b3c4ed8986f5b89106a544f8e203da25f682678c2b22a3c7eb9be9b0dd'
'f6cc7f557777d556f0685dd5e39468602cc8440de24143b1d02aeb8a9e64826714c665cfb25704ba412952b1aa75f3b8f40b8bbf957f203b5152e95b40580b53'
'315ff78798b092bce0fb3805bb76cd5d3eff78c20464551b23d38e8eacb81973dd55230059095a7e7a2f1ed2fec2131e2ac631d3c9a32374b44e136eed31b8b0')
prepare() {
cd "${srcdir}/${_pkgsrc}"
patch -Np1 -i "${srcdir}/${pkgbase}_build_imgui_guess.patch"
patch -Np1 -i "${srcdir}/${pkgbase}_optional_fastdxt.patch"
patch -Np1 -i "${srcdir}/${pkgbase}_unbundle.patch"
patch -Np1 -i "${srcdir}/${pkgbase}_link_lerc.patch"
patch -Np1 -i "${srcdir}/${pkgbase}_cmake_install_paths.patch"
patch -Np1 -i "${srcdir}/${pkgbase}_disable_osgdb_zip.patch"
sed -i 's/set(CMAKE_CXX_STANDARD 14)/set(CMAKE_CXX_STANDARD 17)/' 'CMakeLists.txt'
}
build() {
export CXXFLAGS+=" -Wno-error=format-security"
local cmake_options=(
-G 'Unix Makefiles'
-B "${_pkgsrc}/build"
-S "${_pkgsrc}"
-DCMAKE_BUILD_TYPE:STRING='None'
-DCMAKE_INSTALL_PREFIX:PATH='/usr'
-DCMAKE_INSTALL_LIBDIR:STRING='lib'
-DOSGEARTH_INSTALL_SHADERS:BOOL=ON
-DOSGEARTH_BUILD_TESTS:BOOL=ON
-Wno-dev
)
# Disable fastdxt driver on non x86 arches, requires x86 intrinsics
if [[ "${CARCH}" != "x86_64" && ! "${CARCH}" =~ ^i[3-6]86$ ]]; then
cmake_options+=(-DDISABLE_FASTDXT=ON)
fi
cd "${srcdir}"
cmake "${cmake_options[@]}"
cmake --build "${_pkgsrc}/build"
cd "${_pkgsrc}"
make -C docs html
rm -f docs/build/html/.buildinfo
}
check() {
local excluded_tests=""
local ctest_flags=(
--test-dir "${_pkgsrc}/build"
--output-on-failure
--parallel $(nproc)
--exclude-regex "${excluded_tests}"
)
cd "${srcdir}"
ctest "${ctest_flags[@]}"
}
package_osgearth() {
depends=('curl' 'gcc-libs' 'gdal' 'geos' 'glew' 'glibc' 'lerc' 'libgl'
'libwebp' 'meshoptimizer' 'openscenegraph' 'protobuf' 'spdlog'
'sqlite')
provides=("lib${_Name}"{,'ImGui'}'.so')
cd "${srcdir}"
DESTDIR="${pkgdir}" cmake --install "${_pkgsrc}/build"
cd "${_pkgsrc}"
install -vDm644 "README.md" "${pkgdir}/usr/share/doc/${pkgbase}/README.md"
install -vDm644 "LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
find "data" "tests" -type f -exec \
install -Dm644 "{}" "${pkgdir}/usr/share/${_Name}/{}" \;
}
package_osgearth-docs() {
pkgdesc+=" (documentation)"
arch=('any')
cd "${srcdir}/${_pkgsrc}/docs/build"
find "html" -type f -exec \
install -vDm644 "{}" "${pkgdir}/usr/share/doc/${pkgbase}/{}" \;
}
|