Text-Trac-0.24/ 0000755 0001750 0001750 00000000000 13403124170 012601 5 ustar manwar manwar Text-Trac-0.24/.travis.yml 0000644 0001750 0001750 00000000475 13401765156 014735 0 ustar manwar manwar branches: except: - gh-pages language: perl perl: - "5.20" - "5.18" - "5.16" - "5.14" - "5.12" - "5.10" before_install: - cpanm --notest Test::Version - cpanm --notest Test::Pod::Coverage - cpanm --notest Test::Pod - cpanm --notest Test::Code::TidyAll - cpanm --notest Test::Perl::Critic Text-Trac-0.24/t/ 0000755 0001750 0001750 00000000000 13403124170 013044 5 ustar manwar manwar Text-Trac-0.24/t/TestTextTrac.pm 0000644 0001750 0001750 00000000714 13401765156 016017 0 ustar manwar manwar package t::TestTextTrac; use strict; use warnings; use Test::Base -Base; use Text::Trac; our @EXPORT = qw( run_tests ); sub run_tests { delimiters('###'); filters { input => 'parse', expected => 'chomp' }; run_is 'input' => 'expected'; } package t::TestTextTrac::Filter; use strict; use warnings; use Test::Base::Filter -Base; my $p = Text::Trac->new( trac_url => 'http://trac.mizzy.org/public/' ); sub parse { $p->parse(@_); return $p->html; } 1; Text-Trac-0.24/t/12-script-noclass-noid.t 0000644 0001750 0001750 00000002012 13401765156 017354 0 ustar manwar manwar use strict; use warnings; use Test::More tests => 2; #use Test::Differences qw(eq_or_diff); use File::Temp qw(tempdir); use Path::Tiny qw(path); my $dir = tempdir( CLEANUP => 1 ); subtest usage => sub { plan tests => 1; my $out = qx{$^X script/trac2html}; like $out, qr{Usage: script/trac2html}; #diag $out; }; # padre_download_debian # padre_download_fedora # padre_download_mandriva # padre_download_opensuse # padre_download_ubuntu # padre_download_netbsd # padre_development my @cases = qw( padre_download_freebsd padre_features ); # Ubuntu generates warnings subtest full_html => sub { plan tests => 2 * @cases; foreach my $case (@cases) { my $out = qx{$^X script/trac2html --infile t/corpus/$case.trac --outfile $dir/$case.html --span}; is $out, '', 'out'; my $html_generated = path("$dir/$case.html")->slurp_utf8; my $html_expected = path("t/expected/${case}_noclass_noid.html")->slurp_utf8; #eq_or_diff $html_generated, $html_expected, 'Mandriva'; is $html_generated, $html_expected, $case; } }; Text-Trac-0.24/t/08-regression.t 0000644 0001750 0001750 00000000535 13401765156 015656 0 ustar manwar manwar use strict; use warnings; use t::TestTextTrac; run_tests; __DATA__ ### regression test 1 --- input [http://shibuya.pm.org/blosxom/techtalks/200610.html Shibuya.pm ¥Æ¥¯¥Ë¥«¥ë¥È¡¼¥¯ #7] --- expected
Shibuya.pm ¥Æ¥¯¥Ë¥«¥ë¥È¡¼¥¯ #7
Text-Trac-0.24/t/01-text-trac.t 0000644 0001750 0001750 00000015340 13401765156 015402 0 ustar manwar manwar use strict; use warnings; use t::TestTextTrac; run_tests; __DATA__ ### h1 test --- input = heading 1 = --- expectedbold bold
### italic test --- input ''italic'' ''italic'' --- expecteditalic italic
### bolditalic test --- input '''''bolditalic''''' '''''bolditalic''''' --- expectedbolditalic bolditalic
### underline test --- input __underline__ __underline__ --- expectedunderline underline
### monospace test --- input `monospace` {{{monospace}}} --- expectedmonospace monospace
### strike test --- input ~~strike~~ ~~strike~~ --- expected
strike strike
sup sup
### sub test --- input ,,sub,, ,,sub,, --- expectedsub sub
### br test --- input line1[[BR]]line2 --- expected
line1
line2
test test
### ul test --- input * list 1-1 * list 1-2 * list 2-1 * list 2-2 --- expected### blockquote2 test --- input Ask not what your country can do for you. Ask what you can do for your country. --John F. Kennedy --- expectedThis text is a quote from someone else.
### pre test --- input {{{ This is pre-formatted text. This also pre-formatted text. }}} --- expectedAsk not what your country can do for you. Ask what you can do for your country.
--John F. Kennedy
This is pre-formatted text. This also pre-formatted text.### table test --- input ||Cell 1||Cell 2||Cell 3|| ||Cell 4||Cell 5||Cell 6|| --- expected
Cell 1 | Cell 2 | Cell 3 |
Cell 4 | Cell 5 | Cell 6 |
line1
line2
### dl test --- input title1:: content 1-1 content 1-2 title2:: content 2-1 content 2-2 content 2-3 --- expectedhttp://mizzy.org/test.png Image
### ul node with single space --- input * indent with * single space * sublist with * two spaces --- expectedunknown:target
### unknown long link --- input [unknown:target label] --- expected[unknown:target label]
### escape HTML meta-characters --- input foofoo <bar> baz. foo bar baz.
foo | <bar> | baz |
foo <bar> baz. foo '''bar''' baz.### citation link --- input >> Someone's original text >> Someone's original text >> Someone's original text > Someone else's reply text > Someone else's reply text My reply text >> Someone's original text My reply text --- expected
Someone's original text Someone's original text Someone's original text
Someone else's reply text Someone else's reply text
My reply text
Someone's original text
My reply text
#### List item #--- input #* First #* Second #--- expected #Hello World, args =
### macro with quoted arguments --- input [[HelloWorld( "one, one", "two, two", 'three, three' )]] --- expectedHello World, args = one, one, two, two, three, three
### macro with embedded terminators --- input [[HelloWorld( func(arg), ]] )]] --- expectedHello World, args = func(arg), ]]
### macros with extra ws aren't valid --- input [[ HelloWorld(foo) ]] --- expected[[ HelloWorld(foo) ]]
### unknown macro doesn't die --- input [[TheUnknownMacro]] --- expected[[TheUnknownMacro]]
Text-Trac-0.24/t/00-load.t 0000644 0001750 0001750 00000000242 13401765156 014400 0 ustar manwar manwar #!perl -T use strict; use warnings; use Test::More tests => 1; BEGIN { use_ok('Text::Trac'); } diag("Testing Text::Trac $Text::Trac::VERSION, Perl $], $^X"); Text-Trac-0.24/t/11-script-noclass.t 0000644 0001750 0001750 00000002003 13401765156 016424 0 ustar manwar manwar use strict; use warnings; use Test::More tests => 2; #use Test::Differences qw(eq_or_diff); use File::Temp qw(tempdir); use Path::Tiny qw(path); my $dir = tempdir( CLEANUP => 1 ); subtest usage => sub { plan tests => 1; my $out = qx{$^X script/trac2html}; like $out, qr{Usage: script/trac2html}; #diag $out; }; my @cases = qw( padre_download_debian padre_download_fedora padre_download_mandriva padre_download_opensuse padre_download_ubuntu padre_download_freebsd padre_download_netbsd padre_development padre_features ); # Ubuntu generates warnings subtest full_html => sub { plan tests => 2 * @cases; foreach my $case (@cases) { my $out = qx{$^X script/trac2html --infile t/corpus/$case.trac --outfile $dir/$case.html --id --span}; is $out, '', 'out'; my $html_generated = path("$dir/$case.html")->slurp_utf8; my $html_expected = path("t/expected/${case}_noclass.html")->slurp_utf8; #eq_or_diff $html_generated, $html_expected, 'Mandriva'; is $html_generated, $html_expected, $case; } }; Text-Trac-0.24/t/corpus/ 0000755 0001750 0001750 00000000000 13403124170 014357 5 ustar manwar manwar Text-Trac-0.24/t/corpus/padre_translationstyle.trac 0000644 0001750 0001750 00000012111 13401765156 022035 0 ustar manwar manwar = Translation manual of style = These are all real shortcomings found around r6000 (July 2009). Also see: * [http://msdn.microsoft.com/en-us/library/aa511440.aspx] * [http://developer.kde.org/documentation/design/ui/] * [http://developer.gnome.org/projects/gup/hig/] * [http://wiki.openusability.org/guidelines/] * [http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/] ---- Bad: {{{ We found several new plugins. In order to configure and enable them go to Plugins -> Plugin Manager List of new plugins: }}} * Avoid the words 'we' or 'I' in dialog. Do not attempt to speak on behalf of the program or computer. State the situation as a matter of fact. * Do not make the user remember a navigation path. Offer a direct shortcut to the referenced dialog. * Avoid primitive ASCII approximate representation of symbols. Use proper characters: → * Remove superfluous words. It is obvious to the user that this is a list. Better: {{{ New plugins were found. [Plugin A ^] [Plugin B #] [Plugin C #] [Plugin D #] [Plugin E v] [Configure...] }}} ---- Bad: {{{ $plugin->errstr( Wx::gettext("Error when calling menu for plugin") . "'$name': $@" ); Plugin:%s - Not compatible with Padre::Plugin API. Need to be subclass of Padre::Plugin }}} * Do not concatenate strings in code. Use sprintf-style gettext templates. * Do not write messages in newspaper headline style. Write full sentences in proper English. Better: {{{ "An error occured when calling the menu for the plugin %s: %s", $name, $@ The plugin %s is not compatible with the Padre::Plugin API. It needs to be a subclass of Padre::Plugin. }}} ---- Bad: {{{ GoTo Bookmark GoTo Element }}} * !EnglishIsNotWrittenLikeThat Better: {{{ Go to Bookmark Go to Element }}} ---- Bad: {{{ &Close\tCtrl+W Select all\tCtrl-A }}} * Do not invent a different notation for key combinations. Use consistently the symbol + to join keys. Better: {{{ &Close\tCtrl+W Select all\tCtrl+A }}} ---- Bad: {{{ Could not locate project dir Cannot build regex for '%s' Chars without spaces: %s Convert EOL }}} * Do not use abbreviations. Use consistently the formal wording. Better: {{{ Could not locate project directory Cannot build regular expression for '%s' Characters without spaces: %s Convert line endings }}} ---- Bad: {{{ The bookmark '%s' no longer exists %s occurences were replaced }}} * Do not omit punctuation. Complete sentences with a full stop. Better: {{{ The bookmark '%s' no longer exists. %s occurences were replaced. }}} ---- Bad: {{{ No diagnostics available for this error! }}} * Avoid excitement or shouting. Whereever possible, use mere statements of fact. Better: {{{ No diagnostics are available for this error. }}} ---- Bad: {{{ First character of selection does not seem to point at a token. Selection not part of a Perl statement? All braces appear to be matched %s apparantly created. Do you want to open it now? }}} * Avoid vagueness. If the computer is not sure, the user certainly can't be, either. Whereever possible, use mere statements of fact. If you really cannot be sure, give the user more context or partial results so he can make an informed decision. Better: {{{ The first character of the selection does not point at a token. The selection is not part of a Perl statement. All braces are matched. %s was created. Do you want to open it now? }}} ---- Bad: {{{ No declaration could be found for the specified (lexical?) variable }}} * Avoid overloading several circumstances into a single message. Split them off into several messages and match them according to the relevant situation. Better: {{{ No declaration could be found for the specified package variable. No declaration could be found for the specified lexical variable. }}} ---- Bad: {{{ File changed on disk since last saved. Do you want to overwrite it? }}} * Avoid being overly specific in technical details. In this instance, there might not be a disk involved. Better: {{{ The file has changed since the last save. Do you want to overwrite it? }}} ---- Bad: {{{ Install Remote Distribution }}} * Avoid using words that have multiple similar meanings. Clarify with more or different wording. Better: {{{ Install Distribution from the Web }}} ---- Bad: {{{ TAB display size (in spaces): Next File\tCtrl-TAB Encode document to utf-8 }}} * Use proper capitalisation. Be aware of what is an acronym and what is not. Better: {{{ Tabulator display size (in spaces): Next File\tCtrl+Tab Encode document to UTF-8 }}} ---- Bad: {{{ &Open\tCtrl+O }}} * Menu items and buttons that open a dialog or require further user action end in an ellipsis… Menu items and buttons that result in immediate action do not end in an ellipsis. Better: {{{ &Open…\tCtrl+O }}} Text-Trac-0.24/t/corpus/padre_download_netbsd.trac 0000644 0001750 0001750 00000003513 13401765156 021572 0 ustar manwar manwar = NetBSD Installation Instructions = == Installation using the Package Manager == For binary packages installation take a look at http://www.netbsd.org/docs/software/packages.html#binarydist. There are packages available for some platforms (including NetBSD and Darwin). The 2010Q1 release of pkgsrc will provide binary packages for Padre, too. Packed by Sno|, contact pkgsrc-users@NetBSD.org in case of problems. To install Padre on NetBSD or any other pkgsrc supported platform, simply {{{ $ cd /usr/pkgsrc/editors/p5-Padre $ make install clean clean-depends }}} If you want to add plugin's, too, check which ones are already available: {{{ $ cd /usr/pkgsrc $ echo */p5-Padre-Plugin-* }}} For each desired plugin, change the working directory to it's location and install as done above. If you have trouble installing Padre using pkgsrc (and read the pkgsrc guide, mailing list archives and open PR's carefully), feel free to send your question to {{{ pkgsrc-p5-people }}} or {{{ pkgsrc-users }}} mailing list as found on {{{ http://www.netbsd.org/mailinglists/#descriptions-of-mailing-lists }}}. Although the import and maintaining is mostly done by Jens Rehsack, your chance getting feedback is better asking the proper mailing list instead of the primary maintainer. You might get questions answered on {{{ irc://irc.freenode.net/ }}} in the channel {{{ #pkgsrc }}}. == Installation from CPAN == Currently, there are no Padre CPAN installation instructions specific to NetBSD. Feel free to add comments and hints. == Still Not Working? == Following the instructions on this page did not lead to a successful installation? [http://padre.perlide.org/contact.html Contact us]. We will do our best to help you. By letting us know that something does not work you will help us, too. When we know about it, we can improve this documentation and Padre itself. Text-Trac-0.24/t/corpus/padre_wxwidgets.trac 0000644 0001750 0001750 00000006473 13401765156 020461 0 ustar manwar manwar = Learning wxPerl and wxWidgets = For those like me (Gabor) who lack imagination here is an explanation of the stack. * wxWidgets is the name of the C++ library that can be installed either by your operating systems package management tool ( aptitude install wx-common in case of Debian ) or by installing Alien::wxWidgets from CPAN * [http://www.scintilla.org/ Scintilla] is an editor component written in C++ and used in many editors. It has been included in wxWidgets ad the STC or wxStyledTextCtrl. Padre 0.92 and later will use Wx::Scintilla instead of old Wx::STC to provide the latest and greatest from Scintilla. * wxPerl is the name of the Perl binding to wxWidgets (or wrapper if you prefer that word) - It is packaged as the Wx distro on CPAN. Some of the recent Linux distros might also have. * Above all that comes our code (Padre in our case) [http://wxperl.sourceforge.net/ Home of wxPerl] downloadable version: [http://prdownloads.sourceforge.net/wxperl/wxPerl-0.82-wx-2.8.7-docs-html.zip] [http://www.wxwidgets.org/ Home of wxWidgets] [http://wxperl.sourceforge.net/tutorial/tutorial.html tutorial of Mattia Barbon] [http://www.perl.com/pub/a/2001/09/12/wxtutorial1.html tutorial by Jouke Visser] STC or StyledTextCtrl is [http://www.scintilla.org/ Scintilla] [http://www.yellowbrain.com/stc/index.html Yellow Brain documentation of Wx::StyledTextCtrl] [http://wxruby.rubyforge.org/doc/styledtextctrl.html Ruby documentation of Wx::StyledTextCtrl] [http://docs.wxwidgets.org/trunk/classwx_styled_text_ctrl.html] [http://docs.wxwidgets.org/2.8.6/wx_stockitems.html#stockitems stock items in wx] [http://wxperl.pvoice.org/w/index.php/WxPerlTablet a kind of WxPerl cheat sheet] [http://use.perl.org/~Alias/journal/39642 Creating GUI code for Padre - A walk through a new feature] * PerlMonks articles * [http://www.perlmonks.org/?node_id=122227 wxPerl tutorial 3] * [http://www.perlmonks.org/?node_id=112297 wxPerl Tutorial one :: The basics] * [http://www.perlmonks.org/?node_id=152323 WxPerl woes -- putting a Tree into a ScrolledWindow] * [http://www.perlmonks.org/?node_id=153366 XML with wxPerl] * [http://www.perlmonks.org/?node_id=199840 HWXperl - The place for GUI apps in Perl] * [http://www.perlmonks.org/?node_id=164341 WxBrowser - a wxPerl HTML Browser] * [http://www.perlmonks.org/?node_id=290475 WxPerl Login Dialog] * [http://www.perlmonks.org/?node_id=219778 Tk vs. wxPerl] * [http://www.perlmonks.org/?node_id=807957 Using Icons on Wx::Notebook] * [http://www.perlmonks.org/?node_id=758548 Using BoxSizer Layout Manager in wxPerl] * [http://www.perlmonks.org/?node_id=638554 WxPerl Simplified] * [http://www.perlmonks.org/?node_id=216762 RegexLab (a wxPerl version)] * http://www.perlmonks.org/?node_id=184685 * http://www.perlmonks.org/?node_id=194611 * http://www.perlmonks.org/?node_id=287396 = The latest versions of wxPerl, wxWidgets and Scintilla = * Wx (aka wxPerl) latest is 0.89 release on Dec 6, 2008 http://search.cpan.org/dist/Wx/ * Padre 0.90: Wx::Scintilla integration was added through feature_wx_scintilla * Padre 0.92: Wx::Scintilla replaced Wx::STC completely. * Wx::Scintilla 0.30 supports the Scintilla 2.29 (released on 16th September 2011) * Wx::Scintilla 0.36 supports Scintilla 3.0.2. = Various Items and suggestions = See Wx-Perl-DirTree on CPAN Text-Trac-0.24/t/corpus/padre_faq.trac 0000644 0001750 0001750 00000007656 13401765156 017207 0 ustar manwar manwar [[PageOutline(1-2)]] == Is Padre for Perl only? == While the main focus of Padre is to provide excellent support for both beginner and advanced Perl developers it is not restricted to Perl development only. It provides syntax highlighting to most of the languages out there and if you are missing something just ask on the mailing list or open a ticket. It is also planned to be integrated with [http://www.parrot.org/ Parrot] that will allow writing plug-ins in any language running on Parrot. == Why not just reuse an existing Editor? == We hope that by writing it in Perl we will make it easy for any user of Padre to contribute back to the project and/or to add plug-ins. * vi and emacs -- while being excellent tools -- are not very beginner-friendly. * Komodo costs money and is not Free/Open Source software. * Eclipse is huge and you need to know Java to extend it. * Various editors such as Ultra-Edit, Notepad++ etc. are Windows-only == Why does Padre use wxWidgets and not ...? == wxWidgets uses the native windowing widgets of each operating system and in theory that should be the nicest and most "native looking" on all operating systems. So while it has it own problems and it is not the easiest to write in it, it might have the best potential. == Why using Subversion when Git is so much better? == We started to use SVN as Gabor did not know Git. We keep it as it works well for us and a lot more people know SVN than Git. With that said if someone implements an awesome and simple-to-use plugin for Padre to integrate with Git that works well on both Windows and Linux then we can consider switching. == Why using ithreads when forks/coro is so much better? == Threads are the only Perl concurrency system that is portable and actually runs things in parallel and makes use of multiple cores. We needed something portable that does real concurrency (i.e. no cooperative multi-threading or event loop), so fork was out of the loop due to portability and POE/Coro due to cooperative multithreading. == I have trouble installing Padre. Where can I find help? == See [wiki:Download] and the pages linked there for installation instructions. If this does not bring you any further, [http://padre.perlide.org/contact.html contact us], we will see how we can help us. == I have found a bug. What do I do now? == Report it. Either by [http://padre.perlide.org/contact.html contacting us], or by [wiki:Tickets creating a new ticket in Trac]. == Padre lacks feature XY. What can I do about it? == Tell us. Either by [http://padre.perlide.org/contact.html contacting us], or by [wiki:Tickets creating a new ticket in Trac]. Or even better: Implement it yourself. Hacking Padre isn't that hard if you know some Perl. And the developer community is very open and welcoming towards new developers. See [wiki:Howto] and [http://padre.perlide.org/getting_involved.html Getting Involved] for more information. == How do I checkout a trunk version of padre? == This is described on the [wiki:Howto] page. == My Perl script expects user input from STDIN, but I cannot enter anything when executing it inside Padre. What can I do? == There is a setting in the Preferences dialog, under "Run parameters" (or under "Language Perl 5", depending on your version of Perl, called "Use external window for execution". If you activate that setting, you can make inputs to STDIN. See also ticket #743. == I am not getting output console when I Run a script (press F5) == There is a setting in the Preferences dialog, under "Run parameters" (or under "Language Perl 5", depending on your version of Perl, called "Use external window for execution". Try to check / uncheck that. == Can I edit remote files on an FTP server with Padre? == Yes, just use "File"->"Open ..."->"Open URL ..." and enter your file's URL. HTTP and HTTPS are also supported, by the way. == How can I add/modify keyboard shortcuts? == There is a keyboard shortcut editor in the menu under "Tools" -> "Key Bindings". Text-Trac-0.24/t/corpus/padre_download_perlbrew.trac 0000644 0001750 0001750 00000003076 13401765156 022141 0 ustar manwar manwar The combination of perlbrew [http://perlbrew.pl] and cpanminus [http://search.cpan.org/dist/App-cpanminus/lib/App/cpanminus.pm] allows you to easily build your own Perl installation and add additional CPAN programs (including Padre) without bothering to setup a CPAN client. perlbrew is a tool to manage multiple perl installations in your $HOME directory. They are completely isolated perl universes. This approach has many benefits: * No need to run sudo to install CPAN modules, any more. * Try the monthly released new perls. * Learn new language features. * Test production code. * Leave vendor perl (the one that comes with OS) alone cpanminus is a script to get, unpack, build and install modules from CPAN and does nothing else. It's dependency free (can bootstrap itself), requires zero configuration, and stands alone. When running, it requires only 10MB of RAM. The websites of both project explain how to install them. Once the perlbrew and cpanminus is setup, you can install Padre by simply typing "cpanm Padre" in a shell. Additionall howtos (by a Padre developer), can be found below. The examples were taken from a Debian/Ubuntu and Solaris system, but it's applicable to other systems as well: - Get the latest Perl release with perlbrew [http://nxadm.wordpress.com/2010/12/10/get-the-latest-perl-release-with-perlbrew/] - App::cpanminus: zero-conf CPAN client [http://nxadm.wordpress.com/2010/12/10/appcpanminus-zero-conf-cpan-client/] - Build Padre svn easily with perlbrew and cpanm [http://nxadm.wordpress.com/2010/12/10/build-padre-svn-easily-with-perlbrew-and-cpanm/] Text-Trac-0.24/t/corpus/padre_development.trac 0000644 0001750 0001750 00000010211 13401765156 020737 0 ustar manwar manwar [[PageOutline(1-2)]] = Development in general = We are using Subversion for version control. The main development of Padre is in the trunk [http://svn.perlide.org/padre/trunk/Padre] but there are several additional projects and almost all the plugins of Padre also live in the same repository so the best if you check out the whole trunk [http://svn.perlide.org/padre/trunk] {{{ $ svn co http://svn.perlide.org/padre/trunk padre }}} Then you can run the standard CPAN module process: Make sure you have all of the needed prerequisites. See [http://padre.perlide.org/trac/wiki/Download] {{{ $ cd padre/Padre $ perl Makefile.PL # which will tell about all the missing dependencies of Padre # this may fail if you don't have Module::Install # if so, start cpan and install it with all its prerequisites $ make $ make test }}} For a more detailed set of instructions on how to install the dependencies visit the [wiki:Download] Once all the above works well you can launch Padre from the SVN tree by running {{{ $ perl dev }}} dev has some more parameters you can see by typing {{{ $ perl dev -h }}} The most important being {{{ $ perl dev -a }}} that will include the path to all the plugins located in trunk/ == Coding == See the http://search.cpan.org/dist/Padre/lib/Padre/Manual/Hacking.pod file for Core Padre development and http://search.cpan.org/dist/Padre/lib/Padre/Plugin.pm for Plugin development. == Translation == Translation is basically part of the development effort. For more details please take a look at this page: See [wiki:TranslationIntro] == Documentation == The documentation of Padre is standard POD embedded in the .pm files. If you'd like to improve those you should check out the source code of Padre as described above and send patches or ask for commit bit. The documentation is part of the regular development process. == QA/Testing == Unfortunately Padre has not enough automated test mostly due to the fact that we hardly know how to test GUI applications. The existing tests are located in the standard t/ directory. If you'd like to help in this and if you are on Windows you could take a look at the t/win32/ directory where we have a few tests written using Win32::GUItest. You would be very highly regarded if you improved the test coverage of Padre!! == Release Management == See separate page about [wiki:Release] = Development in a branch = Most of our development is done on the trunk but occasionally we prefer to make our private corner for experimental changes or changes that might not be stable for some time. Instructions on how to do that: Create a branch and work on it: Assuming you have already checked out http://svn.perlide.org/padre/trunk/ to /path/to/padre {{{ $ svn cp http://svn.perlide.org/padre/trunk/Padre http://svn.perlide.org/padre/branches/My-branch -m'some messages' $ cd /path/to/padre/Padre $ svn switch http://svn.perlide.org/padre/branches/My-branch . }}} If you run {{{ svn st .. }}} You will see a letter S infront to the Padre directory as that one is switched. Now you can edit, test and commit as usual. Your changes will be committed to the branch. When done and you would like to merge your changes 1. Make sure everything is committed {{{ $ cd /path/to/padre/Padre $ svn switch http://svn.perlide.org/padre/trunk/Padre $ svn log --stop-on-copy http://svn.perlide.org/padre/branches/My-branch }}} This will show you the changes you made on the branch. Take the FIRST and LAST revision numbers in this log and use the following command to see the full change you made: {{{ svn diff -rFIRST:LAST http://svn.perlide.org/padre/branches/My-branch }}} use the following to merge it back to trunk {{{ svn merge -rFIRST:LAST http://svn.perlide.org/padre/branches/My-branch . svn commit -m'merged -rFIRST:LAST http://svn.perlide.org/padre/branches/My-branch ' svn rm http://svn.perlide.org/padre/branches/My-branch -m'My-branch is not needed any more' }}} If you decided it was a dead-end you can just switch back to trunk and remove the branch. == Tickets == [[TicketQuery(component=development,order=id,desc=1,format=table,col=resolution|summary|owner|reporter)]] Text-Trac-0.24/t/corpus/padre_download_freebsd.trac 0000644 0001750 0001750 00000005247 13401765156 021733 0 ustar manwar manwar = FreeBSD Installation Instructions = == Installation using pkg_add == Because the FreeBSD Perl package comes without threads support no official Padre packages are available. The prefered method is to manually recompile Perl port to support threads and then build Padre and all it's dependencies from Ports (see below). However there are __'''highly experimental'''__ packages available for FreeBSD 6-STABLE and 7-STABLE. First, make sure you have uninstalled the non-threaded Perl package or that you have threaded Perl already compiled. Please note, that after installing threaded Perl all Perl modules already installed have to be recompiled. All packages depend on Perl 5.8.9 (that's the current Perl version for 6 and 7 branches). First set `PACKAGESITE` environment variable to point to {{{ http://therek.net/freebsd/tb/6-STABLE-i386/All/Latest/ }}} for 6-STABLE or {{{ http://therek.net/freebsd/tb/7-STABLE-i386/All/Latest/ }}} for 7-STABLE. Then install packages as usual: {{{ # setenv PACKAGESITE http://therek.net/freebsd/tb/6-STABLE-i386/All/Latest/ # for C Shell # export PACKAGESITE=http://therek.net/freebsd/tb/6-STABLE-i386/All/Latest/ # for Bourne Shell # pkg_add -r p5-Padre }}} Feedback is welcome. == Installation from Source == To run Padre on FreeBSD you have to recompile Perl to support threads. To verify whether your Perl installation has thread support turned on run following command. {{{ $ perl -V:usethreads usethreads='define'; }}} If the result is `define` then you have already threaded Perl installed, otherwise execute: {{{ # cd /usr/ports/lang/perl5.8 && make WITH_THREADS=yes # make deinstall && make reinstall }}} Optionally you can substitute `make WITH_THREADS=yes` with the following and choose `THREADS` in the menu. Then uninstall and reinstall Perl as above. This has an advantage over the previous method, because the preferred configuration options will be stored in your system's packing database. This way next time you'll be building Perl (i.e. updating) all stored options will be applied without the need to manually specify them. {{{ # make config # make }}} To install Padre and its dependencies just execute: {{{ # cd /usr/ports/editors/p5-Padre # make install clean }}} == Installation from CPAN == Currently, there are no Padre CPAN installation instructions specific to FreeBSD. Feel free to add comments and hints. == Still Not Working? == Following the instructions on this page did not lead to a successful installation? [http://padre.perlide.org/contact.html Contact us]. We will do our best to help you. By letting us know that something does not work you will help us, too. When we know about it, we can improve this documentation and Padre itself. Text-Trac-0.24/t/corpus/padre_download_cpan.trac 0000644 0001750 0001750 00000005150 13401765156 021233 0 ustar manwar manwar = CPAN Installation Instructions = Padre is released as a CPAN package. You can download and install it using {{{cpan}}}, {{{cpanm}}} or CPANPLUS. The released versions can be seen here [http://search.cpan.org/dist/Padre/] here [http://kobesearch.cpan.org/dist/Padre] and here [https://metacpan.org/release/Padre] depending on your preferences. As Padre has many dependencies probably the easiest is to install the binary distribution where available from the vendor (Mandriva, Fedora, Debian, FreeBSD) and then use {{{cpanm}}} to upgrade. If this is not possible read on. == Install from CPAN == === Strawberry Perl on Windows === On Strawberry Perl you should be able to install/upgrade Padre by just opening the "cmd" and typing {{{ c:> cpan Padre }}} === Active Perl in Windows === Probably the same as for Strawberry Perl but you might first need to install the C compiler they supply. === Linux === On Linux you should probably start by installing from the binary repository of your distribution (see below) and then upgrading from CPAN using local::lib. That part starts by installing local::lib using the [https://metacpan.org/module/local::lib#The-bootstrapping-technique Bootstrapping technique] and once that's done type {{{ $ cpan Padre }}} == Common Problems == === Corporate Proxy === People behind a (corporate) proxy will not be able to access the CPAN servers directly. First they need to tell the CPAN client which proxy to use. For this, launch the cpan client by typing '''cpan''' on the command line. You should get a cpan> prompt and in there type the following: (obviously replace the address of the proxy server with the one you have in your company). {{{ cpan> o conf http_proxy http://proxy.corporate.com:8080 cpan> o conf commit cpan> q }}} Once you did this the cpan command should work. === WxWidgets and WxPerl === The difficult part is sometimes to install some of the prerequisites: * Installing wxWidgets (that [http://search.cpan.org/dist/Alien-wxWidgets/ Alien::wxWidgets] tries to solve) * Installing wxPerl (the [http://search.cpan.org/dist/Wx/ Wx] distro) from CPAN. Mattia Barbon did a great job with them but they still may be difficult to install in some cases. == Platform-specific Instructions == * [wiki:DownloadDebian#Installation_from_CPAN Debian] * [wiki:DownloadFedora#Installation_from_CPAN Fedora] * [wiki:DownloadFreeBSD#Installation_from_CPAN FreeBSD] * [wiki:DownloadMandriva#Installation_from_CPAN Mandriva] * [wiki:DownloadNetBSD#Installation_from_CPAN NetBSD] * [wiki:DownloadUbuntu#Installation_from_CPAN Ubuntu] * [wiki:DownloadWindows#Installation_from_CPAN Windows] Text-Trac-0.24/t/corpus/padre_download_debian.trac 0000644 0001750 0001750 00000005154 13401765156 021540 0 ustar manwar manwar = Debian Installation Instructions = == Installation using the Package Manager == Padre 0.63 is available in [http://www.debian.org/ Debian] 6.0 ("squeeze"), as well as in the {{{unstable}}} (Pare 0.90) and {{{testing}}} (Padre 0.90) branches of Debian. Install: {{{ # aptitude install padre }}} === Older Stable Releases === If you run a stable release prior to Squeeze (6.0), you'd have to add an "unstable" or "testing" source to {{{/etc/apt/sources.list}}}, e.g. as follows: {{{ deb http://mirror.isoc.org.il/pub/debian/ unstable main deb-src http://mirror.isoc.org.il/pub/debian/ unstable main }}} Then update the package list {{{ # aptitude update }}} and perform the installation as described above. == Installation from CPAN or Subversion == Make sure that CPAN can work properly. Install the {{{build-essential}}} package if it is not yet installed. {{{ aptitude install libppix-regexp-perl libalien-wxwidgets-perl libppix-editortools-perl libio-string-perl libdevel-dumpvar-perl libfile-spec-perl libwx-perl libprobe-perl-perl libwxbase2.8-dev libdevel-refactor-perl libnet-daemon-perl libclass-unload-perl libthreads-shared-perl libwxgtk2.8-0 libtext-diff-perl libfile-next-perl libdbi-perl libtext-glob-perl ack-grep libclass-inspector-perl libtext-findindent-perl libfile-remove-perl libplrpc-perl libmodule-manifest-perl libparse-exuberantctags-perl libtemplate-tiny-perl libparse-errorstring-perl-perl libpod-pom-perl liborlite-migrate-perl libfile-pushd-perl libio-stringy-perl libwxbase2.8-0 libipc-run-perl libclass-adapter-perl libtask-weaken-perl libpod2-base-perl liborlite-perl libfile-find-rule-perl libpod-abstract-perl libclass-xsaccessor-perl libio-pty-perl libclone-perl libwx-perl-processstream-perl libipc-run3-perl libwxgtk2.8-dev libdbd-sqlite3-perl libfile-sharedir-perl libppi-perl wx2.8-headers libfile-homedir-perl liblist-moreutils-perl libdebug-client-perl libnumber-compare-perl libyaml-tiny-perl libgtk2.0-dev }}} Then either install from CPAN (which will help you to resolve possible additional dependencies), or run {{{ perl Makefile.PL make make test make install }}} in the Padre directory. Pay attention to the output of {{{perl Makefile.PL}}}, it may remind you of some missing CPAN modules that you need to install. (last checked Sep. 22, 2011, on Debian testing) == Still Not Working? == Following the instructions on this page did not lead to a successful installation? [http://padre.perlide.org/contact.html Contact us]. We will do our best to help you. By letting us know that something does not work you will help us, too. When we know about it, we can improve this documentation and Padre itself. Text-Trac-0.24/t/corpus/padre_wikistart.trac 0000644 0001750 0001750 00000006756 13401765156 020461 0 ustar manwar manwar == Padre - Perl Application Development and Refactoring Environment == Take a look at the current state of Padre on our [http://padre.perlide.org/trac/wiki/Screenshots Screenshots] page. [wiki:Features] [wiki:Tickets] To create a New Ticket for Padre, you will need to Login (if you are new here, please Register first). == Project Objectives == Some of the objectives of the project: * Make it very easy to start using it, especially for Perl development. * Easy installation on Windows, Linux and other operating systems * By default work like notepad, hide most of the options. * Make it very Perl beginner friendly * Out of the box allow running Perl scripts, have Perl documentation. * Provide a variety of assistance options to help with learning Perl. * Auto-detect as much as possible, to provide a Do What I Mean working style. * Support for development of large cross language applications * Project-specific editor configuration. * Boilerplate creation for CPAN modules, Catalyst applications, and more. * Extend Padre with [wiki:Plugins plugins] to add new interfaces and functionality. * Support for languages that are often used with Perl (SQL, Javascript, HTML, XML) * Support for other programming languages (Python, PHP, Ruby etc.) * Support for Parrot and Perl 6 * Support for Moose, Mouse and MooseX::Declare == How do I try it? == See [wiki:Download] for installation instructions. And be sure to check out the [wiki:Documentation] for additional info. * Videos * Gabor [http://www.youtube.com/user/gabor529/videos youtube] various * Adam at [http://www.youtube.com/watch?v=qu8-NzHZsXY Padre - The Perl IDE for Normal People] YAPC::Asia Tokyo 2012 == Getting involved - How can I participate? == See also http://padre.perlide.org/getting_involved.html === Setting up a development environment === See [wiki:Howto] * SvnMimeTypes * Guide to setting mime types to enable pygments to display formatted code in trac. * [wiki:PadrePluginDialog Padre::Plugin::Cookbook] * Series of Cookbooks to aid in Gui Plug-in development == Mailing lists == * Padre development mailing list http://mail.perlide.org/mailman/listinfo/padre-dev * SVN commit mailing list http://mail.perlide.org/mailman/listinfo/padre-commit * Trac changes mailing list http://mail.perlide.org/mailman/listinfo/padre-trac * Padre news mailing list http://mail.perlide.org/mailman/listinfo/padre-news == IRC == Padre's IRC channel is very active, and the best first point of call for questions or assistance. We hang out on [irc://irc.perl.org/%23padre #padre] on irc.perl.org It is being logged here: http://irclog.perlgeek.de/padre/today You can also use the web-based IRC client on Mibbit from our [http://padre.perlide.org/irc.html IRC] page == Support == You can try our mailing list or IRC, but I am sure the [http://www.perlmonks.org/ PerlMonks] will be glad to help you as well. == History == Before 7 August 2008 the source code was kept in a different SVN repository under various names. There was no easy way to transfer it so I started this repository from scratch. That pre-history can be found here: `http://svn1.hostlocal.com/szabgab/trunk/Wx-Tutorial -r 941` `http://svn1.hostlocal.com/szabgab/trunk/App-Editor -r 1080` The [http://padre.perlide.org/about.html About] page has links to related blog posts from before Padre was released. [http://padre.perlide.org/trac/wiki/Release_History Release History] Padre is written in Perl 5 using [http://padre.perlide.org/trac/wiki/wxWidgets wxWidgets] Text-Trac-0.24/t/corpus/padre_download_osx.trac 0000644 0001750 0001750 00000023107 13401765156 021125 0 ustar manwar manwar [[PageOutline(1-5, Table of Contents, floated)]] = DMG Betas = As a beta release, Padre is available as a packaged Application for OsX. See this page for the latest DMG: http://wildperl.com/padreonosx/ This is a beta and we could really use your help. We need more OSX testers, and any help you can give us, even saying it runs fine for you, is important. Open tickets can be found here: [wiki:osxbugs], and [http://widget.mibbit.com/?server=irc.perl.org&channel=%23padre hop on to IRC] as the best way to report any issues and give feedback. = Installation from source = There are several methods of installing Padre from source. As such, they require some familiarity with command-line usage of OsX. **System Perl vs User Perl:** Padre requires a 32bit version of Perl and wxWidgets 2.8.12. These are not the default on OsX. Additionally, the default "system" perl on OsX may be altered or changed in the course of software updates from Apple. Consequently, building Padre requires creating a self-contained perl, wxWidgets, and Padre. **Xcode:** On OsX most of the common development utilities that are referenced by perl (gcc, make, etc) are provided by installing Xcode. The instruction sets below assume that you have installed these or reasonable substitutes on your system, that they are properly in your path, etc. **Wx Tests:** There will be a point where you are compiling Wx. The tests for Wx involve generating many window primitives. These tests will fail if they are run inside of a gnu-screen or ssh session. (The error message might be a bit strange: stating issues creating the clipboard because of permissions.) Additionally, during the test cycle many of the tests will grab focus on the UI. This will make your system unusable for a short period of time. Let the tests run. If you try to quit out of them, you will cause the tests to fail and it will halt the compile. == Option 1 - Installation with Citrus Perl == Cirtus Perl is a portable distribution of perl that has pre-built Wx binaries and integration. A shortened form of installation instructions is below. Refer to the installation instructions on the download page below if you want full details. - Download Citrus Perl from http://www.citrusperl.com/platform/macosx.html - Unpack Citrus Perl into your favorite dev location: {{{#!sh cd ~/dev tar xzvf ~/Downloads/citrusperl-standard-51402-20903-osx-i32-014.tar.gz }}} - This has created a "`CitrusPerl`" directory that has a fully isolated install of perl, including Wx. You can also use CPAN to add to this perl without polluting your system's install of perl with additional modules. (Also meaning that an apple update will not break your version of perl if you use this.) - Configure Cirtus Perl to work in its new location {{{#!sh ./CitrusPerl/bin/relocateperl ./CitrusPerl/bin/citrusvars.sh }}} - At this point you can put Citrus Perl in your path. Set it ahead of other entries by putting the line below as the last line in your `.bash_profile`. That will make any command line invocation of `perl` or `cpan` use Citrus Perl and not your system perl. Substitute `/Users/joe/dev` below with your chosen installation directory. {{{#!sh export PATH=/Users/joe/dev/CitrusPerl/bin:$PATH }}} - Reload your `.bash_profile` to use the new path {{{#!sh source ~/.bash_profile }}} - To install Padre, use `cpan` and run the command `install Padre`. This will build all required dependencies along the way, so it will take some time. {{{#!sh cpan > install Padre > exit }}} - Padre should now be in your path and usable on the command line {{{#!sh padre }}} == Option 2 - Installation with Mac Ports == Mac Ports is a project to provide many GNU and Open Source utilities to OsX. It packages and installs them in `/opt/local`. - Mac Ports can be downloaded and installed as a package from http://www.macports.org/install.php and configured: {{{#!sh sudo port -f selfupdate }}} - Remember to follow the instructions to put Mac Ports first in your path so the Ports version of perl will execute when called on the command line: {{{#!sh export PATH=/opt/local/bin:/opt/local/sbin:$PATH }}} - Install Perl and Wx (This will include many dependencies and take some time to compile and complete.) {{{#!sh sudo port install perl5 +threads sudo port install wxWidgets }}} - Install Padre via CPAN {{{#!sh sudo /opt/local/bin/cpan > install Padre }}} - Padre should now be in your path and usable on the command line {{{#!sh padre }}} == Option 3 - Compiling a Perl with Perl Brew == We are attempting to automate the process using the bin/padre-brew.pl [http://bit.ly/oiME1I available here]. If you want to build on your own you should note the environment settings and build parameters used on [http://wildperl.com/2011/07/padre-on-osx-dmg-now-on-leopard-snow-leopard-and-lion/ OSX Lion], or refer to the bin/padre-brew.pl source for other OSX levels. = Installing on top of the system Perl = //As stated above, this is not recommended. You are manipulating portions of the system OS which may be changed in the future by Apple and/or you may cause unintended side-effects in your OS.// Pre-Lion versions of OsX had varying levels of Perl, Wx and sometimes wxPerl installed. Sometimes with a minimum of effort, a functioning wxPerl and Padre could be made to work. (OS X 10.4 has wxPerl 0.22, 10.5 has a more recent version (0.6x for some x)) Generally, you do not use the system 'perl' executable, but build a 'wxPerl' executable (see this [http://www.nntp.perl.org/group/perl.wxperl.users/2008/07/msg5978.html thread regarding wxPerl invocation]). Reading up on installation using [wiki:DownloadNetBSD pkgsrc] may also help. === Checking what versions you currently have === If you have trouble you can check which version of wxWidgets you have: {{{#!perl $ perl -MWx -le'print "Wx Version: $Wx::VERSION " . Wx::wxVERSION_STRING()' }}} and on Mac: {{{#!perl $ wxPerl -MWx -le'print "Wx Version: $Wx::VERSION " . Wx::wxVERSION_STRING()' }}} We use Wx 0.87 and wxWidgets 2.8.8 so you probably should have those (or newer) too. == Installation from CPAN == The most straightforward method is to install everything from source. This will ignore any existing wxWidgets installation. 1. $ wxPerl -MCPAN -eshell 1. [cpan] $ install Alien::wxWidgets [choose install from source, which is NOT the default] 1. Go do something else while it compiles wxWidgets. 1. [cpan] $ install Wx 1. [cpan] $ install Padre Padre has a LOT of prerequisites. You're likely to run into some problems with tests failing. IPC::Run3 was a particular problem due to its prerequisites, but a later individual install worked fine. Just make your way through them all, and 'force notest install $module' as needed. Once you've got padre installed you start it by running /usr/local/bin/padre. === Notes on building wxWdigets from source === When installing Alien::wxWidgets it will ask if you want to compile wxWidgets. '''Do you want to fetch and build wxWidgets from sources?''' If you don't have any installed or if you have an old version (< 2.8.8) then you should answer yes. It will try to download the source code of wxWidgets which is big and the download often fails. To get around that you can download the file manually and put it in the extracted directory of Alien::wxWidgets. Something like this: {{{#!sh $ cd /tmp $ wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.8.tar.gz $ cpan cpan> look Alien::wxWidgets $ cp /tmp/wxWidgets-2.8.8.tar.gz . $ perl Makefile.PL $ make $ make test $ make install $ exit cpan>quit $ }}} == Variation 1 - Taking the lazy way == If you're lazy and enjoy taking risks... the easiest way to install on OSX may be (there will be some test failures - which you'll have to force install, including Padre itself, due to wxPerl issues): {{{#!sh cpan Alien::wxWidgets wxPerl -MCPAN -eshell $ install Padre }}} and then replace the /usr/local/bin/padre script with the updated version at http://padre.perlide.org/trac/browser/trunk/Padre/script/padre After installing Alien::wxWidget there are new versions of wx-config and wxrc somewhere in your Perl Library Path, (mine went under site_perl/darwin-thread-multi-2level/Alien/wxWidgets/mac_2_8_10_uni/bin), which need to be first in your PATH, otherwise Wx might build against the wrong Library. As an alternative you can set an environment variable WX_CONFIG which has to point to the new wx-config executable. See the Wx docs for more info. == Variation 2 - Using a package manager for the Wx portion == Aside from building from source, you can also install newer versions of Wx on OS X using a package manager: [http://www.finkproject.org/ Fink] {{{#!sh fink install wxmac28 }}} [http://www.macports.org/ Mac Ports] {{{#!sh port install wxWidgets }}} = Creating an App Icon for your command-line Padre = It is possible to create an Application icon to launch your command-line version of Padre. You can create an Applescript application to do this. Launch the Applescript Editor from the Utilities folder in the Applications folder. You will enter a line to launch padre which which uses the full path of your preferred perl and padre. For Mac ports: {{{#!sh do shell script "/opt/local/bin/perl /opt/local/bin/padre" }}} For Citrus Perl: (change `/Users/joe/dev/` to your path for Citrus Perl) {{{#!sh do shell script "/Users/joe/dev/CitrusPerl/i32/5-12/bin/perl /Users/joe/dev/CitrusPerl/i32/5-12/site/bin/padre" }}} Select "Save As" under the file menu. Select the format of "Application." Name it what you'd like and install it where you'd like it to be. (IE: the Applications folder) Clicking on this icon should now launch Padre. ---- = Links * http://www.perlmonks.org/?node_id=910271 Text-Trac-0.24/t/corpus/padre_download_ubuntu.trac 0000644 0001750 0001750 00000013236 13401765156 021640 0 ustar manwar manwar = Ubuntu Installation Instructions = Apparently Ubuntu 11.04 also comes with [https://bugs.launchpad.net/ubuntu/+source/padre/+bug/761782 broken wxWidgets or broken Wx]. [http://ubuntuforums.org/showthread.php?t=1745375 see here too] Please follow the instructions below to manually install (again) the wx related modules. Probably the best way is to use local::lib so your installation won't interfere with the system installation. === If you have upgraded to **natty**(11.04) from mavrick(10.10), * to install the wx library files you can {{{#!sh $sudo apt-get install libwxbase2.8-0 libwxgtk2.8-0 libwxbase2.8-dev libwxgtk2.8-dev libgtk2.0-dev }}} * Install {{{gtk2-engines-pixbuf}}} to get rid of the annoying warning on Ubuntu 11.10: {{{Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap"}}} {{{ sudo apt-get install gtk2-engines-pixbuf }}} * you can check the library files are installed with {{{#!sh $ dpkg -l |grep -i libwx |awk '{ print $2 }' libwxbase2.8-0 libwxbase2.8-dev libwxgtk2.8-0 libwxgtk2.8-dev $ dpkg -l |grep -i libgtk2.0-dev |awk '{ print $2 }' libgtk2.0-dev }}} * you will need to reinstall WX. {{{#!sh $sudo cpan .... cpan[1]> force install Wx Going to read '/root/.cpan/Metadata' Database was generated on Wed, 04 May 2011 04:32:25 GMT Running install for module 'Wx' Running make for M/MB/MBARBON/Wx-0.98.tar.gz Fetching with LWP: .... }}} == Installation using the Package Manager == Ubuntu 10.10 contains Padre 0.63, Ubuntu 10.04 contains Padre 0.50 {{{ sudo apt-get install padre }}} Because of a packaging error, [https://bugs.launchpad.net/ubuntu/+source/padre/+bug/485012 padre does not work out of the box on Ubuntu 10.10]. One possible workaround is to install wx-perl from CPAN: {{{ sudo cpan Alien::wxWidgets sudo cpan Wx }}} Use {{{apt-cache}}} to find out which plug-ins are available: {{{ apt-cache -n search padre }}} On Ubuntu 10.04, you can install the following plug-ins: {{{ sudo apt-get install libpadre-plugin-css-perl libpadre-plugin-html-perl libpadre-plugin-spellcheck-perl libpadre-plugin-xml-perl libpadre-plugin-autoformat-perl libpadre-plugin-vi-perl libpadre-plugin-nopaste-perl }}} == Installation from CPAN == This was checked for Ubuntu 9.04 and 10.10 but it should work for later versions as well. * Install required development packages {{{ sudo apt-get install libwxgtk2.8-0 libwxgtk2.8-dev libwxbase2.8-dev libwxbase2.8-0 libgtk2.0-dev g++ }}} * download and setup local::lib ( http://search.cpan.org/dist/local-lib/ ) {{{ # in your $HOME cd $HOME perl -v # This is perl, v5.10.1 (*) built for i686-linux-gnu-thread-multi # This is called system perl # Install local::lib into your $HOME wget http://search.cpan.org/CPAN/authors/id/G/GE/GETTY/local-lib-1.006007.tar.gz tar xfz local-lib-1.006007.tar.gz cd local-lib-1.006007/ perl Makefile.PL --bootstrap make test && make install cd $HOME # Add local::lib to your .bashrc echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc # Optional step if you do not want to close your terminal eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib) # Optional: remove local::lib folder rm -rf local-lib-1.006007 }}} * configure the cpan client setting the prerequisite_policy to 'follow' and to add a CPAN server in the urllist: * {{{cpan}}} * {{{conf prerequisites_policy follow}}} * {{{conf urllist http://cpan.yahoo.com/}}} * {{{conf save}}} * {{{cpan App::cpanminus}}} * {{{cpanm Alien::wxWidgets}}} * {{{cpanm Wx}}} * {{{cpanm Padre}}} There are certain places where CPAN.pm is still asking for confirmation "is just needed temporarily during building or testing. Do you want to install it permanently (y/n) [yes]". This can be eliminated by setting build_requires_install_policy to 'yes' in the CPAN client: * {{{conf build_requires_install_policy yes}}} * {{{conf save}}} === If you accidentally tried to install with wx-2.6 libs This can happen if you blindly try to install Padre using cpan without checking for library dependencies. In that case, the installation will die at some point during the Wx compilation phase. Alien::wxWidgets will think that you have v 2.6 (even after you install 2.8), so you must remove it before moving forward with the install. To check if Alien::wxWidgets is incorrect, run this at your command line: {{{#!sh perl -MAlien::wxWidgets -e 'print Alien::wxWidgets->version, "\n"' }}} If the output says 2.006### then Alien::wxWidgets needs to be fixed. If it says 2.008###, then this is not a problem. Before doing any of the following steps, ensure that you have the wx-2.8 dev libs installed via apt-get, as detailed above. The steps that I have tried to fix this problem, in increasing levels of severity, are as follows. After you try each one, you can test if Alien::wxWidgets is properly configured by running the one-liner shown above and checking that the output says 2.008###. * Force-install Alien::wxWidgets. (This didn't work for me for some reason.) * Install App::pmuninstall via CPAN and use it to remove Alien::wxWidgets. Then reinstall Alien::wxWidgets. * Remove the Alien::wxWidgets files by hand, then re-install Alien::wxWidgets from cpan. If you are using local::lib, you will find these in ~/perl5/lib/perl5/Alien and ~/perl5/lib/perl5/i686-linux-gnu-thread-multi/Alien. If you are installing these into your system perl, you will find these under similar folders at /usr/local/lib/perl5/..., I believe. == Still Not Working? == Following the instructions on this page did not lead to a successful installation? [http://padre.perlide.org/contact.html Contact us]. We will do our best to help you. By letting us know that something does not work you will help us, too. When we know about it, we can improve this documentation and Padre itself. Text-Trac-0.24/t/corpus/padre_download_activeperl.trac 0000644 0001750 0001750 00000011465 13401765156 022456 0 ustar manwar manwar = Windows (Active Perl) Installation Instructions = [http://www.activestate.com/] Once you have installed Active Perl you need to configure an additional PPM repositor and then you can install Padre using the ppm packaging system. Let's see how to do it in the Command Shell: {{{ Start/Run/cmd ENTER ppm rep add wxperl http://www.wxperl.co.uk/repository ppm install Alien-wxWidgets ppm install Wx ppm install Padre }}} You might have to install Alien-wxWidgets-gcc. If this conflicts with Alien-wxWidgets - you can try use --force: {{{ ppm install Alien-wxWidgets-gcc --force }}} Once that's done you can start Padre by typing {{{ perl c:\perl\site\bin\padre }}} or {{{ wperl c:\perl\site\bin\padre }}} Replace "c:\perl" with the path, where Active Perl is installed. ==== Older Active Perl details ==== The manual installation is still a bit rough but we are working on improving it. 1) (A) Most of the modules - can be taken from the main ActiveState Package Repository. (B) For Active Perl there are prebuilt PPM versions of Alien::wxWidgets and Wx (aka. wxPerl) and can be installed from [http://wxperl.co.uk/]. So add the wxperl repository to the PPM: http://www.wxperl.co.uk/repository (for detailed instructions see http://wxperl.co.uk/ppm.html ) (and even more info here http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html ) Adding the repository to your PPM repository list: In PPM4 (ActivePerl 820+) this is most easily done via the GUI menu option: Edit -> Preferences. If you use PPM3 - or used to command line (==DOS , still usable for PPM4) - you can do: {{{ ppm rep add wxperl http://www.wxperl.co.uk/repository }}} 2) Install all the packages (except of course perl) listed as "requires" on http://svn.perlide.org/padre/trunk/Padre/Makefile.PL - by using ppm. Don't worry about the order of installation and report us any problem you encounter. You can do in by searching the "requires" packages listed in the above link - either by using the PPM4 GUI, or searching PPM command line (==DOS): {{{ ppm search App::Ack }}} The result may look like this: {{{ C:\Documents and Settings\orenm>ppm search App::Ack Downloading ActiveState Package Repository packlist...not modified 1: ack A grep-like program specifically for large source trees Version: 1.86 Released: 2008-07-09 Author: Andy Lesterr1:3
### milestone --- input milestone:1.0 --- expectedmilestone:1.0
### ticket --- input ticket:1 --- expected Text-Trac-0.24/t/03-trac-links.t 0000644 0001750 0001750 00000017362 13401765156 015546 0 ustar manwar manwar use strict; use warnings; use t::TestTextTrac; run_tests; __DATA__ ### ticket link test 1 --- input #1 --- expected ### ticket link test 2 --- input ticket:1 --- expected ### ticket link test 3 --- input !#1 --- expected#1
### ticket link test 4 --- input !ticket:1 --- expectedticket:1
### ticket link test 5 --- input [ticket:1] --- expected ### ticket link test 6 --- input [ticket:1 ticket 1] --- expected ### ticket link test 7 --- input ![ticket:1] --- expected[ticket:1]
### report link test 1 --- input {1} --- expected ### report link test 2 --- input report:1 --- expected ### report link test 3 --- input !{1} --- expected{1}
### report link test 4 --- input !report:1 --- expectedreport:1
### report link test 5 --- input [report:1] --- expected ### report link test 6 --- input [report:1 report 1] --- expected ### report link test 7 --- input ![report:1] --- expected[report:1]
### changeset link test 1 --- input [1] --- expected ### changeset link test 2 --- input changeset:1 --- expected ### changeset link test 3 --- input r1 --- expected ### changeset link test 4 --- input [changeset:1] --- expected ### changeset link test 5 --- input [changeset:1 changeset 1] --- expected ### changeset link test 6 --- input ![1] --- expected[1]
### changeset link test 7 --- input !changeset:1 --- expectedchangeset:1
### changeset link test 8 --- input !r1 --- expectedr1
### changeset link test 9 --- input ![changeset:1] --- expected[changeset:1]
### revision log link test 1 --- input r1:3 --- expected ### revision log link test 2 --- input [1:3] --- expected ### revision log link test 3 --- input log:#1:3 --- expected ### revision log link test 4 --- input [log:#1:3] --- expected ### revision log link test 5 --- input [log:#1:3 log 1 - 3] --- expected ### wiki link test 1 --- input TracLinks --- expected ### wiki link test 2 --- input wiki:trac_links --- expected ### wiki link test 3 --- input !TracLinks --- expectedTracLinks
### wiki link test 4 --- input !wiki:TracLinks --- expectedwiki:TracLinks
### wiki link test 5 --- input [wiki:TracLinks Trac Links] --- expected ### milestone link test 1 --- input milestone:1.0 --- expected ### milestone link test 2 --- input [milestone:1.0] --- expected ### milestone link test 3 --- input [milestone:1.0 milestone 1.0] --- expected ### milestone link test 4 --- input !milestone:1.0 --- expectedmilestone:1.0
### milestone link test 5 --- input ![milestone:1.0] --- expected[milestone:1.0]
### attahcment link test 1 --- input attachment:ticket:33:DSCF0001.jpg --- expectedattachment:ticket:33:DSCF0001.jpg
### attahcment link test 2 --- input attachment:wiki:TracLinks:DSCF0001.jpg --- expectedattachment:wiki:TracLinks:DSCF0001.jpg
### attahcment link test 3 --- input [attachment:ticket:33:DSCF0001.jpg] --- expected ### attahcment link test 4 --- input [attachment:ticket:33:DSCF0001.jpg file] --- expected ### attahcment link test 5 --- input !attachment:ticket:33:DSCF0001.jpg --- expectedattachment:ticket:33:DSCF0001.jpg
### attahcment link test 6 --- input !attachment:wiki:TracLinks:DSCF0001.jpg --- expectedattachment:wiki:TracLinks:DSCF0001.jpg
### attahcment link test 7 --- input ![attachment:wiki:TracLinks:DSCF0001.jpg] --- expected[attachment:wiki:TracLinks:DSCF0001.jpg]
### source link test 1 --- input source:trunk/COPYING --- expected ### source link test 2 --- input source:trunk/COPYING#200 --- expected ### source link test 3 --- input [source:trunk/COPYING] --- expected ### source link test 4 --- input [source:trunk/COPYING COPYING] --- expected ### source link test 5 --- input [source:trunk/COPYING#200] --- expected ### source link test 6 --- input [source:trunk/COPYING#200 COPYING] --- expected ### source link test 7 --- input !source:trunk/COPYING --- expectedsource:trunk/COPYING
### source link test 8 --- input !source:trunk/COPYING#200 --- expectedsource:trunk/COPYING#200
### source link test 9 --- input ![source:trunk/COPYING] --- expected[source:trunk/COPYING]
### escaping links and wiki page names --- input == EscapingLinksand!WikiPageNames == --- expectedattachment:ticket:33:DSCF0001.jpg
### changeset --- input [1] --- expected ### revision log --- input r1:3 --- expected ### milestone --- input milestone:1.0 --- expected ### report --- input {1} --- expected ### source --- input source:trunk/COPYING --- expected ### ticket --- input #1 --- expected ### wiki --- input TracLinks --- expected Text-Trac-0.24/t/10-script.t 0000644 0001750 0001750 00000002001 13401765156 014761 0 ustar manwar manwar use strict; use warnings; use Test::More tests => 2; #use Test::Differences qw(eq_or_diff); use File::Temp qw(tempdir); use Path::Tiny qw(path); my $dir = tempdir( CLEANUP => 1 ); subtest usage => sub { plan tests => 1; my $out = qx{$^X script/trac2html}; like $out, qr{Usage: script/trac2html}; #diag $out; }; my @cases = qw( padre_download_debian padre_download_fedora padre_download_mandriva padre_download_opensuse padre_download_ubuntu padre_download_freebsd padre_download_netbsd padre_development padre_features ); # Ubuntu generates warnings subtest full_html => sub { plan tests => 2 * @cases; foreach my $case (@cases) { my $out = qx{$^X script/trac2html --infile t/corpus/$case.trac --outfile $dir/$case.html --class --id --span}; is $out, '', 'out'; my $html_generated = path("$dir/$case.html")->slurp_utf8; my $html_expected = path("t/expected/$case.html")->slurp_utf8; #eq_or_diff $html_generated, $html_expected, 'Mandriva'; is $html_generated, $html_expected, $case; } }; Text-Trac-0.24/t/13-script-noclass-noid-nospan.t 0000644 0001750 0001750 00000002357 13401765156 020665 0 ustar manwar manwar use strict; use warnings; use Test::More tests => 2; #use Test::Differences qw(eq_or_diff); use File::Temp qw(tempdir); use Path::Tiny qw(path); my $dir = tempdir( CLEANUP => 1 ); subtest usage => sub { plan tests => 1; my $out = qx{$^X script/trac2html}; like $out, qr{Usage: script/trac2html}; #diag $out; }; my @cases = qw( padre_download_debian padre_download_fedora padre_download_opensuse padre_download_ubuntu padre_download_netbsd padre_development padre_download_mandriva padre_download_freebsd padre_features padre_download_osx padre_download_windows padre_download_activeperl padre_download_cpan padre_download_perlbrew padre_download_repository padre_faq padre_wxformbuilder padre_wxwidgets padre_translationstyle padre_wikistart ); # Ubuntu generates warnings subtest full_html => sub { plan tests => 2 * @cases; foreach my $case (@cases) { my $out = qx{$^X script/trac2html --infile t/corpus/$case.trac --outfile $dir/$case.html}; is $out, '', 'out'; my $html_generated = path("$dir/$case.html")->slurp_utf8; my $html_expected = path("t/expected/${case}_noclass_noid_nospan.html")->slurp_utf8; #eq_or_diff $html_generated, $html_expected, 'Mandriva'; is $html_generated, $html_expected, $case; } }; Text-Trac-0.24/t/06-enable_links.t 0000644 0001750 0001750 00000001163 13401765156 016120 0 ustar manwar manwar #!perl -T use strict; use warnings; use Test::Base; use Text::Trac; delimiters('###'); plan tests => 1 * blocks; my $p = Text::Trac->new( enable_links => [qw( log milestone )] ); sub parse { local $_ = shift; $p->parse($_); $p->html; } filters { input => 'parse', expected => 'chomp' }; run_is 'input' => 'expected'; __DATA__ ### log --- input r1:3 --- expected ### milestone --- input milestone:1.0 --- expected ### ticket --- input ticket:1 --- expectedticket:1
Text-Trac-0.24/t/expected/ 0000755 0001750 0001750 00000000000 13403124170 014645 5 ustar manwar manwar Text-Trac-0.24/t/expected/padre_download_opensuse.html 0000644 0001750 0001750 00000002334 13401765156 022455 0 ustar manwar manwar[[Image(yast.png)]] 3. Install Padre from CPAN.
Configure make_install_make_command and mbuild_install_build_command to enable sudo support in CPAN.
Following the instructions on this page did not lead to a successful installation?
We will do our best to help you. By letting us know that something does not work you will help us, too. When we know about it, we can improve this documentation and Padre itself.