summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-10-20 01:03:58 -0700
committerroot <root@rshg054.dnsready.net>2013-10-20 01:03:58 -0700
commit3ff90101074484f08d42a36a095206b516d182c0 (patch)
tree84b693f7496302e898778ce13093f78f21fb8884 /libre
parent2acddcfe190f9a97a7148d263a21df434c67ffcf (diff)
Sun Oct 20 01:03:34 PDT 2013
Diffstat (limited to 'libre')
-rw-r--r--libre/linux-libre-lts/PKGBUILD10
-rw-r--r--libre/mesa-libcl/PKGBUILD4
-rw-r--r--libre/syslinux/PKGBUILD193
-rw-r--r--libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch38
-rw-r--r--libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch45
-rw-r--r--libre/syslinux/syslinux-6.02-fix-chainloading.patch47
-rw-r--r--libre/syslinux/syslinux-dont-build-dos-windows-targets.patch6
-rw-r--r--libre/syslinux/syslinux-install_update104
-rw-r--r--libre/syslinux/syslinux.cfg31
-rw-r--r--libre/syslinux/syslinux.install25
-rw-r--r--libre/vim/PKGBUILD228
-rw-r--r--libre/vim/gvim.desktop63
-rw-r--r--libre/vim/gvim.install11
-rw-r--r--libre/vim/parabola.vim27
-rw-r--r--libre/vim/vimrc16
15 files changed, 729 insertions, 119 deletions
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index 7055936c0..4bf66c9b5 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 196512 2013-10-14 16:06:39Z andyrtr $
+# $Id: PKGBUILD 196788 2013-10-19 07:01:13Z andyrtr $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -10,10 +10,10 @@
pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.10
-_sublevel=16
+_sublevel=17
pkgver=${_basekernel}.${_sublevel}
pkgrel=1
-_lxopkgver=${_basekernel}.15 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.16 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -33,7 +33,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'3.10.6-logitech-dj.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c'
- '652908bcd4527803abd98f762d45501f'
+ '9a4ad6408ff3a2def1735f24b5ff02c5'
'59a0759df09a59d48d0c470895c50cbb'
'ad7f5988deb617e3789f95d7e675860d'
'c072b17032e80debc6a8626299245d46'
@@ -43,7 +43,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c'
'f3def2cefdcbb954c21d8505d23cc83c'
'd50c1ac47394e9aec637002ef3392bd1'
'3ff40ca684cfe719723e627e2cef7cea'
- '8aab6ab727f49dffcae5fd1c3c7c5bdb')
+ '3b9f1cce64377f70eb8bf5978db629d5')
if [ "$CARCH" != "mips64el" ]; then
# don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
diff --git a/libre/mesa-libcl/PKGBUILD b/libre/mesa-libcl/PKGBUILD
index bf77c087d..411834c5d 100644
--- a/libre/mesa-libcl/PKGBUILD
+++ b/libre/mesa-libcl/PKGBUILD
@@ -4,7 +4,7 @@ pkgbase=mesa
_pkgname=libcl
pkgname=$pkgbase-$_pkgname
_pkgflag=libre
-pkgver=9.2.1
+pkgver=9.2.2
pkgrel=1
pkgdesc='Mesa 3-D OpenCL library'
url=http://${pkgbase}3d.sourceforge.net
@@ -28,7 +28,7 @@ conflicts=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx)
replaces=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx)
options=(!libtool)
source=ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2
-sha512sums=1dbc59b348618dde85e00b318fa5bbc58c29c3f56f8f77260569f155e5e787e56a2b5efff6b0e8cafedc915ccb465c547a10501f39e3d20a57c4e654968de62e
+sha512sums=6b1ac41f28a81bf920fd4ea80586192f6465863992ec13b718c61fb7d4a41ac3bbb146bfa4a81c48189092e7b59a9452d11d675d628a6098dd8fc48a5aa304ca
build() {
cd $srcdir/${pkgbase^}-$pkgver
diff --git a/libre/syslinux/PKGBUILD b/libre/syslinux/PKGBUILD
index 01505c5d2..a2ca4c657 100644
--- a/libre/syslinux/PKGBUILD
+++ b/libre/syslinux/PKGBUILD
@@ -1,57 +1,172 @@
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# Contributor: Keshav Padram (the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
-pkgname=syslinux
-pkgver=4.07
-pkgrel=1.1
-arch=('i686' 'x86_64')
+pkgname="syslinux"
+pkgver="6.02"
+pkgrel="3"
+arch=('x86_64' 'i686')
pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)"
url="http://syslinux.zytor.com/"
license=('GPL2')
+options=('!makeflags' '!emptydirs')
+backup=('boot/syslinux/syslinux.cfg'
+ 'boot/syslinux/splash.png')
+makedepends=('python2' 'nasm' 'gnu-efi-libs')
depends=('perl' 'glibc')
optdepends=('perl-passwd-md5: For md5pass'
'perl-digest-sha1: For sha1pass'
'mtools: For mkdiskimage and syslinux support'
'gptfdisk: For GPT support'
- 'util-linux: For isohybrid')
-makedepends=('nasm')
-backup=('boot/syslinux/syslinux.cfg'
- 'boot/syslinux/splash.png')
-install=syslinux.install
-source=(http://www.kernel.org/pub/linux/utils/boot/syslinux/$pkgname-${pkgver}.tar.bz2
- syslinux-dont-build-dos-windows-targets.patch
- syslinux.cfg
- syslinux-install_update
- splash.png)
-md5sums=('9ff6e1b94efab931fb4717b600d88779'
- '1528c376e43f0eaccaa80d8ad1bc13b4'
- 'a43bd903face611bcc148522265dfe6c'
- '8559fb3daf3afa8688600d8a38118918'
+ 'util-linux: For isohybrid'
+ 'efibootmgr: For EFI support'
+ 'dosfstools: For EFI support')
+md5sums=('6f275813a1b08cf852e55c0a3f8fbc78'
+ 'f048880b57e2c5a7017ff8804bfda327'
+ '0e7d47e1f791f0c5e7bd40ed5c6d80cc'
+ '9dbede6b71a4de9e46aac4aad65334d7'
'cb46ca47c6b6323127d908440057d98f')
+install="${pkgname}.install"
+
+source=("https://www.kernel.org/pub/linux/utils/boot/syslinux/${pkgname}-${pkgver}.tar.xz"
+ 'syslinux.cfg'
+ 'syslinux-install_update'
+ 'syslinux-6.02-fix-chainloading.patch'
+ 'splash.png')
+
+_build_syslinux_bios() {
+
+ rm -rf "${srcdir}/${pkgname}-${pkgver}-bios/" || true
+ cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-bios"
+ cd "${srcdir}/${pkgname}-${pkgver}-bios/"
+
+ ## Do not try to build syslinux with our default LDFLAGS, it will fail
+ unset LDFLAGS
+ make PYTHON="python2" bios
+ make PYTHON="python2" bios installer
+}
+
+_build_syslinux_efi64() {
+
+ rm -rf "${srcdir}/${pkgname}-${pkgver}-efi64/" || true
+ cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi64"
+ cd "${srcdir}/${pkgname}-${pkgver}-efi64/"
+
+ ## Unset all compiler FLAGS for efi64 build
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ make PYTHON="python2" efi64
+ make PYTHON="python2" efi64 installer
+}
+
+_build_syslinux_efi32() {
+
+ rm -rf "${srcdir}/${pkgname}-${pkgver}-efi32/" || true
+ cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi32"
+ cd "${srcdir}/${pkgname}-${pkgver}-efi32/"
+
+ ## Unset all compiler FLAGS for efi32 build
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ make PYTHON="python2" efi32
+ make PYTHON="python2" efi32 installer
+}
+
build() {
- # Do not try to build syslinux with our default LDFLAGS, it will fail
- unset LDFLAGS
- cd "$srcdir"/$pkgname-${pkgver}
- # Do not try to build the Windows or DOS installers
- patch -p1 -i "$srcdir"/syslinux-dont-build-dos-windows-targets.patch
- # Fix FHS manpage path
- sed 's|/usr/man|/usr/share/man|g' -i mk/syslinux.mk
- make installer
- make -C utils
- make -C com32
+
+ cd "${srcdir}/${pkgname}-${pkgver}/"
+
+ ## Do not try to build the Windows or DOS installers and DIAG files
+ sed 's|diag libinstaller dos win32 win64 dosutil txt|libinstaller txt|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|win32/syslinux.exe win64/syslinux64.exe||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|dosutil/*.com dosutil/*.sys||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|dos/syslinux.com||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|INSTALLSUBDIRS = com32 utils dosutil|INSTALLSUBDIRS = com32 utils|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|# install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+
+ ## Fix FHS manpage path
+ sed 's|/usr/man|/usr/share/man|g' -i "${srcdir}/${pkgname}-${pkgver}/mk/syslinux.mk" || true
+
+ # fix chainloading
+ # http://bugzilla.syslinux.org/show_bug.cgi?id=31
+ # http://www.syslinux.org/archives/2013-October/020971.html
+ patch -Np1 -i "${srcdir}/syslinux-6.02-fix-chainloading.patch"
+
+ ## Build syslinux-efi
+ if [[ "${CARCH}" == "x86_64" ]]; then
+ _build_syslinux_efi64
+ fi
+
+ if [[ "${CARCH}" == "i686" ]]; then
+ _build_syslinux_efi32
+ fi
+
+ ## Build syslinux-bios
+ _build_syslinux_bios
+
+}
+
+_package_syslinux_bios() {
+
+ cd "${srcdir}/${pkgname}-${pkgver}-bios/"
+
+ ## Install Syslinux bios
+ make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/bios/" bios install
+
+ ## Remove syslinux.exe,syslinux64.exe,syslinux.com and dosutil dir
+ rm "${pkgdir}/usr/lib/syslinux/bios"/syslinux.{com,exe} || true
+ rm "${pkgdir}/usr/lib/syslinux/bios/syslinux64.exe" || true
+ rm -rf "${pkgdir}/usr/lib/syslinux/bios/dosutil/" || true
+
+ ## Remove com32 and diag dirs
+ rm -rf "${pkgdir}/usr/lib/syslinux/bios/diag/" || true
+ rm -rf "${pkgdir}/usr/lib/syslinux/bios/com32/" || true
+
+ ## Move extlinux binary to /usr/bin
+ install -d "${pkgdir}/usr/bin"
+ mv "${pkgdir}/sbin/extlinux" "${pkgdir}/usr/bin/extlinux"
+ rm -rf "${pkgdir}/sbin/"
+
+ ## Install docs
+ install -d "${pkgdir}/usr/share/doc"
+ cp -ar "${srcdir}/${pkgname}-${pkgver}/doc" "${pkgdir}/usr/share/doc/syslinux"
+
+ ## Install the default configuration
+ install -D -m0644 "${srcdir}/syslinux.cfg" "${pkgdir}/boot/syslinux/syslinux.cfg"
+
+ ## Install the installation and update script
+ ## This script is maintained at git://gist.github.com/772138.git
+ ## Script not yet updated for syslinux-efi
+ install -D -m0755 "${srcdir}/syslinux-install_update" "${pkgdir}/usr/bin/syslinux-install_update"
+
+ # Install Parabola splash
+ install -D -m644 "${srcdir}/splash.png" "${pkgdir}/boot/syslinux/splash.png"
}
package() {
- cd "$srcdir"/$pkgname-${pkgver}
- make INSTALLROOT="$pkgdir" SBINDIR=/usr/bin AUXDIR=/usr/lib/syslinux install
-
- # Install the default configuration
- install -D -m644 "$srcdir"/syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg
- # Install Parabola splash
- install -D -m644 "$srcdir"/splash.png "$pkgdir"/boot/syslinux/splash.png
- # Install the installation and update script
- # This script is maintained at git://gist.github.com/772138.git
- install -D -m755 "$srcdir"/syslinux-install_update "$pkgdir"/usr/bin/syslinux-install_update
+
+ cd "${srcdir}/${pkgname}-${pkgver}/"
+
+ if [[ "${CARCH}" == "x86_64" ]]; then
+ cd "${srcdir}/${pkgname}-${pkgver}-efi64/"
+ make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi64 install
+ fi
+
+ if [[ "${CARCH}" == "i686" ]]; then
+ cd "${srcdir}/${pkgname}-${pkgver}-efi32/"
+ make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi32 install
+ fi
+
+ _package_syslinux_bios
+
}
diff --git a/libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch b/libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch
new file mode 100644
index 000000000..cbcd9a6da
--- /dev/null
+++ b/libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch
@@ -0,0 +1,38 @@
+From 2a81889c7d680fbe51de63dbbeb4e8c290ec46fa Mon Sep 17 00:00:00 2001
+From: Matt Fleming <matt.fleming@intel.com>
+Date: Fri, 21 Jun 2013 07:14:24 +0000
+Subject: efi: Tag symbols with __export
+
+I missed some symbols previously that are required to be exported when
+loading vesamenu.c32.
+
+Signed-off-by: Matt Fleming <matt.fleming@intel.com>
+---
+diff --git a/efi/main.c b/efi/main.c
+index 51ff9f3..71333a4 100644
+--- a/efi/main.c
++++ b/efi/main.c
+@@ -21,7 +21,7 @@ uint32_t _IdleTimer = 0;
+ char __lowmem_heap[32];
+ uint32_t BIOS_timer_next;
+ uint32_t timer_irq;
+-uint8_t KbdMap[256];
++__export uint8_t KbdMap[256];
+ char aux_seg[256];
+
+ static inline EFI_STATUS
+diff --git a/efi/vesa.c b/efi/vesa.c
+index d259f60..b4a541b 100644
+--- a/efi/vesa.c
++++ b/efi/vesa.c
+@@ -297,7 +297,7 @@ static int efi_vesacon_font_query(uint8_t **font)
+ return cp865_8x16_font_height;
+ }
+
+-int __vesacon_i915resolution(int x, int y)
++__export int __vesacon_i915resolution(int x, int y)
+ {
+ /* We don't support this function */
+ return 1;
+--
+cgit v0.9.2
diff --git a/libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch b/libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch
new file mode 100644
index 000000000..7460cd195
--- /dev/null
+++ b/libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch
@@ -0,0 +1,45 @@
+From 013ef7679a573b3b3454f914f3a7f865991db9f2 Mon Sep 17 00:00:00 2001
+From: Matt Fleming <matt.fleming@intel.com>
+Date: Fri, 21 Jun 2013 07:13:16 +0000
+Subject: efi: Export __bcopyxx_len
+
+We need to provide a __bcopyxx_len symbol for EFI because it's
+referenced in generic code in libcom32.c32. Without this change,
+libcom32.c32 will fail to load under EFI.
+
+Signed-off-by: Matt Fleming <matt.fleming@intel.com>
+---
+diff --git a/core/include/core.h b/core/include/core.h
+index 5736d39..127ac65 100644
+--- a/core/include/core.h
++++ b/core/include/core.h
+@@ -26,6 +26,7 @@ extern char cmd_line[];
+ extern char ConfigFile[];
+ extern char syslinux_banner[];
+ extern char copyright_str[];
++extern unsigned int __bcopyxx_len;
+
+ /*
+ * Mark symbols that are only used by BIOS as __weak until we can move
+@@ -35,7 +36,6 @@ extern char copyright_str[];
+ extern __weak uint16_t BIOSName;
+ extern __weak char KernelName[];
+ extern __weak char StackBuf[];
+-extern __weak unsigned int __bcopyxx_len;
+
+ extern uint8_t KbdMap[256];
+
+diff --git a/efi/main.c b/efi/main.c
+index 438e88c..51ff9f3 100644
+--- a/efi/main.c
++++ b/efi/main.c
+@@ -153,6 +153,7 @@ void pxenv(void)
+ uint16_t BIOS_fbm = 1;
+ far_ptr_t InitStack;
+ far_ptr_t PXEEntry;
++__export unsigned int __bcopyxx_len = 0;
+
+ void gpxe_unload(void)
+ {
+--
+cgit v0.9.2
diff --git a/libre/syslinux/syslinux-6.02-fix-chainloading.patch b/libre/syslinux/syslinux-6.02-fix-chainloading.patch
new file mode 100644
index 000000000..6fd7ef4a8
--- /dev/null
+++ b/libre/syslinux/syslinux-6.02-fix-chainloading.patch
@@ -0,0 +1,47 @@
+Reported-by: Dark Raven <drdarkraven at gmail.com>
+Signed-off-by: Raphael S. Carvalho <raphael.scarv at gmail.com>
+---
+ com32/lib/syslinux/disk.c | 22 ++++++++++++++--------
+ 1 files changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/com32/lib/syslinux/disk.c b/com32/lib/syslinux/disk.c
+index 0b0c737..47ecb52 100644
+--- a/com32/lib/syslinux/disk.c
++++ b/com32/lib/syslinux/disk.c
+@@ -171,22 +171,28 @@ out:
+ static void *ebios_setup(const struct disk_info *const diskinfo, com32sys_t *inreg,
+ uint64_t lba, uint8_t count, uint8_t op_code)
+ {
+- static __lowmem struct disk_ebios_dapa dapa;
++ static struct disk_ebios_dapa *dapa = NULL;
+ void *buf;
+
++ if (!dapa) {
++ dapa = lmalloc(sizeof *dapa);
++ if (!dapa)
++ return NULL;
++ }
++
+ buf = lmalloc(count * diskinfo->bps);
+ if (!buf)
+ return NULL;
+
+- dapa.len = sizeof(dapa);
+- dapa.count = count;
+- dapa.off = OFFS(buf);
+- dapa.seg = SEG(buf);
+- dapa.lba = lba;
++ dapa->len = sizeof(*dapa);
++ dapa->count = count;
++ dapa->off = OFFS(buf);
++ dapa->seg = SEG(buf);
++ dapa->lba = lba;
+
+ inreg->eax.b[1] = op_code;
+- inreg->esi.w[0] = OFFS(&dapa);
+- inreg->ds = SEG(&dapa);
++ inreg->esi.w[0] = OFFS(dapa);
++ inreg->ds = SEG(dapa);
+ inreg->edx.b[0] = diskinfo->disk;
+
+ return buf;
diff --git a/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
index 2b86ab828..54151ab87 100644
--- a/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
+++ b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
@@ -4,9 +4,9 @@ diff -Nur syslinux-4.02.orig//Makefile syslinux-4.02//Makefile
@@ -54,7 +54,7 @@
# files that depend only on the B phase, but may have to be regenerated
# for "make installer".
- BSUBDIRS = codepage com32 lzo core memdisk modules mbr memdump gpxe sample \
-- diag libinstaller dos win32 win64 dosutil
-+ libinstaller
+ BSUBDIRS = codepage com32 lzo core memdisk mbr memdump gpxe sample \
+- diag libinstaller dos win32 win64 dosutil txt
++ libinstaller txt
ITARGET =
IOBJECTS = $(ITARGET) \
utils/gethostip utils/isohybrid utils/mkdiskimage \
diff --git a/libre/syslinux/syslinux-install_update b/libre/syslinux/syslinux-install_update
index 34fe8e916..4dc09696a 100644
--- a/libre/syslinux/syslinux-install_update
+++ b/libre/syslinux/syslinux-install_update
@@ -1,7 +1,7 @@
-#!/bin/bash
+#!/usr/bin/env bash
#
-# Sylinux Installer / Updater Scripts
-# Copyright (C) 2011 Matthew Gyurgyik <pyther@pyther.net>
+# Syslinux Installer / Updater Script (for BIOS only)
+# Copyright (C) 2013 Matthew Gyurgyik <pyther@pyther.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -26,13 +26,13 @@
#
shopt -s nullglob
-libpath="/usr/lib/syslinux"
-bootpath="/boot/syslinux"
-extlinux="/usr/bin/extlinux"
+bios_libpath="/usr/lib/syslinux/bios/"
+bios_bootpath="/boot/syslinux/"
+EXTLINUX="/usr/bin/extlinux"
-autoupdate_file=/boot/syslinux/SYSLINUX_AUTOUPDATE
-com32_files=(menu.c32 vesamenu.c32 chain.c32 hdt.c32 reboot.c32 poweroff.com)
-pciids_file=/usr/share/hwdata/pci.ids
+bios_core_modules=(config.c32 chain.c32 ldlinux.c32 libcom32.c32 libgpl.c32 liblua.c32 libmenu.c32 libutil.c32 linux.c32 menu.c32 vesamenu.c32)
+bios_autoupdate_file="/boot/syslinux/SYSLINUX_AUTOUPDATE"
+pciids_file="/usr/share/hwdata/pci.ids"
## Helper functions ##
# Taken from libui-sh
@@ -120,7 +120,7 @@ usage() {
cat << EOF
usage: $0 options
-This script will install or upgrade Syslinux
+This script will install or upgrade Syslinux (for BIOS only)
OPTIONS:
-h Show this message
@@ -133,16 +133,16 @@ OPTIONS:
Arguments Required:
-c Chroot install (ex: -c /mnt)
-Example Usage: syslinux-install_update.sh -i -a -m (install, set boot flag, install mbr)
- syslinux-install_update.sh -u (update)
+Example Usage: $0 -i -a -m # (install, set boot flag, install mbr)
+ $0 -u # (update)
EOF
}
# Trys to find the partition that /boot resides on
# This will either be on /boot or / (root)
getBoot() {
- if [[ ! -d "$bootpath" ]]; then
- echo "Could not find $bootpath"
+ if [[ ! -d "$bios_bootpath" ]]; then
+ echo "Could not find $bios_bootpath"
echo "Is boot mounted? Is Syslinux installed?"
exit 1
fi
@@ -278,9 +278,9 @@ install_mbr() {
{ echo "ABORT! MBR installation to partition ($disk)!"; exit 4;}
if [[ "$ptb" = MBR ]]; then
- mbrfile="$libpath/mbr.bin"
+ mbrfile="$bios_libpath/mbr.bin"
elif [[ "$ptb" = GPT ]]; then
- mbrfile="$libpath/gptmbr.bin"
+ mbrfile="$bios_libpath/gptmbr.bin"
fi
if dd bs=440 count=1 conv=notrunc if="$mbrfile" of="$disk" &> /dev/null; then
@@ -293,67 +293,65 @@ install_mbr() {
return 0
}
-_install() {
- # Copy files to /boot
- for file in "${com32_files[@]}"; do
- # Symlink files even if links exist
+install_modules() {
+ # Copy all com32 files to /boot
+ for file in "${bios_libpath}"/*.c32; do
+ file=${file##*/}
+ rm "$bios_bootpath/$file" &> /dev/null
if [[ "$boot" = root ]]; then
- ln -s "${libpath#$CHROOT}/$file" "$bootpath/$file" &> /dev/null
+ # Symlink files if /boot resides on the same partition as root
+ ln -sf "${bios_libpath#$CHROOT}/$file" "$bios_bootpath/$file" &> /dev/null
elif [[ "$boot" = boot ]]; then
- cp "$libpath/$file" "$bootpath/$file"
+ cp "$bios_libpath/$file" "$bios_bootpath/$file"
fi
done
- # Copy / Symlink pci.ids if we copy the com32 module and if pci.ids exists in the FS
- if check_is_in "hdt.c32" "${com32_files[@]}" && [[ -f $pciids_file ]]; then
+ # Copy / Symlink pci.ids if pci.ids exists on the FS
+ if [[ -f $pciids_file ]]; then
+ rm "$bios_bootpath/pci.ids" &> /dev/null
if [[ "$boot" = root ]]; then
- ln -s "$pciids_file" "$bootpath/pci.ids" &> /dev/null
+ ln -sf "$pciids_file" "$bios_bootpath/pci.ids" &> /dev/null
elif [[ "$boot" = boot ]]; then
- cp "$pciids_file" "$bootpath/pci.ids" &> /dev/null
+ cp "$pciids_file" "$bios_bootpath/pci.ids" &> /dev/null
fi
fi
+}
+
+_install() {
+ install_modules
if device_is_raid "$bootpart"; then
- echo "Detected RAID on /boot - installing Syslinux with --raid"
- "$extlinux" --install "$bootpath" -r > /dev/null 2>&1
+ echo "Detected RAID on /boot"
+ "$EXTLINUX" --install "$bios_bootpath" --raid &> /dev/null
else
- "$extlinux" --install "$bootpath" > /dev/null 2>&1
+ "$EXTLINUX" --install "$bios_bootpath" &> /dev/null
fi
if (( $? )); then
- echo "Syslinux install failed"
+ echo "Syslinux BIOS install failed"
exit 2
else
- echo "Syslinux install successful"
+ echo "Syslinux BIOS install successful"
fi
- touch "$CHROOT/$autoupdate_file"
+ touch "$CHROOT/$bios_autoupdate_file"
}
update() {
- # Update any com and c32 files in /boot
- if [[ "$boot" = boot ]]; then
- for file in "$bootpath"/*.{c32,com}; do
- file=$(basename "$file")
- cp "$libpath/$file" "$bootpath/$file" &> /dev/null
- done
- if [[ -f "$bootpath/pci.ids" ]]; then
- cp "$pciids_file" "$bootpath/pci.ids" &> /dev/null
- fi
- fi
+ install_modules
if device_is_raid $bootpart; then
- echo "Detected RAID on /boot - installing Syslinux with --raid"
- "$extlinux" --update "$bootpath" -r &> /dev/null
+ echo "Detected RAID on /boot"
+ "$EXTLINUX" --update "$bios_bootpath" --raid &> /dev/null
else
- "$extlinux" --update "$bootpath" &> /dev/null
+ "$EXTLINUX" --update "$bios_bootpath" &> /dev/null
fi
if (($?)); then
- echo "Syslinux update failed"
+ echo "Syslinux BIOS update failed"
exit 2
else
- echo "Syslinux update successful"
+ echo "Syslinux BIOS update successful"
fi
}
@@ -388,7 +386,7 @@ while getopts "c:uihmas" opt; do
;;
s)
# If AUTOUPDATE_FILE does not exist exit the script
- if [[ -f $autoupdate_file ]]; then
+ if [[ -f $bios_autoupdate_file ]]; then
UPDATE="True"
else
exit 0
@@ -420,14 +418,14 @@ fi
# If a chroot dir is path set variables to reflect chroot
if [[ "$CHROOT" ]]; then
- libpath="$CHROOT$libpath"
- bootpath="$CHROOT$bootpath"
- extlinux="$CHROOT$extlinux"
+ bios_libpath="$CHROOT$bios_libpath"
+ bios_bootpath="$CHROOT$bios_bootpath"
+ EXTLINUX="$CHROOT$EXTLINUX"
fi
# Exit if no /boot path exists
-if ( f=("$bootpath"/*); (( ! ${#f[@]} )) ); then
- echo "Error: $bootpath is empty!"
+if ( f=("$bios_bootpath"/*); (( ! ${#f[@]} )) ); then
+ echo "Error: $bios_bootpath is empty!"
echo "Is /boot mounted?"
exit 1
fi
diff --git a/libre/syslinux/syslinux.cfg b/libre/syslinux/syslinux.cfg
index e7199438f..0c0c6339a 100644
--- a/libre/syslinux/syslinux.cfg
+++ b/libre/syslinux/syslinux.cfg
@@ -7,7 +7,6 @@
# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
# * hdt.c32 - hardware detection tool
# * reboot.c32 - reboots the system
-# * poweroff.com - shutdown the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
@@ -50,21 +49,21 @@ MENU COLOR tabmsg 35;40 #ff777caa #00000000 std
#-*
LABEL parabola
- MENU LABEL Parabola GNU/Linux-libre
- LINUX ../vmlinuz-linux-libre
- APPEND root=/dev/sda3 rw
- INITRD ../initramfs-linux-libre.img
+ MENU LABEL Parabola GNU/Linux-libre
+ LINUX ../vmlinuz-linux-libre
+ APPEND root=/dev/sda3 rw
+ INITRD ../initramfs-linux-libre.img
LABEL parabolafallback
- MENU LABEL Parabola GNU/Linux-libre Fallback
- LINUX ../vmlinuz-linux-libre
- APPEND root=/dev/sda3 rw
- INITRD ../initramfs-linux-libre-fallback.img
+ MENU LABEL Parabola GNU/Linux-libre Fallback
+ LINUX ../vmlinuz-linux-libre
+ APPEND root=/dev/sda3 rw
+ INITRD ../initramfs-linux-libre-fallback.img
# If you want Memtest on syslinux, use this LABEL section to launch it (install the memtest86+ package)
-# LABEL memtest
-# MENU LABEL Memtest86+
-# LINUX ../memtest86+/memtest.bin
+# LABEL memtest
+# MENU LABEL Memtest86+
+# LINUX ../memtest86+/memtest.bin
LABEL hdt
MENU LABEL HDT (Hardware Detection Tool)
@@ -73,7 +72,7 @@ LABEL hdt
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
-
-LABEL off
- MENU LABEL Power Off
- COMBOOT poweroff.com
+
+LABEL poweroff
+ MENU LABEL Poweroff
+ COM32 poweroff.c32
diff --git a/libre/syslinux/syslinux.install b/libre/syslinux/syslinux.install
index 89dbf4e86..ac8553a97 100644
--- a/libre/syslinux/syslinux.install
+++ b/libre/syslinux/syslinux.install
@@ -1,13 +1,36 @@
post_install() {
- echo "==> If you want to use syslinux as your bootloader"
+ echo "==> If you want to use syslinux as your BIOS bootloader"
echo "==> edit /boot/syslinux/syslinux.cfg and run"
echo "==> # /usr/bin/syslinux-install_update -i -a -m"
echo "==> to install it."
+
+ cat << EOF
+Syslinux efi64 and efi32 files have been installed at
+/usr/lib/syslinux/{efi64,efi32}/ respectively.
+
+To install, copy /usr/lib/syslinux/efi64 to (ESP)/EFI/syslinux and
+syslinux.cfg to (ESP)/EFI/syslinux/syslinux.cfg and add a boot entry
+using efibootmgr for (ESP)/EFI/syslinux/syslinux.efi
+EOF
+
}
post_upgrade() {
# auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
/usr/bin/syslinux-install_update -s
+ # update to 5.01 message
+ if [ "$(vercmp $2 5.01)" -lt 0 ]; then
+ echo "If you used syslinux-install_update to install syslinux:"
+ echo "==> If you want to use syslinux with menu and all modules please rerun"
+ echo "==> # /usr/bin/syslinux-install_update -i -a -m"
+ echo ""
+ echo "If you manually installed syslinux:"
+ echo "==> Please copy or symlink all .c32 modules to your /boot/syslinux directory."
+ echo "==> If (/ and /boot on seperate fs):"
+ echo "==> # cp /usr/lib/syslinux/bios/*.c32 /boot/syslinux"
+ echo "==> If (/ and /boot on same fs):"
+ echo "==> # ln -s /usr/lib/syslinux/bios/*.c32 /boot/syslinux"
+ fi
}
# vim:set ts=2 sw=2 et:
diff --git a/libre/vim/PKGBUILD b/libre/vim/PKGBUILD
new file mode 100644
index 000000000..a2d30c600
--- /dev/null
+++ b/libre/vim/PKGBUILD
@@ -0,0 +1,228 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: tobias [ tobias at archlinux org ]
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgbase=vim
+pkgname=('vim' 'gvim' 'vim-runtime')
+_topver=7.4
+_patchlevel=16
+__hgrev=d17ef148ada4
+_versiondir="vim${_topver//./}"
+pkgver=${_topver}.${_patchlevel}
+pkgrel=2
+arch=('i686' 'x86_64')
+license=('custom:vim')
+url="http://www.vim.org"
+makedepends=('gpm' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua')
+source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig"
+ 'vimrc'
+ 'parabola.vim'
+ 'gvim.desktop')
+md5sums=('733cce44a08ea953ad0e1f9d574670e0'
+ 'SKIP'
+ '27820c2bdc34624674c561ae6476bc6a'
+ 'a8c21928eefd766e211f987879a9199c'
+ 'd90413bd21f400313a785bb4010120cd')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/hg ]] || (echo "hg not found. Install mercurial." && return 1)
+
+ __hgroot='http://vim.googlecode.com/hg/'
+ __hgrepo='vim'
+ __hgbranch='default'
+
+ hg clone -b ${__hgbranch} -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo}
+
+ pushd ${__hgrepo}
+ if (( $(hg id -n) < $(hg id -nr ${__hgbranch}) )); then
+ printf 'You are not building the latest revision!\n'
+ printf "Consider updating __hgrev to $(hg id -r ${__hgbranch}).\n"
+ fi
+ popd
+
+ mv vim ${pkgname}-${pkgver}
+ find ${pkgname}-${pkgver} -depth -type d -name .hg -exec rm -rf {} \;
+ rm ${pkgname}-${pkgver}/{.hgignore,.hgtags}
+ tar -cJf ${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
+ rm -r ${pkgname}-${pkgver}
+
+ gpg --detach-sign ${pkgname}-${pkgver}.tar.xz
+
+ scp ${pkgname}-${pkgver}.tar.xz nym:/srv/ftp/other/vim/
+ scp ${pkgname}-${pkgver}.tar.xz.sig nym:/srv/ftp/other/vim/
+}
+
+build() {
+ cp -a ${pkgname}-${pkgver} vim-build
+
+ # define the place for the global (g)vimrc file (set to /etc/vimrc)
+ sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+ sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+
+ (cd vim-build/src && autoconf)
+
+ cp -a vim-build gvim-build
+
+ cd "${srcdir}"/vim-build
+
+ ./configure \
+ --prefix=/usr \
+ --localstatedir=/var/lib/vim \
+ --with-features=huge \
+ --with-compiledby='Parabola GNU/Linux-libre' \
+ --enable-gpm \
+ --enable-acl \
+ --with-x=no \
+ --disable-gui \
+ --enable-multibyte \
+ --enable-cscope \
+ --disable-netbeans \
+ --enable-perlinterp \
+ --disable-pythoninterp \
+ --disable-python3interp \
+ --disable-rubyinterp \
+ --disable-luainterp
+
+ make
+
+ cd "${srcdir}"/gvim-build
+
+ ./configure \
+ --prefix=/usr \
+ --localstatedir=/var/lib/vim \
+ --with-features=huge \
+ --with-compiledby='Parabola GNU/Linux-libre' \
+ --enable-gpm \
+ --enable-acl \
+ --with-x=yes \
+ --enable-gui=gtk2 \
+ --enable-multibyte \
+ --enable-cscope \
+ --enable-netbeans \
+ --enable-perlinterp \
+ --enable-pythoninterp \
+ --disable-python3interp \
+ --enable-rubyinterp \
+ --enable-luainterp
+
+ make
+}
+
+check() {
+ # disable tests because they seem to freeze
+
+ cd "${srcdir}"/vim-build
+
+ #make test
+
+ cd "${srcdir}"/gvim-build
+
+ #make test
+}
+
+package_vim() {
+ pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (built for the vim-runtime rebranded package)'
+ depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm')
+ conflicts=('gvim')
+
+ cd "${srcdir}"/vim-build
+ 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
+
+ # license
+ install -Dm644 "${srcdir}"/vim-${pkgver}/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), (built for the vim-runtime rebranded package)'
+ depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'libxt'
+ 'desktop-file-utils' 'gtk2' 'lua' 'python2')
+ provides=("vim=${pkgver}-${pkgrel}")
+ conflicts=('vim')
+ install=gvim.install
+
+ cd "${srcdir}"/gvim-build
+ 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
+
+ # Move the runtime for later packaging
+ mv "${pkgdir}"/usr/share/vim "${srcdir}"/runtime-install
+
+ # freedesktop links
+ install -Dm644 "${srcdir}"/gvim.desktop \
+ "${pkgdir}"/usr/share/applications/gvim.desktop
+ install -Dm644 runtime/vim48x48.png "${pkgdir}"/usr/share/pixmaps/gvim.png
+
+ # license
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
+}
+
+package_vim-runtime() {
+ pkgdesc='Runtime for vim and gvim (Parabola rebranded)'
+ depends=('perl' 'gawk')
+ backup=('etc/vimrc')
+
+ # Install the runtime split from gvim
+ install -dm755 "${pkgdir}"/usr/share
+ mv "${srcdir}"/runtime-install "${pkgdir}"/usr/share/vim
+
+ # Don't forget logtalk.dict
+ install -Dm644 "${srcdir}"/gvim-build/runtime/ftplugin/logtalk.dict \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict
+
+ # fix FS#17216
+ sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
+ "${pkgdir}"/usr/share/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/${_versiondir}/filetype.vim
+ sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/changelog.vim
+
+ # rc files
+ install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
+ install -Dm644 "${srcdir}"/parabola.vim \
+ "${pkgdir}"/usr/share/vim/vimfiles/parabola.vim
+
+ # rgb.txt file
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt
+
+ # license
+ install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime
+ ln -s /usr/share/vim/${_versiondir}/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
+}
+
+# vim:set sw=2 sts=2 et:
diff --git a/libre/vim/gvim.desktop b/libre/vim/gvim.desktop
new file mode 100644
index 000000000..675357da5
--- /dev/null
+++ b/libre/vim/gvim.desktop
@@ -0,0 +1,63 @@
+[Desktop Entry]
+Name=Vi IMproved
+Name[bg]=Vi Ðåäàêòîð
+Name[ca]=Vi Millorat
+Name[da]=Vi forbedret
+Name[eo]=VIM
+Name[et]=Täiustatud Vi (vim)
+Name[fr]=Vi étendu (VIM)
+Name[he]=רפושמ Vi
+Name[hu]=Vi
+Name[is]=Vi IMproved ritillinn
+Name[it]=Vi iMproved
+Name[no]=Vi IMproved (forbedret VI)
+Name[pl]=Poprawiony VI (vim)
+Name[ro]=VIM
+Name[ru]=Улучшенный VI
+Name[sk]=Vi IMpreved
+Name[sl]=Izboljšani vi (vim)
+Name[sv]=Förbättrad Vi
+Name[zh_CN.GB2312]=改进的 Vi
+Comment=Powerful text editor with scripting functions and macro recorder
+Comment[bg]=Ðåäàêòîð ñ ìíîãî âúçìîæíîñòè
+Comment[ca]=Editor vi potent
+Comment[cs]=Mocný textový editor vi
+Comment[da]=En kraftig vi tekstbehandler
+Comment[de]=Ein leistungsfähiger vi-Editor
+Comment[el]=Πανίσχυρος διορθωτής vi
+Comment[eo]=VIM similas al redaktilo "vi", sed havas aldonajn ecojn
+Comment[es]=Una versión mejorada del editor vi
+Comment[et]=Võimas tekstiredaktor vi
+Comment[fi]=Tehokas vi-tekstieditori
+Comment[fr]=Éditeur vi puissant
+Comment[gl]=Potente editor vi
+Comment[he]=Vi המצועה בר ךרועה
+Comment[hr]=Napredni vi uređivač
+Comment[hu]=Vi szövegszerkesztő
+Comment[is]=Öflug útgáfa vi ritilsins
+Comment[it]=Un editor vi potenziato
+Comment[ja]=強力なViエディタ
+Comment[lt]=Galingas vi redaktorius
+Comment[mk]=Моќен VI уредувач
+Comment[nl]=Krachtige vi-editor
+Comment[no]=En kraftig vi-redigerer
+Comment[no_NY]=Kraftig vi-tekstredigeringsprogram
+Comment[pl]=Edytor vi
+Comment[pt]=Um poderoso editor de texto
+Comment[ro]=Un editor de texte VI, puternic
+Comment[ru]=Мощный текстовый редактор vi
+Comment[sk]=Silný textový procesor vi
+Comment[sl]=Zmogljivi urejevalnik vi
+Comment[sr]=Moćni vi editor
+Comment[sv]=En kraftfull texteditor
+Comment[ta]=ºì¾¢Å¡öó¾ vi ¦¾¡ÌôÀ¡Ç÷
+Comment[tr]=Güçlü vi düzenleyicisi
+Comment[uk]=Потужний редактор vi
+Comment[zh_CN.GB2312]=功能强大的 vi 编辑器
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=gvim -f %F
+Icon=gvim
+Type=Application
+Terminal=false
+X-XClassHintResName=VIM
+Categories=Utility;TextEditor;
diff --git a/libre/vim/gvim.install b/libre/vim/gvim.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/libre/vim/gvim.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/vim/parabola.vim b/libre/vim/parabola.vim
new file mode 100644
index 000000000..bc3c1f82e
--- /dev/null
+++ b/libre/vim/parabola.vim
@@ -0,0 +1,27 @@
+" The Parabola GNU/Linux-libre global vimrc - setting only a few sane defaults
+"
+" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org]
+" Maintainer for Parabola rebranding: André Silva [emulatorman funnychar parabola dot nu]
+"
+" 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
+
+
+if has('gui_running')
+ " Make shift-insert work like in Xterm
+ map <S-Insert> <MiddleMouse>
+ map! <S-Insert> <MiddleMouse>
+endif
diff --git a/libre/vim/vimrc b/libre/vim/vimrc
new file mode 100644
index 000000000..fc67e7eb0
--- /dev/null
+++ b/libre/vim/vimrc
@@ -0,0 +1,16 @@
+" All system-wide defaults are set in $VIMRUNTIME/parabola.vim (usually just
+" /usr/share/vim/vimfiles/parabola.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 parabola.vim will be overwritten
+" everytime an upgrade of the vim packages is performed. It is recommended to
+" make changes after sourcing parabola.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! parabola.vim
+
+" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
+" Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual
+" and configure vim to your own liking!
+