|
| 1 | +# vim:set ft=sh: |
| 2 | +# Maintainer: BlackEagle < ike DOT devolder AT gmail DOT com > |
| 3 | +# thx for the original vim pkg: |
| 4 | +# Contributor: Jan "heftig" Steffens <[email protected]> |
| 5 | +# Contributor: tobias [ tobias at archlinux org ] |
| 6 | +# Contributor: Daniel J Griffiths <[email protected]> |
| 7 | + |
| 8 | +pkgbase=vim-gvim |
| 9 | +pkgname=('vim-gvim-gtk2' 'vim-gvim-gtk3' 'vim-gvim-common') |
| 10 | +_basever=8.1 |
| 11 | +_patchlevel=1528 |
| 12 | +if [ "$_patchlevel" = "0" ]; then |
| 13 | + pkgver=${_basever} |
| 14 | +else |
| 15 | + pkgver=${_basever}.${_patchlevel} |
| 16 | +fi |
| 17 | +_gitcommit=b4086ffa32d97831f2d25a37f8c1340223dee5eb |
| 18 | +pkgrel=1 |
| 19 | +_versiondir=vim${_basever/./} |
| 20 | +arch=('x86_64') |
| 21 | +license=('custom:vim') |
| 22 | +url="http://www.vim.org" |
| 23 | +makedepends=('gpm' 'perl' 'python2' 'python' 'lua' 'desktop-file-utils' 'gtk2' 'gettext' 'pkgconfig' 'sed' 'git' 'ruby' 'gtk3' 'libxt') |
| 24 | +source=( |
| 25 | + "$pkgbase::git://github.com/vim/vim#commit=$_gitcommit" |
| 26 | + 'license.txt' |
| 27 | +) |
| 28 | +sha256sums=('SKIP' |
| 29 | + 'bb4744930a0030085d382356e9fdd4f2049b6298147aee2470c7fca7ec82fd55') |
| 30 | + |
| 31 | +prepare() { |
| 32 | + # remove old build dirs if exist |
| 33 | + [ -d gvim-build-gtk2 ] && rm -rf gvim-build-gtk2 |
| 34 | + [ -d gvim-build-gtk3 ] && rm -rf gvim-build-gtk3 |
| 35 | + |
| 36 | + cp -a ${pkgbase} gvim-build-gtk2 |
| 37 | + ( |
| 38 | + cd gvim-build-gtk2 && rm -rf ./.git* |
| 39 | + ) |
| 40 | + |
| 41 | + # define the place for the global (g)vimrc file (set to /etc/vimrc) |
| 42 | + sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \ |
| 43 | + gvim-build-gtk2/src/feature.h |
| 44 | + sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \ |
| 45 | + gvim-build-gtk2/src/feature.h |
| 46 | + |
| 47 | + cp -a gvim-build-gtk2 gvim-build-gtk3 |
| 48 | + |
| 49 | + cd ${srcdir}/gvim-build-gtk2 |
| 50 | + (cd src && autoconf) |
| 51 | + |
| 52 | + cd ${srcdir}/gvim-build-gtk3 |
| 53 | + (cd src && autoconf) |
| 54 | +} |
| 55 | + |
| 56 | +build() { |
| 57 | + msg2 'Building vim-gvim-gtk2' |
| 58 | + cd ${srcdir}/gvim-build-gtk2 |
| 59 | + ./configure --prefix=/usr --localstatedir=/var/lib/vim \ |
| 60 | + --mandir=/usr/share/man --with-compiledby=BlackEagle \ |
| 61 | + --with-features=huge --enable-gpm --enable-acl --with-x=yes \ |
| 62 | + --enable-gui=gtk2 --enable-multibyte --enable-cscope \ |
| 63 | + --disable-netbeans --enable-perlinterp=dynamic \ |
| 64 | + --enable-pythoninterp=dynamic --enable-python3interp=dynamic \ |
| 65 | + --enable-rubyinterp=dynamic --enable-luainterp=dynamic |
| 66 | + #--disable-rubyinterp --enable-luainterp=dynamic |
| 67 | + make |
| 68 | + |
| 69 | + msg2 'Building vim-gvim-gtk3' |
| 70 | + cd ${srcdir}/gvim-build-gtk3 |
| 71 | + ./configure --prefix=/usr --localstatedir=/var/lib/vim \ |
| 72 | + --mandir=/usr/share/man --with-compiledby=BlackEagle \ |
| 73 | + --with-features=huge --enable-gpm --enable-acl --with-x=yes \ |
| 74 | + --enable-gui=gtk3 --enable-multibyte --enable-cscope \ |
| 75 | + --disable-netbeans --enable-perlinterp=dynamic \ |
| 76 | + --enable-pythoninterp=dynamic --enable-python3interp=dynamic \ |
| 77 | + --enable-rubyinterp=dynamic --enable-luainterp=dynamic |
| 78 | + #--disable-rubyinterp --enable-luainterp=dynamic |
| 79 | + make |
| 80 | +} |
| 81 | + |
| 82 | +package_vim-gvim-gtk2() { |
| 83 | + pkgdesc='Vi Improved, gtk2 gui' |
| 84 | + depends=('vim-cli' 'vim-gvim-common' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'shared-mime-info') |
| 85 | + provides=('gvim') |
| 86 | + replaces=('vim-gvim-gtk') |
| 87 | + conflicts=('vim-gvim-gtk3') |
| 88 | + |
| 89 | + # allow install of icons and desktopfiles |
| 90 | + install -dm755 "${pkgdir}/usr/share/icons/hicolor/48x48/apps" |
| 91 | + install -dm755 "${pkgdir}/usr/share/icons/locolor/32x32/apps" |
| 92 | + install -dm755 "${pkgdir}/usr/share/icons/locolor/16x16/apps" |
| 93 | + install -dm755 "${pkgdir}/usr/share/applications" |
| 94 | + |
| 95 | + cd ${srcdir}/gvim-build-gtk2 |
| 96 | + make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install |
| 97 | + |
| 98 | + # move vim to gvim |
| 99 | + rm -f ${pkgdir}/usr/bin/gvim |
| 100 | + mv ${pkgdir}/usr/bin/{vim,gvim} |
| 101 | + # remove files provided by vim-cli |
| 102 | + rm -f ${pkgdir}/usr/bin/{vimtutor,xxd,rview,rvim,view,vimdiff,ex} |
| 103 | + rm -f ${pkgdir}/usr/share/man/*{,/*}/{vim*,vimtutor*,xxd*,rview*,rvim*,view*,vimdiff*,ex*} |
| 104 | + # recreate gvim symlinks |
| 105 | + ( |
| 106 | + cd ${pkgdir}/usr/bin |
| 107 | + for link in eview evim gview gvimdiff rgview rgvim; do |
| 108 | + rm -f ${link} |
| 109 | + ln -s gvim ${link} |
| 110 | + done |
| 111 | + ) |
| 112 | + |
| 113 | + # Runtime provided by runtime package |
| 114 | + rm -r ${pkgdir}/usr/share/vim |
| 115 | + |
| 116 | + # Move the man pages for common packaging |
| 117 | + mv ${pkgdir}/usr/share/man ${srcdir}/gvim-man-install |
| 118 | + |
| 119 | + # remove vim desktop file |
| 120 | + rm ${pkgdir}/usr/share/applications/vim.desktop |
| 121 | + |
| 122 | + # license |
| 123 | + install -dm755 ${pkgdir}/usr/share/licenses/vim-gvim-gtk2 |
| 124 | + install -Dm644 ${srcdir}/license.txt \ |
| 125 | + ${pkgdir}/usr/share/licenses/vim-gvim-gtk2/license.txt |
| 126 | +} |
| 127 | + |
| 128 | +package_vim-gvim-gtk3() { |
| 129 | + pkgdesc='Vi Improved, gtk3 gui' |
| 130 | + depends=('vim-cli' 'vim-gvim-common' 'desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'shared-mime-info') |
| 131 | + provides=('gvim') |
| 132 | + replaces=('vim-gvim-gtk') |
| 133 | + conflicts=('vim-gvim-gtk2') |
| 134 | + |
| 135 | + # allow install of icons and desktopfiles |
| 136 | + install -dm755 "${pkgdir}/usr/share/icons/hicolor/48x48/apps" |
| 137 | + install -dm755 "${pkgdir}/usr/share/icons/locolor/32x32/apps" |
| 138 | + install -dm755 "${pkgdir}/usr/share/icons/locolor/16x16/apps" |
| 139 | + install -dm755 "${pkgdir}/usr/share/applications" |
| 140 | + |
| 141 | + cd ${srcdir}/gvim-build-gtk3 |
| 142 | + make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install |
| 143 | + |
| 144 | + # move vim to gvim |
| 145 | + rm -f ${pkgdir}/usr/bin/gvim |
| 146 | + mv ${pkgdir}/usr/bin/{vim,gvim} |
| 147 | + # remove files provided by vim-cli |
| 148 | + rm -f ${pkgdir}/usr/bin/{vimtutor,xxd,rview,rvim,view,vimdiff,ex} |
| 149 | + rm -f ${pkgdir}/usr/share/man/*{,/*}/{vim*,vimtutor*,xxd*,rview*,rvim*,view*,vimdiff*,ex*} |
| 150 | + # recreate gvim symlinks |
| 151 | + ( |
| 152 | + cd ${pkgdir}/usr/bin |
| 153 | + for link in eview evim gview gvimdiff rgview rgvim; do |
| 154 | + rm -f ${link} |
| 155 | + ln -s gvim ${link} |
| 156 | + done |
| 157 | + ) |
| 158 | + |
| 159 | + # Runtime provided by runtime package |
| 160 | + rm -r ${pkgdir}/usr/share/vim |
| 161 | + |
| 162 | + # Move the man pages for common packaging |
| 163 | + mv ${pkgdir}/usr/share/man ${srcdir}/gvim-man-install |
| 164 | + |
| 165 | + # remove vim desktop file |
| 166 | + rm ${pkgdir}/usr/share/applications/vim.desktop |
| 167 | + |
| 168 | + # license |
| 169 | + install -dm755 ${pkgdir}/usr/share/licenses/vim-gvim-gtk3 |
| 170 | + install -Dm644 ${srcdir}/license.txt \ |
| 171 | + ${pkgdir}/usr/share/licenses/vim-gvim-gtk3/license.txt |
| 172 | +} |
| 173 | + |
| 174 | +package_vim-gvim-common() { |
| 175 | + pkgdesc='common files for gvim/qvim' |
| 176 | + |
| 177 | + # Install the common split from gvim/qvim |
| 178 | + install -dm755 ${pkgdir}/usr/share |
| 179 | + mv ${srcdir}/gvim-man-install ${pkgdir}/usr/share/man |
| 180 | + |
| 181 | + # license |
| 182 | + install -dm755 ${pkgdir}/usr/share/licenses/vim-gvim-common |
| 183 | + install -Dm644 ${srcdir}/license.txt \ |
| 184 | + ${pkgdir}/usr/share/licenses/vim-gvim-common/license.txt |
| 185 | +} |
| 186 | + |
0 commit comments