Difference between revisions of "Dependencies and Linux Packaging"

From Freeplane - free mind mapping and knowledge management software
(Icons)
(Arch Linux)
Line 190: Line 190:
  
 
=== Arch Linux ===
 
=== Arch Linux ===
Current Release for Arch Linux is 1.3.11, maintainer is Leonidas Spyropoulos <artafinde at gmail dot com>
+
Current Release for Arch Linux is 1.3.12, maintainer is Leonidas Spyropoulos <artafinde at gmail dot com>
  
 
The package is available in AUR:
 
The package is available in AUR:

Revision as of 11:01, 4 October 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). See note below current subversion @revision r156 including Debian patches from libjsyntaxpane-java-0.9.6~r156-5 (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)

Changes for 1.4.x

  • three new dependencies for ribbons
  • probably gradle build system

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 _might_ 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.12, maintainer is Felix Natter <fnatter@gmx.net>. It's now in testing/"jessie". This is the release that will be in Debian jessie stable.

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.12, 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