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
This commit is contained in:
Doug Newgard 2013-10-26 23:56:25 +09:00 committed by Carsten Haitzler (Rasterman)
parent c4a45c75b1
commit b10243a5ea
3 changed files with 65 additions and 61 deletions

View 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 =

View 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
}

16
pkgbuild/efl.install Normal file
View File

@ -0,0 +1,16 @@
post_install() {
update-mime-database usr/share/mime > /dev/null
}
post_upgrade() {
post_install
}
post_remove() {
post_install
}