# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Rafael Ferreira <josephgbr@archlinux.info>

pkgname=lucene++
pkgver=3.0.9
_githash='b545dba'
pkgrel=5
pkgdesc='C++ port of the popular Java Lucene library'
arch=(x86_64)
url='https://github.com/luceneplusplus/LucenePlusPlus'
license=('GPL' 'Apache')
depends=('boost-libs')
makedepends=('boost' 'cmake' 'subversion')
#source=(https://github.com/luceneplusplus/LucenePlusPlus/archive/rel_$pkgver.tar.gz)
source=("https://github.com/luceneplusplus/LucenePlusPlus/archive/${_githash}.tar.gz"
         https://github.com/luceneplusplus/LucenePlusPlus/commit/76dc90f2.patch
         lucene-fix-boost-asio-io_service-deprecation.patch
         gcc-15.patch
         boost-1.89.patch)
sha512sums=('25b40e0d24d70a07f6976f340faeba0eabe6279fa2a5d8e8484210f6b9faa4f3d3a69bb149c233320b74b7c4fa4be155d5575512f7e032d1e99f46cdb8ca2953'
            '0af65afca3b0725a78774d9e443efdf6ef1463f9388c98f13f3823dfd3677cd7f3a82c8e9a8e20ec3322624cc85c0ec2b91ec668f1a822462ae9beda0d8ab44d'
            '50fed61c82c366a428576c0e2e241a1795b8d54cc22d1a7d430d55b70ef5ed8c1ec248882935108638ed7e1daa1fa83d2bdc9e0497a1918cb22f0fd42627db58'
            'f87625a2c9acd82b76a916d01ac4351bc6961b71fc48942b93658eb7e9742b23d35163b23baca58d7636497e36c0ca8da9779c1cfcf611a83d301fd84679f588'
            'b94f6f9d3e79777a43c30ff0f771b2366f12307ad4355731227454fcf9b1c4f7e083a5418e94439e64a0eb1111d77611561af99b8aec24003d3242095035a97b')

prepare() {
  mkdir build
  #ln -s LucenePlusPlus-rel_$pkgver LucenePlusPlus-$pkgver
  #ln -s LucenePlusPlus-master LucenePlusPlus-$pkgver
  ln -s LucenePlusPlus-$_githash* LucenePlusPlus-$pkgver
  sed -i \
    -e 's#SET(LUCENE++_VERSION_REVISION.*#SET(LUCENE++_VERSION_REVISION "5")#' \
    -e 's#SET(LUCENE++_VERSION_PATCH.*#SET(LUCENE++_VERSION_PATCH "0")#' \
    "$srcdir"/LucenePlusPlus-$pkgver/CMakeLists.txt
  # Fix build with boost 1.85
  patch -p1 -d LucenePlusPlus-$pkgver < 76dc90f2.patch
  # Fix build with boost 1.87
  patch -p1 -d LucenePlusPlus-$pkgver < lucene-fix-boost-asio-io_service-deprecation.patch
  # Fix build with GCC 15
  patch -p1 -d LucenePlusPlus-$pkgver < gcc-15.patch
  # Fix build with boost 1.89
  patch -p1 -d LucenePlusPlus-$pkgver < boost-1.89.patch
}

build() {
  cd build

  export CMAKE_POLICY_VERSION_MINIMUM=3.5
  cmake ../LucenePlusPlus-$pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DLIB_DESTINATION=/usr/lib \
    -DBUILD_GMOCK=OFF \
    -DINSTALL_GTEST=OFF \
    -DENABLE_CUSTOM_ALLOCATOR='FALSE' \
    -DCMAKE_CXX_FLAGS='-std=c++20 -DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT'
    # RELAXED for boost 1.58 breakage, remove when lucene++ updates

  make
}

package() {
  cd build
  make DESTDIR="$pkgdir" install
}
