gnu: Add xgboost.
* gnu/packages/machine-learning.scm (xgboost): New variable. * gnu/packages/patches/xgboost-use-system-dmlc-core.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
parent
7e73fc3bb9
commit
6e5e60a20c
3 changed files with 67 additions and 0 deletions
|
@ -1888,6 +1888,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
|
||||
%D%/packages/patches/xfce4-panel-plugins.patch \
|
||||
%D%/packages/patches/xfce4-settings-defaults.patch \
|
||||
%D%/packages/patches/xgboost-use-system-dmlc-core.patch \
|
||||
%D%/packages/patches/xmonad-dynamic-linking.patch \
|
||||
%D%/packages/patches/xnnpack-system-libraries.patch \
|
||||
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
|
||||
|
|
|
@ -2338,6 +2338,38 @@ (define-public dmlc-core
|
|||
learning libraries.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public xgboost
|
||||
(package
|
||||
(name "xgboost")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dmlc/xgboost")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "xgboost-use-system-dmlc-core.patch"))
|
||||
(sha256
|
||||
(base32 "00liz816ahk9zj3jv3m2fqwlf6xxfbgvpmpl72iklx32vl192w5d"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DGOOGLE_TEST=ON")))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)
|
||||
("python" ,python-wrapper)))
|
||||
(inputs
|
||||
`(("dmlc-core" ,dmlc-core)))
|
||||
(home-page "https://xgboost.ai/")
|
||||
(synopsis "Gradient boosting (GBDT, GBRT or GBM) library")
|
||||
(description
|
||||
"XGBoost is an optimized distributed gradient boosting library designed
|
||||
to be highly efficient, flexible and portable. It implements machine learning
|
||||
algorithms under the Gradient Boosting framework. XGBoost provides a parallel
|
||||
tree boosting (also known as GBDT, GBM) that solve many data science problems
|
||||
in a fast and accurate way.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-iml
|
||||
(package
|
||||
(name "python-iml")
|
||||
|
|
34
gnu/packages/patches/xgboost-use-system-dmlc-core.patch
Normal file
34
gnu/packages/patches/xgboost-use-system-dmlc-core.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
From 34167cc105e47589b86b6f62da76e0ab744002dd Mon Sep 17 00:00:00 2001
|
||||
From: Vinicius Monego <monego@posteo.net>
|
||||
Date: Tue, 11 May 2021 19:35:30 -0300
|
||||
Subject: [PATCH] Use dmlc-core from Guix.
|
||||
|
||||
---
|
||||
This patch is a subset of the following Debian patch: https://sources.debian.org/src/xgboost/1.2.1-1/debian/patches/cmake.patch/
|
||||
|
||||
Rabit is now developed as part of xgboost, so we don't build it separately.
|
||||
|
||||
CMakeLists.txt | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6cc19fbd..3b42bc17 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -150,11 +150,9 @@ endif (USE_OPENMP)
|
||||
|
||||
# dmlc-core
|
||||
msvc_use_static_runtime()
|
||||
-add_subdirectory(${xgboost_SOURCE_DIR}/dmlc-core)
|
||||
-set_target_properties(dmlc PROPERTIES
|
||||
- CXX_STANDARD 14
|
||||
- CXX_STANDARD_REQUIRED ON
|
||||
- POSITION_INDEPENDENT_CODE ON)
|
||||
+add_library(dmlc SHARED IMPORTED)
|
||||
+find_library(DMLC_LIBRARY dmlc)
|
||||
+set_property(TARGET dmlc PROPERTY IMPORTED_LOCATION "${DMLC_LIBRARY}")
|
||||
if (MSVC)
|
||||
target_compile_options(dmlc PRIVATE
|
||||
-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE)
|
||||
--
|
||||
2.31.1
|
Loading…
Reference in a new issue