summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames An2014-08-11 04:34:47 -0400
committerJames An2014-08-11 04:34:47 -0400
commitd577dc210c1d8cd5da9aa334c3f79234101683e4 (patch)
tree5c5261e3368fab0a031c5135efb2b6f0b2c15c4c
downloadaur-d577dc210c1d8cd5da9aa334c3f79234101683e4.tar.gz
Added initial version of geany-openscad package.
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD16
-rw-r--r--geany-openscad.install35
3 files changed, 65 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7fa9022cde8c
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,14 @@
+pkgbase = geany-openscad
+ pkgdesc = Syntax highlighting and auto-completion for OpenSCAD files in Geany.
+ pkgver = 20140305
+ pkgrel = 2
+ url = http://www.thingiverse.com/thing:263620
+ install = geany-openscad.install
+ arch = any
+ license = CCPL:by-sa
+ depends = geany
+ source = http://www.thingiverse.com/download:479705
+ md5sums = b97833567bdc0e084ae226ca7dc0a722
+
+pkgname = geany-openscad
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c71033f6373d
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,16 @@
+# Maintainer: James An <james@jamesan.ca>
+pkgname=geany-openscad
+pkgver=20140305
+pkgrel=1
+pkgdesc="Syntax highlighting and auto-completion for OpenSCAD files in Geany."
+arch=('i686' 'x86_64')
+url='http://www.thingiverse.com/thing:263620'
+license=('CCPL:by-sa')
+depends=('geany')
+install="$pkgname.install"
+source=('http://www.thingiverse.com/download:479705')
+md5sums=('b97833567bdc0e084ae226ca7dc0a722')
+
+package() {
+ install -Dm644 'download:479705' "$pkgdir/usr/share/geany/filetypes.OpenSCAD.conf"
+}
diff --git a/geany-openscad.install b/geany-openscad.install
new file mode 100644
index 000000000000..3df4b448c7fc
--- /dev/null
+++ b/geany-openscad.install
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+declare -r file='/usr/share/geany/filetype_extensions.conf'
+declare -r heading='Extensions'
+declare -r category='Script'
+declare -r key='OpenSCAD'
+declare -r value='*.scad'
+
+post_install() {
+ # insert filetype line if it isn't present, otherwise replace it.
+ if [ -z "`grep "^${key}=" "${file}"`" ] ; then
+ local before="`sed -n "1,/^\[${heading}]/p" "${file}"`"
+ local section="`sed "1,/^\[${heading}]/d;/^\s*$/,\\\$d" $file | \
+ cat - <(echo "${key}=${value};") | \
+ sort -f`"
+ local after="`sed "1,/^\[${heading}]/d;1,/^\s*$/d" "${file}"`"
+
+ echo "${before}" "${section}" $'\n' $'\n' "${after}" > "${file}"
+ else
+ sed -i "s/^\(${key}=.*;\)/\1${value};/" "${file}"
+ fi
+ sed -i "s/^\(${category}=.*\)/\1${key};/" "${file}"
+}
+
+pre_remove() {
+ # remove the *.scad pattern from the OpenSCAD file type.
+ sed -i "s/^\(${key}=.*\)\\${value};/\1/" "${file}"
+
+ # if the OpenSCAD file type has no other patterns,
+ # remove it and its entry in the Script group.
+ if [ -z "`grep "^${key}=.+" "${file}"`" ] ; then
+ sed -i "/^${key}=/d" "${file}"
+ sed -i "s/^\(${category}=.*\)${key};\(.*\)$/\1\2/" "${file}"
+ fi
+}