summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancisco Pina Martins2016-04-13 12:20:22 +0100
committerFrancisco Pina Martins2016-04-13 12:20:22 +0100
commitf5bfc6c22256bfc0069d9a20d3d5e7bf614f6402 (patch)
tree1e655bb989e05fae53d884695fe8730c3d850ab5
downloadaur-f5bfc6c22256bfc0069d9a20d3d5e7bf614f6402.tar.gz
Initial PKGBUILD version of PLINK.
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD32
-rw-r--r--current_gcc.patch67
3 files changed, 117 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d8017c9d43df
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,18 @@
+pkgbase = plink
+ pkgdesc = Whole genome association analysis toolset
+ pkgver = 1.07
+ pkgrel = 1
+ url = http://pngu.mgh.harvard.edu/~purcell/plink/
+ arch = i686
+ arch = x86_64
+ license = GPL
+ depends = r
+ depends = zlib
+ depends = lapack
+ source = http://pngu.mgh.harvard.edu/~purcell/plink/dist/plink-1.07-src.zip
+ source = current_gcc.patch
+ md5sums = 4566376791df4e69459b849bd7078fa3
+ md5sums = 407ef451ca255ff201bffbba37d0a4e2
+
+pkgname = plink
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c939310d1466
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Stunts <f.pinamartins@gmail.com>
+pkgname=plink
+pkgver=1.07
+pkgrel=1
+pkgdesc="Whole genome association analysis toolset"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://pngu.mgh.harvard.edu/~purcell/plink/"
+depends=('r' 'zlib' 'lapack')
+source=(http://pngu.mgh.harvard.edu/~purcell/plink/dist/${pkgname}-${pkgver}-src.zip
+ current_gcc.patch)
+md5sums=('4566376791df4e69459b849bd7078fa3'
+ '407ef451ca255ff201bffbba37d0a4e2')
+
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}-src
+ sed -i 's/WITH_LAPACK = /&1/g' Makefile
+ sed -i 's/CXXFLAGS = //' Makefile
+ sed -i 's/FORCE_DYNAMIC = /&1/' Makefile
+ patch -p1 < ../current_gcc.patch
+}
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}-src
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}-src
+ install -d ${pkgdir}/usr/bin
+ install -D -m 755 plink ${pkgdir}/usr/bin/plink
+}
diff --git a/current_gcc.patch b/current_gcc.patch
new file mode 100644
index 000000000000..1bfef3004f40
--- /dev/null
+++ b/current_gcc.patch
@@ -0,0 +1,67 @@
+diff -rupN plink-1.07-src-orig/elf.cpp plink-1.07-src/elf.cpp
+--- plink-1.07-src-orig/elf.cpp 2009-10-10 17:00:21.000000000 +0100
++++ plink-1.07-src/elf.cpp 2016-04-13 11:43:48.518604345 +0100
+@@ -1175,10 +1175,10 @@ void Plink::elfBaseline()
+ << setw(8) << gcnt << " "
+ << setw(8) << (double)cnt / (double)gcnt << "\n";
+
+- map<int,int>::iterator i = chr_cnt.begin();
+- while ( i != chr_cnt.end() )
++ map<int,int>::iterator i2 = chr_cnt.begin();
++ while ( i2 != chr_cnt.end() )
+ {
+- int c = i->first;
++ int c = i2->first;
+ int x = chr_cnt.find( c )->second;
+ int y = chr_gcnt.find( c )->second;
+
+@@ -1189,7 +1189,7 @@ void Plink::elfBaseline()
+ << setw(8) << y << " "
+ << setw(8) << (double)x / (double)y << "\n";
+
+- ++i;
++ ++i2;
+ }
+
+
+diff -rupN plink-1.07-src-orig/idhelp.cpp plink-1.07-src/idhelp.cpp
+--- plink-1.07-src-orig/idhelp.cpp 2009-10-10 17:00:22.000000000 +0100
++++ plink-1.07-src/idhelp.cpp 2016-04-13 11:45:59.860417525 +0100
+@@ -772,12 +772,12 @@ void IDHelper::idHelp()
+ for (int j = 0 ; j < jointField.size(); j++ )
+ {
+ set<IDField*> & jf = jointField[j];
+- set<IDField*>::iterator j = jf.begin();
++ set<IDField*>::iterator j2 = jf.begin();
+ PP->printLOG(" { ");
+- while ( j != jf.end() )
++ while ( j2 != jf.end() )
+ {
+- PP->printLOG( (*j)->name + " " );
+- ++j;
++ PP->printLOG( (*j2)->name + " " );
++ ++j2;
+ }
+ PP->printLOG(" }");
+ }
+
+
+diff -rupN plink-1.07-src-orig/sets.cpp plink-1.07-src/sets.cpp
+--- plink-1.07-src-orig/sets.cpp 2009-10-10 17:00:20.000000000 +0100
++++ plink-1.07-src/sets.cpp 2016-04-13 11:42:16.252106931 +0100
+@@ -768,11 +768,11 @@ vector_t Set::profileTestScore()
+ //////////////////////////////////////////////
+ // Reset original missing status
+
+- vector<Individual*>::iterator i = PP->sample.begin();
+- while ( i != PP->sample.end() )
++ vector<Individual*>::iterator i2 = PP->sample.begin();
++ while ( i2 != PP->sample.end() )
+ {
+- (*i)->missing = (*i)->flag;
+- ++i;
++ (*i2)->missing = (*i2)->flag;
++ ++i2;
+ }
+
+ ////////////////////////////////////////////////