You are not logged in.

#1 2008-12-19 23:16:38

duquesnc
Member
Registered: 2008-12-10
Posts: 94
Website

[REQUEST] vimgdb

Hi, I'm currently trying to build a program called vimgdb. This program is usefull if you like to code with vim, since it allows you to call gdb from vim and then to debug within the best editor of the world. If you knew clewn, it does the same thing, except I find it 10 times better since you don't have to use gvim and you can code directly in a terminal (so you are able to ctrl+Z, and so on).

Here is the PKGBUILD that I'm trying to debug.

pkgname=vim
pkgver=7.2
pkgrel=0.1
pkgdesc="vim, but patched for the use of gdb. You may prefer it to clewn, since it does not require you to use gvim."
arch=(i686 x86_64)
license=('custom:vim')
url="http://www.vim.org"
depends=("vi>=${pkgver}" 'perl' 'python' 'ruby' 'acl' 'gpm>=1.20.4' 'libxt')
makedepends=('wget' 'sed' 'grep')
source=(ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2 \
        "http://downloads.sourceforge.net/clewn/vimgdb72-1.14.tar.gz")
md5sums=('f0901284b338e448bfd79ccca0041254' 'e406c64d29a3152a3f5d0fffe3d2bba8')

build()
{
  cd "${srcdir}"
  patch -d vim72 --backup -p0 < vimgdb/vim72.diff
  cd "${srcdir}/vim72/src"
  ./configure --prefix=/usr --localstatedir=/var/lib/vim            \
    --mandir=/usr/share/man --with-compiledby=ArchLinux             \
    --with-features=big --with-x=yes --disable-gui                  \
    --with-global-runtime=/usr/share/vim --with-vim-name=vim        \
    --enable-multibyte --enable-cscope --enable-perlinterp          \
    --enable-pythoninterp --enable-rubyinterp --enable-multibyte    \
    --enable-gettext --enable-iconv --enable-langmap --enable-signs \
    --enable-gdb
  make || return 1
  make  VIMRCLOC=/etc DESTDIR=${startdir}/pkg VIMRTDIR= install

  cd ${startdir}/pkg/usr/bin
  rm -f ex view rview xxd vimtutor
  ln -s vitutor vimtutor

   # delete the manpages/symlinks provided by vi package
  find ${startdir}/pkg/usr/share/man -type d -name 'man1' 2> /dev/null | \
   while read mandir; do
    cd ${mandir}
    mv vimdiff.1 vimdiff.org
    rm -f *.1
    ln -s rvi.1.gz rvim.1.gz
    ln -s vi.1.gz vim.1.gz
    ln -s vitutor.1.gz vimtutor.1.gz
    mv vimdiff.org vimdiff.1
  done
}

I tried to use the extra/vim PKGBUILD (here is a link) It compiles nicely, but then when I use pacman -U, I get the following errors (sorry I'm french, so the output is in french) :

Just recall that "est déjà présent dans le système de fichiers" means "is already present in the filesystem".

Thank you in advance for the kind help you would provide me.

Offline

#2 2008-12-19 23:23:36

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: [REQUEST] vimgdb

duquesnc wrote:

I tried to use the extra/vim PKGBUILD (here is a link) It compiles nicely, but then when I use pacman -U, I get the following errors (sorry I'm french, so the output is in french) :

Just recall that "est déjà présent dans le système de fichiers" means "is already present in the filesystem".

Thank you in advance for the kind help you would provide me.

Well. If those files are present, and it's trying to overwrite them, where did they come from? Try a pacman -Qo /path/to/some/file to see which package owns that one. If it's vim and your package is not named vim, you need to tell pacman that yours replaces=(vim). If they are owner by nothing, then someone goofed and you should figure out how those files got on your machine

Offline

#3 2008-12-19 23:35:13

duquesnc
Member
Registered: 2008-12-10
Posts: 94
Website

Re: [REQUEST] vimgdb

Thank you, I'm trying it.

Offline

#4 2008-12-19 23:48:10

duquesnc
Member
Registered: 2008-12-10
Posts: 94
Website

Re: [REQUEST] vimgdb

Apparently, those files belong to vi.

I removed vi from

depends=("vi>=${pkgver}" 'perl' 'python' 'ruby' 'acl' 'gpm>=1.20.4' 'libxt')

and I also added

replaces=('vi' 'vim')

But I this does not seem to solve the problem.

Offline

#5 2008-12-19 23:50:28

duquesnc
Member
Registered: 2008-12-10
Posts: 94
Website

Re: [REQUEST] vimgdb

I also have to say that at this point, if remove vi with pacman, the installation performs well.

Offline

#6 2008-12-20 10:36:47

duquesnc
Member
Registered: 2008-12-10
Posts: 94
Website

Re: [REQUEST] vimgdb

here is my new PKGBUILD :

pkgname=vimgdb
pkgver=7.2
pkgrel=0.1
pkgdesc="vim, but patched for the use of gdb. You may prefer it to clewn, since it does not require you to use gvim."
arch=(i686 x86_64)
license=('custom:vim')
url="http://www.vim.org"
conflicts=('vi' 'vim')
depends=('perl' 'python' 'ruby' 'acl' 'gpm>=1.20.4' 'libxt')
makedepends=('wget' 'sed' 'grep')
source=(ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2 \
        "http://downloads.sourceforge.net/clewn/vimgdb72-1.14.tar.gz")
md5sums=('f0901284b338e448bfd79ccca0041254' 'e406c64d29a3152a3f5d0fffe3d2bba8')

build()
{
  cd "${srcdir}"
  patch -d vim72 --backup -p0 < vimgdb/vim72.diff
  cd "${srcdir}/vim72/src"
  ./configure --prefix=/usr --localstatedir=/var/lib/vim            \
    --mandir=/usr/share/man --with-compiledby=ArchLinux             \
    --with-features=big --with-x=yes --disable-gui                  \
    --with-global-runtime=/usr/share/vim --with-vim-name=vim        \
    --enable-multibyte --enable-cscope --enable-perlinterp          \
    --enable-pythoninterp --enable-rubyinterp --enable-multibyte    \
    --enable-gettext --enable-iconv --enable-langmap --enable-signs \
    --enable-gdb
  make || return 1
  make  VIMRCLOC=/etc DESTDIR=${startdir}/pkg VIMRTDIR= install
}

I told vimgdb to conflict with vi and vim. Maybe it is not the best solution, but at least it works and pacman -Suy does not try to replace it by vi or vim.

Please have a look and correct it. I would like to propose it to AUR.

Offline

#7 2008-12-20 10:45:48

duquesnc
Member
Registered: 2008-12-10
Posts: 94
Website

Re: [REQUEST] vimgdb

Unfortunately, vimpager depends on vi. So if you want to use it, you'll have to change its pkgbuild and modify it to

depends=('vimgdb')

Offline

#8 2008-12-20 14:46:31

gcarrier
Member
From: Grenoble, France
Registered: 2008-05-05
Posts: 4
Website

Re: [REQUEST] vimgdb

1) you can ask me those things by phone wink
2) you can edit your messages instead of posting them in a row
3) you just met arch linux's project leader, phrakture
4) your pkgdesc should be shorter. think 72 characters or so as it will be printed by pacman...
5) i personnaly prefer license=('custom:"vim"'). plus it implies you to put something in /usr/share/licenses/vim wink
6) generally a good read for your "first times": http://wiki.archlinux.org/index.php/Arc … _Standards
7) you should consider using LANG="C" to post messages on international forums!

Last edited by gcarrier (2008-12-20 14:48:14)

Offline

#9 2008-12-20 15:01:04

creslin
Member
Registered: 2008-10-04
Posts: 241

Re: [REQUEST] vimgdb

In particular, note the "provides" array.  You should use that instead of rebuilding everything to depend on vimgdb.


ARCH|awesome3.0 powered by Pentium M 750 | 512MB DDR2-533 | Radeon X300 M
The journey is the reward.

Offline

#10 2008-12-20 17:17:14

duquesnc
Member
Registered: 2008-12-10
Posts: 94
Website

Re: [REQUEST] vimgdb

gcarrier wrote:

you just met arch linux's project leader, phrakture

Hi phrakture, nice to meet you

your pkgdesc should be shorter. think 72 characters or so as it will be printed by pacman...

fixed.

i personnaly prefer license=('custom:"vim"'). plus it implies you to put something in /usr/share/licenses/vim wink

Actually I took that part from tobias' PKGBUILD, I really had no idea how this was handled. I'm trying to fix that.

generally a good read for your "first times": http://wiki.archlinux.org/index.php/Arc … _Standards

If there was only this one to read... wink done.

you should consider using LANG="C" to post messages on international forums!

My mistake. I did not remember how to get the outputs in english.

In particular, note the "provides" array.  You should use that instead of rebuilding everything to depend on vimgdb.

Thank you! This fixed the problem with vimpager.

Here is the new PKGBUILD :

pkgname=vimgdb
pkgver=7.2
pkgrel=0.1
pkgdesc="vim patched for gdb: a clewn that does not require gvim."
arch=(i686 x86_64)
license=('custom:"vim"')
url="http://www.vim.org"
conflicts=('vi' 'vim')
provides=('vi=7.2' 'vim=7.2')
replaces=('vi' 'vim')
depends=('perl' 'python' 'ruby' 'acl' 'gpm>=1.20.4' 'libxt')
makedepends=('wget' 'sed' 'grep')
source=(ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2 \
        http://downloads.sourceforge.net/clewn/vimgdb72-1.14.tar.gz)
md5sums=('f0901284b338e448bfd79ccca0041254' 'e406c64d29a3152a3f5d0fffe3d2bba8')

build()
{
  cd "${srcdir}"
  patch -d vim72 --backup -p0 < vimgdb/vim72.diff
  cd "${srcdir}/vim72/src"
  ./configure --prefix=/usr --localstatedir=/var/lib/vim            \
    --mandir=/usr/share/man --with-compiledby=ArchLinux             \
    --with-features=big --with-x=yes --disable-gui                  \
    --with-global-runtime=/usr/share/vim --with-vim-name=vim        \
    --enable-multibyte --enable-cscope --enable-perlinterp          \
    --enable-pythoninterp --enable-rubyinterp --enable-multibyte    \
    --enable-gettext --enable-iconv --enable-langmap --enable-signs \
    --enable-gdb
  make || return 1
  make  VIMRCLOC=/etc DESTDIR=${startdir}/pkg VIMRTDIR= install
}

Last edited by duquesnc (2008-12-20 18:24:32)

Offline

Board footer

Powered by FluxBB