summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD102
1 files changed, 102 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..df017290c1c2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,102 @@
+# Maintainer: Yu-Hsuan Tu <dobe0331 at gmail dot com>
+_pkgname=viewer
+pkgname=agisoft-${_pkgname}
+pkgver=1.7.5
+pkgrel=1
+pkgdesc="A free stand-alone software to visualize 3D data"
+arch=('x86_64')
+url="https://www.agisoft.com/"
+license=('custom:Agisoft EULA' 'custom')
+makedepends=('imagemagick')
+provides=('agisoft-viewer')
+conflicts=('agisoft-metashape-pro')
+options=('!strip')
+source=("https://s3-eu-west-1.amazonaws.com/download.agisoft.com/${_pkgname}_${pkgver//./_}_amd64.tar.gz"
+ "agisoft-viewer-icon-encoded.txt"
+ "agisoft-3dv-mime-icon-encoded.txt")
+sha256sums=('4f9fa76e8a5b13399caf0b834a8408da804967c9a681afd729ea4b00a3cdd0c3'
+ 'a5e29a00393d55a9b589e1fb30acb57a96ef26756507d2793e7f3494d5778ae3'
+ '047225857a8b30362bab61f916ab1ddb19c0906959bf57c4ab5e499b8a9c4fc8')
+
+build() {
+ # Create desktop entries
+ echo "[Desktop Entry]
+Type=Application
+Name=Agisoft Viewer
+Comment=Visualise the MetaShape output 3D data
+Exec=agisoft-viewer
+MimeType=application/agisoft.3dv
+Icon=agisoft-viewer
+Terminal=false
+Categories=Science;ImageProcessing" > "$srcdir/agisoft-viewer.desktop"
+
+ # Create MetaShape MIME type file
+ echo '<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+ <mime-type type="application/agisoft.3dv">
+ <comment>3D Viewer Playlist</comment>
+ <icon name="application-agisoft-pro-3dv"/>
+ <glob-deleteall/>
+ <glob pattern="*.3dv"/>
+ </mime-type>
+</mime-info>' > "$srcdir/${pkgname}-mime.xml"
+
+ # Create 128x128 application icons
+ base64 -d "$srcdir/agisoft-viewer-icon-encoded.txt" > "$srcdir/agisoft-viewer_128.png"
+
+ # Create 128x128 mime icons
+ base64 -d "$srcdir/agisoft-3dv-mime-icon-encoded.txt" > "$srcdir/application-agisoft-3dv_128.png"
+
+ # Create icons for other resolutions
+ for _res in 16 32 48 64; do
+ convert "$srcdir/agisoft-viewer_128.png" -resize ${_res}x${_res} "$srcdir/agisoft-viewer_${_res}.png"
+ convert "$srcdir/application-agisoft-3dv_128.png" -resize ${_res}x${_res} "$srcdir/application-agisoft-3dv_${_res}.png"
+ done
+
+ # Create executables for /usr/bin
+ echo "#!/bin/bash
+/opt/agisoft/${_pkgname}/viewer.sh \$@" > "$srcdir/agisoft-viewer"
+}
+
+package() {
+ # Move extracted folder to opt
+ cd "$pkgdir"
+ mkdir -p "opt/agisoft"
+ mv "${srcdir}/${_pkgname}" "${pkgdir}/opt/agisoft/"
+
+ # Install licenses
+ cd opt/agisoft/${_pkgname}
+ install -Dm644 eula.txt "$pkgdir/usr/share/licenses/$pkgname/eula.txt"
+ mv licenses "$pkgdir/usr/share/licenses/$pkgname"
+ rm eula.txt
+
+ # Move desktop entries
+ mkdir -p "${pkgdir}/usr/share/applications/"
+ mv "${srcdir}/agisoft-viewer.desktop" "${pkgdir}/usr/share/applications/"
+
+ # Create MIME type
+ mkdir -p "${pkgdir}/usr/share/mime/packages"
+ mv "${srcdir}/${pkgname}-mime.xml" "${pkgdir}/usr/share/mime/packages"
+
+ # Move icons
+ for _res in 16x16 32x32 48x48 64x64 128x128; do
+ mkdir -p "${pkgdir}/usr/share/icons/hicolor/${_res}/apps/"
+ mkdir -p "${pkgdir}/usr/share/icons/hicolor/${_res}/mimetypes/"
+ mv "$srcdir/agisoft-viewer_${_res/x*}.png" "${pkgdir}/usr/share/icons/hicolor/${_res}/apps/agisoft-viewer.png"
+ mv "$srcdir/application-agisoft-3dv_${_res/x*}.png" "${pkgdir}/usr/share/icons/hicolor/${_res}/mimetypes/application-agisoft-pro-3dv.png"
+ done
+
+ # Create executables in /usr/bin
+ install -Dm755 "$srcdir/agisoft-viewer" "$pkgdir/usr/bin/agisoft-viewer"
+
+ # Set correct permission
+ chmod -R g=u "$pkgdir/opt/agisoft/${_pkgname}"
+ chmod -R o=u "$pkgdir/opt/agisoft/${_pkgname}"
+ chmod -R g-w "$pkgdir/opt/agisoft/${_pkgname}"
+ chmod -R o-w "$pkgdir/opt/agisoft/${_pkgname}"
+ chmod -R g=u "$pkgdir/usr/share/licenses/$pkgname/licenses"
+ chmod -R o=u "$pkgdir/usr/share/licenses/$pkgname/licenses"
+ chmod -R g-w "$pkgdir/usr/share/licenses/$pkgname/licenses"
+ chmod -R o-w "$pkgdir/usr/share/licenses/$pkgname/licenses"
+}
+