Skip to content
Pariksheet Nanda edited this page Oct 27, 2013 · 1 revision

Building Maven

gsoc-maven-overlay is required for using native maven. This overlay, in turn, needs the java-overlay for a few dependencies.

Get the gsoc maven overlay:

$ mkdir -p /usr/local/overlays/
$ svn co https://overlays.gentoo.org/svn/proj/java/gsoc-maven-overlay/

Get the java overlay:

# layman -a java-overlay

Edit /etc/make.conf:

FEATURES="${FEATURES} -parse-eapi-ebuild-head"
PORTDIR_OVERLAY="${PORTDIR_OVERLAY}
                 /var/lib/layman/java-overlay/
                 /usr/local/overlays/gsoc-maven-overlay/"

Install maven:

# emerge -1 maven-bin

But what about maven from source?

The alternative of using maven from source is broken. After unmasking the packages you need to build maven

# emerge -1 maven --autounmask-write
# dispatch-conf

... there is a circular dependency in emerging it, and to resolve it you would need go back and forth between -1 and --nodeps for a long time:

# emerge -1 maven
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!

[ebuild  N    ~] dev-java/maven-2.2.1::gsoc-maven-overlay  USE="-doc -source" 0 kB
[ebuild  N    ~]  dev-java/maven-script-2.2.1::gsoc-maven-overlay  USE="-doc -source -test" 19 kB
[ebuild  N    ~]  dev-java/maven-compat-2.2.1::gsoc-maven-overlay  USE="-doc -source" 8 kB
[ebuild  N    ~]  dev-java/maven-surefire-plugin-2.9::gsoc-maven-overlay  USE="-doc -source" 55 kB
[ebuild  N    ~]   dev-java/surefire-2.9::gsoc-maven-overlay  USE="-doc -source" 89 kB
[ebuild  N    ~]    dev-java/maven-shared-components-15::gsoc-maven-overlay  USE="-doc -source" 4,791 kB
[ebuild  N    ~]    dev-java/maven-toolchain-2.2.1::gsoc-maven-overlay  USE="-doc -source -test" 23 kB
[ebuild  N    ~]     dev-java/maven-core-2.2.1::gsoc-maven-overlay  USE="-doc -source" 349 kB

Total: 8 packages (8 new), Size of downloads: 5,330 kB

 * Error: circular dependencies:

(dev-java/maven-core-2.2.1::gsoc-maven-overlay, ebuild scheduled for merge) depends on
 (dev-java/surefire-2.9::gsoc-maven-overlay, ebuild scheduled for merge) (buildtime)
  (dev-java/maven-core-2.2.1::gsoc-maven-overlay, ebuild scheduled for merge) (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.
Clone this wiki locally