Difference between revisions of "Dependencies and Linux Packaging"
(→Changes for 1.3.x) |
(Tag: Rollback) |
||
(68 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
= Packaging Freeplane for Linux distros = | = Packaging Freeplane for Linux distros = | ||
− | This page contains information about Freeplane requirements/dependencies and GNU/Linux packaging information for release 1.2.x | + | 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|How to build Freeplane]]. | See also [[How_to_build_Freeplane|How to build Freeplane]]. | ||
Line 14: | Line 14: | ||
| [http://groovy.codehaus.org/ Groovy] | | [http://groovy.codehaus.org/ Groovy] | ||
| Dynamic language for the JVM, used for scripting/add-ons | | Dynamic language for the JVM, used for scripting/add-ons | ||
− | | >=1.8.6 | + | | >=1.8.6 (2.x is recommended) |
− | | groovy | + | | groovy (=> use groovy-all.jar to get the deps below as well!) |
+ | |- | ||
+ | | [http://www.antlr.org/ ANTLR] | ||
+ | | Parser Generator used by groovy | ||
+ | | >= 2.7.7 | ||
+ | | antlr (but groovy depends on it) | ||
+ | |- | ||
+ | | [http://commons.apache.org/proper/commons-cli/ Apache commons CLI] | ||
+ | | Command line parser, used by groovy. | ||
+ | | >= 1.2 | ||
+ | | libcommon-cli-java (but groovy depends on it) | ||
+ | |- | ||
+ | | [http://asm.ow2.org/ ASM] | ||
+ | | Java bytecode manipulation and analysis framework. | ||
+ | | >= 3.3.2 | ||
+ | | libasm3-java (but groovy depends on it) | ||
|- | |- | ||
| [http://forge.scilab.org/index.php/p/jlatexmath/ JLaTeXMath] | | [http://forge.scilab.org/index.php/p/jlatexmath/ JLaTeXMath] | ||
| Used for LaTeX Rendering in node extension (1.2.x) / node core (1.3.x) | | Used for LaTeX Rendering in node extension (1.2.x) / node core (1.3.x) | ||
− | | >=0.9.7 | + | | '''1.2.x''': >=0.9.7; '''1.3.x''': >=1.0.2 |
− | + | | [http://anonscm.debian.org/viewvc/pkg-java/trunk/libjlatexmath-java/ libjlatexmath-java] | |
|- | |- | ||
| [http://code.google.com/p/jsyntaxpane/ JSyntaxPane] | | [http://code.google.com/p/jsyntaxpane/ JSyntaxPane] | ||
− | | Provides JEditorPane with syntax highlighting, used for groovy scripts and LaTeX (>= 1.3.x) | + | | Provides JEditorPane with syntax highlighting, used for groovy scripts and LaTeX (>= 1.3.x). See [[#JSyntaxPane|note below]] |
− | | [http://jsyntaxpane.googlecode.com/svn/branches/r095/ current subversion] @revision r156 | + | | [http://jsyntaxpane.googlecode.com/svn/branches/r095/ current subversion] @revision r156 including Debian patches from libjsyntaxpane-java-0.9.6~r156-5 (all versions) |
− | | libjsyntaxpane-java | + | | [http://anonscm.debian.org/gitweb/?p=pkg-java/libjsyntaxpane-java.git libjsyntaxpane-java] |
|- | |- | ||
| [http://sourceforge.net/projects/simplyhtml/ SimplyHTML] | | [http://sourceforge.net/projects/simplyhtml/ SimplyHTML] | ||
| Rich text editor used for editing node content / notes / ... | | Rich text editor used for editing node content / notes / ... | ||
− | | >=0.16.07 ( | + | | >=0.16.07 (latest version is recommended) |
− | + | | [http://anonscm.debian.org/gitweb/?p=pkg-java/simplyhtml.git simplyhtml] | |
|- | |- | ||
| [http://javahelp.java.net/ Java Help] | | [http://javahelp.java.net/ Java Help] | ||
Line 39: | Line 54: | ||
| [http://commons.apache.org/proper/commons-lang/ Apache commons lang] | | [http://commons.apache.org/proper/commons-lang/ Apache commons lang] | ||
| Helper utilities for java.lang | | Helper utilities for java.lang | ||
− | | >=2.0 | + | | '''1.2.x''': >=2.0; '''1.3.x''': >=2.6 |
| libcommons-lang-java | | libcommons-lang-java | ||
|- | |- | ||
Line 49: | Line 64: | ||
| [http://www.jgoodies.com/freeware/libraries/forms/ JGoodies Forms] | | [http://www.jgoodies.com/freeware/libraries/forms/ JGoodies Forms] | ||
| Helper utilities for forms layout | | Helper utilities for forms layout | ||
− | | >= 1.2.1 | + | | >= 1.2.1; '''1.4.x''': 1.6.0 (jgoodies-forms 1.6.0 requires jgoodies-commons 1.4.0) |
| libjgoodies-forms-java | | libjgoodies-forms-java | ||
|- | |- | ||
| [http://savannah.gnu.org/projects/gnu-regexp GNU Regexp] | | [http://savannah.gnu.org/projects/gnu-regexp GNU Regexp] | ||
| GNU Regexp implementation (not sure if it's used by freeplane directly, but still used by simpyhtml!) | | GNU Regexp implementation (not sure if it's used by freeplane directly, but still used by simpyhtml!) | ||
− | | >=1.1.4 | + | | >=1.1.4 (deprecated but still used by simplyhtml) |
| libgnu-regexp-java | | libgnu-regexp-java | ||
|- | |- | ||
| [http://www.knopflerfish.org/ Knopflerfish OSGi] | | [http://www.knopflerfish.org/ Knopflerfish OSGi] | ||
| OSGi implementation used by freeplane | | OSGi implementation used by freeplane | ||
− | | >=2.3.3 | + | | >=2.3.3; '''Freeplane 1.3.15''': >= 5.1.0 (knopflerfish 5.1.0 corresponds to knopflerfish framework 7.1.2!) |
| libknopflerfish-osgi-framework-java | | libknopflerfish-osgi-framework-java | ||
|- | |- | ||
Line 78: | Line 93: | ||
|- | |- | ||
| [http://xerces.apache.org/#xerces2-j Xerces2] | | [http://xerces.apache.org/#xerces2-j Xerces2] | ||
− | | a library for parsing, validating and manipulating XML documents, used by SVG plugin | + | | a library for parsing, validating and manipulating XML documents, used by SVG plugin (not needed when starting from dist, but needed when starting from eclipse??) |
| >=2.5.0 | | >=2.5.0 | ||
− | | libxerces2- | + | | libxerces2-java |
|- | |- | ||
| [http://xerces.apache.org/xml-commons/ Apache XML Commons] | | [http://xerces.apache.org/xml-commons/ Apache XML Commons] | ||
Line 86: | Line 101: | ||
| >=1.4? | | >=1.4? | ||
| libxml-commons-external-java | | libxml-commons-external-java | ||
+ | |- | ||
+ | | [http://infonode.net/index.html?idw InfoNode Docking Windows] | ||
+ | | Used for docking windows (>=1.3.x) | ||
+ | | >=1.6.1 | ||
+ | | [http://anonscm.debian.org/gitweb/?p=pkg-java/libidw-java.git libidw-java] | ||
|- | |- | ||
| [http://wiki.openstreetmap.org/wiki/JMapViewer JMapViewer] | | [http://wiki.openstreetmap.org/wiki/JMapViewer JMapViewer] | ||
− | | Used by openmaps plugin ( | + | | Used by openmaps plugin (>=1.3.x) |
− | + | | >=1.02 (patch for 1.03 is included!) '''warning''': jmapviewer>=1.04 requires Java7! | |
− | | | + | | [http://anonscm.debian.org/gitweb/?p=pkg-grass/jmapviewer.git;a=summary jmapviewer] |
+ | |- | ||
+ | | [http://commons.apache.org/proper/commons-codec/ Apache commons codec] | ||
+ | | Used to encode/decode view state (>=1.3.x) | ||
+ | | >=1.7 | ||
+ | | libcommons-codec-java (currently at 1.8) | ||
|} | |} | ||
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 [ | + | check out [http://anonscm.debian.org/cgit/pkg-java/freeplane.git/tree/debian/patches/10_libraries_properties.patch this patch]. |
+ | |||
+ | The copyright of each (Linux-relevant) file in the srcpure tarball can be found [http://anonscm.debian.org/cgit/pkg-java/freeplane.git/tree/debian/copyright here]. | ||
+ | |||
+ | == JSyntaxPane == | ||
+ | <div id="JSyntaxPane"> </div> | ||
+ | * 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_jsp/ (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 == | ||
Line 100: | Line 135: | ||
* junit, ant, jdk | * junit, ant, jdk | ||
* 1.3.x: jflex for compiling latex.flex (LaTeX syntax highlighting for JSyntaxPane) | * 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 == | == Miscellaneous == | ||
Line 107: | Line 142: | ||
* freeplane_plugin_help/ is no longer needed, can be ignored | * freeplane_plugin_help/ is no longer needed, can be ignored | ||
* jortho.jar is built from ''JOrtho_0.4_freeplane/'' | * jortho.jar is built from ''JOrtho_0.4_freeplane/'' | ||
+ | * launch4j is Windows-only | ||
== Changes for 1.3.x == | == 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? | * Debian: require openjdk-7-jre as the only JRE (Depends:) because JMapViewer requires it anyway and jdk6 is not in jessie? | ||
* <s>launch4j => windows only</s> | * <s>launch4j => windows only</s> | ||
− | * latest JSyntaxPane (..r156) required (LaTeX syntax highlighting) | + | * <s>latest JSyntaxPane (..r156) required (LaTeX syntax highlighting)</s> |
− | ** is ...r156 correctly pulled as a dependency (as opposed to r148!)???? | + | ** <s>is ...r156 correctly pulled as a dependency (as opposed to r148!)????</s> |
* new plugin "Openmaps integration", new dependency [http://wiki.openstreetmap.org/wiki/JMapViewer JMapViewer] | * new plugin "Openmaps integration", new dependency [http://wiki.openstreetmap.org/wiki/JMapViewer JMapViewer] | ||
+ | * new feature "Docking Windows", with new dependency [http://www.infonode.net/index.html?idw IDW] | ||
* new command line option -U (include in man page!) | * new command line option -U (include in man page!) | ||
− | ** also mention latex in core | + | ** 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! | ** bump up version in man-page! | ||
− | * make sure that srcpure does not contain *.class, *.exe, *.dll, ... | + | * <s>make sure that srcpure does not contain *.class, *.exe, *.dll, ...</s> |
− | * build LaTeXLexer.java before build target runs | + | * <s>build LaTeXLexer.java before build target runs</s> |
* <s>remove /etc/kde3/magic/freeplane.magic</s> | * <s>remove /etc/kde3/magic/freeplane.magic</s> | ||
* install a 48x48 icon (http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html)? | * install a 48x48 icon (http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html)? | ||
− | * | + | * <s>how to fix 80_no_update_check.patch??</s> |
+ | * <s>fix http://lintian.debian.org/tags/menu-icon-uses-relative-path.html (freeplane package)</s> (fixed in 1.2.23-2) | ||
+ | |||
+ | == Changes for 1.4.x == | ||
+ | * gradle build system | ||
+ | * three new dependencies for ribbons | ||
+ | * knopflerfish upgraded | ||
+ | |||
+ | == 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 == | == Distro-specific information == | ||
See this [http://pkgs.org/search/?keyword=freeplane search link] for ''older'' packages. | See this [http://pkgs.org/search/?keyword=freeplane search link] for ''older'' packages. | ||
− | === Debian === | + | === Debian / Ubuntu === |
− | Current release for Debian is 1. | + | Current release for Debian/Ubuntu is 1.3.15, maintainer is Felix Natter <fnatter@gmx.net>. |
− | + | 1.3.12 is in stable/"jessie". | |
+ | See [http://packages.ubuntu.com/search?keywords=freeplane&searchon=names&suite=all§ion=all versions in Ubuntu]. | ||
The packaging source code is maintained in Git repos: | The packaging source code is maintained in Git repos: | ||
Line 134: | Line 185: | ||
* http://anonscm.debian.org/gitweb/?p=pkg-java/freeplane.git | * http://anonscm.debian.org/gitweb/?p=pkg-java/freeplane.git | ||
− | + | See the table on the top of the page for Debian git/svn packaging repos of some dependencies. | |
− | |||
− | |||
− | |||
=== Mageia Linux === | === Mageia Linux === | ||
− | Current release is 1. | + | Current release is 1.3.11, maintainer is Hartmut Goebel <h.goebel@crazy-compilers.com>. |
The packaging source code is available at: | The packaging source code is available at: | ||
* https://github.com/htgoebel/freeplane-mageia | * https://github.com/htgoebel/freeplane-mageia | ||
+ | |||
+ | === Archlinux === | ||
+ | Current Release for Archlinux is 1.5.13, maintainer is Leonidas Spyropoulos <artafinde at gmail dot com> | ||
+ | |||
+ | The package is available in AUR: | ||
+ | * https://aur.archlinux.org/packages/freeplane | ||
+ | * https://aur.archlinux.org/packages/freeplane-git (following 1.6.x branch) | ||
=== Fedora === | === Fedora === | ||
Line 150: | Line 205: | ||
=== OpenSuSE === | === OpenSuSE === | ||
see [https://build.opensuse.org/package/view_file?file=freeplane.spec&package=freeplane&project=Office&rev=cf14d37870fb1f12049ad727dc46e083 this link] | see [https://build.opensuse.org/package/view_file?file=freeplane.spec&package=freeplane&project=Office&rev=cf14d37870fb1f12049ad727dc46e083 this link] | ||
+ | |||
+ | == Guidelines for adding/upgrading dependencies (Gradle, >= 1.4.x) == | ||
+ | With the introduction of the gradle build system, most dependencies are downloaded from maven.org, you need to specify only name, group and version (search maven.org to get these information): | ||
+ | 'commons-io:commons-io:2.4' | ||
+ | |||
+ | However, not all dependencies are available via maven, so some dependencies need to be added to git | ||
+ | (like SimplyHTML, IDW, JSyntaxPane, JMapViewer) => Therefore, we differentiate between maven and local dependencies: | ||
+ | |||
+ | === Maven Dependencies === | ||
+ | |||
+ | Example: | ||
+ | 'commons-io:commons-io:2.4' | ||
+ | |||
+ | * sources will ''automatically'' be downloaded and attached by gradle | ||
+ | * of course maven dependencies should be preferred over dependencies added to git | ||
+ | |||
+ | === Local (git) dependencies === | ||
+ | |||
+ | Example: | ||
+ | // from flatDir "localGitDepsRepository": | ||
+ | compile ':SimplyHTML-0.16.09' | ||
+ | (you might need to add directories to "localGitDepsRepository" in toplevel build.gradle) | ||
+ | |||
+ | * prefer a versioned release over a (git-) snapshot | ||
+ | * commit a versioned jar: <package>-<version>.jar | ||
+ | * make sure to add <package>-<version>-sources.jar (Eclipse source attachments are automatically picked up by the gradle build system if they match this naming pattern) | ||
+ | * use the flat file repository for source attachments to work (see existing libraries like SimplyHTML) | ||
+ | |||
+ | === Common things to consider for all dependencies === | ||
+ | |||
+ | Unfortunately, '''some linux distros like Debian/Ubuntu do not allow to simply download dependencies from maven at build time''', | ||
+ | so any dependency (''maven or local git'') need to be packaged separately => every new dependency means more work for package developers. | ||
+ | Therefore, please discuss your intent to add a dependency on [http://freeplane-developer.996965.n3.nabble.com/ freeplane-developer]. | ||
+ | |||
+ | * make sure that the dependency does not require a newer version of java than freeplane currently does (i.e. JMapViewer 1.05 would require Java7) | ||
+ | * prefer a library that is actively maintained | ||
+ | * document the exact upstream version and where it can be downloaded (usually in a commit message) |
Latest revision as of 11:17, 18 November 2018
Contents
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 (2.x is recommended) | 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) | 1.2.x: >=0.9.7; 1.3.x: >=1.0.2 | 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 (all versions) | libjsyntaxpane-java |
SimplyHTML | Rich text editor used for editing node content / notes / ... | >=0.16.07 (latest version is recommended) | simplyhtml |
Java Help | deprecated, but still used by simplyhtml | >=2.0.0? | javahelp2 |
Apache commons lang | Helper utilities for java.lang | 1.2.x: >=2.0; 1.3.x: >=2.6 | 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; 1.4.x: 1.6.0 (jgoodies-forms 1.6.0 requires jgoodies-commons 1.4.0) | 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 (deprecated but still used by simplyhtml) | libgnu-regexp-java |
Knopflerfish OSGi | OSGi implementation used by freeplane | >=2.3.3; Freeplane 1.3.15: >= 5.1.0 (knopflerfish 5.1.0 corresponds to knopflerfish framework 7.1.2!) | 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 (not needed when starting from dist, but needed when starting from eclipse??) | >=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) | >=1.6.1 | libidw-java |
JMapViewer | Used by openmaps plugin (>=1.3.x) | >=1.02 (patch for 1.03 is included!) warning: jmapviewer>=1.04 requires Java7! | jmapviewer |
Apache commons codec | Used to encode/decode view state (>=1.3.x) | >=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.
The copyright of each (Linux-relevant) file in the srcpure tarball can be found here.
JSyntaxPane
- unfortunately, JSyntaxpane is no longer maintained upstream
- therefore, patches are in one of two places:
- in Freeplane: freeplane_plugin_jsp/ (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 onlylatest 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!
- also mention latex in core, openmaps integration, workspace plugins in 1.3.x manpage
make sure that srcpure does not contain *.class, *.exe, *.dll, ...build LaTeXLexer.java before build target runsremove /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
- gradle build system
- three new dependencies for ribbons
- knopflerfish upgraded
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 / Ubuntu
Current release for Debian/Ubuntu is 1.3.15, maintainer is Felix Natter <fnatter@gmx.net>. 1.3.12 is in stable/"jessie". See versions in Ubuntu.
The packaging source code is maintained in Git repos:
- http://anonscm.debian.org/gitweb/?p=pkg-java/simplyhtml.git
- http://anonscm.debian.org/gitweb/?p=pkg-java/freeplane.git
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:
Archlinux
Current Release for Archlinux is 1.5.13, maintainer is Leonidas Spyropoulos <artafinde at gmail dot com>
The package is available in AUR:
- https://aur.archlinux.org/packages/freeplane
- https://aur.archlinux.org/packages/freeplane-git (following 1.6.x branch)
Fedora
TODO: where is it?
OpenSuSE
see this link
Guidelines for adding/upgrading dependencies (Gradle, >= 1.4.x)
With the introduction of the gradle build system, most dependencies are downloaded from maven.org, you need to specify only name, group and version (search maven.org to get these information):
'commons-io:commons-io:2.4'
However, not all dependencies are available via maven, so some dependencies need to be added to git (like SimplyHTML, IDW, JSyntaxPane, JMapViewer) => Therefore, we differentiate between maven and local dependencies:
Maven Dependencies
Example:
'commons-io:commons-io:2.4'
- sources will automatically be downloaded and attached by gradle
- of course maven dependencies should be preferred over dependencies added to git
Local (git) dependencies
Example:
// from flatDir "localGitDepsRepository": compile ':SimplyHTML-0.16.09'
(you might need to add directories to "localGitDepsRepository" in toplevel build.gradle)
- prefer a versioned release over a (git-) snapshot
- commit a versioned jar: <package>-<version>.jar
- make sure to add <package>-<version>-sources.jar (Eclipse source attachments are automatically picked up by the gradle build system if they match this naming pattern)
- use the flat file repository for source attachments to work (see existing libraries like SimplyHTML)
Common things to consider for all dependencies
Unfortunately, some linux distros like Debian/Ubuntu do not allow to simply download dependencies from maven at build time, so any dependency (maven or local git) need to be packaged separately => every new dependency means more work for package developers. Therefore, please discuss your intent to add a dependency on freeplane-developer.
- make sure that the dependency does not require a newer version of java than freeplane currently does (i.e. JMapViewer 1.05 would require Java7)
- prefer a library that is actively maintained
- document the exact upstream version and where it can be downloaded (usually in a commit message)