feat(school): add teacher's RARS fork to packages
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
2f4781e60e
commit
841be58331
2 changed files with 101 additions and 0 deletions
100
common/pkgs/rars-flatlaf/default.nix
Normal file
100
common/pkgs/rars-flatlaf/default.nix
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
{
|
||||||
|
stdenvNoCC,
|
||||||
|
jre,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchurl,
|
||||||
|
makeWrapper,
|
||||||
|
makeDesktopItem,
|
||||||
|
rsync,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
stdenvNoCC.mkDerivation rec {
|
||||||
|
name = "rars-flatlaf";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "privat";
|
||||||
|
repo = "rars";
|
||||||
|
rev = "fd34014efd65b3cb5a52f1729c3b8240cae0c332";
|
||||||
|
hash = "sha256-D8X/cr+fnq/OOFYfMG9aPss95J8Z2yiROuF9kmHkK40=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = "RARS";
|
||||||
|
desktopName = "RARS";
|
||||||
|
exec = name;
|
||||||
|
icon = name;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [makeWrapper rsync jre];
|
||||||
|
|
||||||
|
installPhase = let
|
||||||
|
flatlaf = fetchurl {
|
||||||
|
url = "https://repo1.maven.org/maven2/com/formdev/flatlaf/3.2/flatlaf-3.2.jar";
|
||||||
|
hash = "sha256-HAG+G9undDXWtySokKl7lkIUCFI7lEBduu+UgSVaxAA=";
|
||||||
|
};
|
||||||
|
icon = fetchurl {
|
||||||
|
url = "https://riscv.or.jp/wp-content/uploads/2019/06/cropped-RISC-V-logo-figonly-mod-2.png";
|
||||||
|
hash = "sha256-e1/iVmadVzyO77ikBr1cdXsJdDj8TiXh3Oyjek9GwqM=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
/*
|
||||||
|
bash
|
||||||
|
*/
|
||||||
|
''
|
||||||
|
# ./build-jar.sh
|
||||||
|
mkdir -p build
|
||||||
|
find src -name "*.java" | xargs javac --release 8 -d build
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
find src -type f -not -name "*.java" -exec rsync -R {} build \;
|
||||||
|
else
|
||||||
|
find src -type f -not -name "*.java" -exec cp --parents {} build \;
|
||||||
|
fi
|
||||||
|
cp -rf build/src/* build
|
||||||
|
rm -r build/src
|
||||||
|
cp README.md License.txt build
|
||||||
|
cd build
|
||||||
|
jar cfm ../rars.jar ./META-INF/MANIFEST.MF *
|
||||||
|
chmod +x ../rars.jar
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# ./build-jar-flatlaf.sh
|
||||||
|
mkdir -p build-flatlaf/
|
||||||
|
cd build-flatlaf/
|
||||||
|
|
||||||
|
cp ${flatlaf} ../flatlaf.jar
|
||||||
|
|
||||||
|
jar x < ../rars.jar
|
||||||
|
jar x < "../flatlaf.jar"
|
||||||
|
|
||||||
|
cat > META-INF/MANIFEST.MF <<EOF
|
||||||
|
Manifest-Version: 1.0
|
||||||
|
Implementation-Version: 3.1.1
|
||||||
|
Multi-Release: true
|
||||||
|
Main-Class: rars.Launch
|
||||||
|
EOF
|
||||||
|
|
||||||
|
jar cfm ../rars-flatlaf.jar META-INF/MANIFEST.MF *
|
||||||
|
chmod +x ../rars-flatlaf.jar
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# InstallPhase
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
cat > ./rars.desktop <<EOF
|
||||||
|
EOF
|
||||||
|
|
||||||
|
mkdir -p "$out/share/pixmaps"
|
||||||
|
cp "${icon}" "$out/share/pixmaps/${name}.png"
|
||||||
|
install -D $desktopItem/share/applications/* $out/share/applications/rars.desktop
|
||||||
|
|
||||||
|
export JAR=$out/share/java/${name}/${name}.jar
|
||||||
|
install -D ./${name}.jar $JAR
|
||||||
|
makeWrapper ${jre}/bin/java $out/bin/${name} \
|
||||||
|
--add-flags "-jar $JAR"
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
}
|
|
@ -221,6 +221,7 @@ in {
|
||||||
libreoffice-fresh # TODO: declarative conf?
|
libreoffice-fresh # TODO: declarative conf?
|
||||||
hunspell
|
hunspell
|
||||||
hunspellDicts.en_CA
|
hunspellDicts.en_CA
|
||||||
|
config.customPkgs.rars-flatlaf
|
||||||
|
|
||||||
# Apps
|
# Apps
|
||||||
thunderbird # TODO: use programs.thunderbird
|
thunderbird # TODO: use programs.thunderbird
|
||||||
|
|
Loading…
Reference in a new issue