Guest User

PKGBUILD: dxfplotter version 1.5.2

a guest
Sep 10th, 2026
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.08 KB | Source Code | 0 0
  1. # Maintainer:  Tristan Porteries <[email protected]>
  2. # Contributor: dreieck (https://aur.archlinux.org/account/dreieck)
  3. # Contributor: Tristan Porteries <[email protected]>
  4.  
  5. pkgname=dxfplotter
  6. pkgver=1.5.2
  7. pkgrel=1
  8. pkgdesc="Fast and easy to use DXF to GCode converter for laser and router CNC"
  9. arch=("x86_64" "i686" "aarch64")
  10. url="https://github.com/panzergame/dxfplotter"
  11. license=("MIT")
  12. makedepends=(git cmake make python python-jinja "eigen>=3")
  13. depends=("qt6-3d" "qt6-base")
  14. provides=("dxfplotter")
  15. source=(
  16.   "$pkgname-$pkgver::git+https://github.com/panzergame/$pkgname.git#tag=v${pkgver}"
  17.   "nanoflann::git+https://github.com/jlblancoc/nanoflann.git"
  18.   "CavalierContours::git+https://github.com/jbuckmccready/CavalierContours.git"
  19.   "cereal::git+https://github.com/USCiLab/cereal.git"
  20.   "yaml-cpp::git+https://github.com/jbeder/yaml-cpp.git"
  21.   "fmt::git+https://github.com/fmtlib/fmt.git"
  22.   "or-tools::git+https://github.com/google/or-tools.git"
  23. )
  24. md5sums=(
  25.   'SKIP'
  26.   'SKIP'
  27.   'SKIP'
  28.   'SKIP'
  29.   'SKIP'
  30.   'SKIP'
  31.   'SKIP'
  32. )
  33.  
  34. prepare() {
  35.   cd "$pkgname-$pkgver"
  36.   git submodule init
  37.   local _gitmodule
  38.   for _gitmodule in nanoflann CavalierContours cereal yaml-cpp fmt or-tools; do
  39.     git config submodule.thirdparty/"${_gitmodule}".url  "${srcdir}/${_gitmodule}"
  40.   done
  41.   git -c protocol.file.allow=always submodule update
  42. }
  43.  
  44. build() {
  45.  
  46. # Silence some compiler warnings:
  47. local _SILENCEWARNINGS=("misleading-indentation" "dangling-reference" "unused-parameter" "sfinae-incomplete" "implicit-fallthrough")
  48. local _CFLAGSADDITIONS=""
  49. local _warning
  50. for _warning in "${_SILENCEWARNINGS[@]}"; do
  51.   _CFLAGSADDITIONS+=" -Wno-${_warning}"
  52. done
  53. CXXFLAGS+="${_CFLAGSADDITIONS}"
  54. export CXXFLAGS
  55.  
  56.   cmake \
  57.     -S "$pkgname-$pkgver" -B build \
  58.     -DCMAKE_BUILD_TYPE=Release \
  59.     -DCMAKE_INSTALL_PREFIX=/usr \
  60.     -DCMAKE_INSTALL_BINDIR=/usr/bin \
  61.     -DCMAKE_INSTALL_SBINDIR=/usr/bin \
  62.     -DCMAKE_INSTALL_SYSCONFDIR=/etc \
  63.     -DCMAKE_INSTALL_DATAROOTDIR=/usr/share \
  64.     -DCMAKE_INSTALL_INCLUDEDIR=/usr/include \
  65.     -DCMAKE_INSTALL_LIBDIR=/usr/lib \
  66.     -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec \
  67.     -DCMAKE_INSTALL_DOCDIR=/usr/share/doc \
  68.     -DCMAKE_INSTALL_INFODIR=/usr/share/info \
  69.     -DCMAKE_INSTALL_MANDIR=/usr/share/man \
  70.     -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
  71.     -DCMAKE_INSTALL_RUNSTATEDIR=/var/run \
  72.     -DWITH_ORTOOLS=OFF \
  73.     -DBUILD_TESTING=OFF \
  74.     -DWITH_WERROR=OFF \
  75.     -Wno-dev
  76.   cmake --build build --target "$pkgname"
  77. }
  78.  
  79. package() {
  80.   cmake --install build --prefix "$pkgdir"
  81.  
  82.   # Fixup messed up installation directories
  83.   install -dvm 755 "${pkgdir}/usr/bin"
  84.   mv -v "${pkgdir}/bin"/* "${pkgdir}/usr/bin"/
  85.   rmdir -v "${pkgdir}/bin"
  86.   install -dvm 755 "${pkgdir}/usr/share"
  87.   mv -v "${pkgdir}/share"/* "${pkgdir}/usr/share"/
  88.   rmdir -v "${pkgdir}/share"
  89.  
  90.   cd "$pkgname-$pkgver"
  91.   install -Dvm644 -t "${pkgdir}/usr/share/doc/${pkgname}"      CHANGELOG.md README.md
  92.   install -Dvm644 -t "${pkgdir}/usr/share/doc/${pkgname}/doc"  doc/*
  93.   install -Dvm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENCE.txt
  94. }
  95.  
Advertisement
Add Comment
Please, Sign In to add comment