%global geany_plug_docdir %{_defaultdocdir}/%{name}-%{version} %global req_geany_ver 0.20 Name: geany-plugins Version: 0.19 Release: 3%{?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 # Patch fixes build of the geanylua plugin, applied from upstream svn rev 1509 Patch0: geany-plugins-0.19-geanylua-fixbuild.patch 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.2 %description Plugins for Geany. Plugins included are: * Addons (Various small Addons) * Code navigation (Navigate through your source code easily) * Geanydoc (Call specific documentation from within Geany) * Geanyextrasel (Additional features for selecting code) * GeanyGenDoc (Automatically generate documentation source code) * GeanyGDB (Integration with GDB) * GeanyLaTeX (Improved Support for LaTeX documents) * GeanyLipsum (Inserting blocks of Lorem Ipsum text) * GeanySendMail (Sending of documents from within Geany) * GeanyVC (Support for various Version Control Systems) * Geanyinsertnum (Insert huge number ranges with small efforts) * Geanylua (Support for Scripting with Lua) * Geanyprj (Alternate project management for Geany) * Shiftcolumn (Moving blocks of text horizontally) * Spellcheck (Spell checking of documents or marked text) * Treebrowser (Alternate file browser with tree view of folders) * XML Pretty Printer %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: * Doclist: 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. * OpenURI: 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. * XMLtagging: XMLtagging 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 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 geanygendoc Summary: Automatically generate documentation source code Group: Development/Tools Requires: geany-plugins-common = %{version}-%{release} Requires: ctpl-libs %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 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 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 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 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 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 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 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 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 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. %prep %setup -q %patch0 -p0 %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 geanydoc %defattr(-,root,root,-) %doc %{geany_plug_docdir}/geanydoc/ %{_libdir}/geany/geanydoc.so %files geanygendoc %defattr(-,root,root,-) %doc %{geany_plug_docdir}/geanygendoc/ %{_libdir}/geany/geanygendoc.so %{_datadir}/%{name}/geanygendoc/ %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 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 geanysendmail %defattr(-,root,root,-) %doc %{geany_plug_docdir}/geanysendmail/ %{_libdir}/geany/geanysendmail.so %files geanyvc %defattr(-,root,root,-) %doc %{geany_plug_docdir}/geanyvc/ %{_libdir}/geany/geanyvc.so %files geanyinsertnum %defattr(-,root,root,-) %doc %{geany_plug_docdir}/geanyinsertnum/ %{_libdir}/geany/geanyinsertnum.so %files geanylua %defattr(-,root,root,-) %doc %{geany_plug_docdir}/geanylua/ %{_libdir}/geany/geanylua.so %{_datadir}/%{name}/geanylua/ %{_libdir}/%{name}/geanylua/ %files geanyprj %defattr(-,root,root,-) %doc %{geany_plug_docdir}/geanyprj/ %{_libdir}/geany/geanyprj.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 treebrowser %defattr(-,root,root,-) %doc %{geany_plug_docdir}/treebrowser/ %{_libdir}/geany/treebrowser.so %files pretty-print %defattr(-,root,root,-) %{_libdir}/geany/pretty-print.so %changelog * Sat Jan 08 2011 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-3 - require and build against Geany 0.20 - apply patch from upstream SVN to fix geanylua build * Sat Oct 09 2010 Dominic Hopf <dmaphy@fedoraproject.org> - 0.19-2 - 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 * Sun Aug 01 2010 Dominic Hopf <dmaphy@fedoraproject.org> 0.19-1 - New upstream release: Geany Plugins 0.19 which brings some new plugins: codenav, treebrowser, geanyextrasel, geanyinsertnum, pretty print and geanygendoc - redordered plugins according to Geany's plugin manager dialog - correct license to GPLv3+ - be more particular with BuildRequires - remove zero-length documentation files - fix various spelling errors * 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