[PATCH] gnu: xgboost: Update to 1.5.2.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Vinicius Monego
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Vinicius Monego
Severity
normal
V
V
Vinicius Monego wrote on 19 Jan 2022 14:43
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20220119134356.36919-1-monego@posteo.net
* gnu/packages/machine-learning.scm (xgboost, python-xgboost): Update to
1.5.2.
(python-xgboost): Enable previously failing test.
* gnu/packages/patches/xgboost-use-system-dmlc-core.patch: Update patch.
---
gnu/packages/machine-learning.scm | 8 ++-
.../xgboost-use-system-dmlc-core.patch | 53 ++++++++++---------
2 files changed, 30 insertions(+), 31 deletions(-)

Toggle diff (110 lines)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index e5dbba21dd..318c7a0c17 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
-;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -2497,7 +2497,7 @@ learning libraries.")
(define-public xgboost
(package
(name "xgboost")
- (version "1.4.2")
+ (version "1.5.2")
(source
(origin
(method git-fetch)
@@ -2507,7 +2507,7 @@ learning libraries.")
(file-name (git-file-name name version))
(patches (search-patches "xgboost-use-system-dmlc-core.patch"))
(sha256
- (base32 "00liz816ahk9zj3jv3m2fqwlf6xxfbgvpmpl72iklx32vl192w5d"))))
+ (base32 "0qx04y7cz8z7qv6bk9q7d7ba9b7xzj53l83l2x9ykdwhzacc3dn0"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DGOOGLE_TEST=ON")))
@@ -2580,8 +2580,6 @@ in a fast and accurate way.")
" and not test_cv_no_shuffle"
" and not test_cv"
" and not test_training"
- ;; FIXME: May pass in the next version.
- " and not test_pandas"
;; "'['./runexp.sh']' returned non-zero exit status 1"
" and not test_cli_binary_classification"))))))))
(native-inputs
diff --git a/gnu/packages/patches/xgboost-use-system-dmlc-core.patch b/gnu/packages/patches/xgboost-use-system-dmlc-core.patch
index c654694fec..6b2a1651a5 100644
--- a/gnu/packages/patches/xgboost-use-system-dmlc-core.patch
+++ b/gnu/packages/patches/xgboost-use-system-dmlc-core.patch
@@ -1,34 +1,35 @@
-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)
+# This patch was imported from Debian: https://sources.debian.org/src/xgboost/1.5.1-1/debian/patches/cmake-dmlc-core.patch/
+Index: xgboost/CMakeLists.txt
+===================================================================
+--- xgboost.orig/CMakeLists.txt
++++ xgboost/CMakeLists.txt
+@@ -164,7 +164,9 @@ endif (USE_NCCL)
+
# 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
+ if (TARGET dmlc_unit_tests)
+@@ -222,7 +224,7 @@ set_target_properties(runxgboost PROPERT
+ #-- End CLI for xgboost
+
+ # Common setup for all targets
+-foreach(target xgboost objxgboost dmlc runxgboost)
++foreach(target xgboost objxgboost runxgboost)
+ xgboost_target_properties(${target})
+ xgboost_target_link_libraries(${target})
+ xgboost_target_defs(${target})
+@@ -273,7 +275,7 @@ install(DIRECTORY ${xgboost_SOURCE_DIR}/
+ #
+ # https://github.com/dmlc/xgboost/issues/6085
+ if (BUILD_STATIC_LIB)
+- set(INSTALL_TARGETS xgboost runxgboost objxgboost dmlc)
++ set(INSTALL_TARGETS xgboost runxgboost objxgboost)
+ else (BUILD_STATIC_LIB)
+ set(INSTALL_TARGETS xgboost runxgboost)
+ endif (BUILD_STATIC_LIB)

base-commit: 36f4745dc10e5d0e8b2a62cd2c8439629debae4f
--
2.30.2
L
L
Ludovic Courtès wrote on 24 Jan 2022 10:36
(name . Vinicius Monego)(address . monego@posteo.net)(address . 53363@debbugs.gnu.org)
87fspdwk3w.fsf@gnu.org
Hi Vinicius,

Vinicius Monego <monego@posteo.net> skribis:

Toggle quote (5 lines)
> * gnu/packages/machine-learning.scm (xgboost, python-xgboost): Update to
> 1.5.2.
> (python-xgboost): Enable previously failing test.
> * gnu/packages/patches/xgboost-use-system-dmlc-core.patch: Update patch.

LGTM, but I cannot apply it:

Toggle snippet (9 lines)
$ git am --show-current-patch=diff|patch -p1
patching file gnu/packages/machine-learning.scm
Hunk #2 succeeded at 2490 (offset -7 lines).
Hunk #3 succeeded at 2500 (offset -7 lines).
Hunk #4 succeeded at 2573 (offset -7 lines).
patching file gnu/packages/patches/xgboost-use-system-dmlc-core.patch
patch: **** malformed patch at line 93: -2.31.1

It’s the second time today I fail to apply a patch-containing patch.
Does that ring a bell?

Thanks,
Ludo’.
R
R
Ricardo Wurmus wrote on 24 Jan 2022 12:34
[PATCH] gnu: xgboost: Update to 1.5.2.
(address . 53363-done@debbugs.gnu.org)
87czkhnz7h.fsf@elephly.net
Hi,

I applied the patch and pushed it to the “master” branch with commit
c30fa177f3717094e72c01ebba330b638a5e6e65.

Thanks!

--
Ricardo
Closed
?