From patchwork Fri Apr 4 19:16:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 41296 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 97BC827BBE2; Fri, 4 Apr 2025 20:19:50 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A2B8627BBF5 for ; Fri, 4 Apr 2025 20:19:46 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u0mYL-0006dx-J8; Fri, 04 Apr 2025 15:18:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0mYJ-0006c8-Ml for guix-patches@gnu.org; Fri, 04 Apr 2025 15:18:07 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u0mYJ-0007oh-B7 for guix-patches@gnu.org; Fri, 04 Apr 2025 15:18:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=66Sgzt2DmnR0I5i4pPLNsv3WZIJZVZcEGZYlAI2tSl0=; b=bvuiltbxB2HHqDD0fM3sFiOo6Wb7jECvQ/S0fTjFxd9evmIoPhxbzS4lNONKLSvnsLw1sGntEZUzOX8SPU34dy+sDbjuVodCfNYGRqZRqWi22sJ3vd+kRoecGIbLx3WnvS7GFLPxRf3RxU5EQaRW2yPKPqXwI6ggY7PDp3RvJNt8jfvpHlpBnVXc8g8to1QjW8mUpDutDNOqYWjdfEc/2Co1cy28kHQFwtmLJCCdbB03q8XLd9YMMS+x1Y+p2VVXTTtdvRzqDZXjxJ9lHoManoA4tobbljJtS18stZ0fxRJ56Ij5J+tb3+4il+bhNVMxTEi8qKkz4/EmCWLAPy6wlA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1u0mYJ-0007LL-03 for guix-patches@gnu.org; Fri, 04 Apr 2025 15:18:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#77541] [PATCH 09/38] gnu: python-vaex-core: Update to 4.17.1. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 04 Apr 2025 19:18:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77541 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77541@debbugs.gnu.org Cc: Nicolas Graves Received: via spool by 77541-submit@debbugs.gnu.org id=B77541.174379425827899 (code B ref 77541); Fri, 04 Apr 2025 19:18:06 +0000 Received: (at 77541) by debbugs.gnu.org; 4 Apr 2025 19:17:38 +0000 Received: from localhost ([127.0.0.1]:40022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0mXp-0007Ff-1B for submit@debbugs.gnu.org; Fri, 04 Apr 2025 15:17:37 -0400 Received: from 6.mo563.mail-out.ovh.net ([46.105.55.200]:58521) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u0mXh-0007E5-KH for 77541@debbugs.gnu.org; Fri, 04 Apr 2025 15:17:30 -0400 Received: from director2.derp.mail-out.ovh.net (director2.derp.mail-out.ovh.net [79.137.60.36]) by mo563.mail-out.ovh.net (Postfix) with ESMTPS id 4ZTpJm12VGz1Y12; Fri, 4 Apr 2025 19:17:28 +0000 (UTC) Received: from director2.derp.mail-out.ovh.net (director2.derp.mail-out.ovh.net. [127.0.0.1]) by director2.derp.mail-out.ovh.net (inspect_sender_mail_agent) with SMTP for <77541@debbugs.gnu.org>; Fri, 4 Apr 2025 19:17:28 +0000 (UTC) Received: from mta6.priv.ovhmail-u1.ea.mail.ovh.net (unknown [10.110.168.98]) by director2.derp.mail-out.ovh.net (Postfix) with ESMTPS id 4ZTpJm0SsGzyDq; Fri, 4 Apr 2025 19:17:28 +0000 (UTC) Received: from ngraves.fr (unknown [10.1.6.3]) by mta6.priv.ovhmail-u1.ea.mail.ovh.net (Postfix) with ESMTPSA id B2A0FD43D38; Fri, 4 Apr 2025 19:17:27 +0000 (UTC) Authentication-Results: garm.ovh; auth=pass (GARM-106R00600198727-7569-468b-a901-e824bfdbc7e0, 5C763BAE2B049B0552D0CEA89988AE409CD35AAA) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.92.117.144 Date: Fri, 4 Apr 2025 21:16:41 +0200 Message-ID: <20250404191717.32747-9-ngraves@ngraves.fr> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250404191717.32747-1-ngraves@ngraves.fr> References: <20250404191717.32747-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 3479030713936044770 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduledvvdeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvdehleeiffehtedvlefhffffjeefgfduhfetkeevheeiteduiedugfekuedtheejnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucfkphepuddvjedrtddrtddruddpledtrdelvddruddujedrudeggeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepnhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeejheegudesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehnghhrrghvvghssehnghhrrghvvghsrdhfrhdpoffvtefjohhsthepmhhoheeifegmpdhmohguvgepshhmthhpohhuth DKIM-Signature: a=rsa-sha256; bh=66Sgzt2DmnR0I5i4pPLNsv3WZIJZVZcEGZYlAI2tSl0=; c=relaxed/relaxed; d=ngraves.fr; h=From; s=ovhmo4487190-selector1; t=1743794248; v=1; b=tTCKH9NYqvwsLsI8+s51eNa46Q3x+JFXbY160Dhvt1VQTlyA1LQtnXETqiwO7/mIwWHlkSNs 7zxNCVAlwIOXbimTmIwqMdHPqO1wrK2GTnswFSSZjbrMLUDjlUB16XojKZ/R52f3U4Nz/ORakol ZBC1B7YdUawX0F3YjqXa2lVDYrMQaI1LWQvaZ4jF+wCXD6FIApEZOjv5R3uT8zrXoRwbJXEbt5D ronxN8U1PdVIFb/psZ1T59VT1NCmseOKDeNnxwbYFW1ydlSEFXOSfZZoOzoGyOG0ZP+Vkq7Owr9 cGca7utedl6I8Yrf0Fy//0TtrJyH5e5MXq0qAaEoHL5VA== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/python-science.scm (python-vaex-core): Update to 4.17.1. * gnu/packages/patches/python-vaex-core-fix-tsl-use.patch: Add patch. * gnu/local.mk: Record patch. --- gnu/local.mk | 1 + .../python-vaex-core-fix-tsl-use.patch | 67 +++++++++++++++++++ gnu/packages/python-science.scm | 44 ++++++++---- 3 files changed, 100 insertions(+), 12 deletions(-) create mode 100644 gnu/packages/patches/python-vaex-core-fix-tsl-use.patch diff --git a/gnu/local.mk b/gnu/local.mk index 18ba0073fc..93f346481d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2142,6 +2142,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \ %D%/packages/patches/python-unittest2-python3-compat.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ + %D%/packages/patches/python-vaex-core-fix-tsl-use.patch \ %D%/packages/patches/python-vega-datasets-remove-la-riots-code.patch \ %D%/packages/patches/python-versioneer-guix-support.patch \ %D%/packages/patches/python-werkzeug-tests.patch \ diff --git a/gnu/packages/patches/python-vaex-core-fix-tsl-use.patch b/gnu/packages/patches/python-vaex-core-fix-tsl-use.patch new file mode 100644 index 0000000000..f4f6fc1c48 --- /dev/null +++ b/gnu/packages/patches/python-vaex-core-fix-tsl-use.patch @@ -0,0 +1,67 @@ +From 8cb8808b3ceccf4ab3ac542739ef490abe7e76b3 Mon Sep 17 00:00:00 2001 +Message-ID: <8cb8808b3ceccf4ab3ac542739ef490abe7e76b3.1743597010.git.ngraves@ngraves.fr> +From: Nicolas Graves +Date: Wed, 2 Apr 2025 14:29:40 +0200 +Subject: [PATCH] Fix tsl map use + +--- + packages/vaex-core/src/hash_string.hpp | 25 ++++++++++++++++--------- + 1 file changed, 16 insertions(+), 9 deletions(-) + +diff --git a/packages/vaex-core/src/hash_string.hpp b/packages/vaex-core/src/hash_string.hpp +index d3b60199..0ed69d1c 100644 +--- a/packages/vaex-core/src/hash_string.hpp ++++ b/packages/vaex-core/src/hash_string.hpp +@@ -39,13 +39,15 @@ class hash_base : public hash_common> { + for (int i = 0; i < nmaps; i++) { + string_arrays.emplace_back(std::make_shared()); + StringList64 *strings = string_arrays[i].get(); +- // equal_to& eq = this->maps[i].key_eq(); +- this->maps[i].m_ht.strings_equals = strings; +- this->maps[i].m_ht.strings_hash = strings; ++ equal_to eq; ++ eq.strings_equals = strings; ++ hash h; ++ h.strings_hash = strings; ++ this->maps[i] = hashmap_type(8, h, eq); + } + }; + +- virtual std::string _get(hashmap_type &map, typename hashmap_type::key_type key) override { return map.m_ht.strings_equals->get(key.index); }; ++ virtual std::string _get(hashmap_type &map, typename hashmap_type::key_type key) override { return string_arrays[0]->get(key.index); }; + + size_t bytes_used() const { + int64_t buffer_size = 0; // collect buffer size +@@ -391,9 +393,12 @@ class ordered_set : public hash_base, T, T, V> { + template + static ordered_set *create(std::shared_ptr keys, int64_t null_value, int64_t nan_count, int64_t null_count, std::string *fingerprint) { + ordered_set *set = new ordered_set(1); +- set->maps[0].m_ht.strings_equals = keys.get(); +- set->maps[0].m_ht.strings_hash = keys.get(); + set->string_arrays[0] = keys; ++ equal_to eq; ++ eq.strings_equals = keys.get(); ++ hash h; ++ h.strings_hash = keys.get(); ++ set->maps[0] = hashmap_type(keys->length, h, eq); + { + size_t size = keys->length; + set->maps[0].reserve(size); +@@ -701,9 +706,11 @@ class index_hash : public hash_base, T, T, V> { + // string_arrays_overflow.emplace_back(std::make_shared()); + // for each key in overflow, it should be present in the main string array + StringList64 *strings = this->string_arrays[i].get(); +- // equal_to& eq = this->maps[i].key_eq(); +- overflows[i].m_ht.strings_equals = strings; +- overflows[i].m_ht.strings_hash = strings; ++ equal_to eq; ++ eq.strings_equals = strings; ++ hash h; ++ h.strings_hash = strings; ++ overflows[i] = overflow_type(8, h, eq); + } + } + +-- +2.49.0 + diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 3bf266582d..73e08fccbe 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -4097,24 +4097,44 @@ (define-public python-opt-einsum (define-public python-vaex-core (package (name "python-vaex-core") - (version "4.17.1") + (version "4.18.1") (source (origin - (method url-fetch) - (uri (pypi-uri "vaex-core" version)) + (method git-fetch) + (uri (git-reference + (url "https://www.github.com/maartenbreddels/vaex") + (commit (string-append "core-v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1rzx5px3fwi5mh1z8y91brvffk7dkhj287lnmqp8zp6836kkqhya")) - (modules '((guix build utils))) + (base32 "1sp096msbzgjlwi8c1ink2bp4pjff9pvikqz1y1li8d3in4gpgdr")) + (patches + (search-patches "python-vaex-core-fix-tsl-use.patch")) + (modules '((guix build utils) + (ice-9 ftw))) (snippet - ;; Remove bundled libraries - '(for-each delete-file-recursively - (list "vendor/boost" - "vendor/pcre" - "vendor/pybind11"))))) + #~(begin + ;; Delete everything except for vaex-core itself: + (define (delete-except exception) + (lambda (file) + (unless (member file `("." ".." ,exception)) + (delete-file-recursively file)))) + (for-each (delete-except "packages") (scandir ".")) + (with-directory-excursion "packages" + (for-each (delete-except "vaex-core") (scandir "."))) + (for-each (lambda (file) + (unless (member file '("." "..")) + (rename-file + (string-append "packages/vaex-core/" file) + file))) + (scandir "packages/vaex-core")) + (delete-file-recursively "packages") + (delete-file-recursively "vendor"))))) (build-system pyproject-build-system) - (arguments (list #:tests? #false)) ;require vaex.server and others, which require vaex-core. + (arguments + ;; require vaex.server and others, which require vaex-core. + (list #:tests? #false)) (inputs - (list boost pcre pybind11-2.3)) + (list boost pcre pybind11 string-view-lite tsl-hopscotch-map)) (propagated-inputs (list python-aplus python-blake3