diff options
author | Daniel Bermond | 2017-02-28 00:47:16 -0300 |
---|---|---|
committer | Daniel Bermond | 2017-02-28 00:47:16 -0300 |
commit | be35346318aee8b1544b83553e669760a9945ac6 (patch) | |
tree | c495e0b5fa83de6f29b675295aad458fbdf0867e /PKGBUILD | |
parent | cc91c9cf3e258720f1df9a60b3d24bbf890721de (diff) | |
download | aur-be35346318aee8b1544b83553e669760a9945ac6.tar.gz |
Fixed compilation with gcc6. Major rewrite.
First commit after adoption.
This package needed a major rewrite as follows:
1) description:
a) removed the reference to $pkgname to avoid namcap complain.
b) updated description.
2) url:
Changed URL to the GitHub one since openni.org is redirecting
to apple.com.
3) license:
changed from GPL to APACHE as it is the correct one.
4) depends:
a) added missed glu dependency (build fails in chroot).
b) since both freeglut and glu triggers mesa installation, mesa can
be removed.
5) makedepends:
added dos2unix. See item 7 - prepare().
6) source:
source was a clone of the upstream git repository but this is not a
git package (no -git in the name), so it was not making making sense
to do a git clone. Changed this to a plain zip download. Please note
that it will use the stable version.
7) prepare():
added this function to apply a patch from Debian that fixes building
with gcc6. It was necessary to use dos2unix since the source has
Windows line endings.
8) build():
a) removed the steps that were being made before running make.
I could not identify any difference without them.
b) removed the -lGL flag as it is already added by the building
process.
9) package():
a) code rewrite, now cleaner IMHO and commented.
b) changed the config directory from /usr/share/openni to
/etc/openni as used by Debian.
c) removed the installation of all Sample binaries because they
seem to be useless.
d) added installation of documentation (pre-built pdf and chm).
e) added installation of the APACHE license and the file with
copyright.
10) install file:
a) added mention of openni-primesense-sensor.
b) changed mention of sensorkinect-git (removed from AUR) to
sensorkinect.
11) pkg-config file:
a) changed name from OpenNI2 to openni.
b) updated description.
12) readability and cosmetics:
a) changed indentation from 2 to 4 spaces.
b) changed $_platform variable to $_architecture.
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 113 |
1 files changed, 64 insertions, 49 deletions
@@ -1,63 +1,78 @@ -# Maintainer: Benjamin Chretien <chretien at lirmm dot fr> +# Maintainer : Daniel Bermond < yahoo-com: danielbermond > +# Contributor: Benjamin Chretien <chretien at lirmm dot fr> # Contributor: Sven Schneider <archlinux.sandmann@googlemail.com> # Contributor: bugix # Contributor: Lubosz Sarnecki <lubosz at gmail> pkgname=openni pkgver=1.5.7.10 -pkgrel=2 -pkgdesc="The OpenNI Framework provides the interface for physical devices and for middleware components" +pkgrel=3 +pkgdesc="An interface for physical devices and for middleware components" arch=('i686' 'x86_64') -url="http://www.openni.org/" -license=('GPL') -depends=('freeglut' 'mesa' 'libusb' 'java-environment') -makedepends=('git') -install="openni.install" - -_gitroot="github.com/OpenNI/OpenNI.git" -_gitname="openni" -_gitbranch="Stable" - -source=("$_gitname-build"::"git+https://$_gitroot"#tag=$_gitbranch-$pkgver - "libopenni.pc") -md5sums=('SKIP' - '846a9b0be1dbee5f1d4619db42034978') - -if [ "${CARCH}" = "x86_64" ]; then - _platform=x64 -else - _platform=x86 -fi +url="https://github.com/OpenNI/OpenNI/" +license=('APACHE') +depends=('freeglut' 'glu' 'libusb' 'java-environment') +makedepends=('dos2unix') +install="${pkgname}.install" +_srcprefix="OpenNI-Stable" +source=("${_srcprefix}-${pkgver}.tar.gz"::"https://github.com/OpenNI/OpenNI/archive/Stable-${pkgver}.tar.gz" + '0016-Rename-equivalent-to-fix-compilation-on-gcc6.patch' + 'libopenni.pc') +sha256sums=('34b0bbf68633bb213dcb15408f979d5384bdceb04e151fa519e107a12e225852' + '69cbbde667d2ad18bfb3e9933bda05d0cae36d575a4082912bbc42b7c754cd8c' + '90b67ed122eb33df96d9935421d79b620f87e791d8773e00c1406ebafd01a364') +prepare() { + cd "${srcdir}/${_srcprefix}-${pkgver}" + dos2unix Samples/NiViewer/glh/glh_linear.h + patch -Np1 -i "${srcdir}/0016-Rename-equivalent-to-fix-compilation-on-gcc6.patch" +} build() { - find "${srcdir}/${_gitname}-build/Samples" -type f -exec sed -i 's#../../../../Data/SamplesConfig.xml#/usr/share/openni/SamplesConfig.xml#g' {} \; - - cd "${srcdir}/${_gitname}-build/Platform/Linux/Build" - - if [ -f Common ]; then ln -fs `cat Common` Common; fi - - # BUILD - LDFLAGS+=' -lGL' make + cd "${srcdir}/${_srcprefix}-${pkgver}/Platform/Linux/Build" + make } package() { - install -d -m755 "${pkgdir}/usr/"{lib,bin,share/openni,include/ni/Linux-x86} - install -d -m755 "${pkgdir}/var/lib/ni" - - cd "${srcdir}/${_gitname}-build/Include" - install *.h "${pkgdir}/usr/include/ni" - install Linux-x86/* "${pkgdir}/usr/include/ni/Linux-x86" - - cd "${srcdir}/${_gitname}-build/Data" - install SamplesConfig.xml "${pkgdir}/usr/share/openni" - - cd "${srcdir}/${_gitname}-build/Platform/Linux/Bin/${_platform}-Release" - install niLicense niReg "${pkgdir}/usr/bin" - install Sample* "${pkgdir}/usr/bin" - - install libnimCodecs.so libnimMockNodes.so libnimRecorder.so libOpenNI.so libOpenNI.jni.so "${pkgdir}/usr/lib" - - install -d -m755 "${pkgdir}/usr/lib/pkgconfig" - cp "${srcdir}/libopenni.pc" "${pkgdir}/usr/lib/pkgconfig/" + if [ "${CARCH}" = "x86_64" ] + then + _architecture="x64" + elif [ "${CARCH}" = "i686" ] + then + _architecture="x86" + fi + + # directories creation + mkdir -p "${pkgdir}/usr/"{bin,include/ni/{Linux-Arm,Linux-x86}} + mkdir -p "${pkgdir}/usr/"{lib/pkgconfig,share/{doc/"${pkgname}",licenses/"${pkgname}"}} + mkdir -p "${pkgdir}/etc/openni" # config (populated at build time) + mkdir -p "${pkgdir}/var/lib/ni" # config (populated at install time) + + # binaries and libraries + cd "${srcdir}/${_srcprefix}-${pkgver}/Platform/Linux/Bin/${_architecture}-Release" + install -D -m755 niLicense niReg NiViewer "${pkgdir}/usr/bin" + install -D -m755 *.so "${pkgdir}/usr/lib" + + # includes + cd "${srcdir}/${_srcprefix}-${pkgver}/Include" + install -D -m644 *.h "${pkgdir}/usr/include/ni" + install -D -m755 Linux-Arm/* "${pkgdir}/usr/include/ni/Linux-Arm" + install -D -m755 Linux-x86/* "${pkgdir}/usr/include/ni/Linux-x86" + + # config + cd "${srcdir}/${_srcprefix}-${pkgver}/Data" + install -D -m644 SamplesConfig.xml "${pkgdir}/etc/openni" + + # pkg-config file + cd "$srcdir" + install -D -m644 libopenni.pc "${pkgdir}/usr/lib/pkgconfig" + + # documentation + cd "${srcdir}/${_srcprefix}-${pkgver}/Documentation" + install -D -m644 * "${pkgdir}/usr/share/doc/${pkgname}" + + # license + cd "${srcdir}/${_srcprefix}-${pkgver}" + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}" + install -D -m644 NOTICE "${pkgdir}/usr/share/licenses/${pkgname}" } |