Blob Blame History Raw
%global geany_plug_docdir %{_defaultdocdir}/%{name}-%{version}
%global req_geany_ver 0.20

Name:           geany-plugins
Version:        0.21
Release:        1%{?dist}
Summary:        Plugins for Geany

Group:          Development/Tools
License:        GPLv3+
URL:            http://plugins.geany.org/
Source0:        http://plugins.geany.org/geany-plugins/geany-plugins-%{version}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  geany-devel >= %{req_geany_ver} gettext intltool pkgconfig
BuildRequires:  lua-devel >= 5.1
BuildRequires:  enchant-devel >= 1.3 gtkspell-devel >= 2.0
BuildRequires:  libxml2-devel >= 2.6.27
BuildRequires:  ctpl-devel >= 0.3
BuildRequires:  gpgme-devel
BuildRequires:  vte-devel
BuildRequires:  libtool cppcheck

%description
Plugins for Geany. Plugins included are:
* Addons (Various small Addons)
* Code navigation (Navigate through your source code easily)
* Debugger (Enables debugging in Geany)
* Geanydoc (Call specific documentation from within Geany)
* Geanyextrasel (Additional features for selecting code)
* GeanyGenDoc (Automatically generate documentation source code)
* GeanyGDB (Integration with GDB)
* Geanyinsertnum (Insert huge number ranges with small efforts)
* GeanyLaTeX (Improved Support for LaTeX documents)
* GeanyLipsum (Inserting blocks of Lorem Ipsum text)
* Geanylua (Support for Scripting with Lua)
* GeanyMacro (User defined Macros for Geany)
* GeanyNumberedBookmarks (Provide users with 10 numbered Bookmarks)
* GeanyPG (Encrypt, decrypt and verify signatures with GnuPG)
* Geanyprj (Alternate project management for Geany)
* GeanySendMail (Sending of documents from within Geany)
* GeanyVC (Support for various Version Control Systems)
* GProject (Extension of Geany's Project Management)
* Pretty-Print (XML Pretty Printer)
* Shiftcolumn (Moving blocks of text horizontally)
* Spellcheck (Spell checking of documents or marked text)
* Tableconvert (Helps on converting a tabulator separated selection into a table)
* Treebrowser (Alternate file browser with tree view of folders)
* Webhelper (Provides some web development facilities for Geany)
* XMLSnippets (Extends XML/HTML tag autocompletion provided by Geany)


%package common
Summary:   Common files used by all geany plugins
Group:     Development/Tools
Requires:  geany >= %{req_geany_ver}

%description common
This package contains some common files which are used by every Geany plugin,
e.g. language translations.


%package addons
Summary:   Miscellaneous Addons for Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description addons
This plugins consists of various small addons too small to justify their own
plugin, but are useful to have. The following functionality is implemented:
* Document list: This addon places a new item in the toolbar and when clicked
  offers a menu listing all open files plus the 'Close All' and 'Close Other
  Documents' menu items. This can be useful to quickly access open files and
  switch to them.
* Open and Copy URI: Adds 'Open URI' and 'Copy URI' menu items to the editor
  menu when the word under the cursor looks like a URI. 'Open URI' uses the
  browser command configured in Geany to open it.
* Tasks: The tasks plugin goes through a file being edited and picks out
  lines with configurable keywords (e.g. "TODO" or "FIXME") in them. It
  collects the text after those words and puts them in a new "Tasks" tab in
  the message window. Clicking on a task in that tab takes you to the line in
  the file where the task was defined.
* Systray: Adds a status icon to the notification area (systray) and provides
  a simple popup menu with some basic actions. It can also be used to
  quickly show and hide the Geany main window.
* Bookmark list: Add a list of defined bookmarks (line markers) to the sidebar.
  This list contains all bookmarks defined in the current file
  for faster overview and access.
* Mark Word: When double-clicking a word, all occurrences of this word are
  searched and then highlighted (similar to Geany's 'Mark All' Find option).
* Strip trailing blank lines: This addon removes excessive trailing blank
  lines from the document when it is saved. If you have 'Ensure new line at
  file end' option checked in Preferences, one trailing newline will be left.
* XML tagging: XML tagging allows to easy tag a selected text, by checking for a
  selection, offering a little dialog for inserting a tag and
  replacing a selection.


%package codenav
Summary:    Navigate through your source code easily
Group:      Development/Tools
Requires:   geany-plugins-common = %{version}-%{release}

%description codenav
This plugin adds some facilities for navigating in the code.
Actually, it will make it possible to:
- switch between header and implementation
- go to a file by typing its name


%package debugger
Summary: enables debugging in Geany
Group:      Development/Tools
Requires:   geany-plugins-common = %{version}-%{release}
Requires:   vte >= 0.24

%description debugger
Plugin enables debugging in Geany. Currently supports GDB only, but was
developed with multiple debuggers support in mind, so the other backends
support is planned as well.


%package geanydoc
Summary:   Call documentation from within Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanydoc
Geanydoc allows you to execute specific commands on the word under the cursor.
This word is passed as an argument to the command. The output of the command
can either be placed into a special buffer called "DOC" or can be used to
execute an external program. Geanydoc is intended to be used for searching
through API documentation.


%package geanyextrasel
Summary:   Additional features for selecting code
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanyextrasel
Geanyextrasel provides some special features for selecting code, e.g. from
opening brace to closed brace and so on. This plugin will be very useful for
you if you're a programmer and working with much sourcecodes.


%package geanygdb
Summary:   Debugger Plugin for Geany using GDB
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Requires:  gdb

%description geanygdb
GeanyGDB plugin provides an integrated debugging environment for the
GNU debugger (gdb).


%package geanygendoc
Summary:   Automatically generate documentation source code
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Requires:  ctpl-libs >= 0.3
Requires:  rst2html

%description geanygendoc
GeanyGenDoc is a plugin for Geany that aims to automatically generate
documentation comment basis from the source code.

You may also want to install the following packages which enable
some extra features:
 - Docutils (http://docutils.sourceforge.net/) -- or another implementation of
   rst2html -- is needed to (re)generate the HTML manual.


%package geanyinsertnum
Summary:   Insert huge number ranges with small efforts
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanyinsertnum
Geanyinsertnum replaces a (possibly zero-width) rectangular selection with
integer numbers, using start/step/base etc. specified by the user. For
practical reasons, the number of lines is limited to 500000.


%package geanylatex
Summary:   LaTeX support for Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Requires:  tex(latex)

%description geanylatex
This plugin improves LaTeX support in Geany. It provides several templates for
new documents, help with adding labels and inserting special characters,
and much more.


%package geanylipsum
Summary:   Lorem Ipsum generator for Inserting Placeholder Text
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanylipsum
GeanyLipsum is a Lorem Ipsum generator for inserting placeholder text into a
document.


%package geanylua
Summary:   Lua Scripting for Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Requires:  lua

%description geanylua
This plugin provides extensive support for developing in the lua programming
language.


%package geanymacro
Summary:   User defined Macros for Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanymacro
GeanyMacro is a plugin to provide user defined macros for Geany. It started
out as part of the ConText feature parity plugin, which was split into
individual plugins to better suit Geany's ethos of being as light as
possible while allowing users to select which features they want to add to
the core editor. The idea was taken from a Text Editor for Windows called
ConText.

This plugin alows you to record and use your own macros. Macros are
sequences of actions that can then be repeated with a single key
combination. So if you had dozens of lines where you wanted to delete the
last 2 characters, you could simple start recording, press End, Backspace,
Backspace, down line and then stop recording. Then simply trigger the macro
and it would automaticaly edit the line and move to the next. You could then
just repeatedly trigger the macro to do as many lines as you want.


%package geanynumberedbookmarks
Summary:   Provide users 10 numbered Bookmarks
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanynumberedbookmarks
GeanyNumberedBookmarks is a plugin to provide users with 10 numbered
bookmarks (in addition to the usual bookmarks). It started out as part of
the ConText feature parity plugin, which was split into individual plugins
to better suit Geany's ethos of being as light as possible while allowing
users to select which features they want to add to the core editor. The idea
was taken from a Text Editor for Windows called ConText.

Normally if you had more than one bookmark, you would have to cycle through
them until you reached the one you wanted. With this plugin you can go
straight to the bookmark that you want with a single key combination.


%package geanypg
Summary:   encrypt, decrypt and verify signatures with GnuPG
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Requires:  gpgme

%description geanypg
GeanyPG is a plugin for Geany that allows the user to encrypt, decrypt and
verify signatures with GnuPG.


%package geanyprj
Summary:   Provides an alternate project management tool for Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanyprj
Geanyprj provides an alternate project management approach to Geany's built-in
project facility. The idea is to be less a "session manager" as the built-in
project management does: It allows/requires you to manually open and close
project and allows you to store project files in different locations from
project sources.

Geanyprj takes a different approach:
It never saves session information, so that project files can be stored in
version control without constant noise from changes of opened files or cursor
position. You also will never have to open/close projects manually. If a
*.geanyprj file is found somewhere up in path it will be opened automatically.


%package geanysendmail
Summary:   Send E-Mails from within Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description geanysendmail
GeanySendMail is a little plugin to send a document as attachment using the
preferred mail client from inside Geany. It is similar to the envelope symbol
of most office tools and requires a mail client that supports remote calls.


%package geanyvc
Summary:   Version Control for Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Obsoletes: geanyvc <= 0.5
Provides:  geanyvc = %{version}-%{release}

%description geanyvc
Geanyvc is a plugin that provides a uniform way of accessing different version
control systems from within the Geany IDE. Currently, support for the following
version control systems is provided:

* Bazaar
* Git
* Mercurial
* Subversion
* SVK
* CVS


%package gproject
Summary:   Extension of Geany's project management
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description gproject
GProject is an extension of Geany's project management displaying a tree of
files belonging to the project in the sidebar. In addition, it enables quick
swapping between header and source files, searching project files by name
and more. The plugin was created with big projects in mind so everything
works fast enough even with projects consisting of hundreds of thousands of
files.


%package pretty-print
Summary:   XML pretty printing plugin for Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Requires:  libxml2 >= 2.6.27

%description pretty-print
Plugin for Geany to easily beautify XML code.


%package shiftcolumn
Summary:   Move Blocks of Text horizontally
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description shiftcolumn
Shiftcolumn allows you to move blocks of text horizontally in Geany.


%package spellcheck
Summary:   Spellcheck Text in Geany using the Enchant Library
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
Requires:  enchant

%description spellcheck
Spellcheck checks the selected text (or the whole document) with the spellcheck
library Enchant


%package tableconvert
Summary:   Helps on converting a tabulator separated selection into a table
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description tableconvert
Tableconvert is a plugin which helps on converting a tabulator separated
selection into a table.


%package treebrowser
Summary:   Alternate file browser plugin providing a tree view of directories
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description treebrowser
The tree browser plugin for Geany provides an alternate way to browse through
your files. It displays files and directories in a tree view and has more
features than the file browser plugin delivered with Geany itself.


%package updatechecker
Summary:   Automatically check for Geany updates
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
BuildRequires: libsoup-devel

%description updatechecker
UpdateChecker is a plugin for Geany, which is able to check whether there is
a more recent version of Geany available.


%package webhelper
Summary:   Preview and Debug Web documents from within Geany using WebKit
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}
BuildRequires: webkitgtk-devel >= 1.1.18

%description webhelper
WebHelper is a plugin for Geany that provides some web development
facilities, such as a web page preview and some debugging tools (web
inspector).

Prominent features:

* A basic web view, allowing to display any web page (using WebKit)
* Possible automatic reloading of the web view upon document saving
* A web inspector/debugging tool for the web view's content (including a
  JavaScript console, a viewer and editor of processed HTML and CSS, a network
  usage analysis tool and many more, thanks to WebKit).


%package xmlsnippets
Summary:   Extends XML/HTML tag autocompletion provided by Geany
Group:     Development/Tools
Requires:  geany-plugins-common = %{version}-%{release}

%description xmlsnippets
This plugin extends XML/HTML tag autocompletion provided by Geany. It
automatically inserts a matching snippet after you type an opening tag.


%prep
%setup -q


%build
%configure --docdir=%{geany_plug_docdir}
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install -p DESTDIR=$RPM_BUILD_ROOT

# Remove static library *.la files
find $RPM_BUILD_ROOT -name '*.la' -delete

# Remove zero-length files
find $RPM_BUILD_ROOT -type f -empty -delete


%find_lang %{name}

%clean
rm -rf $RPM_BUILD_ROOT


%files common -f %{name}.lang
%defattr(-,root,root,-)
%dir %{_libdir}/%{name}/
%dir %{_datadir}/%{name}/


%files addons
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/addons
%{_libdir}/geany/addons.so


%files codenav
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/codenav
%{_libdir}/geany/codenav.so


%files debugger
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/debugger
%{_datadir}/%{name}/debugger/
%{_libdir}/geany/debugger.so


%files geanydoc
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanydoc/
%{_libdir}/geany/geanydoc.so


%files geanyextrasel
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanyextrasel/
%{_libdir}/geany/geanyextrasel.so


%files geanygdb
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanygdb/
%{_libdir}/geany/geanygdb.so
%{_libexecdir}/geany-plugins/geanygdb/ttyhelper


%files geanygendoc
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanygendoc/
%{_libdir}/geany/geanygendoc.so
%{_datadir}/%{name}/geanygendoc/


%files geanyinsertnum
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanyinsertnum/
%{_libdir}/geany/geanyinsertnum.so


%files geanylatex
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanylatex/
%{_libdir}/geany/geanylatex.so


%files geanylipsum
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanylipsum/
%{_libdir}/geany/geanylipsum.so


%files geanylua
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanylua/
%{_libdir}/geany/geanylua.so
%{_datadir}/%{name}/geanylua/
%{_libdir}/%{name}/geanylua/


%files geanymacro
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanymacro/
%{_libdir}/geany/geanymacro.so


%files geanynumberedbookmarks
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanynumberedbookmarks/
%{_libdir}/geany/geanynumberedbookmarks.so


%files geanypg
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanypg/
%{_libdir}/geany/geanypg.so


%files geanyprj
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanyprj/
%{_libdir}/geany/geanyprj.so


%files geanysendmail
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanysendmail/
%{_libdir}/geany/geanysendmail.so


%files gproject
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/gproject/
%{_datadir}/icons/hicolor/16x16/apps/gproject-*.png
%{_libdir}/geany/gproject.so


%files geanyvc
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/geanyvc/
%{_libdir}/geany/geanyvc.so


%files pretty-print
%defattr(-,root,root,-)
%{_libdir}/geany/pretty-print.so


%files shiftcolumn
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/shiftcolumn/
%{_libdir}/geany/shiftcolumn.so


%files spellcheck
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/spellcheck/
%{_libdir}/geany/spellcheck.so


%files tableconvert
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/tableconvert/
%{_libdir}/geany/tableconvert.so


%files treebrowser
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/treebrowser/
%{_libdir}/geany/treebrowser.so


%files updatechecker
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/updatechecker/
%{_libdir}/geany/updatechecker.so


%files webhelper
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/webhelper/
%{_libdir}/geany/webhelper.so


%files xmlsnippets
%defattr(-,root,root,-)
%doc %{geany_plug_docdir}/xmlsnippets/
%{_libdir}/geany/xmlsnippets.so


%changelog
* Mon Oct 24 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 0.21-1
- New upstream release: Geany-Plugins 0.21
- 0.21 adds seven new plugins: debugger, geanymacro, geanynumberedbookmarks,
  geanypg, gproject, tableconvert, xmlsnippets

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Tue Jan 17 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 0.20-1
- New upstream release: Geany-Plugins 0.20
- remove unnecessary patches since the got applied upstream
- 0.20 brings two new plugins: updatechecker and webhelper
- order the plugins alphabetically (inspired by the output of ls)

* Sat Jan 08 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-7
- apply patch from upstream SVN to fix geanylua build

* Thu Jan 06 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-6
- require and build against Geany 0.20

* Tue Oct 26 2010 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-5
- backport upstream changes for geanygendoc to work with CTPL 0.3

* Sat Oct 09 2010 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-4
- remove Requires: geany >= %%{req_geany_ver} from plugins, since Geany is
  required by geany-plugins-common, and any plugin requires the common
  package
- add missing dependency for ctpl-libs to geanygendoc plugin

* Sat Jul 31 2010 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-3
- enable or rather add geanygendoc to the specfile
- remove zero-length documentation files
- fix various spelling errors

* Thu Jul 15 2010 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-2
- correct license to GPLv3+
- fix build of pretty print plugin
- be more particular with BuildRequires

* Sat Jun 19 2010 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-1
- New upstream release: Geany-Plugins 0.19
- redordered plugins according to Geany's plugin manager dialog
- added new plugins: codenav, treebrowser, geanyextrasel, geanyinsertnum and
  pretty print

* Sun Jan 14 2010 Dominic Hopf <dmaphy@fedoraproject.org> 0.18-2
- Build against and require Geany 0.18.1

* Sat Oct 31 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.18-1
- update to new upstream release

* Sat Aug 16 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17.1-6
- build against and require geany 0.18

* Mon Aug 10 2009 Ville Skyttä <ville.skytta@iki.fi> - 0.17.1-5
- Use bzipped upstream tarball.

* Sat Jul 25 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17.1-4
- write BuildRequires at the beginning of this file

* Wed Jul 22 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17.1-3
- remove Requires: geany from the main package
- change Group to Development/Tools
- add release to the geanyvc Provides
- entirely remove %%files stanza for the main package

* Wed Jul 22 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17.1-2
- fix the required geany version also in the subpackages
- remove the requires to sub-packages to avoid building the metapackage since
  all geany plugins also can be installed by something like
  'yum install geany-plugins-*'
- fix the requires of geany-plugins-common to include the release

* Wed Jul 22 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17.1-1
- bump upstream version to 0.17.1
- fix required geany version to be 0.16 at the present

* Sat Jul 18 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17-5
- add Requires for metapackage
- rename subpackages back to geany-plugins-* instead of geany-plugin-*

* Fri Jul 17 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17-4
- readd the geany_plug_docdir global to fix the versioned directory issue for
  documentation files
- replace geany-plugins with %%{name} to be more consistent with macro usage
- remove zero-length documentation files
- fix the changelog
- remove static *.la-files
- split up packages

* Wed Jul 15 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17-3
- add %%{_datadir}/geany-plugins/geanylua/ to %%files-section

* Wed Jul 15 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17-2
- fix %%files-section again, thanks to Jonathan for the hint.

* Tue Jul 14 2009 Dominic Hopf <dmaphy@fedoraproject.org> 0.17-1
- update URL to plugins.geany.org

* Tue Jul 14 2009 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 0.17-0.2
- Add Obsoletes for geanyvc
- Add more BuildRequires and Requires

* Tue Jul 14 2009 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 0.17-0.1
- Update to 0.17 (first upstream release of tarball)
- Fix handling of docs
- Spec file cleanups

* Mon Jun 22 2009 Pingou <pingou@pingoured.fr> 0.1-1
- First RPM for Fedora