Skip to content

Commit 79cc4ab

Browse files
committed
More installation instructions and travis integration.
1 parent 33767db commit 79cc4ab

File tree

3 files changed

+41
-3
lines changed

3 files changed

+41
-3
lines changed

.travis.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
language: java
2+
jdk:
3+
- oraclejdk8
4+
- oraclejdk9
5+
- openjdk7
6+
# The main build
7+
script:
8+
- wget https://github.com/libpasta/pasta-bindings/releases/download/v0.0.4-rc.1/libpasta_jni.x86_64-unknown-linux-gnu.so -O libpasta_jni.so
9+
- mkdir -p src/main/resources/META-INF/lib/linux_64/ && mv libpasta_jni.so src/main/resources/META-INF/lib/linux_64/
10+
- mvn package

README.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,34 @@ Java support for libpasta
33

44
This repo produces a self-contained jar file for libpasta.
55

6-
Steps to produce:
6+
## Requirements
7+
8+
Currently, only 64-bit linux is supported, but we are aiming to support more
9+
platforms.
10+
11+
Both of the below approaches require `libcrypto.so.1.0.0` usually available through
12+
`libssl` or similar package. The currently required version of GLIBC is 2.14.
13+
14+
## Using libpasta-java
15+
16+
### Precompiled .jar
17+
18+
Download a released jar from [Releases](https://github.com/libpasta/libpasta-java/releases).
19+
20+
Include as usual.
21+
22+
### Steps to produce from source (requires Rust):
723

824
* Sync submodules: `git submodule init && git submodule sync --recursive`
9-
* Using `pasta-bindings` submodule, produce the java libpasta.so file: `cd pasta-bindings && make java && cd ..` (requires Rust).
25+
* Using `pasta-bindings` submodule, produce the java libpasta.so file: `cd pasta-bindings && make java && cd ..`.
1026
* Move the appropriate file to the maven directory: `mkdir -p src/main/resources/ && cp -r pasta-bindings/java/META_INF src/main/resources/META-INF`
1127
* Compile the jar: `mvn package`.
1228

13-
The resultant jar file should be in target/libpasta-java-{version}-jar-with-dependencies.jar.
29+
### Steps to produce using precompiled library:
30+
31+
* Get the most recent precompiled library from the pasta-bindings releases [https://github.com/libpasta/pasta-bindings/releases/]
32+
- e.g. `wget https://github.com/libpasta/pasta-bindings/releases/download/v0.0.4-rc.1/libpasta_jni.x86_64-unknown-linux-gnu.so -O libpasta_jni.so`
33+
* Move to the appropriate directory: `mkdir -p src/main/resources/META-INF/lib/linux_64/ && mv libpasta_jni.so src/main/resources/META-INF/lib/linux_64/`
34+
* Compile the jar: `mvn package`.
35+
36+
The resultant jar file should be in target/libpasta-java-{version}-jar-with-dependencies.jar.

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,9 @@
4242
</plugin>
4343
</plugins>
4444
</build>
45+
46+
<properties>
47+
<maven.compiler.source>1.6</maven.compiler.source>
48+
<maven.compiler.target>1.6</maven.compiler.target>
49+
</properties>
4550
</project>

0 commit comments

Comments
 (0)