PKGBUILD cleanup
authorDoug Newgard <scimmia22@outlook.com>
Sat, 26 Oct 2013 14:56:25 +0000 (23:56 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Sat, 26 Oct 2013 14:56:25 +0000 (23:56 +0900)
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
pkgbuild/PKGBUILD.in
pkgbuild/efl.install [new file with mode: 0644]

index 8a33250..161a091 100644 (file)
@@ -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 =
index 63ed745..d7c7a8b 100644 (file)
@@ -1,35 +1,45 @@
 # Maintainer: Enlightenment Developers <enlightenment-devel@enlightenment.org>
-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 (file)
index 0000000..8407f45
--- /dev/null
@@ -0,0 +1,16 @@
+post_install() {
+  update-mime-database usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}
+
+
+
+
+