156 lines
3.9 KiB
Bash

# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Antonio Rojas <arojas@archlinux.org>
pkgbase=avogadrolibs
pkgname=(avogadrolibs
avogadrolibs-qt5)
pkgver=1.100.0
pkgrel=1
pkgdesc='Libraries that provide 3D rendering, visualization, analysis and data processing useful in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas'
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
url='https://www.openchemistry.org/'
license=(custom)
makedepends=(boost
cmake
eigen
fast_float
fmt
git
hdf5
genxrdpattern
glew
libmsym
mmtf-cpp
nlohmann-json
openmpi
pybind11
python
spglib
tbb
utf8cpp
verdict
vtk)
makedepends_powerpc=(
qt6-svg
qt6-tools
)
makedepends_powerpc64=(
qt5-svg
qt5-tools
)
makedepends_powerpc64le=(
qt5-svg
qt5-tools
)
makedepends_riscv64=(
qt5-svg
qt5-tools
)
makedepends_x86_64=(
qt5-svg
qt5-tools
)
source=(git+https://github.com/OpenChemistry/avogadrolibs#tag=$pkgver)
sha256sums=('468e577097cd30f1f5c7339ece95278fe7d890f4eba440688d2b5953214de685')
prepare() {
mkdir crystals fragments molecules # Dummy dirs to trick cmake, actually provided by avogadro-{crystals,fragments,molecules}
}
build() {
case "${CARCH}" in
powerpc)
_cmake_options=(-DQT_VERSION=6)
;;
powerpc64)
export CFLAGS='-O2 -pipe'
export CXXFLAGS='-O2 -pipe'
_cmake_options=(-DQT_VERSION=5)
;;
*)
_cmake_options=(-DQT_VERSION=5)
;;
esac
cmake -B build -S $pkgname \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects" \
-DCMAKE_CXX_FLAGS="$CXXFLAGS -ffat-lto-objects" \
-DENABLE_TRANSLATIONS=ON \
-DUSE_HDF5=ON \
-DUSE_VTK=ON \
-DUSE_PYTHON=ON \
-DUSE_SYSTEM_GENXRDPATTERN=ON \
-DUSE_EXTERNAL_NLOHMANN=ON \
-DUSE_EXTERNAL_PUGIXML=ON ${_cmake_options[@]}
cmake --build build
}
package_avogadrolibs() {
depends=(avogadro-crystals
avogadro-fragments
avogadro-molecules
gcc-libs
glew
glibc
hdf5
libglvnd
molequeue
pugixml
spglib
verdict)
optdepends=('avogadrolibs-qt5: For the VTK and Qt plugins')
DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/lib/libAvogadroQt* \
"$pkgdir"/usr/lib/libAvogadroMoleQueue* \
"$pkgdir"/usr/lib/libAvogadroVtk* \
"$pkgdir"/usr/include/avogadro/{molequeue,qt*,vtk} \
"$pkgdir"/usr/lib/avogadro2/{scripts,staticplugins}
install -Dm644 $pkgname/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
}
package_avogadrolibs-qt5() {
pkgdesc="Qt 5 modules for Avogadro"
depends=(avogadrolibs
fmt # needed by VTK dependencies
gcc-libs
glew
glibc
libarchive
libglvnd
libmsym
libxcursor # needed by VTK dependencies
openmpi # needed by VTK dependencies
vtk)
depends_powerpc=(
qt6-base
qt6-svg
)
depends_powerpc64=(
qt5-base
qt5-svg
)
depends_powerpc64le=(
qt5-base
qt5-svg
)
depends_riscv64=(
qt5-base
qt5-svg
)
depends_x86_6464=(
qt5-base
qt5-svg
)
DESTDIR="$pkgdir" cmake --install build/avogadro/molequeue
DESTDIR="$pkgdir" cmake --install build/avogadro/qtgui
DESTDIR="$pkgdir" cmake --install build/avogadro/qtopengl
DESTDIR="$pkgdir" cmake --install build/avogadro/qtplugins
DESTDIR="$pkgdir" cmake --install build/avogadro/vtk
install -Dm644 $pkgbase/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
}