Portál AbcLinuxu, 30. dubna 2025 16:03
Aktivně používám GIMP, navíc si ho sestavuji z SVN. Dnes jsem si říkal, že bych si mohl z SVN spáchat i knihovny GEGL a babl. Babl už v AUR nebyl, GEGL nešel zkompilovat, navíc je PKGBUILD v AUR napsán tak, že instaluje jakousi předpotopní verzi. Vyřešit to samozřejmě šlo, pokud používáte Arch a máte zájem (pro ostatní asi nezajímavý zápisek), čtěte dál...
První to jednodušší, čili knihovna babl:
pkgname=babl-svn pkgver=349 pkgrel=1 pkgdesc="Babl is dynamic, any to any, pixel format translation library." arch=('i686' 'x86_64') url="http://www.gegl.org/babl" license=('GPL') conflicts=('babl') provides=('babl') depends=('glibc') source=() md5sums=() _svntrunk=http://svn.gnome.org/svn/babl/trunk/ _svnmod=babl build() { cd "$srcdir" if [ -d $_svnmod/.svn ]; then (cd $_svnmod && svn up -r $pkgver) else svn co $_svntrunk --config-dir ./ $_svnmod fi msg "SVN checkout done or server timeout" msg "Starting make..." rm -r "$srcdir/$_svnmod-build" cp -r $_svnmod $_svnmod-build cd $_svnmod-build ./autogen.sh --prefix=/usr make || return 1 make DESTDIR="$pkgdir" install || return 1 }
A teď knihovna GEGL. Upravený PKGBUILD
vypadá takto:
pkgname=gegl-svn pkgver=2543 pkgrel=1 pkgdesc="GEGL (Generic Graphics Library) is a graph based image processing framework." arch=('i686' 'x86_64') url="http://www.gegl.org/" license=('GPL') conflicts=('gegl') provides=('gegl') depends=('glib2>=2.10' 'babl' 'libpng') install=$pkgname.install source=($pkgname.install patch-avformat.diff) md5sums=() _svntrunk=http://svn.gnome.org/svn/gegl/trunk/ _svnmod=gegl build() { cd "$srcdir" if [ -d $_svnmod/.svn ]; then (cd $_svnmod && svn up -r $pkgver) else svn co $_svntrunk --config-dir ./ $_svnmod fi msg "SVN checkout done or server timeout" msg "Starting make..." rm -r "$srcdir/$_svnmod-build" cp -r $_svnmod $_svnmod-build cd $_svnmod-build patch -p0 < ../patch-avformat.diff || return 1 ./autogen.sh --prefix=/usr make || return 1 make DESTDIR="$pkgdir" install || return 1 }
Použitý soubor patch-avformat.diff
upravuje cestu v souboru ff-load.c
. Na tomto to totiž vždy skončilo s hláškou, že soubor nebyl nalezen. Patrně má Arch některé věci jinde, než jiné distribuce. Takže výpis patch-avformat.diff
:
*** operations/external/ff-load.c.orig 2008-08-05 10:00:31.000000000 +0200 --- operations/external/ff-load.c 2008-08-05 10:22:48.000000000 +0200 *************** *** 29,31 **** #include <errno.h> ! #include <ffmpeg/avformat.h> --- 29,31 ---- #include <errno.h> ! #include <libavformat/avformat.h>
Soubor gegl-svn.install
jsem neměnil – použil jsem ten z AURu:
post_install() { echo ">>> If you want more functionality install the following packages:" echo ">>> sdl - libjpeg - openexr - pango - librsvg - graphviz - ruby" echo ">>> And build the package again." } post_upgrade() { post_install $1 } op=$1 shift $op $*
Doufám, že se to aspoň někomu z vás bude hodit
Nechal jsem se ukecat – už je to v AURu:
Tiskni
Sdílej:
$startdir je deprecated! Používej $srcdir a $pkgdirUpraveno
A dej to do AURuUž jsem psal výše, že jsem na to líný
A jen tak klikat na tlačítko "Adopt Packages" mne neláká.Jen tak? Chceš tam snad dát spravenej PKGBUILD, ne? Lidi budou rádi, neuškrtí tě
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.