diff --git a/phylip/PKGBUILD b/phylip/PKGBUILD new file mode 100644 index 0000000000..1e2edc0c8e --- /dev/null +++ b/phylip/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Michael Schubert +# Contributor: Abhishek Dasgupta +# Contributor: Damir Perisa +pkgname=phylip +pkgver=3.698 +pkgrel=1 +pkgdesc="A collection of programmes for evolutive genetics and inferring phylogenies" +arch=('i686' 'x86_64') +url="http://evolution.genetics.washington.edu/phylip.html" +source=(http://evolution.gs.washington.edu/phylip/download/phylip-$pkgver.zip + phylip-3.698-makefile.patch + phylip-3.698-fno-common.patch) +optdepends=('java-runtime') +license=('custom') +sha256sums=('cb12e5105d25872eed705d243ca32b400e180d38c3437d58335f11a431df0e46' + '91779c722959b7e08f4e3e03e9c1cc14c4a81d152e46d4a6b30d0dd09e276637' + 'd2638f99a6cb1e893aa6c362f906d5fca94700e0e4d50392abba853be8f0fff3') + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + # patches from gentoo ebuild: https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-biology/phylip/files + patch -p1 < ../phylip-3.698-makefile.patch + patch -p1 < ../phylip-3.698-fno-common.patch +} + +build() { + cd "$srcdir"/$pkgname-$pkgver/src + make -f Makefile.unx all +} + +package() { + cd "$srcdir"/$pkgname-$pkgver/src + make -f Makefile.unx put + + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/{lib,bin,share/phylip} + rm -rf exe/testdata + mv exe/factor{,-phylip} + mv exe/*.so "$pkgdir"/usr/lib/ + mv exe/font* "$pkgdir"/usr/share/phylip/ + mv exe/* "$pkgdir"/usr/bin +} diff --git a/phylip/lilac.py b/phylip/lilac.py new file mode 100755 index 0000000000..fcbff72939 --- /dev/null +++ b/phylip/lilac.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 +from lilaclib import * + +def pre_build(): + update_pkgver_and_pkgrel(_G.newver.lstrip('v')) + run_cmd(['updpkgsums']) + +def post_build(): + git_add_files('PKGBUILD') + git_commit() diff --git a/phylip/lilac.yaml b/phylip/lilac.yaml new file mode 100755 index 0000000000..d79907b1b3 --- /dev/null +++ b/phylip/lilac.yaml @@ -0,0 +1,8 @@ +maintainers: + - github: starsareintherose + email: starsareintherose@outlook.com +build_prefix: extra-x86_64 +update_on: + - source: regex + url: "https://evolution.gs.washington.edu/phylip/download/" + regex: "phylip-(\d+.\d+).zip" diff --git a/phylip/phylip-3.698-fno-common.patch b/phylip/phylip-3.698-fno-common.patch new file mode 100644 index 0000000000..986b1d9650 --- /dev/null +++ b/phylip/phylip-3.698-fno-common.patch @@ -0,0 +1,70 @@ +--- a/src/draw.c ++++ b/src/draw.c +@@ -34,6 +34,11 @@ + + char fontname[LARGE_BUF_LENGTH]; + ++long treecolor, namecolor, backcolor, bottomcolor, vrmlskycolornear, vrmlskycolorfar, ++ vrmlgroundcolornear, vrmlgroundcolorfar, vrmlplotcolor; ++ ++char afmfile[FNMLNGTH]; ++ + /* format of matrix: capheight, length[32],length[33],..length[256]*/ + + byte *full_pic ; +--- a/src/draw.h ++++ b/src/draw.h +@@ -52,10 +52,10 @@ + double intensity, x, y, z; + } vrmllighttype; + +-long treecolor, namecolor, backcolor, bottomcolor, vrmlskycolornear, vrmlskycolorfar, ++extern long treecolor, namecolor, backcolor, bottomcolor, vrmlskycolornear, vrmlskycolorfar, + vrmlgroundcolornear, vrmlgroundcolorfar, vrmlplotcolor; + +-char afmfile[FNMLNGTH]; ++extern char afmfile[FNMLNGTH]; + + double lengthtext(char *, long, char *, fonttype); + double heighttext(fonttype, char *); +--- a/src/drawtree.c ++++ b/src/drawtree.c +@@ -69,7 +69,7 @@ + uselengths, regular, rotate, empty, rescaled, + notfirst, improve, nbody, firstscreens, labelavoid; + boolean pictbold,pictitalic,pictshadow,pictoutline; +-boolean javarun; ++extern boolean javarun; + + striptype stripe; + plottertype plotter, oldplotter; +--- a/src/phylip.c ++++ b/src/phylip.c +@@ -34,6 +34,8 @@ + + #include "phylip.h" + ++boolean javarun; ++ + #ifdef WIN32 + #include + /* for console code (clear screen, text color settings) */ +--- a/src/phylip.h ++++ b/src/phylip.h +@@ -331,7 +331,7 @@ + /* Lower-triangular format. */ + #define MAT_LOWERTRI (MAT_LOWER | MAT_MACHINE) + +-boolean javarun; ++extern boolean javarun; + + typedef long *steptr; + typedef long longer[6]; +@@ -351,7 +351,6 @@ + extern long spp, words, bits; + extern boolean ibmpc, ansi, tranvsp; + extern naym *nayme; /* names of species */ +-boolean firstplotblock; // for debugging BMP output + + #define ebcdic EBCDIC + diff --git a/phylip/phylip-3.698-makefile.patch b/phylip/phylip-3.698-makefile.patch new file mode 100644 index 0000000000..18b4963742 --- /dev/null +++ b/phylip/phylip-3.698-makefile.patch @@ -0,0 +1,258 @@ +--- a/src/Makefile.unx ++++ b/src/Makefile.unx +@@ -91,7 +90,6 @@ + # + # + #A minimal one +-CFLAGS = + # + # A basic one for debugging + #CFLAGS = -g +@@ -220,7 +218,7 @@ + @echo "Done." + @echo "" + +-put: ++put: all + @echo "Installing PHYLIP v3.6 binaries in $(EXEDIR)" + @mkdir -p $(EXEDIR) + @cp $(PROGS) $(EXEDIR) +@@ -270,195 +268,195 @@ + clique.o: clique.c disc.h phylip.h + + clique: clique.o disc.o phylip.o +- $(CC) $(CFLAGS) clique.o disc.o phylip.o $(LIBS) -o clique ++ $(CC) $(LDFLAGS) clique.o disc.o phylip.o $(LIBS) -o clique + + cons.o: cons.c cons.h phylip.h + + consense.o: consense.c cons.h phylip.h + + consense: consense.o phylip.o cons.o +- $(CC) $(CFLAGS) consense.o phylip.o cons.o $(LIBS) -o consense ++ $(CC) $(LDFLAGS) consense.o phylip.o cons.o $(LIBS) -o consense + + contml.o: contml.c cont.h phylip.h + + contml: contml.o cont.o phylip.o +- $(CC) $(CFLAGS) contml.o cont.o phylip.o $(LIBS) -o contml ++ $(CC) $(LDFLAGS) contml.o cont.o phylip.o $(LIBS) -o contml + + contrast.o: contrast.c cont.h phylip.h + + contrast: contrast.o cont.o phylip.o +- $(CC) $(CFLAGS) contrast.o cont.o phylip.o $(LIBS) -o contrast ++ $(CC) $(LDFLAGS) contrast.o cont.o phylip.o $(LIBS) -o contrast + + dnacomp.o: dnacomp.c seq.h phylip.h + + dnacomp: dnacomp.o seq.o phylip.o +- $(CC) $(CFLAGS) dnacomp.o seq.o phylip.o $(LIBS) -o dnacomp ++ $(CC) $(LDFLAGS) dnacomp.o seq.o phylip.o $(LIBS) -o dnacomp + + dnadist.o: dnadist.c seq.h phylip.h + + dnadist: dnadist.o seq.o phylip.o +- $(CC) $(CFLAGS) dnadist.o seq.o phylip.o $(LIBS) -o dnadist ++ $(CC) $(LDFLAGS) dnadist.o seq.o phylip.o $(LIBS) -o dnadist + + dnainvar.o: dnainvar.c seq.h phylip.h + + dnainvar: dnainvar.o seq.o phylip.o +- $(CC) $(CFLAGS) dnainvar.o seq.o phylip.o $(LIBS) -o dnainvar ++ $(CC) $(LDFLAGS) dnainvar.o seq.o phylip.o $(LIBS) -o dnainvar + + dnaml.o: dnaml.c seq.h phylip.h + + dnaml: dnaml.o seq.o phylip.o +- $(CC) $(CFLAGS) dnaml.o seq.o phylip.o $(LIBS) -o dnaml ++ $(CC) $(LDFLAGS) dnaml.o seq.o phylip.o $(LIBS) -o dnaml + + dnamlk.o: dnamlk.c seq.h phylip.h mlclock.h printree.h + + dnamlk: dnamlk.o seq.o phylip.o mlclock.o printree.o +- $(CC) $(CFLAGS) dnamlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o dnamlk ++ $(CC) $(LDFLAGS) dnamlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o dnamlk + + dnamove.o: dnamove.c seq.h moves.h phylip.h + + dnamove: dnamove.o seq.o moves.o phylip.o +- $(CC) $(CFLAGS) dnamove.o seq.o moves.o phylip.o $(LIBS) -o dnamove ++ $(CC) $(LDFLAGS) dnamove.o seq.o moves.o phylip.o $(LIBS) -o dnamove + + dnapenny.o: dnapenny.c seq.h phylip.h + + dnapenny: dnapenny.o seq.o phylip.o +- $(CC) $(CFLAGS) dnapenny.o seq.o phylip.o $(LIBS) -o dnapenny ++ $(CC) $(LDFLAGS) dnapenny.o seq.o phylip.o $(LIBS) -o dnapenny + + dnapars.o: dnapars.c seq.h phylip.h + + dnapars: dnapars.o seq.o phylip.o +- $(CC) $(CFLAGS) dnapars.o seq.o phylip.o $(LIBS) -o dnapars ++ $(CC) $(LDFLAGS) dnapars.o seq.o phylip.o $(LIBS) -o dnapars + + dolmove.o: dolmove.c disc.h moves.h dollo.h phylip.h + + dolmove: dolmove.o disc.o moves.o dollo.o phylip.o +- $(CC) $(CFLAGS) dolmove.o disc.o moves.o dollo.o phylip.o $(LIBS) -o dolmove ++ $(CC) $(LDFLAGS) dolmove.o disc.o moves.o dollo.o phylip.o $(LIBS) -o dolmove + + dollop.o: dollop.c disc.h dollo.h phylip.h + + dollop: dollop.o disc.o dollo.o phylip.o +- $(CC) $(CFLAGS) dollop.o disc.o dollo.o phylip.o $(LIBS) -o dollop ++ $(CC) $(LDFLAGS) dollop.o disc.o dollo.o phylip.o $(LIBS) -o dollop + + dolpenny.o: dolpenny.c disc.h dollo.h phylip.h + + dolpenny: dolpenny.o disc.o dollo.o phylip.o +- $(CC) $(CFLAGS) dolpenny.o disc.o dollo.o phylip.o $(LIBS) -o dolpenny ++ $(CC) $(LDFLAGS) dolpenny.o disc.o dollo.o phylip.o $(LIBS) -o dolpenny + + draw.o: draw.c draw.h phylip.h +- $(CC) $(DFLAGS) -c draw.c ++ $(CC) $(DFLAGS) $(CPPFLAGS) -c draw.c + + draw2.o: draw2.c draw.h phylip.h +- $(CC) $(DFLAGS) -c draw2.c ++ $(CC) $(DFLAGS) $(CPPFLAGS) -c draw2.c + + drawgram.o: drawgram.c draw.h phylip.h +- $(CC) $(DFLAGS) -c drawgram.c ++ $(CC) $(DFLAGS) $(CPPFLAGS) -c drawgram.c + + drawgram: drawgram.o draw.o draw2.o phylip.o +- $(CC) $(DFLAGS) draw.o draw2.o drawgram.o phylip.o $(DLIBS) -o drawgram ++ $(CC) $(LDFLAGS) draw.o draw2.o drawgram.o phylip.o $(DLIBS) -o drawgram + + # needed by java +-libdrawgram.so: drawgram.o draw.o draw2.o phylip.o +- $(CC) $(CFLAGS) -o libdrawgram.so -shared -fPIC drawgram.c draw.c draw2.c phylip.c $(CLIBS) ++libdrawgram.so: ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o libdrawgram.so -Wl,-soname,libdrawgram.so -shared -fPIC drawgram.c draw.c draw2.c phylip.c $(CLIBS) + + drawtree.o: drawtree.c draw.h phylip.h +- $(CC) $(DFLAGS) -shared -fPIC -c drawtree.c ++ $(CC) $(DFLAGS) $(CPPFLAGS) -c drawtree.c + + drawtree: drawtree.o draw.o draw2.o phylip.o +- $(CC) $(DFLAGS) draw.o draw2.o drawtree.o phylip.o $(DLIBS) -o drawtree ++ $(CC) $(LDFLAGS) draw.o draw2.o drawtree.o phylip.o $(DLIBS) -o drawtree + + # needed by java +-libdrawtree.so: drawtree.o draw.o draw2.o phylip.o +- $(CC) $(CFLAGS) -o libdrawtree.so -shared -fPIC drawtree.c draw.c draw2.c phylip.c $(CLIBS) ++libdrawtree.so: ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o libdrawtree.so -Wl,-soname,libdrawtree.so -shared -fPIC drawtree.c draw.c draw2.c phylip.c $(CLIBS) + + factor.o: factor.c phylip.h + + factor: factor.o phylip.o +- $(CC) $(CFLAGS) factor.o phylip.o $(LIBS) -o factor ++ $(CC) $(LDFLAGS) factor.o phylip.o $(LIBS) -o factor + + fitch.o: fitch.c dist.h phylip.h + + fitch: fitch.o dist.o phylip.o +- $(CC) $(CFLAGS) fitch.o dist.o phylip.o $(LIBS) -o fitch ++ $(CC) $(LDFLAGS) fitch.o dist.o phylip.o $(LIBS) -o fitch + + gendist.o: gendist.c phylip.h + + gendist: gendist.o phylip.o +- $(CC) $(CFLAGS) gendist.o phylip.o $(LIBS) -o gendist ++ $(CC) $(LDFLAGS) gendist.o phylip.o $(LIBS) -o gendist + + kitsch.o: kitsch.c dist.h phylip.h + + kitsch: kitsch.o dist.o phylip.o +- $(CC) $(CFLAGS) kitsch.o dist.o phylip.o $(LIBS) -o kitsch ++ $(CC) $(LDFLAGS) kitsch.o dist.o phylip.o $(LIBS) -o kitsch + + mix.o: mix.c disc.h wagner.h phylip.h + + mix: mix.o disc.o wagner.o phylip.o +- $(CC) $(CFLAGS) mix.o disc.o wagner.o phylip.o $(LIBS) -o mix ++ $(CC) $(LDFLAGS) mix.o disc.o wagner.o phylip.o $(LIBS) -o mix + + move.o: move.c disc.h moves.h wagner.h phylip.h + + move: move.o disc.o moves.o wagner.o phylip.o +- $(CC) $(CFLAGS) move.o disc.o moves.o wagner.o phylip.o $(LIBS) -o move ++ $(CC) $(LDFLAGS) move.o disc.o moves.o wagner.o phylip.o $(LIBS) -o move + + neighbor.o: neighbor.c dist.h phylip.h + + neighbor: neighbor.o dist.o phylip.o +- $(CC) $(CFLAGS) neighbor.o dist.o phylip.o $(LIBS) -o neighbor ++ $(CC) $(LDFLAGS) neighbor.o dist.o phylip.o $(LIBS) -o neighbor + + pars.o: pars.c discrete.h phylip.h + + pars: pars.o discrete.o phylip.o +- $(CC) $(CFLAGS) pars.o discrete.o phylip.o $(LIBS) -o pars ++ $(CC) $(LDFLAGS) pars.o discrete.o phylip.o $(LIBS) -o pars + + penny.o: penny.c disc.h wagner.h phylip.h + + penny: penny.o disc.o wagner.o phylip.o +- $(CC) $(CFLAGS) penny.o disc.o wagner.o phylip.o $(LIBS) -o penny ++ $(CC) $(LDFLAGS) penny.o disc.o wagner.o phylip.o $(LIBS) -o penny + + proml.o: proml.c seq.h phylip.h + + proml: proml.o seq.o phylip.o +- $(CC) $(CFLAGS) proml.o seq.o phylip.o $(LIBS) -o proml ++ $(CC) $(LDFLAGS) proml.o seq.o phylip.o $(LIBS) -o proml + + promlk.o: promlk.c seq.h phylip.h mlclock.h printree.h + + promlk: promlk.o seq.o phylip.o mlclock.o printree.o +- $(CC) $(CFLAGS) promlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o promlk ++ $(CC) $(LDFLAGS) promlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o promlk + + protdist.o: protdist.c seq.h phylip.h + + protdist: protdist.o seq.o phylip.o +- $(CC) $(CFLAGS) protdist.o seq.o phylip.o $(LIBS) -o protdist ++ $(CC) $(LDFLAGS) protdist.o seq.o phylip.o $(LIBS) -o protdist + + protpars.o: protpars.c seq.h phylip.h + + protpars: protpars.o seq.o phylip.o +- $(CC) $(CFLAGS) protpars.o seq.o phylip.o $(LIBS) -o protpars ++ $(CC) $(LDFLAGS) protpars.o seq.o phylip.o $(LIBS) -o protpars + + restdist.o: restdist.c seq.h phylip.h + + restdist: restdist.o seq.o phylip.o +- $(CC) $(CFLAGS) restdist.o seq.o phylip.o $(LIBS) -o restdist ++ $(CC) $(LDFLAGS) restdist.o seq.o phylip.o $(LIBS) -o restdist + + restml.o: restml.c seq.h phylip.h + + restml: restml.o seq.o phylip.o +- $(CC) $(CFLAGS) restml.o seq.o phylip.o $(LIBS) -o restml ++ $(CC) $(LDFLAGS) restml.o seq.o phylip.o $(LIBS) -o restml + + retree.o: retree.c moves.h phylip.h + + retree: retree.o moves.o phylip.o +- $(CC) $(CFLAGS) retree.o moves.o phylip.o $(LIBS) -o retree ++ $(CC) $(LDFLAGS) retree.o moves.o phylip.o $(LIBS) -o retree + + seqboot.o: seqboot.c phylip.h + + seqboot: seqboot.o seq.o phylip.o +- $(CC) $(CFLAGS) seqboot.o seq.o phylip.o $(LIBS) -o seqboot ++ $(CC) $(LDFLAGS) seqboot.o seq.o phylip.o $(LIBS) -o seqboot + + treedist.o: treedist.c cons.h phylip.h + + treedist: treedist.o phylip.o cons.o +- $(CC) $(CFLAGS) treedist.o cons.o phylip.o $(LIBS) -o treedist ++ $(CC) $(LDFLAGS) treedist.o cons.o phylip.o $(LIBS) -o treedist + + + # ----------------------------------------------------------------------------