Difference between revisions of "Dependencies and Linux Packaging"

From Freeplane - free mind mapping and knowledge management software
(Packaging Freeplane for Linux distros)
(Build-time dependencies)
Line 120: Line 120:
 
If you want to know the mapping between freeplane jars and jars in Debian packages,
 
If you want to know the mapping between freeplane jars and jars in Debian packages,
 
check out [http://anonscm.debian.org/gitweb/?p=pkg-java/freeplane.git;a=blob;f=debian/patches/10_libraries_properties.patch;h=e6eb59c7ce168b8e35f41a14c6f788b9a6f1f2d4;hb=HEAD this patch].
 
check out [http://anonscm.debian.org/gitweb/?p=pkg-java/freeplane.git;a=blob;f=debian/patches/10_libraries_properties.patch;h=e6eb59c7ce168b8e35f41a14c6f788b9a6f1f2d4;hb=HEAD this patch].
 +
 +
== JSyntaxPane ==
 +
* unfortunately, JSyntaxpane is no longer maintained [https://code.google.com/p/jsyntaxpane/ upstream]
 +
* therefore, patches are in one of two places:
 +
** in Freeplane: freeplane_plugin_script/(src|resources)-jsyntaxpane/**  (currently the LaTeX support)
 +
** as quilt patches in the [http://anonscm.debian.org/gitweb/?p=pkg-java/libjsyntaxpane-java.git;a=shortlog Debian package]
 +
* In order to fix bugs in JSyntaxPane, add [http://anonscm.debian.org/cgit/pkg-java/libjsyntaxpane-java.git/tree/debian/patches patches], create+upload the package and commit the jsyntaxpane.jar from the package to freeplane.git
  
 
== Build-time dependencies ==
 
== Build-time dependencies ==

Revision as of 17:25, 1 August 2014

Packaging Freeplane for Linux distros

This page contains information about Freeplane requirements/dependencies and GNU/Linux packaging information for release 1.2.x and 1.3.x.

See also How to build Freeplane.

Dependencies

Package Description Version required Debian Package
Groovy Dynamic language for the JVM, used for scripting/add-ons >=1.8.6 groovy (=> use groovy-all.jar to get the deps below as well!)
ANTLR Parser Generator used by groovy >= 2.7.7 antlr (but groovy depends on it)
Apache commons CLI Command line parser, used by groovy. >= 1.2 libcommon-cli-java (but groovy depends on it)
ASM Java bytecode manipulation and analysis framework. >= 3.3.2 libasm3-java (but groovy depends on it)
JLaTeXMath Used for LaTeX Rendering in node extension (1.2.x) / node core (1.3.x) >=0.9.7 (1.2.x) / 1.0.2 (1.3.x) libjlatexmath-java
JSyntaxPane Provides JEditorPane with syntax highlighting, used for groovy scripts and LaTeX (>= 1.3.x) current subversion @revision r156 (1.2.x and 1.3.x) libjsyntaxpane-java
SimplyHTML Rich text editor used for editing node content / notes / ... >=0.16.07 (1.2.x and 1.3.x) simplyhtml
Java Help deprecated, but still used by simplyhtml >=2.0.0? javahelp2
Apache commons lang Helper utilities for java.lang >=2.0 (1.2.x), >=2.6 (1.3.x) libcommons-lang-java
Apache commons IO Helper utilities for java.io >=2.4 libcommons-io-java
JGoodies Forms Helper utilities for forms layout >= 1.2.1 libjgoodies-forms-java
GNU Regexp GNU Regexp implementation (not sure if it's used by freeplane directly, but still used by simpyhtml!) >=1.1.4 libgnu-regexp-java
Knopflerfish OSGi OSGi implementation used by freeplane >=2.3.3 libknopflerfish-osgi-framework-java
Apache Batik used by SVG plugin >=1.7 libbatik-java
Rhino Pure Java open source javascript engine, used by SVG plugin >=1.7R librhino-java
Apache FOP Apache Formatting Objects Processor, used by SVG plugin >=1.0 libfop-java
Xerces2 a library for parsing, validating and manipulating XML documents, used by SVG plugin >=2.5.0 libxerces2-java
Apache XML Commons common code and guidelines for xml projects, used by SVG plugin >=1.4? libxml-commons-external-java
InfoNode Docking Windows Used for docking windows (>=1.3.x only!!) >=1.6.1 libidw-java
JMapViewer Used by openmaps plugin (>=1.3.x only!!) >=1.02 (patch for 1.03 is included!) jmapviewer
Apache commons codec Used to encode/decode view state (>=1.3.x only!!) >=1.7 libcommons-codec-java (currently at 1.8)

If you want to know the mapping between freeplane jars and jars in Debian packages, check out this patch.

JSyntaxPane

  • unfortunately, JSyntaxpane is no longer maintained upstream
  • therefore, patches are in one of two places:
    • in Freeplane: freeplane_plugin_script/(src|resources)-jsyntaxpane/** (currently the LaTeX support)
    • as quilt patches in the Debian package
  • In order to fix bugs in JSyntaxPane, add patches, create+upload the package and commit the jsyntaxpane.jar from the package to freeplane.git

Build-time dependencies

  • all of the dependencies above are build-deps too
  • junit, ant, jdk
  • 1.3.x: jflex for compiling latex.flex (LaTeX syntax highlighting for JSyntaxPane)
    • LaTeXLexer.java must be built from latex.flex at package build time

Miscellaneous

  • of course mac stuff can (and must) not be built
  • freeplane_plugin_uispec4j/ can be ignored
  • freeplane_plugin_help/ is no longer needed, can be ignored
  • jortho.jar is built from JOrtho_0.4_freeplane/
  • launch4j is Windows-only

Changes for 1.3.x

  • Debian: require openjdk-7-jre as the only JRE (Depends:) because JMapViewer requires it anyway and jdk6 is not in jessie?
  • launch4j => windows only
  • latest JSyntaxPane (..r156) required (LaTeX syntax highlighting)
    • is ...r156 correctly pulled as a dependency (as opposed to r148!)????
  • new plugin "Openmaps integration", new dependency JMapViewer
  • new feature "Docking Windows", with new dependency IDW
  • new command line option -U (include in man page!)
    • also mention latex in core, openmaps integration, workspace plugins in 1.3.x manpage
      • workspace plugin has been disabled for 1.3.x!!
    • bump up version in man-page!
  • make sure that srcpure does not contain *.class, *.exe, *.dll, ...
  • build LaTeXLexer.java before build target runs
  • remove /etc/kde3/magic/freeplane.magic
  • install a 48x48 icon (http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html)?
  • how to fix 80_no_update_check.patch??
  • fix http://lintian.debian.org/tags/menu-icon-uses-relative-path.html (freeplane package) (fixed in 1.2.23-2)

Icons

Freeplane 1.2.x and 1.3.x come with a single icon for files + application (freeplane_framework/build/freeplane.{svg,png}), while Freeplane 1.4.x will have two icons (like on Windows):

  • for files / mime types: freeplane_framework/build/freeplane.{svg,png}
  • for the application: freeplane_framework/build/freeplane_app.{svg,png}

Distro-specific information

See this search link for older packages.

Debian

Current release for Debian is 1.3.11, maintainer is Felix Natter <fnatter@gmx.net>. It's now in testing/"jessie".

The packaging source code is maintained in Git repos:

See the table on the top of the page for Debian git/svn packaging repos of some dependencies.

Mageia Linux

Current release is 1.3.11, maintainer is Hartmut Goebel <h.goebel@crazy-compilers.com>.

The packaging source code is available at:

Arch Linux

Current Release for Arch Linux is 1.3.11, maintainer is Leonidas Spyropoulos <artafinde at gmail dot com>

The package is available in AUR:

The PKGBUILD is maintained at github:

Fedora

TODO: where is it?

OpenSuSE

see this link