From 630c39d8df7557b6a0941c1d5ee879e487de0f5e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 30 Jul 2021 17:26:24 +0200 Subject: gnu: onnx: Change source to 'git-fetch'. * gnu/packages/machine-learning.scm (onnx)[source]: Change to 'git-fetch'. Add "onnx-skip-model-downloads.patch". [arguments]: Add 'make-test-directory-writable' phase. * gnu/packages/patches/onnx-skip-model-downloads.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/machine-learning.scm | 31 +++++++++++++++------- .../patches/onnx-skip-model-downloads.patch | 16 +++++++++++ 3 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/onnx-skip-model-downloads.patch diff --git a/gnu/local.mk b/gnu/local.mk index e6c03cbe55..450d9574b0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1514,6 +1514,7 @@ dist_patch_DATA = \ %D%/packages/patches/oneko-remove-nonfree-characters.patch \ %D%/packages/patches/onnx-use-system-googletest.patch \ %D%/packages/patches/onnx-shared-libraries.patch \ + %D%/packages/patches/onnx-skip-model-downloads.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \ diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 75faeb8eb8..177d1aaa4f 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -585,16 +585,20 @@ in terms of new algorithms.") (package (name "onnx") (version "1.9.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "onnx" version)) - (patches (search-patches "onnx-use-system-googletest.patch" - "onnx-shared-libraries.patch")) - (sha256 - (base32 "0yjv2axz2vc2ysniwislsp53fsb8f61y1warrr2ppn2d9ijml1d9")) - (modules '((guix build utils))) - (snippet '(delete-file-recursively "third_party")))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/onnx/onnx") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1xnii361f68x0masxgfc4ai7hh3wlxxk56aznwf4m4yr6wqx47ml")) + (file-name (git-file-name name version)) + (patches (search-patches "onnx-use-system-googletest.patch" + "onnx-shared-libraries.patch" + "onnx-skip-model-downloads.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "third_party")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -625,6 +629,13 @@ in terms of new algorithms.") ;; -j'. (setenv "MAX_JOBS" (number->string (parallel-job-count))))) + (add-before 'check 'make-test-directory-writable + (lambda _ + ;; Make things writable for tests. + (setenv "HOME" (getcwd)) + (for-each make-file-writable + (find-files "onnx/examples" "." + #:directories? #t)))) (add-after 'install 'install-from-cmake (lambda _ ;; Run "make install" in the build tree 'setup.py' diff --git a/gnu/packages/patches/onnx-skip-model-downloads.patch b/gnu/packages/patches/onnx-skip-model-downloads.patch new file mode 100644 index 0000000000..4ab55b4ceb --- /dev/null +++ b/gnu/packages/patches/onnx-skip-model-downloads.patch @@ -0,0 +1,16 @@ +A few tests require downloading models from URLs such as + . +Skip those. + +diff --git a/onnx/backend/test/runner/__init__.py b/onnx/backend/test/runner/__init__.py +index 049ed57b..f236f1bf 100644 +--- a/onnx/backend/test/runner/__init__.py ++++ b/onnx/backend/test/runner/__init__.py +@@ -202,6 +202,7 @@ class Runner(object): + print('Start downloading model {} from {}'.format( + model_test.model_name, + model_test.url)) ++ raise unittest.SkipTest('Skipping download') + urlretrieve(model_test.url, download_file.name) + print('Done') + with tarfile.open(download_file.name) as t: -- cgit v1.2.3