diff --git a/meshlab/.SRCINFO b/meshlab/.SRCINFO new file mode 100644 index 0000000..728c009 --- /dev/null +++ b/meshlab/.SRCINFO @@ -0,0 +1,36 @@ +pkgbase = meshlab + pkgdesc = System for processing and editing of unstructured 3D models arising in 3D scanning (qt5 version) + pkgver = 2020.12 + pkgrel = 2 + url = https://www.meshlab.net + arch = i686 + arch = x86_64 + license = GPL2 + makedepends = cmake + makedepends = eigen + makedepends = ninja + makedepends = git + makedepends = muparser + makedepends = levmar + makedepends = lib3ds + makedepends = mpir + depends = bzip2 + depends = glew + depends = glu + depends = openssl-1.0 + depends = qt5-base + depends = qt5-declarative + depends = qt5-script + depends = qt5-xmlpatterns + optdepends = u3d: for U3D and IDTF file support + optdepends = lib3ds: for Autodesk`s 3D-Studio r3 and r4 .3DS file support + optdepends = levmar: for isoparametrization and mutualcorrs plugins + optdepends = muparser: for filer_func plugins + optdepends = mpir: for Constructive Solid Geometry operation filters + source = meshlab::git+https://github.com/cnr-isti-vclab/meshlab.git#tag=Meshlab-2020.12 + source = vcglib::git+https://github.com/cnr-isti-vclab/vcglib.git#tag=2020.12 + sha256sums = SKIP + sha256sums = SKIP + +pkgname = meshlab + diff --git a/meshlab/.gitrepo b/meshlab/.gitrepo new file mode 100644 index 0000000..bda493e --- /dev/null +++ b/meshlab/.gitrepo @@ -0,0 +1,12 @@ +; DO NOT EDIT (unless you know what you are doing) +; +; This subdirectory is a git "subrepo", and this file is maintained by the +; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme +; +[subrepo] + remote = https://aur.archlinux.org/meshlab + branch = master + commit = 409d5513ed41d596f5e528395219192f4ffae214 + parent = 8b56a47faa453f0c896e949ad863e19301b9847f + method = merge + cmdver = 0.4.1 diff --git a/meshlab/.shellcheckrc b/meshlab/.shellcheckrc new file mode 100644 index 0000000..39d9f24 --- /dev/null +++ b/meshlab/.shellcheckrc @@ -0,0 +1,7 @@ +# allow unsafe `cd ` +disable=SC2164 +# allow unused variable (pkgname,pkgver etc.) +disable=SC2034 +# allow uninitialized variable (srcdir,pkgdir) +disable=SC2154 + diff --git a/meshlab/.travis.yml b/meshlab/.travis.yml new file mode 100644 index 0000000..6b7cbbc --- /dev/null +++ b/meshlab/.travis.yml @@ -0,0 +1,77 @@ +sudo: required +language: c + +branches: + only: + - /.*/ + +cache: + directories: + - ~/.ccache + - ~/.pkg-cache + - ~/.cache/yay + - vcglib + - meshlab + +services: +- docker + +archlinux: + mount: + - ~/.ccache:~/.ccache + - ~/.pkg-cache:/var/cache/pacman/pkg + - ~/.cache/yay:~/.cache/yay + repos: +# - bartus=https://github.com/bartoszek/AUR-repo/raw/master +# f2c added as workaround for yay problem with building levmar. + packages: + - ccache + - moreutils + - f2c + - levmar + - lib3ds + - mpir + before_install: +# 1.Override `package-cleanup.hook` to preserve cache for travis. +# 2.Enable ccache +# 3.Multithreaded build and compress +# 4.Suppress all gcc warnings + - | + sudo mkdir /etc/pacman.d/hooks/ + sudo ln -s /dev/null /etc/pacman.d/hooks/package-cleanup.hook + sudo sed -i '/^BUILDENV/s/\!ccache/ccache/' /etc/makepkg.conf + sudo sed -i '/#MAKEFLAGS=/c MAKEFLAGS="-j2"' /etc/makepkg.conf + sudo sed -i '/^COMPRESSXZ/s/\xz/xz -T 2/' /etc/makepkg.conf + sudo sed -i '$a CFLAGS="$CFLAGS -w"' /etc/makepkg.conf + sudo sed -i '$a CXXFLAGS="$CXXFLAGS -w"' /etc/makepkg.conf + script: +# - "( . PKGBUILD ; pacman -Q ${depends[@]} ${makedepends[@]} 2>&1 1>/dev/null|cut -d' ' -f3| xargs -n1 yay -S )" +# Normalize TRAVIS variable + - | + [ "$TRAVIS" == "true" ] && TRAVIS=1 || TRAVIS=0 + export NINJA_STATUS="[%p₋|₋%f<%r<%u₋|₋%obps₋]₋" +# Build + - 'echo "Travis initialization time: $travis_uptime seconds"' + - "arch_uptime=$(cut -d' ' -f1 /proc/uptime|cut -d'.' -f1)" + - 'echo "Arch-Travis initialization time: $((arch_uptime-travis_uptime)) seconds"' + - ccache -s + - ccache -z +# set timeout to 50m minus current uptime, minus travis cache in time, minus 60 second buffer for arch-travis cleanup. + - timeout $((50*60-arch_uptime-travis_uptime-60)) makepkg -s --noconfirm > >(ts -s '%.T'); _makepkg_return=$? + - sudo pacman -Sc --noconfirm + - ccache -s + - ccache -z + - exit $_makepkg_return +script: +- "export travis_uptime=$(cut -d' ' -f1 /proc/uptime|cut -d'.' -f1)" +- 'echo "Travis initialization time: $travis_uptime seconds"' +# assume caching out will take the same amount of time as caching in those making build time equal to 50 minutes minus two time current uptime. +- "curl -s https://raw.githubusercontent.com/bartoszek/arch-travis/master/arch-travis.sh| timeout $((50*60-2*travis_uptime)) bash" +- "echo pacman pkg cache size: $(du -h ~/.pkg-cache|cut -f1) in $(ls ~/.pkg-cache|wc -l) files" + +#deploy: +# provider: script +# script: bash .travis_deploy.sh +# on: +# branch: master +# skip_cleanup: true diff --git a/meshlab/.travis_deploy.sh b/meshlab/.travis_deploy.sh new file mode 100644 index 0000000..ac569f5 --- /dev/null +++ b/meshlab/.travis_deploy.sh @@ -0,0 +1,8 @@ +. PKGBUILD +git clone https://$GITHUB_ACCESS_TOKEN@github.com/bartoszek/AUR-repo.git +cd AUR-repo +cp $TRAVIS_BUILD_DIR/$pkgname-$pkgver*.pkg.tar.xz $(pwd) +git add $pkgname-$pkgver*.pkg.tar.xz +git status +git commit -a -m "$pkgname $pkgver" -m "build_log: $TRAVIS_BUILD_WEB_URL" +git push diff --git a/meshlab/PKGBUILD b/meshlab/PKGBUILD new file mode 100644 index 0000000..b937044 --- /dev/null +++ b/meshlab/PKGBUILD @@ -0,0 +1,45 @@ +#!/hint/bash +# Maintainer : bartus +pkgname=meshlab +pkgver=2020.12 +pkgrel=2 +pkgdesc="System for processing and editing of unstructured 3D models arising in 3D scanning (qt5 version)" +arch=('i686' 'x86_64') +url="https://www.meshlab.net" +license=('GPL2') +depends=('bzip2' 'glew' 'glu' 'openssl-1.0' 'qt5-base' 'qt5-declarative' 'qt5-script' 'qt5-xmlpatterns') +makedepends=('cmake' 'eigen' 'ninja' 'git' 'muparser' 'levmar' 'lib3ds' 'mpir') +optdepends=('u3d: for U3D and IDTF file support' + 'lib3ds: for Autodesk`s 3D-Studio r3 and r4 .3DS file support' + 'levmar: for isoparametrization and mutualcorrs plugins' + 'muparser: for filer_func plugins' + 'mpir: for Constructive Solid Geometry operation filters') +#also create openctm(aur) jhead-lib structuresynth-lib to handle last dep +source=("$pkgname::git+https://github.com/cnr-isti-vclab/meshlab.git#tag=Meshlab-${pkgver}" + "vcglib::git+https://github.com/cnr-isti-vclab/vcglib.git#tag=${pkgver}" + ) +sha256sums=('SKIP' + 'SKIP' + ) + +prepare() { + git -C "${srcdir}/${pkgname}" submodule init + git -C "${srcdir}/${pkgname}" config submodule.vcglib.url "$srcdir"/vcglib + git -C "${srcdir}/${pkgname}" submodule update +} + + +build() { + local cmake_flags=( '-DALLOW_SYSTEM_QHULL=OFF' + '-DCMAKE_INSTALL_PREFIX=/usr' + ) + cmake "${cmake_flags[@]}" -G Ninja -B "${srcdir}/build" -S "${srcdir}/meshlab/src" +# shellcheck disable=SC2046 # allow MAKEFLAGS to split when passing multiple flags. + ninja $(grep -oP -- '-+[A-z]+ ?[0-9]*'<<<"${MAKEFLAGS:--j1}") -C "${srcdir}/build" +} + +package() { + DESTDIR="$pkgdir" ninja -C "${srcdir}/build" install +} + +# vim:set ts=2 sw=2 et: