Merge pull request #128027 from nessdoor/nixpkgs/protege

This commit is contained in:
Sandro 2021-06-26 21:57:59 +02:00 committed by GitHub
commit 52fbf38c2f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 65 additions and 18 deletions

View file

@ -1,4 +1,8 @@
{ lib, stdenv, fetchurl, unzip, jre8, copyDesktopItems, makeDesktopItem }:
{ lib, stdenv, fetchurl, unzip, jre8
, copyDesktopItems
, makeDesktopItem
, iconConvTools
}:
stdenv.mkDerivation rec {
pname = "protege-distribution";
@ -9,23 +13,21 @@ stdenv.mkDerivation rec {
sha256 = "092x22wyisdnhccx817mqq15sxqdfc7iz4whr4mbvzrd9di6ipjq";
};
nativeBuildInputs = [ unzip copyDesktopItems ];
nativeBuildInputs = [ unzip copyDesktopItems iconConvTools ];
patches = [
# Replace logic for searching the install directory with a static cd into $out
./static-path.patch
# Disable console logging, maintaining only file-based logging
./disable-console-log.patch
];
postPatch = ''
# Delete all those commands meant to change directory to the source directory
sed -i -e '3,9d' run.sh
# Change directory to where the application is stored to avoid heavy patching
# of searchpaths
sed -i -e "2a\
cd $out/protege" run.sh
# Set the correct Java executable (Protege is a JRE 8 application)
# Resolve @out@ (introduced by "static-path.patch") to $out, and set the
# correct Java executable (Protege is a JRE 8 application)
substituteInPlace run.sh \
--replace "java -X" "exec ${jre8.outPath}/bin/java -X" \
# Silence console logs, since these are not shown in graphical environments
sed -i -e '4,8d;21d' conf/logback.xml
--subst-var-by out $out \
--replace "java -X" "exec ${jre8.outPath}/bin/java -X"
'';
dontConfigure = true;
@ -42,8 +44,8 @@ stdenv.mkDerivation rec {
# Move launch script into /bin, giving it a recognizable name
install -D run.sh $out/bin/run-protege
# Copy icon to where it can be found
install -D app/Protege.ico $out/share/icons/hicolor/128x128/apps/protege.ico
# Generate and copy icons to where they can be found
icoFileToHiColorTheme app/Protege.ico protege $out
# Move everything else under protege/
mkdir $out/protege
@ -56,8 +58,9 @@ stdenv.mkDerivation rec {
(makeDesktopItem {
name = "Protege";
desktopName = "Protege Desktop";
icon = "protege.ico";
icon = "protege";
comment = "OWL2 ontology editor";
categories = "Development";
exec = "run-protege";
})
];

View file

@ -0,0 +1,28 @@
--- a/conf/logback.xml 2021-06-25 00:49:10.446416341 +0900
+++ b/conf/logback.xml 2021-06-25 00:50:32.889120465 +0900
@@ -1,13 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
- <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <Pattern>%highlight(%msg) %n</Pattern>
- </encoder>
- </appender>
-
-
<appender name="files" class="ch.qos.logback.core.FileAppender">
<file>${user.home}/.Protege/logs/protege.log</file>
<append>true</append>
@@ -18,9 +11,8 @@
<root level="info">
- <appender-ref ref="stdout" />
<appender-ref ref="files"/>
</root>
-</configuration>
\ No newline at end of file
+</configuration>

View file

@ -0,0 +1,16 @@
--- a/run.sh 2021-06-24 22:30:20.764897745 +0900
+++ b/run.sh 2021-06-24 22:29:47.211210142 +0900
@@ -1,12 +1,6 @@
#!/usr/bin/env bash
-SOURCE="${BASH_SOURCE[0]}"
-while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
- DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
- SOURCE="$(readlink "$SOURCE")"
- [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
-done
-cd "$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+cd @out@/protege
java -Xmx500M -Xms200M \
-Xss16M \