Stuff needed for freenet-ext.jar
Java C Shell Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


## Overview

contrib contains the following libraries:

Upstream source
:	The build scripts get these from upstream. These are established projects
	and most OS distributions will have them in their package repository.

	- wrapper
	- bdb-je
	- db4o
	- commons-compress

Mirrored source
:	The build scripts get these from the freenet servers, but they have not
	been modified from upstream. These are smaller projects and are unlikely to
	have been packaged by an OS distribution.

	- lzma
	- lzmajio
	- mantissa
	- bitcollider-core

Locally maintained
:	These sources for these are included here in the repo, and we maintain it
	ourselves, because the original projects are no longer actively maintained.

	- jcpuid
	- NativeBigInteger
	- NativeThread
	- onion-common
	- onion-fec

## Build

For Debian Jessie:

    # apt-get install ant ant-contrib maven2
    $ cd freenet-ext
    $ ant

(TODO: detect dependencies; db4o requires maven 2 and commons compress 1.10
requires maven 3)

The build script compiles all the locally-maintained packages, and collects
them into freenet-ext.jar. It then retrieves all the remote source packages,
and builds those.

## Notes on locally maintained libraries


Version 20020926 was imported into contrib on 2006-11-10. You can verify that
this was a clean import by running:

  $ unzip fec-1.0.3/ common-20020926/*
  $ git checkout 3ebd55031d69ebfd129a83e2433b6fcc20e88b6c fec/common
  $ diff -ru common-20020926 fec/common
  Only in common-20020926: classes
  Only in common-20020926: javadoc
  Only in common-20020926: lib
  $ rm -rf fec/common && git reset --hard HEAD

where fec-1.0.3 is where you extracted Onion FEC 1.0.3.

You can view the changes made since this time, by running

  $ git log -M -- fec/common


changes to be made to hg tip at

- sed -i -e 's/\n/\r\n/g' src/csrc/Makefile.nmake
- rm src/csrc/fec_win32.c # already empty
- rm src/csrc/w32 # already empty
- add src/csrc/fec8.def
- add src/csrc/fec16.def