summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorfelics2018-12-06 14:26:10 +0100
committerfelics2018-12-06 14:26:10 +0100
commit1e1e0b8e2bf451fa370d041aefc8b6a5602583b7 (patch)
tree3d4863298be26b6d162c548b4e8c59272b36b2ca
downloadaur-1e1e0b8e2bf451fa370d041aefc8b6a5602583b7.tar.gz
Initial commit
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD129
-rw-r--r--keyboardlayouteditor.sh10
3 files changed, 162 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..cf1dbfc0267d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = keyboardlayouteditor-git
+ pkgdesc = PyGTK programme that helps create or edit XKB keyboard layouts.
+ pkgver = 1.1+r84.g742101b
+ pkgrel = 2
+ url = http://github.com/simos/keyboardlayouteditor
+ arch = any
+ license = GPL3
+ makedepends = antlr3=3.1.2
+ makedepends = git
+ depends = pygtk
+ depends = python2
+ depends = python2-antlr3=3.1.2
+ depends = python2-cairo
+ depends = python2-gobject2
+ depends = python2-lxml
+ provides = keyboardlayouteditor=1.1+r84.g742101b
+ source = keyboardlayouteditor::git+git://github.com/simos/keyboardlayouteditor.git
+ source = keyboardlayouteditor.sh
+ sha256sums = SKIP
+ sha256sums = 349b12f237a19f76af16082d58bf443892190faa5f741aced92e10f6e79d8761
+
+pkgname = keyboardlayouteditor-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..a967ecba6488
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,129 @@
+# Maintainer: dreieck
+
+_pkgname=keyboardlayouteditor
+pkgname="${_pkgname}"-git
+pkgver=1.1+r84.g742101b
+pkgrel=2
+pkgdesc="PyGTK programme that helps create or edit XKB keyboard layouts."
+arch=('any')
+url="http://github.com/simos/keyboardlayouteditor"
+license=('GPL3')
+# To run the application, you need the python UI binding packages. For Ubuntu 14.04, the packages below are already pre-installed.
+# * Cairo
+# * Pango
+# * GObject
+# * lxml
+depends=(
+ 'pygtk'
+ 'python2'
+ 'python2-antlr3=3.1.2'
+ 'python2-cairo'
+ 'python2-gobject2'
+ 'python2-lxml'
+)
+makedepends=(
+ 'antlr3=3.1.2'
+ 'git'
+)
+optdepends=()
+provides=(
+ "${_pkgname}=${pkgver}"
+)
+source=(
+ "${_pkgname}::git+git://github.com/simos/${_pkgname}.git"
+ "keyboardlayouteditor.sh"
+)
+sha256sums=(
+ "SKIP"
+ "349b12f237a19f76af16082d58bf443892190faa5f741aced92e10f6e79d8761"
+)
+
+_cmd() {
+ # Prints out what to be run to stdout, and then executes it.
+ # The command and it's arguments is passed as argument(s).
+
+ printf '%s' '> '; cat <<< "$@"
+ "$@"
+}
+
+pkgver() {
+ cd "${srcdir}/${_pkgname}"
+
+ _ver="$(grep '__version__' KeyboardLayoutEditor | tail -n 1 | awk -F '=' '{print $2}' | tr -d "[[:space:]]'\"")"
+ _rev="$(git rev-list --count HEAD)"
+ _githash="$(git rev-parse --short HEAD)"
+
+ if [ -z "${_ver}" ]; then
+ msg2 "Error in 'pkgver()': Could not determine version."
+ return 11
+ fi
+ if [ -z "${_rev}" ]; then
+ msg2 "Error in 'pkgver()': Could not determine commit count."
+ return 12
+ fi
+ if [ -z "${_githash}" ]; then
+ msg2 "Error in 'pkgver()': Could not determine git commit hash."
+ return 13
+ fi
+
+ echo "${_ver}+r${_rev}.g${_githash}"
+}
+
+prepare() {
+ cd "${srcdir}"
+
+ cat <<< "${url}" > website.url
+}
+
+build() {
+
+ _patch_for_python2() {
+ # Arguments: Tiles to check if the shabeng line needs patching.
+ # It patches the shabeng-line from 'python' to 'python2', if not already done.
+
+ ls -1 "$@" | while read _f; do
+ if head -n1 "${_f}" | grep -Eq '^#!.*python[[:space:]]*$'; then
+ _cmd sed -E '1s|python[[:space:]]*$|python2|' -i "${_f}"
+ fi
+ done
+ }
+
+ cd "${srcdir}/${_pkgname}"
+
+ _cmd antlr3 *.g
+ # _cmd java -classpath /usr/share/java/antlr-3.1.2.jar org.antlr.Tool *.g
+
+ ### This takes too long, since each call of 'antlr3' starts a java environment. Use the 'antlr3 *.g'-call instead.
+ # ls -1 *.g | while read _g; do
+ # _cmd antlr3 "${_g}"
+ # done
+
+ _patch_for_python2 *.py KeyboardLayoutEditor
+
+
+ _cmd cd utils
+ _cmd antlr3 *.g
+
+ _patch_for_python2 *.py
+}
+
+package() {
+ _instbase="/opt/${_pkgname}"
+ _instdir="${pkgdir}/${_instbase}"
+
+ cd "${srcdir}/${_pkgname}"
+
+ _cmd install -d -m755 "${_instdir}"
+
+ _cmd cp -a * "${_instdir}/"
+ _cmd rm -Rf "${_instdir}"/{.[a-zA-Z0-9_]*,utils/*.g,*.g,COPYING,README.md,TODO}
+
+ _cmd install -D -m755 "${srcdir}/keyboardlayouteditor.sh" "${pkgdir}/usr/bin/keyboardlayouteditor"
+
+ for _docfile in 'README.md' 'TODO'; do
+ _cmd install -D -m644 "${_docfile}" "${pkgdir}/usr/share/doc/${_pkgname}/${_docfile}"
+ done
+ _cmd install -D -m644 "${srcdir}/website.url" "${pkgdir}/usr/share/doc/${_pkgname}/website.url"
+
+ _cmd install -D -m644 'COPYING' "${pkgdir}/usr/share/license/${pkgname}/COPYING"
+}
diff --git a/keyboardlayouteditor.sh b/keyboardlayouteditor.sh
new file mode 100644
index 000000000000..6fac0c9d2216
--- /dev/null
+++ b/keyboardlayouteditor.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+_instdir="/opt/keyboardlayouteditor"
+_pgmname="KeyboardLayoutEditor"
+_pgm="${_instdir}/${_pgmname}"
+
+# cd "${_instdir}"
+# ./"${_pgmname}" "$@"
+
+"${_pgm}" "$@"