Hi,
I decided to get my Vim OBS repo to also build an Arch package for the latest Vim. The problem is that my PKGBUILD is failing due to my lack of understanding of the file structure used by PKGBUILDs in the OBS. This is my present PKGBUILD:
# Maintainer: Peter Mattern <pmattern at arcor dot de>
# Interpreters are handled by value "dynamic" of configure options
# '--enable-<language>interp' and can thus be chosen at runtime by installing appropriate
# packages. Counterpart of Vim packages '-python3' no longer needed, IMHO.
_pkgname=vim
pkgname="gvim"
pkgver=7.4.1420
pkgrel=1
pkgdesc="Vim the editor. CLI version and GTK2 GUI providing majority of features."
arch=("i686" "x86_64")
url="http://www.vim.org"
license=("custom:vim")
depends=("gtk2" "hicolor-icon-theme" "gtk-update-icon-cache" "desktop-file-utils")
optdepends=("lua: Lua interpreter" "perl: Perl interpreter" "python: Python 3 interpreter"
"python2: Python 2 interpreter" "ruby: Ruby interpreter")
makedepends=("lua" "python" "python2" "ruby")
provides=("gvim" "xxd" "vim-runtime")
conflicts=("vim-minimal-git" "vim-git"
"vim-minimal" "vim" "vim-python3" "gvim" "gvim-python3")
source=("https://github.com/vim/vim/archive/v$pkgver.tar.gz"
"gvim.desktop")
sha256sums=('SKIP'
'c346da4725b2db6f7b58c5b72bdf9e7efbba2a3275e97c17db48689e4de674ca')
install=gvim.install
prepare() {
# set global configuration files to /etc/[g]vimrc
sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' $_pkgname/src/feature.h
}
build() {
cd $_pkgname
./configure \
--enable-fail-if-missing \
--with-compiledby='Arch Linux AUR' \
--prefix=/usr \
--enable-gui=gtk2 \
--with-features=huge \
--enable-cscope \
--enable-multibyte \
--enable-perlinterp=dynamic \
--enable-pythoninterp=dynamic \
--enable-python3interp=dynamic \
--enable-rubyinterp=dynamic \
--enable-luainterp=dynamic
make
}
package() {
# actual installation
cd $_pkgname
make DESTDIR=$pkgdir install
# desktop entry file and corresponding icon
install -D -m644 ../gvim.desktop $pkgdir/usr/share/applications/gvim.desktop
install -D -m644 runtime/vim48x48.png $pkgdir/usr/share/icons/hicolor/48x48/apps/gvim.png
# remove ex/view and man pages (normally provided by package 'vi' on Arch Linux)
cd $pkgdir/usr/bin ; rm ex view
find $pkgdir/usr/share/man -type d -name 'man1' 2>/dev/null | \
while read _mandir; do
cd ${_mandir}
rm -f ex.1 view.1
done
# add license
install -D -m644 $srcdir/$_pkgname/runtime/doc/uganda.txt \
$pkgdir/usr/share/licenses/$pkgname/LICENSE
}
this works fine under Arch Linux itself, but in the OBS it returns errors like:
88s] ==> Starting prepare()...
88s] sed: can't read vim/src/feature.h: No such file or directory
88s] ==> ERROR: A failure occurred in prepare().
88s] Aborting...
88s] failed to prepare sources
and I really just don’t know how to rewrite this PKGBUILD so it is compatible with the OBS.
Thanks for your time,
Brenton