From b10243a5ea385e3456d7456f2765de3734677518 Mon Sep 17 00:00:00 2001 From: Doug Newgard Date: Sat, 26 Oct 2013 23:56:25 +0900 Subject: [PATCH] PKGBUILD cleanup Summary: Some of the files in the "efl" package (emotion engine and others IIRC) were linked to libs in the efl_x11 package. This created a circular dep requiring both to be installed. Should just be one package in that case. LGPL2 is actually LGPL2.1. Added 'custom' to license array to cover COPYING.SMALL. There is no 'dbus-core' package, it's part of 'dbus' now. Doesn't build without 'check' installed. provides_efl doesn't work, changed to just provides. Got rid of tabs in depends and provides, replaced with spaces. No need to add default 'strip', 'docs', and 'zipman' options, if someone want to override them, there's no reason to stop them. buildflags doesn't work as a variable, added them to CFLAGS and CXXFLAGS manually. -O2 and -g are already included by default, if someone wants to change them on their system, there's no reason to override them. Add install script to update mime database. Change shebang on eina-bench-cmp so it runs with python2, python is 3 on Arch. make dist doesn't tar Makefile, so we need to check that it exists before running "make clean distclean". Otherwise the build just fails. Building of docs should be done in the build function. Quoted all uses of $pkgdir and $srcdir Each package function gets it's own $pkgdir, so rm-ing them at the beginning of the function isn't needed. Use cp -a instead of cp -r to make sure permissions are preserved. Set correct pkgdesc, arch, license, depends, provides, and install for the doc package. Reviewers: raster Reviewed By: raster CC: cedric Differential Revision: https://phab.enlightenment.org/D240 --- Makefile.am | 3 +- pkgbuild/PKGBUILD.in | 107 ++++++++++++++++++++++----------------------------- pkgbuild/efl.install | 16 ++++++++ 3 files changed, 65 insertions(+), 61 deletions(-) create mode 100644 pkgbuild/efl.install diff --git a/Makefile.am b/Makefile.am index 8a33250..161a091 100644 --- a/Makefile.am +++ b/Makefile.am @@ -107,7 +107,8 @@ old/README.ethumb \ old/README.evas \ old/README.evil \ spec/efl.spec \ -pkgbuild/PKGBUILD +pkgbuild/PKGBUILD \ +pkgbuild/efl.install pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = diff --git a/pkgbuild/PKGBUILD.in b/pkgbuild/PKGBUILD.in index 63ed745..d7c7a8b 100644 --- a/pkgbuild/PKGBUILD.in +++ b/pkgbuild/PKGBUILD.in @@ -1,35 +1,45 @@ # Maintainer: Enlightenment Developers -pkgname=('efl' 'efl_doc' 'efl_x11') +pkgname=('efl' 'efl_doc') pkgver=@VERSION@ pkgrel=1 pkgdesc="Enlightenment Foundation Libraries - GIT development snapshot (Ecore, Eldbus, Edje, Eet, Eeze, Efreet, Eina, Eio, Embryo, Emotion, Eo, Ephysics, Ethumb, & Evas)" arch=('i686' 'x86_64' 'arm') url="http://www.enlightenment.org" -license=('BSD' 'LGPL2' 'GPL2') -makedepends=('doxygen') +license=('BSD' 'LGPL2.1' 'GPL2' 'custom') +makedepends=('doxygen' 'check') depends=('bullet' 'libpng' 'libjpeg-turbo' 'gstreamer0.10' - 'gstreamer0.10-base' 'gstreamer0.10-good' - 'gstreamer0.10-bad' 'gstreamer0.10-ugly' 'gstreamer0.10-ffmpeg' - 'zlib' 'lua' 'libtiff' 'openssl' 'util-linux' 'curl' 'dbus-core' - 'glibc' 'fontconfig' 'freetype2' 'fribidi' 'libpulse' - 'libsndfile' 'systemd' 'libx11' 'libxau' 'libxcomposite' - 'libxdamage' 'libxdmcp' 'libxext' 'libxfixes' 'libxinerama' - 'libxi' 'libxrandr' 'libxrender' 'libxss' 'libxtst' - 'libxcursor' 'libxp' 'libgl' 'giflib' 'libwebp' 'harfbuzz') -provides_efl=("ecore=$pkgver" "eldbus=$pkgver" "edje=$pkgver" - "eet=$pkgver" "eeze=$pkgver" "efreet=$pkgver" - "eina=$pkgver" "eio=$pkgver" "embryo=$pkgver" "emotion=$pkgver" - "ephysics=$pkgver" "ethumb=$pkgver" "evas=$pkgver") -options=('strip' 'docs' 'zipman' '!libtool' 'debug') -buildflags="-O2 -g -fvisibility=hidden -fomit-frame-pointer" + 'gstreamer0.10-base' 'gstreamer0.10-good' + 'gstreamer0.10-bad' 'gstreamer0.10-ugly' 'gstreamer0.10-ffmpeg' + 'zlib' 'lua' 'libtiff' 'openssl' 'util-linux' 'curl' 'dbus' + 'glibc' 'fontconfig' 'freetype2' 'fribidi' 'libpulse' + 'libsndfile' 'systemd' 'libx11' 'libxau' 'libxcomposite' + 'libxdamage' 'libxdmcp' 'libxext' 'libxfixes' 'libxinerama' + 'libxi' 'libxrandr' 'libxrender' 'libxss' 'libxtst' + 'libxcursor' 'libxp' 'libgl' 'giflib' 'libwebp' 'harfbuzz') +provides=("ecore=$pkgver" "eldbus=$pkgver" "edje=$pkgver" + "eet=$pkgver" "eeze=$pkgver" "efreet=$pkgver" + "eina=$pkgver" "eio=$pkgver" "embryo=$pkgver" "emotion=$pkgver" + "ephysics=$pkgver" "ethumb=$pkgver" "evas=$pkgver") +conflicts=('ecore' 'edje' 'eet' 'eeze' 'efreet' 'eina' 'eio' 'embryo' 'emotion' + 'ethumb' 'evas') +options=('!libtool' 'debug') +install=efl.install + +prepare() { + sed -i 's/env python$/&2/' "../../src/scripts/eina/eina-bench-cmp" +} + build() { cd "../.." - make clean distclean + export CFLAGS="$CFLAGS -fvisibility=hidden -fomit-frame-pointer" + export CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fomit-frame-pointer" + [[ -e Makefile ]] && make clean distclean ./configure --prefix=/usr \ --disable-static --disable-tslib --enable-fb \ --enable-xinput22 --enable-multisense --enable-systemd \ --enable-image-loader-webp --enable-harfbuzz make + make -j1 doc } #check() { @@ -39,52 +49,29 @@ build() { package_efl() { cd "../.." - rm -rf $pkgdir/usr make -j1 DESTDIR="$pkgdir/" install - install -Dm644 README $pkgdir/usr/share/$pkgname/README - install -Dm644 NEWS $pkgdir/usr/share/$pkgname/NEWS - install -Dm644 ChangeLog $pkgdir/usr/share/$pkgname/ChangeLog - install -Dm644 AUTHORS $pkgdir/usr/share/$pkgname/AUTHORS - install -Dm644 COMPLIANCE $pkgdir/usr/share/$pkgname/COMPLIANCE - install -Dm644 licenses/COPYING.BSD $pkgdir/usr/share/licenses/$pkgname/COPYING.BSD - install -Dm644 licenses/COPYING.GPL $pkgdir/usr/share/licenses/$pkgname/COPYING.GPL - install -Dm644 licenses/COPYING.LGPL $pkgdir/usr/share/licenses/$pkgname/COPYING.LGPL - install -Dm644 licenses/COPYING.SMALL $pkgdir/usr/share/licenses/$pkgname/COPYING.SMALL - ln -s ../licenses/$pkgname/COPYING.BSD $pkgdir/usr/share/$pkgname/COPYING.BSD - ln -s ../licenses/$pkgname/COPYING.GPL $pkgdir/usr/share/$pkgname/COPYING.GPL - ln -s ../licenses/$pkgname/COPYING.LGPL $pkgdir/usr/share/$pkgname/COPYING.LGPL - ln -s ../licenses/$pkgname/COPYING.SMALL $pkgdir/usr/share/$pkgname/COPYING.SMALL - rm -rf \ - $pkgdir/usr/include/evas-1/Evas_Engine_*_X11.h \ - $pkgdir/usr/include/ecore-x-1 \ - $pkgdir/usr/lib/evas/modules/engines/*_x11 \ - $pkgdir/usr/lib/ecore_evas/engines/x \ - $pkgdir/usr/lib/libecore_x* \ - $pkgdir/usr/lib/pkgconfig/ecore-x.pc \ - $pkgdir/usr/lib/pkgconfig/evas-*-x11.pc + install -Dm644 README "$pkgdir/usr/share/$pkgname/README" + install -Dm644 NEWS "$pkgdir/usr/share/$pkgname/NEWS" + install -Dm644 ChangeLog "$pkgdir/usr/share/$pkgname/ChangeLog" + install -Dm644 AUTHORS "$pkgdir/usr/share/$pkgname/AUTHORS" + install -Dm644 COMPLIANCE "$pkgdir/usr/share/$pkgname/COMPLIANCE" + install -Dm644 licenses/COPYING.BSD "$pkgdir/usr/share/licenses/$pkgname/COPYING.BSD" + install -Dm644 licenses/COPYING.GPL "$pkgdir/usr/share/licenses/$pkgname/COPYING.GPL" + install -Dm644 licenses/COPYING.LGPL "$pkgdir/usr/share/licenses/$pkgname/COPYING.LGPL" + install -Dm644 licenses/COPYING.SMALL "$pkgdir/usr/share/licenses/$pkgname/COPYING.SMALL" + ln -s "../licenses/$pkgname/COPYING.BSD" "$pkgdir/usr/share/$pkgname/COPYING.BSD" + ln -s "../licenses/$pkgname/COPYING.GPL" "$pkgdir/usr/share/$pkgname/COPYING.GPL" + ln -s "../licenses/$pkgname/COPYING.LGPL" "$pkgdir/usr/share/$pkgname/COPYING.LGPL" + ln -s "../licenses/$pkgname/COPYING.SMALL" "$pkgdir/usr/share/$pkgname/COPYING.SMALL" } package_efl_doc() { + pkgdesc="Documentation for the Enlightenment Foundation Libraries" + arch=('any') + unset license depends provides conflicts install cd "../.." - rm -rf $pkgdir/usr - make -j1 doc - mkdir -p $pkgdir/usr/share/$pkgname - cp -r doc/html $pkgdir/usr/share/$pkgname/html - cp -r doc/latex $pkgdir/usr/share/$pkgname/latex + mkdir -p "$pkgdir/usr/share/doc/$pkgname" + cp -a doc/html "$pkgdir/usr/share/doc/$pkgname/html" + cp -a doc/latex "$pkgdir/usr/share/doc/$pkgname/latex" } -package_efl_x11() { - cd "../.." - rm -rf $pkgdir/usr - make -j1 DESTDIR="$pkgdir/" install - tar cf /tmp/xf.tar \ - $pkgdir/usr/include/evas-1/Evas_Engine_*_X11.h \ - $pkgdir/usr/include/ecore-x-1 \ - $pkgdir/usr/lib/evas/modules/engines/*_x11 \ - $pkgdir/usr/lib/ecore_evas/engines/x \ - $pkgdir/usr/lib/libecore_x* \ - $pkgdir/usr/lib/pkgconfig/ecore-x.pc \ - $pkgdir/usr/lib/pkgconfig/evas-*-x11.pc - rm -rf $pkgdir/usr - tar -C / -P -xf /tmp/xf.tar -} diff --git a/pkgbuild/efl.install b/pkgbuild/efl.install new file mode 100644 index 0000000..8407f45 --- /dev/null +++ b/pkgbuild/efl.install @@ -0,0 +1,16 @@ +post_install() { + update-mime-database usr/share/mime > /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + + + + + -- 2.7.4