%define geany_plug_docdir %{_defaultdocdir}/%{name} #don't provide plugin .so %define _exclude_files_from_autoprov %{_libdir}/geany/.*\\.so Name: geany-plugins Version: 1.22 Release: %mkrel 2 Group: Development/Tools License: GPLv2+ and GPLv3+ Summary: A collection of different plugins for Geany Url: http://plugins.geany.org/ Source0: http://plugins.geany.org/%{name}/%{name}-%{version}.tar.bz2 BuildRequires: gpgme-devel BuildRequires: intltool BuildRequires: lua5.1-devel # for rst2html BuildRequires: python-docutils BuildRequires: vala BuildRequires: pkgconfig(ctpl) BuildRequires: pkgconfig(geany) >= %{version} BuildRequires: pkgconfig(gtkspell-2.0) BuildRequires: pkgconfig(vte) >= 0.24 BuildRequires: pkgconfig(webkit-1.0) >= 1.1.18 Requires: %{name}-addons Requires: %{name}-codenav Requires: %{name}-debugger Requires: %{name}-geanydoc Requires: %{name}-geanyextrasel Requires: %{name}-geanygendoc Requires: %{name}-geanyinsertnum Requires: %{name}-geanylatex Requires: %{name}-geanylipsum Requires: %{name}-geanylua Requires: %{name}-geanymacro Requires: %{name}-geanyminiscript Requires: %{name}-geanynumberedbookmarks Requires: %{name}-geanypg Requires: %{name}-geanyprj Requires: %{name}-geanysendmail Requires: %{name}-geanyvc Requires: %{name}-geniuspaste Requires: %{name}-gproject Requires: %{name}-multiterm Requires: %{name}-pretty-printer Requires: %{name}-shiftcolumn Requires: %{name}-spellcheck Requires: %{name}-tableconvert Requires: %{name}-treebrowser Requires: %{name}-updatechecker Requires: %{name}-webhelper Requires: %{name}-xmlsnippets %description Geany-Plugins is a collection of different plugins for Geany, a lightweight IDE. It provides a common location for plugin authors and users with a known infrastructure and support. List of included plugins: * addons -- the Addons plugin * codenav -- the CodeNav plugin * debugger -- the Debugger plugin * devhelp -- the devhelp plugin * geanydoc -- the GeanyDoc plugin * geanyextrasel -- the GeanyExtraSel plugin * geanygendoc -- the GeanyGenDoc plugin * geanyinsertnum -- the GeanyInsertNum plugin * geanylatex -- the GeanyLaTeX plugin * geanylipsum -- the GeanyLipsum plugin * geanylua -- the GeanyLua plugin * geanyminiscript -- the GeanyMiniScript plugin * geanypg -- the geanypg plugin * geanyprj -- the GeanyPrj plugin * geanysendmail -- the GeanySendmail plugin * geanyvc -- the GeanyVC plugin * geniuspaste -- the paste to a pastebin plugin * gproject -- the GProject plugin * gtkspell -- GeanyVC's spell-check support * multiterm -- MultiTerm support plugin * pretty-printer -- the pretty-printer plugin * shiftcolumn -- the ShiftColumn plugin * spellcheck -- the spellcheck plugin * treebrowser -- the Treebrowser plugin * tableconvert -- the Tableconvert plugin * updatechecker -- the Updatechecker plugin * webhelper -- the WebHelper plugin * xmlsnippets -- the XMLSnippets plugin This is a meta package to install all plugins. %package common Summary: Common files used by all geany plugins Group: Development/Tools Requires: geany >= %{version} %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: %{name}-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: %{name}-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: %{name}-common >= %{version}-%{release} %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: %{name}-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: %{name}-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. %if 0 %package geanygdb Summary: Debugger Plugin for Geany using GDB Group: Development/Tools Requires: %{name}-common >= %{version}-%{release} Requires: gdb %description geanygdb GeanyGDB plugin provides an integrated debugging environment for the GNU debugger (gdb). %endif %package geanygendoc Summary: Automatically generate documentation source code Group: Development/Tools Requires: %{name}-common >= %{version}-%{release} Requires: ctpl Requires: python-docutils %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: %{name}-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: %{name}-common >= %{version}-%{release} Requires: 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: %{name}-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: %{name}-common >= %{version}-%{release} Requires: lua5.1 %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: %{name}-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 geanyminiscript Summary: Geany Mini-Script filter plugin Group: Development/Tools Requires: %{name}-common >= %{version}-%{release} %description geanyminiscript The GeanyMiniScript plugin is a tool to apply a script filter on: * the text selection * the current document * all documents of the current session. The filter type can be: * Unix shell script * perl script * python script * sed commands * awk script The output can be: * the selection of the current document * all the current document * or a new document %package geanynumberedbookmarks Summary: Provide users 10 numbered Bookmarks Group: Development/Tools Requires: %{name}-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: %{name}-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: %{name}-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: %{name}-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: %{name}-common >= %{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 geniuspaste Summary: Use nopaste services directly from within Geany Group: Development/Tools Requires: %{name}-common >= %{version}-%{release} %description geniuspaste This plugin allows the user to paste the code from Geany into five different pastebins. At the moment it supports this services: * codepad.org * tinypaste.com * pastebin.geany.org * dpaste.de * sprunge.us GeniusPaste detects automatically the syntax of the code and paste it with syntax highlighting enabled. It can also display the pasted code opening a new browser tab. %package gproject Summary: Extension of Geany's project management Group: Development/Tools Requires: %{name}-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 multiterm Summary: MultiTerm support for geany Group: Development/Tools Requires: %{name}-common >= %{version}-%{release} %description multiterm MultiTerm is similar to Geany's built-in VTE terminal except that it supports multiple terminals in tabs and supports different shells in each of the terminal tabs. %package pretty-printer Summary: XML pretty printing plugin for Geany Group: Development/Tools Requires: %{name}-common >= %{version}-%{release} Requires: libxml2 >= 2.6.27 %description pretty-printer Plugin for Geany to easily beautify XML code. %package shiftcolumn Summary: Move Blocks of Text horizontally Group: Development/Tools Requires: %{name}-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: %{name}-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: %{name}-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: %{name}-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: %{name}-common >= %{version}-%{release} %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: %{name}-common >= %{version}-%{release} %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: %{name}-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 %configure2_5x %make %install %makeinstall_std # Remove static library *.la files find %{buildroot} -name '*.la' -delete # Remove zero-length files find %{buildroot} -type f -empty -delete %find_lang %{name} %files %doc NEWS README %files common -f %{name}.lang %dir %{_libdir}/geany/ %dir %{_datadir}/%{name}/ %files addons %doc %{geany_plug_docdir}/addons %{_libdir}/geany/addons.so %files codenav %doc %{geany_plug_docdir}/codenav %{_libdir}/geany/codenav.so %files debugger %doc %{geany_plug_docdir}/debugger %{_datadir}/%{name}/debugger/ %{_libdir}/geany/debugger.so %files geanydoc %doc %{geany_plug_docdir}/geanydoc/ %{_libdir}/geany/geanydoc.so %files geanyextrasel %doc %{geany_plug_docdir}/geanyextrasel/ %{_libdir}/geany/geanyextrasel.so %if 0 %files geanygdb %doc %{geany_plug_docdir}/geanygdb/ %{_libdir}/geany/geanygdb.so %{_libexecdir}/%{name}/geanygdb/ttyhelper %endif %files geanygendoc %doc %{geany_plug_docdir}/geanygendoc/ %{_libdir}/geany/geanygendoc.so %{_datadir}/%{name}/geanygendoc/ %files geanyinsertnum %doc %{geany_plug_docdir}/geanyinsertnum/ %{_libdir}/geany/geanyinsertnum.so %files geanylatex %doc %{geany_plug_docdir}/geanylatex* %doc %{geany_plug_docdir}/bibtex* %doc %{geany_plug_docdir}/insert_*.png %doc %{geany_plug_docdir}/plugin_manager.png %doc %{geany_plug_docdir}/toolbar.png %doc %{geany_plug_docdir}/latexwizard.png %{_libdir}/geany/geanylatex.so %files geanylipsum %doc %{geany_plug_docdir}/geanylipsum/ %{_libdir}/geany/geanylipsum.so %files geanylua %doc %{geany_plug_docdir}/geanylua/ %{_libdir}/geany/geanylua.so %{_datadir}/%{name}/geanylua/ %{_libdir}/%{name}/geanylua/ %files geanymacro %doc %{geany_plug_docdir}/geanymacro/ %{_libdir}/geany/geanymacro.so %files geanyminiscript %doc %{geany_plug_docdir}/geanyminiscript/ %{_libdir}/geany/geanyminiscript.so %files geanynumberedbookmarks %doc %{geany_plug_docdir}/geanynumberedbookmarks/ %{_libdir}/geany/geanynumberedbookmarks.so %files geanypg %doc %{geany_plug_docdir}/geanypg/ %{_libdir}/geany/geanypg.so %files geanyprj %doc %{geany_plug_docdir}/geanyprj/ %{_libdir}/geany/geanyprj.so %files geanysendmail %doc %{geany_plug_docdir}/geanysendmail/ %{_libdir}/geany/geanysendmail.so %files gproject %doc %{geany_plug_docdir}/gproject/ %{_datadir}/icons/hicolor/16x16/apps/gproject-*.png %{_libdir}/geany/gproject.so %files geanyvc %doc %{geany_plug_docdir}/geanyvc/ %{_libdir}/geany/geanyvc.so %files geniuspaste %doc %{geany_plug_docdir}/geniuspaste/ %{_libdir}/geany/geniuspaste.so %files multiterm %doc %{geany_plug_docdir}/multiterm/ %{_libdir}/geany/multiterm.so %files pretty-printer %{_libdir}/geany/pretty-printer.so %files shiftcolumn %doc %{geany_plug_docdir}/shiftcolumn/ %{_libdir}/geany/shiftcolumn.so %files spellcheck %doc %{geany_plug_docdir}/spellcheck/ %{_libdir}/geany/spellcheck.so %files tableconvert %doc %{geany_plug_docdir}/tableconvert/ %{_libdir}/geany/tableconvert.so %files treebrowser %doc %{geany_plug_docdir}/treebrowser/ %{_libdir}/geany/treebrowser.so %files updatechecker %doc %{geany_plug_docdir}/updatechecker/ %{_libdir}/geany/updatechecker.so %files webhelper %doc %{geany_plug_docdir}/webhelper/ %{_libdir}/geany/webhelper.so %files xmlsnippets %doc %{geany_plug_docdir}/xmlsnippets/ %{_libdir}/geany/xmlsnippets.so %changelog * Fri Jan 11 2013 umeabot <umeabot> 1.22-2.mga3 + Revision: 351174 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Sun Nov 04 2012 wally <wally> 1.22-1.mga3 + Revision: 314143 - sync with Fedora spec (split plugins to a separate pkgs) - import geany-plugins from Mdv