diff --git a/prepare/artemis/PKGBUILD b/prepare/artemis/PKGBUILD new file mode 100644 index 0000000000..2f98117576 --- /dev/null +++ b/prepare/artemis/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Guoyi Zhang +# Contributor: Clint Valentine + +pkgname=artemis +_pkgname=Artemis +pkgver=18.2.0 +pkgrel=5 +pkgdesc='A genome viewer and annotation tool that visualizes biological sequence features' +arch=('x86_64') +url=https://www.sanger.ac.uk/science/tools/"${pkgname}" +license=('GPL2') +depends=('java-runtime') +makedepends=('java-environment' 'maven') +source=($pkgname-$pkgver.tar.gz::https://github.com/sanger-pathogens/Artemis/archive/refs/tags/v${pkgver}.tar.gz + act.desktop + artemis.desktop + bamview.desktop + dnaplotter.desktop) +sha256sums=('842c055f5cce021adbaea4f076b2ea80335ab1e44fbaa34b2ab608df6314a18e' + 'a7dda77f6518c98af6df88ba5d725f1b89d86aca125240f63a9c6e08afeb2a24' + 'dea9a1cc47b110c4f6ebe17c1b698866082997ffd9e6008d89847ddf745a0789' + '3ca519b00ffac02d635a62884996ad5b8c4580d8ffe8fcd427ee4edee1562f00' + 'ef584b45f9c92da15511779f20a1a1449915315066662e4c142ea4cd92dd717c') +#prepare() { +#scripts=('act' 'art' 'bamview' 'dnaplotter') +# cd $srcdir/$_pkgname-$pkgver +# patch -N -i $srcdir/fix_bin.patch +#} +build() { + cd $srcdir/$_pkgname-$pkgver + mvn validate + mvn package +} +package() { +bina=('act' 'art' 'bamview' 'dnaplotter') +scripts=('act' 'artemis' 'bamview' 'dnaplotter') + + # desktop + cd $srcdir/ + for des in ${scripts[@]} +do + install -Dm 755 $des.desktop $pkgdir/usr/share/applications/$des.desktop +done + + # bin + cd $srcdir/$_pkgname-$pkgver + for bin in ${bina[@]} +do + install -Dm 775 $bin $pkgdir/usr/share/$pkgname/$bin +done + + # jar + cd $srcdir/$_pkgname-$pkgver/target/jars + for jar in $(ls *.jar) +do + install -Dm 755 $jar $pkgdir/usr/share/$pkgname/target/jars/$jar +done + + # icons + cd $srcdir/$_pkgname-$pkgver/target/classes/images + for icn in ${scripts[@]} +do + mv ${icn}_icon.png ${icn}.png + install -Dm 644 ${icn}.png $pkgdir/usr/share/pixmaps/${icn}.png +done + + # link bin + cd $srcdir/$_pkgname-$pkgver + mkdir -p $pkgdir/usr/bin + for bin in ${bina[@]} +do + ln -s /usr/share/$pkgname/$bin $pkgdir/usr/bin/$bin +done + +} diff --git a/prepare/artemis/act.desktop b/prepare/artemis/act.desktop new file mode 100755 index 0000000000..1eee899745 --- /dev/null +++ b/prepare/artemis/act.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Categories= +Encoding=UTF-8 +Exec=act +GenericName= +Icon=act +MimeType= +Name=act +ServiceTypes= +SwallowExec= +SwallowTitle= +Terminal=false +TerminalOptions= +Type=Application +X-KDE-SubstituteUID=false +X-KDE-Username=root diff --git a/prepare/artemis/artemis.desktop b/prepare/artemis/artemis.desktop new file mode 100755 index 0000000000..4237a47be8 --- /dev/null +++ b/prepare/artemis/artemis.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Categories= +Encoding=UTF-8 +Exec=art +GenericName= +Icon=artemis +MimeType= +Name=artemis +ServiceTypes= +SwallowExec= +SwallowTitle= +Terminal=false +TerminalOptions= +Type=Application +X-KDE-SubstituteUID=false +X-KDE-Username=root diff --git a/prepare/artemis/bamview.desktop b/prepare/artemis/bamview.desktop new file mode 100755 index 0000000000..129dfa2861 --- /dev/null +++ b/prepare/artemis/bamview.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Categories= +Encoding=UTF-8 +Exec=bamview +GenericName= +Icon=bamview +MimeType= +Name=bamview +ServiceTypes= +SwallowExec= +SwallowTitle= +Terminal=false +TerminalOptions= +Type=Application +X-KDE-SubstituteUID=false +X-KDE-Username=root diff --git a/prepare/artemis/dnaplotter.desktop b/prepare/artemis/dnaplotter.desktop new file mode 100755 index 0000000000..2261a0c839 --- /dev/null +++ b/prepare/artemis/dnaplotter.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Categories= +Encoding=UTF-8 +Exec=dnaplotter +GenericName= +Icon=dnaplotter +MimeType= +Name=dnaplotter +ServiceTypes= +SwallowExec= +SwallowTitle= +Terminal=false +TerminalOptions= +Type=Application +X-KDE-SubstituteUID=false +X-KDE-Username=root diff --git a/prepare/artemis/fix_bin.patch b/prepare/artemis/fix_bin.patch new file mode 100644 index 0000000000..fae90595b9 --- /dev/null +++ b/prepare/artemis/fix_bin.patch @@ -0,0 +1,362 @@ +Description: Simplifying the provided launchers + Many options or tricks are useless on a Debian system. + The paths are also adapted to the Debian install. +Author: Pierre Gruet +Forwarded: not-needed +Last-Update: 2020-09-06 + +--- a/act ++++ b/act +@@ -38,36 +38,6 @@ + exit 0 + } + +-add_proxy_properties() { +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_PROXY +- fi +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_proxy +- fi +- +- if [[ "$http_proxy" != "" ]] +- then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'` +- fi +-} +- +-# +-# Resolve script path (inc symlinks) +-# +-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 +-APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script +- +- + # Special Sanger override on chado PGUSER + if [[ "$ARTEMIS_SANGER_DBUSER" != "" ]] + then +@@ -93,28 +63,6 @@ + shift + done + +- +-JAR_NAME=act.jar +-JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME +-JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME +-ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED +- +-# +-# Use a custom Java version if necessary +-# +-if [[ "$ARTEMIS_JAVA_JRE" = "" ]] +-then +- JAVA=`which java` +-else +- JAVA_HOME=$ARTEMIS_JAVA_JRE +- JAVA=$ARTEMIS_JAVA_JRE/bin/java +-fi +- +-# +-# Allow URLs to work from behind firewalls. +-# +-add_proxy_properties +- + # + # "-mx2g" sets the maximum amount of memory to use. + # This may need to be increased when dealing with large files +@@ -132,20 +80,12 @@ + # + FLAGS="$FLAGS --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED" + +-PLATTMP=`uname` +-if [[ "$PLATTMP" = "Darwin" ]] +-then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Xdock:name=ACT" +- JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME +- ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP" +-fi +- + if [[ "$QUIET" = no ]] + then + echo "Starting ACT with arguments: $FLAGS $APPLICATION_PROPERTIES $*" + fi + +-$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.components.ActMain $* ++java $FLAGS $APPLICATION_PROPERTIES -jar /usr/share/artemis/act.jar $* + result=$? + + exit $result +--- a/art ++++ b/art +@@ -44,36 +44,6 @@ + exit 0 + } + +-add_proxy_properties() { +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_PROXY +- fi +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_proxy +- fi +- +- if [[ "$http_proxy" != "" ]] +- then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'` +- fi +-} +- +-# +-# Resolve script path (inc symlinks) +-# +-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 +-APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script +- +- + # Special Sanger override on chado PGUSER + if [[ "$ARTEMIS_SANGER_DBUSER" != "" ]] + then +@@ -99,28 +69,6 @@ + shift + done + +- +-JAR_NAME=artemis.jar +-JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME +-JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME +-ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED +- +-# +-# Use a custom Java version if necessary +-# +-if [[ "$ARTEMIS_JAVA_JRE" = "" ]] +-then +- JAVA=`which java` +-else +- JAVA_HOME=$ARTEMIS_JAVA_JRE +- JAVA=$ARTEMIS_JAVA_JRE/bin/java +-fi +- +-# +-# Allow URLs to work from behind firewalls. +-# +-add_proxy_properties +- + # + # "-mx2g" sets the maximum amount of memory to use. + # This may need to be increased when dealing with large files +@@ -139,20 +87,12 @@ + # + FLAGS="$FLAGS --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED" + +-PLATTMP=`uname` +-if [[ "$PLATTMP" = "Darwin" ]] +-then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Xdock:name=Artemis" +- JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME +- ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP" +-fi +- + if [[ "$QUIET" = "no" ]] + then + echo "Starting Artemis with arguments: $FLAGS $APPLICATION_PROPERTIES $*" + fi + +-$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.components.ArtemisMain $* ++java $FLAGS $APPLICATION_PROPERTIES -jar /usr/share/artemis/artemis.jar $* + result=$? + + exit $result +--- a/bamview ++++ b/bamview +@@ -6,57 +6,7 @@ + + QUIET=no + +-add_proxy_properties() { +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_PROXY +- fi +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_proxy +- fi +- +- if [[ "$http_proxy" != "" ]] +- then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'` +- fi +-} +- +-# +-# Resolve script path (inc symlinks) +-# +-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 +-APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script +- +- + APPLICATION_PROPERTIES="-Djdbc.drivers=org.postgresql.Driver -Dartemis.environment=UNIX $SANGER_ARTEMIS_OPTIONS" +-JAR_NAME=bamview.jar +-JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME +-JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME +-ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED +- +-# +-# Use a custom Java version if necessary +-# +-if [[ "$ARTEMIS_JAVA_JRE" = "" ]] +-then +- JAVA=`which java` +-else +- JAVA_HOME=$ARTEMIS_JAVA_JRE +- JAVA=$ARTEMIS_JAVA_JRE/bin/java +-fi +- +-# +-# Allow URLs to work from behind firewalls. +-# +-add_proxy_properties + + # + # "-mx2g" sets the maximum amount of memory to use. +@@ -69,20 +19,12 @@ + FLAGS="$ARTEMIS_JVM_FLAGS -noverify" + fi + +-PLATTMP=`uname` +-if [[ "$PLATTMP" = "Darwin" ]] +-then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Xdock:name=BamView" +- JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME +- ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP" +-fi +- + if [[ "$QUIET" = "no" ]] + then + echo "Starting BamView with arguments: $FLAGS $APPLICATION_PROPERTIES $*" + fi + +-$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.components.alignment.BamView $* ++java $FLAGS $APPLICATION_PROPERTIES -jar /usr/share/artemis/bamview.jar $* + result=$? + + exit $result +--- a/dnaplotter ++++ b/dnaplotter +@@ -25,37 +25,6 @@ + exit 0 + } + +-add_proxy_properties() { +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_PROXY +- fi +- +- if [[ "$http_proxy" = "" ]] +- then +- http_proxy=$HTTP_proxy +- fi +- +- if [[ "$http_proxy" != "" ]] +- then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'` +- fi +-} +- +- +-# +-# Resolve script path (inc symlinks) +-# +-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 +-APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script +- +- + # + # Parse arguments. + # +@@ -75,28 +44,6 @@ + shift + done + +- +-JAR_NAME=dnaplotter.jar +-JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME +-JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME +-ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED +- +-# +-# Use a custom Java version if necessary +-# +-if [[ "$ARTEMIS_JAVA_JRE" = "" ]] +-then +- JAVA=`which java` +-else +- JAVA_HOME=$ARTEMIS_JAVA_JRE +- JAVA=$ARTEMIS_JAVA_JRE/bin/java +-fi +- +-# +-# Allow URLs to work from behind firewalls. +-# +-add_proxy_properties +- + # + # "-mx2g" sets the maximum amount of memory to use. + # This may need to be increased when dealing with large files +@@ -108,20 +55,12 @@ + FLAGS="$ARTEMIS_JVM_FLAGS -noverify" + fi + +-PLATTMP=`uname` +-if [[ "$PLATTMP" = "Darwin" ]] +-then +- APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Xdock:name=Circular-Plot" +- JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME +- ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP" +-fi +- + if [[ "$QUIET" = "no" ]] + then + echo "Starting DNA Plotter with arguments: $FLAGS $APPLICATION_PROPERTIES $TEMPLATE_FILE_ARG" + fi + +-$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.circular.DNADraw $TEMPLATE_FILE_ARG ++java $FLAGS $APPLICATION_PROPERTIES -jar /usr/share/artemis/dnaplotter.jar $TEMPLATE_FILE_ARG + result=$? + + exit $result + + diff --git a/prepare/artemis/lilac.yaml b/prepare/artemis/lilac.yaml new file mode 100644 index 0000000000..764c3eef20 --- /dev/null +++ b/prepare/artemis/lilac.yaml @@ -0,0 +1,16 @@ +build_prefix: extra-x86_64 +maintainers: + - github: starsareintherose + email: kuoi@bioarchlinux.org +pre_build_script: | + update_pkgver_and_pkgrel(_G.newver.lstrip('v')) + run_cmd(['updpkgsums']) +post_build_script: | + git_add_files('PKGBUILD') + git_commit() + update_aur_repo() +update_on: + - source: github + github: sanger-pathogens/Artemis + use_max_tag: true + prefix: 'v' diff --git a/prepare/artemis/readme b/prepare/artemis/readme new file mode 100644 index 0000000000..29a8ebab5f --- /dev/null +++ b/prepare/artemis/readme @@ -0,0 +1,5 @@ +# Artemis + + art and act shell script doesn't work. + + Fix it and then this package can work