Skip to content

Commit d60760d

Browse files
committed
Bump trident, kognac, vlog, and maven dependencies for flake
1 parent 87a8e3d commit d60760d

File tree

14 files changed

+271
-200
lines changed

14 files changed

+271
-200
lines changed

.dir-locals.el

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
((nix-mode . ((apheleia-formatter . alejandra))))

.envrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
eval "$(lorri direnv)"
1+
use flake

flake.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

+46-38
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description = "Rulewerk, a java toolkit for reasoning with existential rules";
33

44
inputs = {
5-
nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05";
5+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05";
66
flake-utils.url = "github:numtide/flake-utils";
77
flake-compat = {
88
url = "github:edolstra/flake-compat";
@@ -14,44 +14,52 @@
1414
};
1515
};
1616

17-
outputs = { self, nixpkgs, flake-utils, flake-compat, gitignoresrc, ... }@inputs:
18-
let getJdk = pkgs: pkgs.jdk8_headless;
19-
in
17+
outputs = {
18+
self,
19+
nixpkgs,
20+
flake-utils,
21+
flake-compat,
22+
gitignoresrc,
23+
...
24+
} @ inputs: let
25+
getJdk = pkgs: pkgs.jdk8_headless;
26+
in
2027
{
21-
overlay = import ./nix { inherit getJdk gitignoresrc; };
22-
} // (flake-utils.lib.eachDefaultSystem (system:
23-
let
24-
pkgs = import nixpkgs {
25-
inherit system;
26-
overlays = [ self.overlay ];
27-
};
28+
overlays.default = import ./nix {inherit getJdk gitignoresrc;};
29+
}
30+
// (flake-utils.lib.eachDefaultSystem (system: let
31+
pkgs = import nixpkgs {
32+
inherit system;
33+
overlays = [self.overlays.default];
34+
};
35+
in rec {
36+
formatter = pkgs.alejandra;
37+
packages = flake-utils.lib.flattenTree {
38+
inherit (pkgs) kognac trident vlog rulewerk;
39+
default = pkgs.rulewerk;
40+
};
41+
apps = rec {
42+
rulewerk = flake-utils.lib.mkApp {drv = packages.rulewerk;};
43+
default = rulewerk;
44+
};
45+
devShells.default = let
46+
jdk = getJdk pkgs;
2847
in
29-
rec {
30-
packages = flake-utils.lib.flattenTree {
31-
inherit (pkgs) kognac trident vlog rulewerk;
48+
pkgs.mkShell {
49+
buildInputs = [
50+
jdk
51+
(pkgs.maven.override {inherit jdk;})
52+
pkgs.kognac
53+
pkgs.trident
54+
pkgs.sparsehash
55+
pkgs.curl
56+
pkgs.lz4
57+
pkgs.zlib
58+
pkgs.rulewerk-debug
59+
];
60+
shellHook = ''
61+
export "PATH=${pkgs.rulewerk-debug}/bin:$PATH"
62+
'';
3263
};
33-
defaultPackage = pkgs.rulewerk;
34-
apps.rulewerk = flake-utils.lib.mkApp { drv = packages.rulewerk; };
35-
defaultApp = apps.rulewerk;
36-
devShell =
37-
let jdk = getJdk pkgs;
38-
in
39-
pkgs.mkShell {
40-
buildInputs = [
41-
jdk
42-
(pkgs.maven.override { inherit jdk; })
43-
pkgs.kognac
44-
pkgs.trident
45-
pkgs.sparsehash
46-
pkgs.curl
47-
pkgs.lz4
48-
pkgs.zlib
49-
pkgs.rulewerk-debug
50-
];
51-
shellHook = ''
52-
export "PATH=${pkgs.rulewerk-debug}/bin:$PATH"
53-
'';
54-
};
55-
}
56-
));
64+
}));
5765
}

nix/default.nix

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
{ getJdk, gitignoresrc }: final: prev:
2-
3-
let
1+
{
2+
getJdk,
3+
gitignoresrc,
4+
}: final: prev: let
45
jdk = getJdk final.pkgs;
5-
maven = prev.maven.override { inherit jdk; };
6-
gitignoreSource = (import gitignoresrc { inherit (final.pkgs) lib; }).gitignoreSource;
7-
in
8-
rec {
9-
kognac = final.pkgs.callPackage ./pkgs/kognac { };
10-
trident = final.pkgs.callPackage ./pkgs/trident { };
11-
vlog = final.pkgs.callPackage ./pkgs/vlog { inherit jdk maven; };
12-
rulewerk = final.pkgs.callPackage ./pkgs/rulewerk { inherit jdk maven gitignoreSource; };
6+
maven = prev.maven.override {inherit jdk;};
7+
gitignoreSource = (import gitignoresrc {inherit (final.pkgs) lib;}).gitignoreSource;
8+
in rec {
9+
kognac = final.pkgs.callPackage ./pkgs/kognac {};
10+
trident = final.pkgs.callPackage ./pkgs/trident {};
11+
vlog = final.pkgs.callPackage ./pkgs/vlog {inherit jdk maven;};
12+
rulewerk = final.pkgs.callPackage ./pkgs/rulewerk {inherit jdk maven gitignoreSource;};
1313
vlog-debug = final.pkgs.enableDebugging vlog;
14-
rulewerk-debug = final.pkgs.enableDebugging (rulewerk.override { vlog = vlog-debug; });
14+
rulewerk-debug = final.pkgs.enableDebugging (rulewerk.override {vlog = vlog-debug;});
1515
}

nix/pkgs/kognac/default.nix

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
1-
{ pkgs
2-
, cacert
3-
, cmake
4-
, git
5-
, lib
6-
, lz4
7-
, sparsehash
8-
, stdenv
9-
, zlib
10-
, ...
1+
{
2+
pkgs,
3+
cacert,
4+
cmake,
5+
git,
6+
lib,
7+
lz4,
8+
sparsehash,
9+
stdenv,
10+
zlib,
11+
...
1112
}:
12-
1313
stdenv.mkDerivation {
1414
pname = "kognac";
15-
version = "unstable-2021-09-30";
15+
version = "unstable-2022-08-07";
1616
src = pkgs.fetchFromGitHub {
1717
owner = "karmaresearch";
1818
repo = "kognac";
19-
rev = "7a909854c471afa0d80c69716321bf363add591a";
20-
sha256 = "Cice8nAx7UoFBnqvWexGrSbWJDeiBY6Twio3nBD4TUs=";
19+
rev = "ec961644647e2b545cfb859148cde3dff94d317e";
20+
sha256 = "uliMzYkcaIf3TR2WQkM4o07M3dGF0a4/GYlWCljTlQo=";
2121
};
2222

23-
buildInputs = [ zlib sparsehash lz4 ];
24-
nativeBuildInputs = [ cmake git cacert ];
23+
buildInputs = [zlib sparsehash lz4];
24+
nativeBuildInputs = [cmake git cacert];
2525

26-
cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-w" ];
27-
patches = [ ./patches/kognac-lz4.patch ];
26+
cmakeFlags = ["-DCMAKE_CXX_FLAGS=-w"];
27+
patches = [./patches/kognac-lz4.patch];
2828

2929
installPhase = ''
3030
runHook preInstall

nix/pkgs/kognac/patches/kognac-lz4.patch

+22-4
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,38 @@
1+
From 5c2da49c2228b16130db7980614fa691003389cb Mon Sep 17 00:00:00 2001
2+
From: Maximilian Marx <[email protected]>
3+
Date: Fri, 2 Sep 2022 01:35:35 +0200
4+
Subject: [PATCH] Patch lz4
5+
6+
---
7+
CMakeLists.txt | 33 +++------------------------------
8+
1 file changed, 3 insertions(+), 30 deletions(-)
9+
110
diff --git a/CMakeLists.txt b/CMakeLists.txt
2-
index 3a24e70..3079812 100644
11+
index f59ff5f..41fe741 100644
312
--- a/CMakeLists.txt
413
+++ b/CMakeLists.txt
5-
@@ -97,30 +97,9 @@ ENDIF()
14+
@@ -100,36 +100,9 @@ ENDIF()
615

716
#LZ4
817
# we need it statically included, so download it, not only if it cannot be found!
918
-# find_library(lz4 lz4)
1019
-# find_path (lz4h lz4.h)
1120
-# IF (${lz4h} STREQUAL "lz4h-NOTFOUND")
1221
-# message("Could not find LZ4. I'm going to download it from the GIT repository ...")
13-
- message("Downloading lz4, static version required")
22+
-message("Downloading lz4, static version required")
23+
-IF (DIST AND ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
24+
- set(MOREFLAGS "-fPIC -arch x86_64 -arch arm64")
25+
-ELSE()
26+
- set(MOREFLAGS "-fPIC")
27+
-ENDIF()
28+
-
1429
- ExternalProject_Add(git-lz4
1530
- DOWNLOAD_COMMAND git clone https://github.com/Cyan4973/lz4.git
1631
- DOWNLOAD_DIR external
1732
- SOURCE_DIR external/lz4/
1833
- CONFIGURE_COMMAND ""
1934
- BUILD_IN_SOURCE 1
20-
- BUILD_COMMAND make -C lib lib MOREFLAGS=-fPIC
35+
- BUILD_COMMAND make -C lib lib MOREFLAGS=${MOREFLAGS}
2136
- INSTALL_COMMAND ""
2237
- )
2338
- ExternalProject_Get_Property(git-lz4 SOURCE_DIR)
@@ -36,3 +51,6 @@ index 3a24e70..3079812 100644
3651

3752
#standard include
3853
include_directories(include/)
54+
--
55+
2.36.2
56+

nix/pkgs/rulewerk/default.nix

+63-64
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,75 @@
1-
{ pkgs
2-
, gitignoreSource
3-
, curl
4-
, jdk
5-
, lib
6-
, lz4
7-
, makeWrapper
8-
, maven
9-
, sparsehash
10-
, stdenv
11-
, vlog
12-
}:
13-
14-
let
15-
rulewerk-dependencies = pkgs.callPackage ./dependencies.nix { inherit gitignoreSource jdk maven; };
1+
{
2+
pkgs,
3+
gitignoreSource,
4+
curl,
5+
jdk,
6+
lib,
7+
lz4,
8+
makeWrapper,
9+
maven,
10+
sparsehash,
11+
stdenv,
12+
vlog,
13+
}: let
14+
rulewerk-dependencies = pkgs.callPackage ./dependencies.nix {inherit gitignoreSource jdk maven;};
1615
in
17-
stdenv.mkDerivation rec {
18-
pname = "rulewerk";
19-
version = "0.9.0-SNAPSHOT";
20-
src = gitignoreSource ../../..;
16+
stdenv.mkDerivation rec {
17+
pname = "rulewerk";
18+
version = "0.9.0-SNAPSHOT";
19+
src = gitignoreSource ../../..;
2120

22-
modules = [
23-
"core"
24-
"vlog"
25-
"rdf"
26-
"owlapi"
27-
"graal"
28-
"parser"
29-
"commands"
30-
"examples"
31-
"client"
32-
];
21+
modules = [
22+
"core"
23+
"vlog"
24+
"rdf"
25+
"owlapi"
26+
"graal"
27+
"parser"
28+
"commands"
29+
"examples"
30+
"client"
31+
];
3332

34-
buildInputs = [ makeWrapper lz4 curl sparsehash ];
35-
nativeBuildInputs = [ maven ];
33+
buildInputs = [makeWrapper lz4 curl sparsehash];
34+
nativeBuildInputs = [maven];
3635

37-
preBuild = ''
38-
mkdir -p $out
39-
mkdir -p rulewerk-vlog/lib/
40-
cp ${vlog}/share/java/jvlog.jar rulewerk-vlog/lib/jvlog-local.jar
41-
cp -R ${rulewerk-dependencies}/.m2 $out/lib
42-
chmod -R +w $out/lib
43-
mvn --offline --no-transfer-progress initialize -Pdevelopment -Dmaven.repo.local=$out/lib
44-
'';
36+
preBuild = ''
37+
mkdir -p $out
38+
mkdir -p rulewerk-vlog/lib/
39+
cp ${vlog}/share/java/jvlog.jar rulewerk-vlog/lib/jvlog-local.jar
40+
cp -R ${rulewerk-dependencies}/.m2 $out/lib
41+
chmod -R +w $out/lib
42+
mvn --offline --no-transfer-progress initialize -Pdevelopment -Dmaven.repo.local=$out/lib
43+
'';
4544

46-
buildPhase = ''
47-
runHook preBuild
45+
buildPhase = ''
46+
runHook preBuild
4847
49-
mvn package -Pclient --offline -Dmaven.repo.local=$out/lib -DskipTests
48+
mvn package -Pclient --offline -Dmaven.repo.local=$out/lib -DskipTests
5049
51-
runHook postBuild
52-
'';
50+
runHook postBuild
51+
'';
5352

54-
installPhase = ''
55-
runHook preInstall
53+
installPhase = ''
54+
runHook preInstall
5655
57-
mkdir -p $out/bin $out/share/java
58-
find $out/lib -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\|maven-metadata-local\.xml\)' -delete
59-
for module in ${toString modules}
60-
do
61-
cp ${pname}-$module/target/${pname}-$module-${version}.jar $out/share/java
62-
done
56+
mkdir -p $out/bin $out/share/java
57+
find $out/lib -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\|maven-metadata-local\.xml\)' -delete
58+
for module in ${toString modules}
59+
do
60+
cp ${pname}-$module/target/${pname}-$module-${version}.jar $out/share/java
61+
done
6362
64-
cp rulewerk-client/target/standalone-rulewerk-client-${version}.jar $out/share/java
65-
makeWrapper ${jdk}/bin/java $out/bin/${pname} --add-flags "-jar $out/share/java/standalone-rulewerk-client-${version}.jar"
66-
makeWrapper ${maven}/bin/mvn $out/bin/mvn --add-flags "--offline -Dmaven.repo.local=$out/lib"
63+
cp rulewerk-client/target/standalone-rulewerk-client-${version}.jar $out/share/java
64+
makeWrapper ${jdk}/bin/java $out/bin/${pname} --add-flags "-jar $out/share/java/standalone-rulewerk-client-${version}.jar"
65+
makeWrapper ${maven}/bin/mvn $out/bin/mvn --add-flags "--offline -Dmaven.repo.local=$out/lib"
6766
68-
runHook postInstall
69-
'';
67+
runHook postInstall
68+
'';
7069

71-
meta = with lib; {
72-
description = "A java toolkit for reasoning with existential rules";
73-
license = licenses.asl20;
74-
homepage = "https://github.com/knowsys/rulewerk";
75-
};
76-
}
70+
meta = with lib; {
71+
description = "A java toolkit for reasoning with existential rules";
72+
license = licenses.asl20;
73+
homepage = "https://github.com/knowsys/rulewerk";
74+
};
75+
}

0 commit comments

Comments
 (0)