|
|
|
@ -21,17 +21,12 @@
|
|
|
|
|
#
|
|
|
|
|
# Latest ncbi sourcecode is available at:
|
|
|
|
|
# ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/CURRENT
|
|
|
|
|
#
|
|
|
|
|
# The build process used in this slackbuild is based on the Debian
|
|
|
|
|
# NCBI-related packages, maintained by Aaron M. Ucko <ucko@debian.org>.
|
|
|
|
|
|
|
|
|
|
# Source package infos
|
|
|
|
|
NAMESRC=${NAMESRC:-ncbi}
|
|
|
|
|
VERSION=${VERSION:-6.1}
|
|
|
|
|
ARCHIVE=${ARCHIVE:-$NAMESRC.tar.gz}
|
|
|
|
|
WGET=${WGET:-ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/old/20070822/$ARCHIVE}
|
|
|
|
|
DEBPATCH=ncbi-tools6_6.1.20070822-1.diff.gz
|
|
|
|
|
DEBPATCH_URL=http://ftp.de.debian.org/debian/pool/main/n/ncbi-tools6/$DEBPATCH
|
|
|
|
|
WGET=${WGET:-ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools/old/20090301/$ARCHIVE}
|
|
|
|
|
|
|
|
|
|
# Built package infos
|
|
|
|
|
NAMETGZ=${NAMETGZ:-ncbi-toolkit}
|
|
|
|
@ -72,153 +67,62 @@ if [ ! -r $ARCHIVE ]; then
|
|
|
|
|
wget "$WGET"
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -r $DEBPATCH ]; then
|
|
|
|
|
wget "$DEBPATCH_URL"
|
|
|
|
|
wget "$DEBURL"
|
|
|
|
|
fi
|
|
|
|
|
sha1sum -c $ARCHIVE.sha1
|
|
|
|
|
sha1sum -c $DEBPATCH.sha1
|
|
|
|
|
NAME=$(tar ft $ARCHIVE | head -1 | cut -d / -f 1)
|
|
|
|
|
|
|
|
|
|
# Extract archive and apply the Debian patch
|
|
|
|
|
# Build
|
|
|
|
|
cd $TMP
|
|
|
|
|
echo "Building $ARCHIVE..."
|
|
|
|
|
mkdir ncbi && cd ncbi
|
|
|
|
|
tar xf $CWD/$ARCHIVE
|
|
|
|
|
cd $NAME
|
|
|
|
|
zcat $CWD/$DEBPATCH | patch -p1
|
|
|
|
|
|
|
|
|
|
# Compile
|
|
|
|
|
|
|
|
|
|
export NCBI_VERSION=$VERSION
|
|
|
|
|
export NCBI_VERSION_MAJOR=$(echo $VERSION | cut -d. -f1)
|
|
|
|
|
export NCBI_VERSION_MINOR=$(echo $VERSION | cut -d. -f2)
|
|
|
|
|
export BLAST_VERSION=$(cat demo/.BLAST_VERSION)
|
|
|
|
|
export NCBI_LBSM_SRC=ncbi_lbsmd_stub.c
|
|
|
|
|
export NCBI_LBSM_OBJ=ncbi_lbsmd_stub.o
|
|
|
|
|
export LD_LIBRARY_PATH=$TMP/$NAME/shlib:$LD_LIBRARY_PATH
|
|
|
|
|
|
|
|
|
|
cd build
|
|
|
|
|
ln -s ../make/*.unx .
|
|
|
|
|
ln -s ../make/ln-if-absent .
|
|
|
|
|
mv makeall.unx makefile
|
|
|
|
|
|
|
|
|
|
pmake all LCL=lnx CC=gcc RAN=ranlib \
|
|
|
|
|
OTHERLIBS=-lm VIBLIBS="-lXm -lXmu -lXt -lX11" VIBFLAG=-DWIN_MOTIF \
|
|
|
|
|
NCBI_LINKINGLIBDIR="../shlib -L../lib" \
|
|
|
|
|
CFLAGS1="-c $CPUOPT -D_PNG -fPIC" \
|
|
|
|
|
LIB4=libvibrant.a LIB20=libncbidesk.a LIB28=libvibgif.a \
|
|
|
|
|
LIB30=libncbicn3d.a LIB45=libddvlib.a \
|
|
|
|
|
LIB400=libvibrantOGL.a LIB3000=libncbicn3dOGL.a
|
|
|
|
|
|
|
|
|
|
pmake -f makenet.unx LCL=lnx CC=gcc RAN=ranlib \
|
|
|
|
|
OTHERLIBS=-lm VIBLIBS="-lXm -lXmu -lXt -lX11" VIBFLAG=-DWIN_MOTIF \
|
|
|
|
|
NCBI_LINKINGLIBDIR="../shlib -L../lib" \
|
|
|
|
|
CFLAGS1="-c $CPUOPT -fPIC" \
|
|
|
|
|
NETENTREZVERSION=2.02c2ASN1SPEC6 \
|
|
|
|
|
BLIB31=libvibnet.a OGLLIBS="-lGLU -lGL -lpng" \
|
|
|
|
|
all libncbimla.a libnetblast.a libncbitxc2.a libncbiid1.a shlib
|
|
|
|
|
|
|
|
|
|
pmake clean
|
|
|
|
|
|
|
|
|
|
pmake all LCL=lnx CC=gcc RAN=ranlib \
|
|
|
|
|
OTHERLIBS=-lm VIBLIBS="-lXm -lXmu -lXt -lX11" VIBFLAG=-DWIN_MOTIF \
|
|
|
|
|
NCBI_LINKINGLIBDIR="../shlib -L../lib" \
|
|
|
|
|
CFLAGS1="-c $CPUOPT -D_PNG" \
|
|
|
|
|
LIB4=libvibrant.a LIB20=libncbidesk.a LIB28=libvibgif.a \
|
|
|
|
|
LIB30=libncbicn3d.a LIB45=libddvlib.a \
|
|
|
|
|
LIB400=libvibrantOGL.a LIB3000=libncbicn3dOGL.a
|
|
|
|
|
|
|
|
|
|
pmake -f makedemo.unx LCL=lnx CC=gcc RAN=ranlib \
|
|
|
|
|
OTHERLIBS=-lm VIBLIBS= VIBFLAG= \
|
|
|
|
|
NCBI_LINKINGLIBDIR="../shlib -L../lib" \
|
|
|
|
|
CFLAGS1="-c $CPUOPT" \
|
|
|
|
|
LIB50=-lpcre
|
|
|
|
|
|
|
|
|
|
rm -f blast blastall blastall_old blastpgp seedtop megablast rpsblast \
|
|
|
|
|
blastclust
|
|
|
|
|
|
|
|
|
|
pmake -f makedemo.unx LCL=lnx CC=gcc RAN=ranlib \
|
|
|
|
|
OTHERLIBS=-lm THREAD_OBJ=ncbithr.o THREAD_OTHERLIBS=-lpthread \
|
|
|
|
|
NCBI_LINKINGLIBDIR="../shlib -L../lib" \
|
|
|
|
|
VIBLIBS= VIBFLAG= \
|
|
|
|
|
blast blastall blastall_old blastpgp seedtop megablast rpsblast \
|
|
|
|
|
blastclust
|
|
|
|
|
|
|
|
|
|
pmake -f makenet.unx LCL=lnx CC=gcc RAN=ranlib \
|
|
|
|
|
OTHERLIBS=-lm VIBFLAG=-DWIN_MOTIF \
|
|
|
|
|
NCBI_LINKINGLIBDIR="../shlib -L../lib" \
|
|
|
|
|
CFLAGS1="-c $CPUOPT" \
|
|
|
|
|
THREAD_OBJ=ncbithr.o THREAD_OTHERLIBS=-lpthread \
|
|
|
|
|
NETENTREZVERSION=2.02c2ASN1SPEC6 \
|
|
|
|
|
BLIB31=libvibnet.a OGLLIBS= VIBLIBS= \
|
|
|
|
|
VIB="Psequin sbtedit udv ddv blastcl3 idfetch bl2seq asn2gb tbl2asn \
|
|
|
|
|
gene2xml entrez2 gbseqget asn2all asn2asn asn2fsa asn2xml cleanasn \
|
|
|
|
|
insdseqget nps2gps spidey trna2sap trna2tbl Cn3D"
|
|
|
|
|
|
|
|
|
|
# Prepare the package tree
|
|
|
|
|
cd $TMP/$NAME
|
|
|
|
|
mkdir -p $PKG/usr/lib
|
|
|
|
|
install -m 644 lib/* shlib/*.so.$VERSION $PKG/usr/lib
|
|
|
|
|
for x in ncbiacc ncbiCacc netentr; do
|
|
|
|
|
rm -f $PKG/usr/lib/lib$x.so.$VERSION
|
|
|
|
|
ln -s libncbiNacc.so.$NCBI_VERSION_MAJOR \
|
|
|
|
|
$PKG/usr/lib/lib$x.so.$NCBI_VERSION_MAJOR
|
|
|
|
|
ln -s libncbiNacc.so $PKG/usr/lib/lib$x.so
|
|
|
|
|
done
|
|
|
|
|
for x in ncbicn3d vibrant; do
|
|
|
|
|
rm -f $PKG/usr/lib/lib$x.so.$VERSION
|
|
|
|
|
ln -s lib${x}OGL.so.$NCBI_VERSION_MAJOR \
|
|
|
|
|
$PKG/usr/lib/lib$x.so.$NCBI_VERSION_MAJOR
|
|
|
|
|
ln -s lib${x}OGL.so $PKG/usr/lib/lib$x.so
|
|
|
|
|
done
|
|
|
|
|
cd $PKG/usr/lib
|
|
|
|
|
for f in *.so.$VERSION; do
|
|
|
|
|
base=$(basename $f .so.$VERSION)
|
|
|
|
|
ln -s $f $base.so.$NCBI_VERSION_MAJOR
|
|
|
|
|
ln -s $f $base.so
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
cd $TMP/$NAME
|
|
|
|
|
mkdir -p $PKG/usr/include/ncbi
|
|
|
|
|
cp -LRp include/* $PKG/usr/include/ncbi
|
|
|
|
|
cd $PKG/usr/include/ncbi
|
|
|
|
|
rm -f FSpCompat.h FullPath.h More*.h Optimization*.h pcre*.h
|
|
|
|
|
find . -type f | xargs chmod 644
|
|
|
|
|
|
|
|
|
|
cd $TMP/$NAME
|
|
|
|
|
mkdir -p $PKG/usr/bin
|
|
|
|
|
install $(find build -type f -perm +111 -print) $PKG/usr/bin
|
|
|
|
|
install -m 755 debian/vibrate $PKG/usr/bin
|
|
|
|
|
rm -f $PKG/usr/bin/{dosimple,ncbisort,cdscan,entrcmd,*test*,*demo*}
|
|
|
|
|
mv $PKG/usr/bin/Cn3D $PKG/usr/bin/Cn3D-3.0
|
|
|
|
|
mv $PKG/usr/bin/blast $PKG/usr/bin/blast2
|
|
|
|
|
|
|
|
|
|
# Strip binaries
|
|
|
|
|
find $PKG | xargs file | grep "ELF 32-bit LSB" | cut -d : -f 1 | \
|
|
|
|
|
xargs strip --strip-unneeded 2> /dev/null
|
|
|
|
|
sed -i "s/^NCBI_LDFLAGS1 =.*/NCBI_LDFLAGS1 = $CPUOPT/
|
|
|
|
|
s/^NCBI_OPTFLAG = .*/NCBI_OPTFLAG = $CPUOPT/" \
|
|
|
|
|
ncbi/platform/linux-x86.ncbi.mk
|
|
|
|
|
./ncbi/make/makedis.csh
|
|
|
|
|
|
|
|
|
|
# Install binaries and include files
|
|
|
|
|
mkdir -p $PKG/usr/include
|
|
|
|
|
cp -aL ncbi/bin ncbi/lib $PKG/usr
|
|
|
|
|
cp -aL ncbi/include $PKG/usr/include/ncbi
|
|
|
|
|
(
|
|
|
|
|
cd $PKG/usr/bin
|
|
|
|
|
for x in blast psiblast wblast2 ; do
|
|
|
|
|
mv $x.REAL $x
|
|
|
|
|
mv ${x}_cs.REAL ${x}_cs
|
|
|
|
|
done
|
|
|
|
|
rm demo* dosimple test*
|
|
|
|
|
strip --strip-unneeded * ../lib/*
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Install and compress man pages
|
|
|
|
|
mkdir -p $PKG/usr/man/man1
|
|
|
|
|
install -m 644 doc/man/* $PKG/usr/man/man1
|
|
|
|
|
install -m 644 debian/man/* $PKG/usr/man/man1
|
|
|
|
|
rm -f $PKG/usr/man/man1/entrcmd.1
|
|
|
|
|
find $PKG/usr/man/man1 -type f | xargs gzip -9 2> /dev/null
|
|
|
|
|
mkdir -p $PKG/usr/man
|
|
|
|
|
cp -aL ncbi/doc/man $PKG/usr/man/man1
|
|
|
|
|
find $PKG/usr/man/man1 -type f -exec gzip -9 {} \;
|
|
|
|
|
|
|
|
|
|
# Install the NCBI data
|
|
|
|
|
mkdir -p $PKG/usr/share/ncbi/data
|
|
|
|
|
install -m 644 data/* $PKG/usr/share/ncbi/data
|
|
|
|
|
# Install shared NCBI data
|
|
|
|
|
mkdir -p $PKG/usr/share/ncbi
|
|
|
|
|
cp -aL ncbi/data $PKG/usr/share/ncbi
|
|
|
|
|
|
|
|
|
|
# Install the documentation
|
|
|
|
|
DOCDIR=$PKG/usr/doc/$NAMETGZ-$VERSION
|
|
|
|
|
mkdir -p $DOCDIR
|
|
|
|
|
install -m 644 README{,.htm} VERSION $DOCDIR
|
|
|
|
|
install -m 644 config/README $DOCDIR/README.config
|
|
|
|
|
install -m 644 network/nsclilib/readme $DOCDIR/README.net-cfg
|
|
|
|
|
install -m 644 doc/fa2htgs/README $DOCDIR/README.fa2htgs
|
|
|
|
|
install -m 644 sequin/README $DOCDIR/README.sequin
|
|
|
|
|
cp ncbi/README{,.htm} ncbi/VERSION $DOCDIR
|
|
|
|
|
cp ncbi/config/README $DOCDIR/README.config
|
|
|
|
|
cp ncbi/network/nsclilib/readme $DOCDIR/README.net-cfg
|
|
|
|
|
cp -aL ncbi/doc/* $DOCDIR
|
|
|
|
|
rm -rf $DOCDIR/man
|
|
|
|
|
|
|
|
|
|
# Install the default config file
|
|
|
|
|
mkdir -p $PKG/etc/ncbi
|
|
|
|
|
install -m 644 $CWD/ncbirc $PKG/etc/ncbi/ncbirc.new
|
|
|
|
|
|
|
|
|
|
# Sanitize permission
|
|
|
|
|
find $PKG -type d -exec chmod 755 {} \;
|
|
|
|
|
find $PKG -type f -exec chmod 644 {} \;
|
|
|
|
|
find $PKG/usr/bin -type f -exec chmod 755 {} \;
|
|
|
|
|
|
|
|
|
|
# Copy slack-desc and doinst.sh files
|
|
|
|
|
mkdir -p $PKG/install
|
|
|
|
|
install -m 644 $CWD/slack-desc $PKG/install/slack-desc
|
|
|
|
|