artemis: build from source prepare

This commit is contained in:
Kuoi 2022-12-04 00:11:37 +08:00
parent d133fe9751
commit 1850076697
8 changed files with 522 additions and 0 deletions

75
prepare/artemis/PKGBUILD Normal file
View file

@ -0,0 +1,75 @@
# Maintainer: Guoyi Zhang <guoyizhang at malacology dot net>
# Contributor: Clint Valentine <valentine.clint@gmail.com>
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
}

16
prepare/artemis/act.desktop Executable file
View file

@ -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

16
prepare/artemis/artemis.desktop Executable file
View file

@ -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

16
prepare/artemis/bamview.desktop Executable file
View file

@ -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

View file

@ -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

View file

@ -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 <pgt@debian.org>
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

View file

@ -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'

5
prepare/artemis/readme Normal file
View file

@ -0,0 +1,5 @@
# Artemis
art and act shell script doesn't work.
Fix it and then this package can work