# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=geany-plugins
pkgver=1.30
pkgrel=0
pkgdesc="Plugins for Geany"
url="http://plugins.geany.org/"
arch="all"
license="GPLv3+"
depends=""
makedepends="lua-dev geany-dev enchant-dev intltool gtkspell-dev libxml2-dev
	bash vte-dev vala libsoup-dev gpgme-dev python2-dev"
install=""
subpackages="$pkgname-doc
	$pkgname-addons
	$pkgname-autoclose
	$pkgname-automark
	$pkgname-codenav
	$pkgname-commander
	$pkgname-defineformat
	$pkgname-geanyctags
	$pkgname-geanydoc
	$pkgname-geanyextrasel
	$pkgname-geanyinsertnum
	$pkgname-geanylatex
	$pkgname-geanylua
	$pkgname-geanymacro
	$pkgname-geanyminiscript
	$pkgname-geanynumberedbookmarks
	$pkgname-geanypg
	$pkgname-geanyprj
	$pkgname-geanypy
	$pkgname-geanyvc
	$pkgname-geniuspaste
	$pkgname-lineoperations
	$pkgname-lipsum
	$pkgname-multiterm
	$pkgname-overview
	$pkgname-pairtaghighlighter
	$pkgname-pohelper
	$pkgname-pretty-printer:pretty_printer
	$pkgname-projectorganizer
	$pkgname-scope
	$pkgname-sendmail
	$pkgname-shiftcolumn
	$pkgname-spellcheck
	$pkgname-tableconvert
	$pkgname-treebrowser
	$pkgname-updatechecker
	$pkgname-xmlsnippets

	$pkgname-lang
	"

source="http://plugins.geany.org/$pkgname/$pkgname-$pkgver.tar.bz2"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-lua-pkg=lua \
		--disable-debugger \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
}

_plugin() {
	pkgdesc="$2"
	local _d
	mkdir -p "$subpkgdir"/usr/lib/geany
	mv "$pkgdir"/usr/lib/geany/$1.so "$subpkgdir"/usr/lib/geany/ || return 1
	cd "$pkgdir"
	for _d in usr/*/geany-plugins/$1; do
		if [ -d "$_d" ]; then
			mkdir -p "$subpkgdir"/${_d%/*}
			mv "$pkgdir"/$_d "$subpkgdir"/$_d
			rmdir "$pkgdir"/${_d%/*} || true
		fi
	done
}

addons() { _plugin addons "Miscellaneous Addons for Geany"; }
autoclose() { _plugin autoclose "Auto-closing features for Geany"; }
automark() { _plugin automark "Highlights all words that match current word"; }
codenav() { _plugin codenav "Navigate through your source code easily"; }
commander() { _plugin commander "Control Geany using commands from a command panel"; }
defineformat() { _plugin defineformat "Plugin to write multiline defines with aligned backslash"; }
geanyctags() { _plugin geanyctags "Generate and query ctags files for a Geany project"; }
geanydoc() { _plugin geanydoc "Call documentation from within Geany"; }
geanyextrasel() { _plugin geanyextrasel "Additional features for selecting code"; }
geanyinsertnum() { _plugin geanyinsertnum "Insert huge number ranges with small efforts"; }
geanylatex() { _plugin geanylatex "LaTeX support for Geany"; }
geanylua() { _plugin geanylua "Lua Scripting for Geany"; }
geanymacro() { _plugin geanymacro "User defined Macros for Geany"; }
geanyminiscript() { _plugin geanyminiscript "Geany Mini-Script filter plugin"; }
geanynumberedbookmarks() { _plugin geanynumberedbookmarks "Provide users 10 numbered Bookmarks"; }
geanypg() { _plugin geanypg "A plugin for Geany that allows the user to encrypt, decrypt and verify signatures with GnuPG"; }
geanypy() { _plugin geanypy "Provides Python bindings for Geany";
	mv "$pkgdir"/usr/lib/geany/geanypy \
		"$pkgdir"/usr/lib/geany/*.py \
		"$subpkgdir"/usr/lib/geany/
}
geanyprj() { _plugin geanyprj "Alternate project management tool for Geany"; }
geanyvc() { _plugin geanyvc "Version Control for Geany"; }
geniuspaste() { _plugin geniuspaste "A plugin to paste the code from Geany into different pastebins"; }
multiterm() { _plugin multiterm "Multiple terminals inside of Geany"; }
lineoperations() { _plugin lineoperations "Assortment of simple line functions that can be applied to an open file"; }
lipsum() { _plugin lipsum "Lorem Ipsum generator for Inserting Placeholder Text"; }
overview() { _plugin overview "Overview over the code in a sidebar"; }
pairtaghighlighter() { _plugin pairtaghighlighter "Finds and highlights matching HTML tag"; }
pohelper() { _plugin pohelper "A plugin for Geany that improves the support for GetText translation files"; }
pretty_printer() { _plugin pretty-printer "XML pretty printing plugin for Geany"; }
projectorganizer() { _plugin projectorganizer "Extension of Geany's project management";
	mkdir -p "$subpkgdir"/usr/share
	mv "$pkgdir"/usr/share/icons "$subpkgdir"/usr/share/
}
scope() { _plugin scope "Graphical GDB front-end"; }
sendmail() { _plugin sendmail "Send E-Mails from within Geany"; }
shiftcolumn() { _plugin shiftcolumn "Move Blocks of Text horizontally"; }
spellcheck() { _plugin spellcheck "Spellcheck text in Geany"; }
tableconvert() { _plugin tableconvert "Helps on converting a tabulator separated selection into a table"; }
treebrowser() { _plugin treebrowser "Alternate file browser plugin"; }
updatechecker() { _plugin updatechecker "A plugin to check whether there is a more recent version of Geany available"; }
xmlsnippets() { _plugin xmlsnippets "Extends XML/HTML tag autocompletion provided by Geany"; }

sha512sums="02f8096c3cd13a32baad93517744306315ac4a9d566689fff44a9061b03c2a8aeba260d805c557ac6167919e8b9b75bf7dabe9d0b93a3a5089a8598c952735d8  geany-plugins-1.30.tar.bz2"