97 lines
3.9 KiB
Bash

# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Contributor: Adrià Cabello <adro.cc79 at protonmail dot com>
# Contributor: Fabio Loli <fabio.loli@disroot.org>
pkgname=materialx
pkgver=1.38.10
pkgrel=6
pkgdesc="Open standard for representing rich material and look-development content in computer graphics"
arch=(x86_64 powerpc64le)
url="https://materialx.org/"
license=('Apache')
depends=('glibc' 'gcc-libs' 'glfw' 'libglvnd' 'libx11' 'libxt' 'python'
'python-setuptools' 'opencolorio' 'dos2unix' 'zenity')
makedepends=('cmake' 'chrpath' 'libxinerama' 'libxcursor' 'pybind11' 'ninja')
source=("https://github.com/AcademySoftwareFoundation/MaterialX/releases/download/v${pkgver}/MaterialX-${pkgver}.tar.gz"
"materialx-grapheditor.desktop"
"materialx-view.desktop"
"materialx.xml")
sha256sums=('f7f2aa7587ae63eb095cef35d202d23df341e3d67c8c458357d2a555d76c69f2'
'88e5ecafa8088b90f799b49c36af59f8462ca7426cdec58215332ee283556ddb'
'2f2b675540fea39a749f89083a9c341319c1f7b478fbb049a77bd66c29b2ee01'
'd9b9426fb94121da052b796542cc74a0c5d7cef06997be70611c25f345553861')
prepare() {
cd MaterialX-${pkgver}
# Repath
sed -i 's|CMAKE_INSTALL_PREFIX|CMAKE_BINARY_DIR|g' python/CMakeLists.txt
sed -i 's|resources|/usr/share/materialx/resources|g' source/MaterialXView/{Main.cpp,Viewer.cpp}
sed -i 's|"libraries"|"/usr/share/materialx/libraries"|g' source/MaterialXView/Main.cpp
sed -i 's|resources|/usr/share/materialx/resources|g' source/MaterialXGraphEditor/{Main.cpp,Graph.cpp}
sed -i 's|"libraries"|"/usr/share/materialx/libraries"|g' source/MaterialXGraphEditor/{Main.cpp,Graph.cpp}
sed -i 's|"libraries"|"/usr/share/materialx/libraries"|g' source/MaterialXGenShader/GenOptions.h
dos2unix python/Scripts/*
}
build() {
cmake -S MaterialX-${pkgver} -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
-DCMAKE_SKIP_RPATH=ON \
-Wno-dev \
-DMATERIALX_BUILD_SHARED_LIBS=ON \
-DMATERIALX_BUILD_PYTHON=ON \
-DMATERIALX_BUILD_VIEWER=ON \
-DMATERIALX_BUILD_GRAPH_EDITOR=ON \
-DNANOGUI_NATIVE_FLAGS="" # do not set -march=nehalem unconditionally on non-arm/windows
cmake --build build
}
package() {
_pyver=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
DESTDIR=${pkgdir} cmake --install build
find ${pkgdir} -type f -name "README.md" -exec rm {} \;
rm ${pkgdir}/usr/CHANGELOG.md
for file in ${pkgdir}/usr/python/Scripts/*; do
name="${file%.py}"
chmod +x "$file"
mv "$file" $name
done
mkdir -p ${pkgdir}/usr/share/$pkgname
mv ${pkgdir}/usr/resources ${pkgdir}/usr/share/$pkgname/resources
mv ${pkgdir}/usr/libraries ${pkgdir}/usr/share/$pkgname/libraries
cp ${pkgdir}/usr/python/Scripts/* ${pkgdir}/usr/bin
rm -r ${pkgdir}/usr/python/Scripts
mkdir -p ${pkgdir}/usr/lib/python$_pyver
mv ${pkgdir}/usr/python $_/site-packages
install -Dm755 ${srcdir}/MaterialX-${pkgver}/documents/Images/MaterialXLogo_200x155.png ${pkgdir}/usr/share/icons/hicolor/256x256/apps/materialx.png
# Fix CMake configs
sed -i 's|libraries|share/materialx/libraries|g' ${pkgdir}/usr/lib/cmake/MaterialX/MaterialXConfig.cmake
sed -i 's|python|lib/python'$_pyver'/site-packages/MaterialX|g' ${pkgdir}/usr/lib/cmake/MaterialX/MaterialXConfig.cmake
sed -i 's|resources|share/materialx/resources|g' ${pkgdir}/usr/lib/cmake/MaterialX/MaterialXConfig.cmake
mkdir -p ${pkgdir}/usr/share/{applications,mime/model,licenses/$pkgname}
cp ${srcdir}/{materialx-grapheditor.desktop,materialx-view.desktop} ${pkgdir}/usr/share/applications
install -Dm644 ${srcdir}/materialx.xml ${pkgdir}/usr/share/mime/model/materialx.xml
mv ${pkgdir}/usr/{LICENSE,THIRD-PARTY.md} ${pkgdir}/usr/share/licenses/materialx/
# Remove junk
rm -rf ${pkgdir}/build
# Remove empty dirs
find ${pkgdir}/usr -empty -type d -delete
}