Date: Tuesday, February 7, 2017 @ 00:20:11 Author: anatolik Revision: 288151
archrelease: copy trunk to testing-i686, testing-x86_64 Added: vim/repos/testing-i686/ vim/repos/testing-i686/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch (from rev 288150, vim/trunk/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch) vim/repos/testing-i686/0002-Further-fix-widget-sizing.patch (from rev 288150, vim/trunk/0002-Further-fix-widget-sizing.patch) vim/repos/testing-i686/PKGBUILD (from rev 288150, vim/trunk/PKGBUILD) vim/repos/testing-i686/archlinux.vim (from rev 288150, vim/trunk/archlinux.vim) vim/repos/testing-i686/fix-tests-python36.patch (from rev 288150, vim/trunk/fix-tests-python36.patch) vim/repos/testing-i686/vimdoc.hook (from rev 288150, vim/trunk/vimdoc.hook) vim/repos/testing-i686/vimrc (from rev 288150, vim/trunk/vimrc) vim/repos/testing-x86_64/ vim/repos/testing-x86_64/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch (from rev 288150, vim/trunk/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch) vim/repos/testing-x86_64/0002-Further-fix-widget-sizing.patch (from rev 288150, vim/trunk/0002-Further-fix-widget-sizing.patch) vim/repos/testing-x86_64/PKGBUILD (from rev 288150, vim/trunk/PKGBUILD) vim/repos/testing-x86_64/archlinux.vim (from rev 288150, vim/trunk/archlinux.vim) vim/repos/testing-x86_64/fix-tests-python36.patch (from rev 288150, vim/trunk/fix-tests-python36.patch) vim/repos/testing-x86_64/vimdoc.hook (from rev 288150, vim/trunk/vimdoc.hook) vim/repos/testing-x86_64/vimrc (from rev 288150, vim/trunk/vimrc) ------------------------------------------------------------------------+ testing-i686/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch | 39 + testing-i686/0002-Further-fix-widget-sizing.patch | 29 + testing-i686/PKGBUILD | 222 ++++++++++ testing-i686/archlinux.vim | 25 + testing-i686/fix-tests-python36.patch | 38 + testing-i686/vimdoc.hook | 11 testing-i686/vimrc | 18 testing-x86_64/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch | 39 + testing-x86_64/0002-Further-fix-widget-sizing.patch | 29 + testing-x86_64/PKGBUILD | 222 ++++++++++ testing-x86_64/archlinux.vim | 25 + testing-x86_64/fix-tests-python36.patch | 38 + testing-x86_64/vimdoc.hook | 11 testing-x86_64/vimrc | 18 14 files changed, 764 insertions(+) Copied: vim/repos/testing-i686/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch (from rev 288150, vim/trunk/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch) =================================================================== --- testing-i686/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch (rev 0) +++ testing-i686/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,39 @@ +From 0060136ccbe78ff791e5bd732510cff12094bec9 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Sun, 23 Oct 2016 21:12:15 +0200 +Subject: [PATCH 1/2] Fix widget sizing on current Gtk+ 3.22 branch + +Gtk recently started emitting configure events when repositioning child +windows[1]. Events for the form's child windows bubble up the widget +hierarchy, get caught by our configure event handler, and treated as if +they were reporting the size of the form window. As a result, the shell +was sized using far too small dimensions[2][3]. This change will be part +of Gtk+ 3.22.2. + +Solve this by checking whether the configure event we get is really for +the form widget. + +[1]: https://git.gnome.org/browse/gtk+/commit/?h=gtk-3-22&id=12579fe71b3b8f79eb9c1b80e429443bcc437dd0 +[2]: https://bugs.archlinux.org/task/51509 +[3]: https://bugzilla.gnome.org/show_bug.cgi?id=773387 +--- + src/gui_gtk_x11.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c +index 388464215fadc3b5..bf3c99ad9a043ad9 100644 +--- a/src/gui_gtk_x11.c ++++ b/src/gui_gtk_x11.c +@@ -4429,6 +4429,9 @@ form_configure_event(GtkWidget *widget UNUSED, + { + int usable_height = event->height; + ++ if (event->window != gtk_widget_get_window (gui.formwin)) ++ return TRUE; ++ + /* When in a GtkPlug, we can't guarantee valid heights (as a round + * no. of char-heights), so we have to manually sanitise them. + * Widths seem to sort themselves out, don't ask me why. +-- +2.10.1 + Copied: vim/repos/testing-i686/0002-Further-fix-widget-sizing.patch (from rev 288150, vim/trunk/0002-Further-fix-widget-sizing.patch) =================================================================== --- testing-i686/0002-Further-fix-widget-sizing.patch (rev 0) +++ testing-i686/0002-Further-fix-widget-sizing.patch 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,29 @@ +From ba1eefe7a2f52e1d8d16b51f12c6aba57148fb19 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Mon, 24 Oct 2016 19:26:36 +0200 +Subject: [PATCH 2/2] Further fix widget sizing + +Follow-up by ofourdan in order to fix resizing on maximization. This +makes the drawing area ignore configure events that weren't explicitly +sent (such as from GtkForm). +--- + src/gui_gtk_x11.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c +index bf3c99ad9a043ad9..71dc08ff3dc99c19 100644 +--- a/src/gui_gtk_x11.c ++++ b/src/gui_gtk_x11.c +@@ -3099,6 +3099,9 @@ drawarea_configure_event_cb(GtkWidget *widget, + if (event->width == cur_width && event->height == cur_height) + return TRUE; + ++ if (event->send_event == FALSE) ++ return TRUE; ++ + cur_width = event->width; + cur_height = event->height; + +-- +2.10.1 + Copied: vim/repos/testing-i686/PKGBUILD (from rev 288150, vim/trunk/PKGBUILD) =================================================================== --- testing-i686/PKGBUILD (rev 0) +++ testing-i686/PKGBUILD 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,222 @@ +# $Id$ +# Maintainer: Anatol Pomozov <anatol.pomo...@gmail.com> +# Contributor: Thomas Dziedzic <gos...@gmail.com> +# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: tobias [ tobias at archlinux org ] +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> +# Contributor: Christian Hesse <m...@eworm.de> +# Contributor: Eli Schwartz + +pkgbase=vim +pkgname=(vim gvim vim-runtime) +pkgver=8.0.0314 +_versiondir=80 +pkgrel=1 +arch=(i686 x86_64) +license=('custom:vim') +url='http://www.vim.org' +makedepends=(gpm python2 python ruby libxt gtk2 lua gawk tcl) +source=(vim-$pkgver.tar.gz::http://github.com/vim/vim/archive/v$pkgver.tar.gz + 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch + 0002-Further-fix-widget-sizing.patch + fix-tests-python36.patch + vimrc + archlinux.vim + vimdoc.hook) +sha1sums=('de13aabcc434fd49acc25149f5943555635f3c3c' + 'ca4a3bdf8b512336bff4af3ae93d95a8580e0eaf' + '04b86163bb379a7d42058d932aed3075ed49d2a9' + '6e1f78544449293cd0b19d8265a26a83106994b5' + '539bfaa0517dfff6d61c37f9c2d81a0db756a4c9' + '94f7bb87b5d06bace86bc4b3ef1372813b4eedf2' + 'adc4c82b6c4097944e5a767270a772721455eb8c') + +prepare() { + cd vim-$pkgver/src + + # https://github.com/vim/vim/pull/1193 + # drop these if the problematic commits on gtk3 get reverted... + #patch -Np2 -i "$srcdir"/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch + #patch -Np2 -i "$srcdir"/0002-Further-fix-widget-sizing.patch + + # https://github.com/vim/vim/issues/1359 + patch -p2 < "$srcdir"/fix-tests-python36.patch + + # define the place for the global (g)vimrc file (set to /etc/vimrc) + sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' feature.h + sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' feature.h + + autoconf + + cd "$srcdir" + cp -a vim-$pkgver gvim-$pkgver +} + +build() { + cd "${srcdir}"/vim-$pkgver + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=no \ + --disable-gui \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-pythoninterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic + make + + cd "${srcdir}"/gvim-$pkgver + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=yes \ + --enable-gui=gtk2 \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-pythoninterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic + make +} + +check() { + cd "${srcdir}"/vim-$pkgver + TERM=xterm make -j1 test +} + +package_vim-runtime() { + pkgdesc='Runtime for vim and gvim' + backup=('etc/vimrc') + + cd "${srcdir}"/vim-$pkgver + + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + # man and bin files belong to 'vim' + rm -r "${pkgdir}"/usr/share/man/ "${pkgdir}"/usr/bin/ + + # Don't forget logtalk.dict + install -Dm644 runtime/ftplugin/logtalk.dict \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict + + # fix FS#17216 + sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/filetype.vim + + # patch filetype.vim for better handling of pacman related files + sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/filetype.vim + sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/changelog.vim + + # rc files + install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc + install -Dm644 "${srcdir}"/archlinux.vim \ + "${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim + + # rgb.txt file + install -Dm644 runtime/rgb.txt \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/rgb.txt + + # no desktop files and icons + rm -r "${pkgdir}"/usr/share/{applications,icons} + + # license + install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime + ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt + + # pacman hook for documentation helptags + install -Dm644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook +} + +package_vim() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl') + optdepends=('python2: Python 2 language support' + 'python: Python 3 language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + conflicts=('gvim' 'vim-minimal' 'vim-python3') + provides=('xxd' 'vim-minimal' 'vim-python3') + replaces=('vim-python3' 'vim-minimal') + + cd "${srcdir}"/vim-$pkgver + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + + # provided by (n)vi in core + rm "${pkgdir}"/usr/bin/{ex,view} + + # delete some manpages + find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ + while read _mandir; do + cd ${_mandir} + rm -f ex.1 view.1 # provided by (n)vi + rm -f evim.1 # this does not make sense if we have no GUI + done + + # Runtime provided by runtime package + rm -r "${pkgdir}"/usr/share/vim + + # no desktop files and icons + rm -r "${pkgdir}"/usr/share/{applications,icons} + + # license + install -Dm644 runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_gvim() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'libxt' 'gtk2') + optdepends=('python2: Python 2 language support' + 'python: Python 3 language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + provides=("vim=${pkgver}-${pkgrel}" "xxd") + conflicts=('vim-minimal' 'vim') + replaces=('gvim-python3') + + cd "${srcdir}"/gvim-$pkgver + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + + # provided by (n)vi in core + rm "${pkgdir}"/usr/bin/{ex,view} + + # delete some manpages + find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ + while read _mandir; do + cd ${_mandir} + rm -f ex.1 view.1 # provided by (n)vi + done + + # need to remove since this is provided by vim-runtime + rm -r "${pkgdir}"/usr/share/vim + + # keep gvim desktop file only, remove vim + rm "${pkgdir}"/usr/share/applications/vim.desktop + + # license + install -Dm644 runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} Copied: vim/repos/testing-i686/archlinux.vim (from rev 288150, vim/trunk/archlinux.vim) =================================================================== --- testing-i686/archlinux.vim (rev 0) +++ testing-i686/archlinux.vim 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,25 @@ +" The ArchLinux global vimrc - setting only a few sane defaults +" +" Maintainer: Thomas Dziedzic [gos...@gmail.com] +" +" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION +" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc + +" Normally we use vim-extensions. If you want true vi-compatibility +" remove change the following statements +set nocompatible " Use Vim defaults instead of 100% vi compatibility +set backspace=indent,eol,start " more powerful backspacing + +" Now we set some defaults for the editor +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time + +" Suffixes that get lower priority when doing tab completion for filenames. +" These are files we are not likely to want to edit or read. +set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg + +if has('gui_running') + " Make shift-insert work like in Xterm + map <S-Insert> <MiddleMouse> + map! <S-Insert> <MiddleMouse> +endif Copied: vim/repos/testing-i686/fix-tests-python36.patch (from rev 288150, vim/trunk/fix-tests-python36.patch) =================================================================== --- testing-i686/fix-tests-python36.patch (rev 0) +++ testing-i686/fix-tests-python36.patch 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,38 @@ +commit 70c8d2d8c412ad5639db8a018c7385fd99d0373f +Author: Anatol Pomozov <anatol.pomo...@gmail.com> +Date: Sat Jan 7 09:26:22 2017 -0800 + + Fix error messages for Python 3.6 + + https://github.com/vim/vim/issues/1359 + https://bugs.archlinux.org/task/52401 + https://bbs.archlinux.org/viewtopic.php?id=221579 + +diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok +index d90ef8625..b51788bde 100644 +--- a/src/testdir/test87.ok ++++ b/src/testdir/test87.ok +@@ -658,10 +658,10 @@ assert sys.stderr.closed()==False:NOT FAILED + assert sys.stdout.errors=="strict":NOT FAILED + assert sys.stderr.errors=="strict":NOT FAILED + assert sys.stdout.encoding==sys.stderr.encoding:NOT FAILED +-sys.stdout.write(None):(<class 'TypeError'>, TypeError("Can't convert 'NoneType' object to str implicitly",)) ++sys.stdout.write(None):(<class 'TypeError'>, TypeError('argument must be str, bytes or bytearray, not None',)) + >> OutputWriteLines + sys.stdout.writelines(None):(<class 'TypeError'>, TypeError("'NoneType' object is not iterable",)) +-sys.stdout.writelines([1]):(<class 'TypeError'>, TypeError("Can't convert 'int' object to str implicitly",)) ++sys.stdout.writelines([1]):(<class 'TypeError'>, TypeError('argument must be str, bytes or bytearray, not int',)) + >>> Testing *Iter* using sys.stdout.writelines(%s) + sys.stdout.writelines(FailingIter()):(<class 'NotImplementedError'>, NotImplementedError('iter',)) + sys.stdout.writelines(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError('next',)) +@@ -700,8 +700,8 @@ vim.foreach_rtp(NoArgsCall()):(<class 'TypeError'>, TypeError('__call__() takes + vim.foreach_rtp(FailingCall()):(<class 'NotImplementedError'>, NotImplementedError('call',)) + vim.foreach_rtp(int, 2):(<class 'TypeError'>, TypeError('foreach_rtp() takes exactly one argument (2 given)',)) + > import +-import xxx_no_such_module_xxx:(<class 'ImportError'>, ImportError('No module named xxx_no_such_module_xxx',)) +-import failing_import:(<class 'ImportError'>, ImportError('No module named failing_import',)) ++import xxx_no_such_module_xxx:(<class 'ModuleNotFoundError'>, ModuleNotFoundError("No module named 'xxx_no_such_module_xxx'",)) ++import failing_import:(<class 'ModuleNotFoundError'>, ModuleNotFoundError("No module named 'failing_import'",)) + import failing:(<class 'NotImplementedError'>, NotImplementedError()) + > Options + >> OptionsItem Copied: vim/repos/testing-i686/vimdoc.hook (from rev 288150, vim/trunk/vimdoc.hook) =================================================================== --- testing-i686/vimdoc.hook (rev 0) +++ testing-i686/vimdoc.hook 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,11 @@ +[Trigger] +Operation = Install +Operation = Upgrade +Operation= Remove +Type = File +Target = usr/share/vim/vimfiles/doc/ + +[Action] +Description = Updating Vim help tags... +Exec = /usr/bin/vim -es --cmd ":helptags /usr/share/vim/vimfiles/doc" --cmd ":q" +When = PostTransaction Copied: vim/repos/testing-i686/vimrc (from rev 288150, vim/trunk/vimrc) =================================================================== --- testing-i686/vimrc (rev 0) +++ testing-i686/vimrc 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,18 @@ +" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just +" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime +" you can find below. If you wish to change any of those settings, you should +" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten +" everytime an upgrade of the vim packages is performed. It is recommended to +" make changes after sourcing archlinux.vim since it alters the value of the +" 'compatible' option. + +" This line should not be removed as it ensures that various options are +" properly set to work with the Vim-related packages. +runtime! archlinux.vim + +" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim' +" Or better yet, read /usr/share/vim/vim80/vimrc_example.vim or the vim manual +" and configure vim to your own liking! + +" do not load defaults if ~/.vimrc is missing +"let skip_defaults_vim=1 Copied: vim/repos/testing-x86_64/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch (from rev 288150, vim/trunk/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch) =================================================================== --- testing-x86_64/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch (rev 0) +++ testing-x86_64/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,39 @@ +From 0060136ccbe78ff791e5bd732510cff12094bec9 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Sun, 23 Oct 2016 21:12:15 +0200 +Subject: [PATCH 1/2] Fix widget sizing on current Gtk+ 3.22 branch + +Gtk recently started emitting configure events when repositioning child +windows[1]. Events for the form's child windows bubble up the widget +hierarchy, get caught by our configure event handler, and treated as if +they were reporting the size of the form window. As a result, the shell +was sized using far too small dimensions[2][3]. This change will be part +of Gtk+ 3.22.2. + +Solve this by checking whether the configure event we get is really for +the form widget. + +[1]: https://git.gnome.org/browse/gtk+/commit/?h=gtk-3-22&id=12579fe71b3b8f79eb9c1b80e429443bcc437dd0 +[2]: https://bugs.archlinux.org/task/51509 +[3]: https://bugzilla.gnome.org/show_bug.cgi?id=773387 +--- + src/gui_gtk_x11.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c +index 388464215fadc3b5..bf3c99ad9a043ad9 100644 +--- a/src/gui_gtk_x11.c ++++ b/src/gui_gtk_x11.c +@@ -4429,6 +4429,9 @@ form_configure_event(GtkWidget *widget UNUSED, + { + int usable_height = event->height; + ++ if (event->window != gtk_widget_get_window (gui.formwin)) ++ return TRUE; ++ + /* When in a GtkPlug, we can't guarantee valid heights (as a round + * no. of char-heights), so we have to manually sanitise them. + * Widths seem to sort themselves out, don't ask me why. +-- +2.10.1 + Copied: vim/repos/testing-x86_64/0002-Further-fix-widget-sizing.patch (from rev 288150, vim/trunk/0002-Further-fix-widget-sizing.patch) =================================================================== --- testing-x86_64/0002-Further-fix-widget-sizing.patch (rev 0) +++ testing-x86_64/0002-Further-fix-widget-sizing.patch 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,29 @@ +From ba1eefe7a2f52e1d8d16b51f12c6aba57148fb19 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Mon, 24 Oct 2016 19:26:36 +0200 +Subject: [PATCH 2/2] Further fix widget sizing + +Follow-up by ofourdan in order to fix resizing on maximization. This +makes the drawing area ignore configure events that weren't explicitly +sent (such as from GtkForm). +--- + src/gui_gtk_x11.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c +index bf3c99ad9a043ad9..71dc08ff3dc99c19 100644 +--- a/src/gui_gtk_x11.c ++++ b/src/gui_gtk_x11.c +@@ -3099,6 +3099,9 @@ drawarea_configure_event_cb(GtkWidget *widget, + if (event->width == cur_width && event->height == cur_height) + return TRUE; + ++ if (event->send_event == FALSE) ++ return TRUE; ++ + cur_width = event->width; + cur_height = event->height; + +-- +2.10.1 + Copied: vim/repos/testing-x86_64/PKGBUILD (from rev 288150, vim/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,222 @@ +# $Id$ +# Maintainer: Anatol Pomozov <anatol.pomo...@gmail.com> +# Contributor: Thomas Dziedzic <gos...@gmail.com> +# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: tobias [ tobias at archlinux org ] +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> +# Contributor: Christian Hesse <m...@eworm.de> +# Contributor: Eli Schwartz + +pkgbase=vim +pkgname=(vim gvim vim-runtime) +pkgver=8.0.0314 +_versiondir=80 +pkgrel=1 +arch=(i686 x86_64) +license=('custom:vim') +url='http://www.vim.org' +makedepends=(gpm python2 python ruby libxt gtk2 lua gawk tcl) +source=(vim-$pkgver.tar.gz::http://github.com/vim/vim/archive/v$pkgver.tar.gz + 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch + 0002-Further-fix-widget-sizing.patch + fix-tests-python36.patch + vimrc + archlinux.vim + vimdoc.hook) +sha1sums=('de13aabcc434fd49acc25149f5943555635f3c3c' + 'ca4a3bdf8b512336bff4af3ae93d95a8580e0eaf' + '04b86163bb379a7d42058d932aed3075ed49d2a9' + '6e1f78544449293cd0b19d8265a26a83106994b5' + '539bfaa0517dfff6d61c37f9c2d81a0db756a4c9' + '94f7bb87b5d06bace86bc4b3ef1372813b4eedf2' + 'adc4c82b6c4097944e5a767270a772721455eb8c') + +prepare() { + cd vim-$pkgver/src + + # https://github.com/vim/vim/pull/1193 + # drop these if the problematic commits on gtk3 get reverted... + #patch -Np2 -i "$srcdir"/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch + #patch -Np2 -i "$srcdir"/0002-Further-fix-widget-sizing.patch + + # https://github.com/vim/vim/issues/1359 + patch -p2 < "$srcdir"/fix-tests-python36.patch + + # define the place for the global (g)vimrc file (set to /etc/vimrc) + sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' feature.h + sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' feature.h + + autoconf + + cd "$srcdir" + cp -a vim-$pkgver gvim-$pkgver +} + +build() { + cd "${srcdir}"/vim-$pkgver + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=no \ + --disable-gui \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-pythoninterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic + make + + cd "${srcdir}"/gvim-$pkgver + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Arch Linux' \ + --enable-gpm \ + --enable-acl \ + --with-x=yes \ + --enable-gui=gtk2 \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp=dynamic \ + --enable-pythoninterp=dynamic \ + --enable-python3interp=dynamic \ + --enable-rubyinterp=dynamic \ + --enable-luainterp=dynamic \ + --enable-tclinterp=dynamic + make +} + +check() { + cd "${srcdir}"/vim-$pkgver + TERM=xterm make -j1 test +} + +package_vim-runtime() { + pkgdesc='Runtime for vim and gvim' + backup=('etc/vimrc') + + cd "${srcdir}"/vim-$pkgver + + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + # man and bin files belong to 'vim' + rm -r "${pkgdir}"/usr/share/man/ "${pkgdir}"/usr/bin/ + + # Don't forget logtalk.dict + install -Dm644 runtime/ftplugin/logtalk.dict \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict + + # fix FS#17216 + sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/filetype.vim + + # patch filetype.vim for better handling of pacman related files + sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/filetype.vim + sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/changelog.vim + + # rc files + install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc + install -Dm644 "${srcdir}"/archlinux.vim \ + "${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim + + # rgb.txt file + install -Dm644 runtime/rgb.txt \ + "${pkgdir}"/usr/share/vim/vim${_versiondir}/rgb.txt + + # no desktop files and icons + rm -r "${pkgdir}"/usr/share/{applications,icons} + + # license + install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime + ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt + + # pacman hook for documentation helptags + install -Dm644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook +} + +package_vim() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl') + optdepends=('python2: Python 2 language support' + 'python: Python 3 language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + conflicts=('gvim' 'vim-minimal' 'vim-python3') + provides=('xxd' 'vim-minimal' 'vim-python3') + replaces=('vim-python3' 'vim-minimal') + + cd "${srcdir}"/vim-$pkgver + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + + # provided by (n)vi in core + rm "${pkgdir}"/usr/bin/{ex,view} + + # delete some manpages + find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ + while read _mandir; do + cd ${_mandir} + rm -f ex.1 view.1 # provided by (n)vi + rm -f evim.1 # this does not make sense if we have no GUI + done + + # Runtime provided by runtime package + rm -r "${pkgdir}"/usr/share/vim + + # no desktop files and icons + rm -r "${pkgdir}"/usr/share/{applications,icons} + + # license + install -Dm644 runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_gvim() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'libxt' 'gtk2') + optdepends=('python2: Python 2 language support' + 'python: Python 3 language support' + 'ruby: Ruby language support' + 'lua: Lua language support' + 'perl: Perl language support' + 'tcl: Tcl language support') + provides=("vim=${pkgver}-${pkgrel}" "xxd") + conflicts=('vim-minimal' 'vim') + replaces=('gvim-python3') + + cd "${srcdir}"/gvim-$pkgver + make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install + + # provided by (n)vi in core + rm "${pkgdir}"/usr/bin/{ex,view} + + # delete some manpages + find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \ + while read _mandir; do + cd ${_mandir} + rm -f ex.1 view.1 # provided by (n)vi + done + + # need to remove since this is provided by vim-runtime + rm -r "${pkgdir}"/usr/share/vim + + # keep gvim desktop file only, remove vim + rm "${pkgdir}"/usr/share/applications/vim.desktop + + # license + install -Dm644 runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} Copied: vim/repos/testing-x86_64/archlinux.vim (from rev 288150, vim/trunk/archlinux.vim) =================================================================== --- testing-x86_64/archlinux.vim (rev 0) +++ testing-x86_64/archlinux.vim 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,25 @@ +" The ArchLinux global vimrc - setting only a few sane defaults +" +" Maintainer: Thomas Dziedzic [gos...@gmail.com] +" +" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION +" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc + +" Normally we use vim-extensions. If you want true vi-compatibility +" remove change the following statements +set nocompatible " Use Vim defaults instead of 100% vi compatibility +set backspace=indent,eol,start " more powerful backspacing + +" Now we set some defaults for the editor +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time + +" Suffixes that get lower priority when doing tab completion for filenames. +" These are files we are not likely to want to edit or read. +set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg + +if has('gui_running') + " Make shift-insert work like in Xterm + map <S-Insert> <MiddleMouse> + map! <S-Insert> <MiddleMouse> +endif Copied: vim/repos/testing-x86_64/fix-tests-python36.patch (from rev 288150, vim/trunk/fix-tests-python36.patch) =================================================================== --- testing-x86_64/fix-tests-python36.patch (rev 0) +++ testing-x86_64/fix-tests-python36.patch 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,38 @@ +commit 70c8d2d8c412ad5639db8a018c7385fd99d0373f +Author: Anatol Pomozov <anatol.pomo...@gmail.com> +Date: Sat Jan 7 09:26:22 2017 -0800 + + Fix error messages for Python 3.6 + + https://github.com/vim/vim/issues/1359 + https://bugs.archlinux.org/task/52401 + https://bbs.archlinux.org/viewtopic.php?id=221579 + +diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok +index d90ef8625..b51788bde 100644 +--- a/src/testdir/test87.ok ++++ b/src/testdir/test87.ok +@@ -658,10 +658,10 @@ assert sys.stderr.closed()==False:NOT FAILED + assert sys.stdout.errors=="strict":NOT FAILED + assert sys.stderr.errors=="strict":NOT FAILED + assert sys.stdout.encoding==sys.stderr.encoding:NOT FAILED +-sys.stdout.write(None):(<class 'TypeError'>, TypeError("Can't convert 'NoneType' object to str implicitly",)) ++sys.stdout.write(None):(<class 'TypeError'>, TypeError('argument must be str, bytes or bytearray, not None',)) + >> OutputWriteLines + sys.stdout.writelines(None):(<class 'TypeError'>, TypeError("'NoneType' object is not iterable",)) +-sys.stdout.writelines([1]):(<class 'TypeError'>, TypeError("Can't convert 'int' object to str implicitly",)) ++sys.stdout.writelines([1]):(<class 'TypeError'>, TypeError('argument must be str, bytes or bytearray, not int',)) + >>> Testing *Iter* using sys.stdout.writelines(%s) + sys.stdout.writelines(FailingIter()):(<class 'NotImplementedError'>, NotImplementedError('iter',)) + sys.stdout.writelines(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError('next',)) +@@ -700,8 +700,8 @@ vim.foreach_rtp(NoArgsCall()):(<class 'TypeError'>, TypeError('__call__() takes + vim.foreach_rtp(FailingCall()):(<class 'NotImplementedError'>, NotImplementedError('call',)) + vim.foreach_rtp(int, 2):(<class 'TypeError'>, TypeError('foreach_rtp() takes exactly one argument (2 given)',)) + > import +-import xxx_no_such_module_xxx:(<class 'ImportError'>, ImportError('No module named xxx_no_such_module_xxx',)) +-import failing_import:(<class 'ImportError'>, ImportError('No module named failing_import',)) ++import xxx_no_such_module_xxx:(<class 'ModuleNotFoundError'>, ModuleNotFoundError("No module named 'xxx_no_such_module_xxx'",)) ++import failing_import:(<class 'ModuleNotFoundError'>, ModuleNotFoundError("No module named 'failing_import'",)) + import failing:(<class 'NotImplementedError'>, NotImplementedError()) + > Options + >> OptionsItem Copied: vim/repos/testing-x86_64/vimdoc.hook (from rev 288150, vim/trunk/vimdoc.hook) =================================================================== --- testing-x86_64/vimdoc.hook (rev 0) +++ testing-x86_64/vimdoc.hook 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,11 @@ +[Trigger] +Operation = Install +Operation = Upgrade +Operation= Remove +Type = File +Target = usr/share/vim/vimfiles/doc/ + +[Action] +Description = Updating Vim help tags... +Exec = /usr/bin/vim -es --cmd ":helptags /usr/share/vim/vimfiles/doc" --cmd ":q" +When = PostTransaction Copied: vim/repos/testing-x86_64/vimrc (from rev 288150, vim/trunk/vimrc) =================================================================== --- testing-x86_64/vimrc (rev 0) +++ testing-x86_64/vimrc 2017-02-07 00:20:11 UTC (rev 288151) @@ -0,0 +1,18 @@ +" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just +" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime +" you can find below. If you wish to change any of those settings, you should +" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten +" everytime an upgrade of the vim packages is performed. It is recommended to +" make changes after sourcing archlinux.vim since it alters the value of the +" 'compatible' option. + +" This line should not be removed as it ensures that various options are +" properly set to work with the Vim-related packages. +runtime! archlinux.vim + +" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim' +" Or better yet, read /usr/share/vim/vim80/vimrc_example.vim or the vim manual +" and configure vim to your own liking! + +" do not load defaults if ~/.vimrc is missing +"let skip_defaults_vim=1