Because 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 [wiki:Download#FreeBSD1]).

117

118

However there are __'''highly experimental'''__ packages available for FreeBSD 6-STABLE and 7-STABLE. Before reading further '''be warned that you're using them at your own responsibility! ''' Neither Padre developers nor package contributor can be held responsible for any damage done to your computer.

119

120

First, make sure you have deinstalled 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 depends on Perl 5.8.9 (that's the current Perl version for 6 and 7 branches).

121

122

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:

For binary packages installation take a look at {{{ http://www.netbsd.org/docs/software/packages.html#binarydist }}}. There're packages available for some platforms (including NetBSD and Darwin), 2010Q1 release of pkgsrc will provide binary packages for Padre, too.

135

136

Packed by Sno|, contact pkgsrc-users@NetBSD.org in case of problems.

137

138

= Source code =

139

140

Padre is released as a CPAN package. You can download and install it using CPAN.pm or CPANPLUS.

141

The released versions can be seen here [http://search.cpan.org/dist/Padre/] and here [http://kobesearch.cpan.org/dist/Padre].

142

143

As Padre has many dependencies probably the easiest is to install the binary distribution

144

where available from the vendor (Mandriva, Fedora, Debian, FreeBSD) and then use CPAN.pm to upgrade.

'''Note''': installing Padre in a fresh install of Strawberry Perl can lead to weird behaviour, like preferences not being saved on exit (due to Padre crashing on exit). See the comments for #258 for a workaround.

185

186

On previous releases of Strawberry Perl 5.10 you can install it

187

following these steps

188

{{{

189

cpan> look Alien::wxWidgets

190

$ perl Makefile.PL

191

$ dmake

192

$ dmake test

193

$ dmake install

194

$ exit

195

cpan> look Wx

196

$ perl Makefile.PL

197

$ dmake

198

$ dmake test

199

$ dmake install

200

$ exit

201

cpan> install Padre

202

}}}

203

204

Once it is installed you can start Padre either by

205

{{{

206

Start/Run and type in padre

207

}}}

208

209

210

or by creating a shortcut and then clicking on it.

211

212

When creating the shortcut use the following as command:

213

{{{

214

C:\strawberry\perl\bin\wperl.exe C:\strawberry\perl\bin\padre.bat

215

}}}

216

note we are using wperl here instead of perl in order to avoid the extra

217

command shell window.

218

219

'''Note''': For updating Padre on Strawberry Perl you can use the CPAN shell client of Strawberry:

220

{{{

221

C:\strawberry\perl\bin\perl -MCPAN -e shell

222

}}}

223

224

{{{

225

upgrade Padre

226

}}}

227

228

To find whether there's an update - you can do:

229

{{{

230

i /Padre/

231

}}}

232

(or simply follow the mailing list ;-)

233

234

235

236

=== Active Perl ===

237

238

[http://www.activestate.com/]

239

240

Once you have installed Active Perl you need to configure two additional PPM

241

repositories and then you can install Padre using the ppm pacakging system.

242

Let's see how to do it in the Command Shell:

243

244

{{{

245

Start/Run/cmd ENTER

246

ppm rep add wxperl http://www.wxperl.co.uk/repository

247

ppm rep add padre http://www.perlide.org/download/ppm/

248

249

ppm install Alien-wxWidgets

250

ppm install Wx

251

ppm install Padre

252

}}}

253

254

You might have to install Alien-wxWidgets-gcc. If this conflicts with Alien-wxWidgets - you can try use --force:

255

{{{

256

ppm install Alien-wxWidgets-gcc --force

257

}}}

258

259

Once that's done you can start Padre by typing

260

{{{

261

perl c:\perl\site\bin\padre

262

}}}

263

or

264

{{{

265

wperl c:\perl\site\bin\padre

266

}}}

267

268

Replace "c:\perl" with the path, where Active Perl is installed.

269

270

==== Older Active Perl details ====

271

272

The manual installation is still a bit rough but we are working on improving it.

273

274

1) (A) Most of the modules - can be taken from the main ActiveState Package Repository.

275

276

(B) For Active Perl there are prebuilt PPM versions of Alien::wxWidgets and Wx (aka. wxPerl)

277

and can be installed from [http://wxperl.co.uk/].

278

279

So add the wxperl repository to the PPM: http://www.wxperl.co.uk/repository

For more info about "ppm - Perl Package Manager, version 4" - see the ActivePerl 5.10 Documentation:

389

http://docs.activestate.com/activeperl/5.10/bin/ppm.html

390

391

392

== Debian ==

393

394

Latest Debian package is available at http://packages.debian.org/sid/main/padre

395

(see Binary above)

396

397

Until it is released, the key is to uninstall all wxwidgets and wxperl related packages, and to install enough of the -dev packages to allow Alien::wxWidgets to build version 2.8.8. Once that works, cpan install Wx and from there Padre should install (see the Subversion quick install instructions above for more)

398

399

== Ubuntu ==

400

401

First, open a Terminal and run the following command to install some prerequisite packages. Without these dependencies the Alien::wxWidgets CPAN module will most likely fail to install (complaining that "configure can't find gtk.h"). By the time you read this some of these packages may be no longer be dependencies, but if in doubt you'll probably have the most success if you install them all.

You can then use the CPAN client to install Padre and its dependencies:

409

410

{{{

411

$ sudo cpan ExtUtils::CBuilder Alien::wxWidgets Wx Padre

412

}}}

413

414

415

416

For Ubuntu < 8.10, be sure to answer "yes" to the following question during the installation of {{{ Alien::wxWidgets }}}

417

{{{

418

Do you want to fetch and build wxWidgets from sources? [no] yes

419

}}}

420

421

Also note that for Ubuntu < 8.10, although {{{ libextutils-cbuilder-perl }}} is available from the repository, it only contains version 0.18, whereas Padre requires version 0.24 so you need to install ExtUtils::CBuilder from CPAN.

422

423

Ubuntu is synchronizing Padre from Debian. See the launchpad for details:

424

* https://launchpad.net/ubuntu/+source/padre

425

* Its page in Launchpad is https://launchpad.net/padre

426

* link to where they import our SVN repository https://code.launchpad.net/~vcs-imports/padre/trunk

427

* See also #ubuntu-motu on Freenode

428

* https://edge.launchpad.net/~perl seems to be the group dealing with perl stuff, I sent them a message on 2009.02.06 asking for help

429

* https://edge.launchpad.net/~perl-jam might also help but that is a one man group so I left it alone for now.

430

431

Some more useful links

432

* https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages

433

* https://wiki.ubuntu.com/MOTU

434

* https://wiki.ubuntu.com/FAQ

435

436

* The request: https://bugs.launchpad.net/ubuntu/+bug/326353

437

438

== Ubuntu 9.10 ==

439

440

If you installed padre from the .deb package you will still need to upgrade several modules.

441

You will also neet to install a new version of Wx as there is some incompability with the way it was built.

To run Padre on FreeBSD you have to recompile Perl to support threads (by default Perl on FreeBSD have it disabled). To verify whether your Perl installation have thread support turned on run following command.

491

{{{

492

$ perl -V:usethreads

493

usethreads='define';

494

}}}

495

496

If the result is `define` then you have already threaded Perl installed, otherwise execute:

497

{{{

498

# cd /usr/ports/lang/perl5.8 && make WITH_THREADS=yes

499

# make deinstall && make reinstall

500

}}}

501

Optionally you can substitute `make WITH_THREADS=yes` with following and choose `THREADS` in the menu, then deinstall and reinstall Perl as above. This have an advantage over the previous method, because prefered configuration options will be stored in your system's packing database. This way next time you'll be building Perl (i.e. updaing) all stored options will be applied without the need to manually specify them.

502

{{{

503

# make config

504

# make

505

}}}

506

507

To install Padre and it's dependencies just execute:

508

{{{

509

# cd /usr/ports/editors/p5-Padre

510

# make install clean

511

}}}

512

513

== NetBSD/pkgsrc ==

514

515

To install Padre on NetBSD or any other pkgsrc supported platform, simply

516

{{{

517

$ cd /usr/pkgsrc/editors/p5-Padre

518

$ make install clean clean-depends

519

}}}

520

521

If you want to add plugin's, too, check which ones are already available:

522

{{{

523

$ cd /usr/pkgsrc

524

$ echo */p5-Padre-Plugin-*

525

}}}

526

527

For each desired plugin, change the working directory to it's location and install as done above.

528

529

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 }}}.

g-cpan often is [http://bugs.gentoo.org/show_bug.cgi?id=99569 incapable of properly detecting dependencies]. Installing from source often works better:

562

563

{{{

564

emerge dev-perl/Alien-wxWidgets dev-perl/wxperl

565

perl -MCPAN -e 'install Padre'

566

}}}

567

568

Note: this method is only recommended if g-cpan fails to recursively install dependencies that the CPAN shell would otherwise identify.

569

570

Installing Padre from the CPAN shell may upgrade core modules provided by the core Gentoo perl install, so be prepared to downgrade those modules when emerging other packages or upgrading the system. A 'force install Padre' afterwards can help upgrade the conflicts again.

571

572

Also, one or more of the modules may require perl 5.10. This is not a part of any portage tree as of yet and can only be found in the perl overlay. See [http://bugs.gentoo.org/show_bug.cgi?id=206455 Gentoo Bug#206455].

573

574

575

576

== OS X ==

577

578

On OS X, you cannot use the system's 'perl' executable, you have to use the 'wxPerl' executable (see this [http://www.nntp.perl.org/group/perl.wxperl.users/2008/07/msg5978.html thread regarding wxPerl invocation]).

579

580

Installation using [http://padre.perlide.org/trac/wiki/Download#NetBSDpkgsrc pkgsrc] should also work.

581

582

=== Install everything from source ===

583

584

The most straightforward method is to install everything from source. This will ignore any existing wxwidgets installation.

585

586

1. $ wxPerl -MCPAN -eshell

587

1. [cpan] $ install Alien::wxWidgets [choose install from source, which is NOT the default]

588

1. Go do something else while it compiles wxWidgets.

589

1. [cpan] $ install Wx

590

1. [cpan] $ install Padre

591

592

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.

593

594

=== Taking the lazy way ===

595

596

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):

597

598

{{{

599

cpan Alien::wxWidgets

600

wxPerl -MCPAN -eshell

601

$ install Padre

602

}}}

603

and then replace the /usr/local/bin/padre script with the updated version at http://padre.perlide.org/trac/browser/trunk/Padre/script/padre

604

605

If you are risk averse and like playing in your own sandbox, then it is recommended that you download and compile the current release of Perl from source ([http://cpan.org/src/README.html]). Note: you'll need to run ./Configure with -Dusethreads. After which you won't need to use wxPerl, but can do the standard make, make test, make install of Padre via cpan.

606

607

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.

608

609

Another caveat: don't build inside of a gnu-screen or ssh session, otherwise Wx's tests will fail with a strange errormessage, stating that it can't create the clipboard because of permission problems.

610

611

612

----

613

614

OS X 10.4 has wxPerl 0.22, 10.5 has a more recent version (0.6x for some x)

615

616

Aside from building from source, you can also install newer versions of Wx on OS X using a package manager:

617

618

[http://www.finkproject.org/ Fink]

619

{{{

620

fink install wxmac28

621

}}}

622

623

[http://www.macports.org/ Mac Ports]

624

{{{

625

port install wxWidgets

626

}}}

627

628

== installing _and_ upgrading wxWidgets and wxPerl ==

629

630

If you have trouble you can check which version of wxWidgets you have:

* install wxwidgets (2.8 or later) - cpan Alien::wxWidgets will download and compile and install it for you

676

* install (or upgrade) Wx - cpan Wx

677

* install Module::Install (if its not already there)

678

* add the following settings to cpan

679

{{{

680

o conf build_requires_install_policy yes ; o conf commit

681

o conf prerequisites_policy follow ; o conf commit

682

}}}

683

* svn co http://svn.perlide.org/padre/trunk/Padre Padre

684

* cd Padre

685

* sudo cpan .

686

* perl dev.pl

687

688

For a complete checkout including all Padre plugins, branches and supporting stuff, use http://svn.perlide.org/padre/trunk but be warned - this is a huge amount of source! If you're using git-svn , you can use the --revision argument to limit from where git-svn starts fetching revision