depot/third_party/nixpkgs/pkgs/by-name/mm/mmj2/package.nix

60 lines
1.6 KiB
Nix

{
lib,
maven,
fetchFromGitHub,
jre,
makeWrapper,
}:
let
lastVersion = "2.5.2";
in
maven.buildMavenPackage {
pname = "mmj2";
# The latest stable version is from 2017 and doesn't include the mmj2jar/mmj2
# wrapper script, so use the unstable one for now
version = "${lastVersion}-unstable-2023-06-27";
src = fetchFromGitHub {
owner = "digama0";
repo = "mmj2";
fetchSubmodules = true;
rev = "1cd95c1fe4435899c8575644fccb412dd77d79e4";
hash = "sha256-WYBrLY04+bJGzjRMs8LgHnI6lMRhQKyz15DIoLeiE2s=";
};
mvnHash = "sha256-fu/q6CTvSllrfgnKNX6aIuPO65H/q0IPCHFuWmOFOvM=";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
local jar=$out/share/$pname/$pname.jar
local bin=$out/bin/$pname
install -Dm644 target/$pname-${lastVersion}-SNAPSHOT-jar-with-dependencies.jar $jar
install -Dm744 mmj2jar/$pname $bin
wrapProgram $bin \
--set MMJ2_JAR $jar \
--set JAVA ${jre}/bin/java
runHook postInstall
'';
meta = with lib; {
description = "GUI Proof Assistant for the Metamath project";
longDescription = ''
mmj2 is a proof assistant for the Metamath language. Metamath is a
language that lets you express mathematical axioms and theorems. The proof
assistant includes a GUI for creating proofs, proof verification tools,
and grammatical/syntax analysis.
'';
homepage = "https://github.com/digama0/mmj2";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ io12 ];
platforms = platforms.linux;
mainProgram = "mmj2";
};
}