summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Yantis2015-06-11 08:02:20 -0700
committerJonathan Yantis2015-06-11 08:02:20 -0700
commitbc5265502d0662023cf725235922412e5c07fee7 (patch)
treefa7f893e4a177043f35625e0fec4a4083c84b63d
downloadaur-bc5265502d0662023cf725235922412e5c07fee7.tar.gz
Initial import
-rw-r--r--.SRCINFO41
-rw-r--r--PKGBUILD192
2 files changed, 233 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..169be5a1e959
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,41 @@
+pkgbase = xgboost-git
+ pkgver = r1639.00a8076
+ pkgrel = 2
+ url = https://github.com/tqchen/xgboost
+ arch = x86_64
+ license = APACHE
+ makedepends = git
+ source = git+https://github.com/tqchen/xgboost.git
+ sha256sums = SKIP
+
+pkgname = xgboost-git
+ pkgdesc = An optimized general purpose gradient boosting library. Which is parallelized using OpenMP. It implements machine learning algorithm under gradient boosting framework, including generalized linear model and gradient boosted regression tree
+ depends = python
+ depends = bash
+ optdepends = python-xgboost-git: Python 3 Wrapper
+ optdepends = python2-xgboost-git: Python 2 Wrapper
+ provides = xgboost
+ conflicts = xgboost
+
+pkgname = python-xgboost-git
+ pkgdesc = XGBoost Python 3 wrapper
+ depends = xgboost
+ depends = python
+ depends = python-numpy
+ depends = python-scipy
+ depends = python-setuptools
+ depends = bash
+ provides = python-xgboost
+ conflicts = python-xgboost
+
+pkgname = python2-xgboost-git
+ pkgdesc = XGBoost Python 2 wrapper
+ depends = xgboost
+ depends = python2
+ depends = python2-numpy
+ depends = python2-scipy
+ depends = python2-setuptools
+ depends = bash
+ provides = python2-xgboost
+ conflicts = python2-xgboost
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..eec9dd669328
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,192 @@
+# Maintainer: jyantis <yantis@yantis.net>
+
+# R package isn't compiling anymore so temp removed.
+
+pkgbase=xgboost-git
+pkgname=('xgboost-git'
+ 'python-xgboost-git'
+ 'python2-xgboost-git'
+ )
+ # 'r-xgboost-git'
+pkgver=r1639.00a8076
+pkgrel=2
+url='https://github.com/tqchen/xgboost'
+license=('APACHE')
+source=('git+https://github.com/tqchen/xgboost.git')
+sha256sums=('SKIP')
+makedepends=('git')
+arch=('x86_64')
+pkgver() {
+ cd xgboost
+ set -o pipefail
+ git describe --long | sed -r 's/([^-]*-g)/r\1/;s/-/./g' ||
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+package_xgboost-git() {
+ pkgdesc='An optimized general purpose gradient boosting library. Which is parallelized using OpenMP. It implements machine learning algorithm under gradient boosting framework, including generalized linear model and gradient boosted regression tree'
+ provides=('xgboost')
+ conflicts=('xgboost')
+ depends=('python' 'bash')
+ optdepends=('python-xgboost-git: Python 3 Wrapper'
+ 'python2-xgboost-git: Python 2 Wrapper')
+ # 'r-xgboost-git: R Wrapper'
+
+ cd xgboost
+ make
+
+ # Install License
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ # Install Documentation
+ install -D -m644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
+
+ # Install main executable
+ install -Dm755 "xgboost" "$pkgdir/usr/bin/xgboost"
+
+ # Install shared libraries
+ mkdir -p $pkgdir/usr/lib/
+ install -Dm644 wrapper/*.so "${pkgdir}/usr/lib/"
+
+ mkdir -p $pkgdir/opt/xgboost
+
+ # Copy the python wrapper to opt/xgboost
+ cp -r wrapper $pkgdir/opt/xgboost
+
+ # Copy the demos to opt/xgboost
+ cp -r demo $pkgdir/opt/xgboost
+}
+
+# package_r-xgboost-git() {
+# msg "You will need to have these R packages installed to use this"
+# msg "Type this in R:"
+# msg "install.packages(\"data.table\", repos=\"http://cran.rstudio.com/\")"
+# msg "install.packages(\"magrittr\", repos=\"http://cran.rstudio.com/\")"
+# msg "install.packages(\"DiagrammeR\", repos=\"http://cran.rstudio.com/\")"
+# msg "install.packages(\"vcd\", repos=\"http://cran.rstudio.com/\")"
+
+# pkgdesc="XGBoost R wrapper"
+# depends=('xgboost' 'r')
+# conflicts=('r-xgboost')
+# provides=('r-xgboost')
+# makedepends=('xgboost')
+
+# cd xgboost
+
+# # Hotpatch Error: T used instead of TRUE
+# for file in $(find . -name '*.R' -print); do
+# sed -i 's/ = T)/ = TRUE)/' $file
+# done
+
+# for file in $(find . -name '*.Rd' -print); do
+# sed -i 's/ = T)/ = TRUE)/' $file
+# done
+
+# make clean
+# rm -rf xgboost xgboost*.tar.gz
+# cp -r R-package xgboost
+# rm -rf xgboost/inst/examples/*.buffer
+# rm -rf xgboost/inst/examples/*.model
+# rm -rf xgboost/inst/examples/dump*
+# rm -rf xgboost/src/*.o xgboost/src/*.so xgboost/src/*.dll
+# rm -rf xgboost/demo/*.model xgboost/demo/*.buffer xgboost/demo/*.txt
+# rm -rf xgboost/demo/runall.R
+# cp -r src xgboost/src/src
+# mkdir xgboost/src/wrapper
+# cp wrapper/xgboost_wrapper.h xgboost/src/wrapper
+# cp wrapper/xgboost_wrapper.cpp xgboost/src/wrapper
+# cp ./LICENSE xgboost
+# cat R-package/src/Makevars|sed '2s/.*/PKGROOT=./' > xgboost/src/Makevars
+# cat R-package/src/Makevars.win|sed '2s/.*/PKGROOT=./' > xgboost/src/Makevars.win
+# R CMD build xgboost
+# rm -rf xgboost
+# R CMD INSTALL --as-cran xgboost*.tar.gz
+# }
+
+package_python2-xgboost-git() {
+ pkgdesc="XGBoost Python 2 wrapper"
+ depends=('xgboost'
+ 'python2'
+ 'python2-numpy'
+ 'python2-scipy'
+ 'python2-setuptools'
+ 'bash')
+ conflicts=('python2-xgboost')
+ provides=('python2-xgboost')
+ makedepends=('xgboost')
+
+ cd xgboost
+
+ msg "Patching any #!/usr/bin/python to #!/usr/bin/python2"
+ for file in $(find . -name '*.py' -print); do
+ sed -r -i 's_^#!.*/usr/bin/python(\s|$)_#!/usr/bin/python2_' $file
+ sed -r -i 's_^#!.*/usr/bin/env(\s)*python(\s|$)_#!/usr/bin/env python2_' $file
+ done
+
+ msg "Patching it so it can find the shared library"
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's/os.path.dirname(__file__)/"\/usr\/lib" /' $file
+ done
+
+ msg "Patching out the sys path usage since we don't use it anymore"
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's/sys.path.append/# sys.path.append/' $file
+ done
+
+ msg "Patching in our module"
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's/import xgboost/from xgboost import xgboost/' $file
+ done
+
+ msg "Since no setup.py lets set it up by hand"
+ pydir=`python2 -c "from distutils.sysconfig import get_python_lib; \
+ print get_python_lib()"`
+ mkdir -p "${pkgdir}/${pydir}"
+ mkdir -p "${pkgdir}/${pydir}/xgboost"
+ touch "${pkgdir}/${pydir}/xgboost/__init__.py"
+
+ cp wrapper/xgboost.py "${pkgdir}/${pydir}/xgboost"
+ cp -R demo "${pkgdir}/${pydir}/xgboost"
+}
+
+package_python-xgboost-git() {
+ pkgdesc="XGBoost Python 3 wrapper"
+ depends=('xgboost'
+ 'python'
+ 'python-numpy'
+ 'python-scipy'
+ 'python-setuptools'
+ 'bash')
+ conflicts=('python-xgboost')
+ provides=('python-xgboost')
+ makedepends=('xgboost')
+
+ cd xgboost
+
+ msg "Patching it so it can find the shared library"
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's/os.path.dirname(__file__)/"\/usr\/lib" /' $file
+ done
+
+ msg "Patching out the sys path usage since we don't use it anymore"
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's/sys.path.append/# sys.path.append/' $file
+ done
+
+ msg "Patching in our module"
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's/import xgboost/from xgboost import xgboost/' $file
+ done
+
+ msg "Since no setup.py lets set it up by hand"
+ pydir=`python -c "from distutils.sysconfig import get_python_lib; \
+ print(get_python_lib())"`
+ mkdir -p "${pkgdir}/${pydir}"
+ mkdir -p "${pkgdir}/${pydir}/xgboost"
+ touch "${pkgdir}/${pydir}/xgboost/__init__.py"
+
+ cp wrapper/xgboost.py "${pkgdir}/${pydir}/xgboost"
+ cp -R demo "${pkgdir}/${pydir}/xgboost"
+}
+
+# vim:set ts=2 sw=2 et: