From nobody Mon Jun 1 06:37:07 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gTPQD4PXFz6gX4c for ; Mon, 01 Jun 2026 06:37:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTPQC5J39z428r for ; Mon, 01 Jun 2026 06:37:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780295827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sNCgkpwD79gzK0GtULrRUNr7XLINJP5ZJL1Sy8wdoG4=; b=oAo7Xvz6cSHiLwjSisqzNSXuYZFwTueaHVVOSxrbF2OEHCwTac61e67hTkNtjXlGPb2TwV gZTOP4zvqSC7WX5WjifGtgL3/4Q3PyxpEJKcffk++9wE2UA03ChsIPaJr+mZwJ1NA9Q9hk pD5vw8VuhO6Yg56NZYKsYUb2daNW28armbDQBNA5RDXyQOlkkzjOJVMP0IUNVQLtVaSxoz aWDF4UijniZoF837BohWfwg+E+Xm1OUMYsbRz7vtRVT2fQkkh6gv/Rky/ruKPuTd7617lc VIo3VNZIIw6JCObMmIE5h91RykLvRDDnbsxNDsd4H9vMCqzkDSKIvUSbjB8jkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780295827; a=rsa-sha256; cv=none; b=Xlbo8DJf1MQTrN2myJgNZbHzRUXP/rAmXsENmgiAmakatJOijJgtiPhI0JBA5JKG2PPaSg jsM79rykGLQBldh2401rnQVlM5HkNdPn9ydcREN42aDxdp25i/zy6DyDXwp+uiUuPcLTeU 8WFaaSw2y41GYrHGacxlN8ucx8AswUjNoOwRJYEY4Ps0Y0+IMiQnCOLxE+H5M8l5RBhNXU Sfo6AEK1gSV/m4RsOWBFgn7BjTbiluIMh0+vj8z7UMrL0MuE+0nui5hLn14f0zjt2sZ0BR yJKEbqbyiiqV5E4+AQdfpHzfaOjg0UI5D10UvhK8Xp0Wgum7qOAo/bQ7nkRqng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780295827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sNCgkpwD79gzK0GtULrRUNr7XLINJP5ZJL1Sy8wdoG4=; b=ONCs/wm9Mo2TuuYFCSJJ3zEDiSoLK+D/6wOAiYqrcisFumi8L2kKI+ijpIPRw/ZsTdsS/m /Mx+IRdeFJPVG0bCnf6dfB3rb1k3l4g1k75WXWFDWJJx8ki3cIIpwAUtLn1xxojX4cc2fI I2U8jKc+/TTEKtTBeKtpqy6Mq4QCE3LQMkvXLK/4+gjs4/IiOLO10ZpzN95FjeAjjncR/2 ZIOOYoudjiJGCfjX2by2bhF1jSQJad3pbu0bNjsceHbuuU8wxpVLk+XpSgRTTYN8voAq4H bjzdi0aTVnDWVI3Vl198m92s/J4O6dyT2WeOVITzM6tvKALb6OlFS6kus+qLNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTPQC4fMDzB6c for ; Mon, 01 Jun 2026 06:37:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c7b4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 06:37:07 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 4bc419c85c17 - main - math/lemon: Add patches List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4bc419c85c17ec045f69bee24d814b7b8f6eebbc Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 06:37:07 +0000 Message-Id: <6a1d2893.1c7b4.60577b6@gitrepo.freebsd.org> The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=4bc419c85c17ec045f69bee24d814b7b8f6eebbc commit 4bc419c85c17ec045f69bee24d814b7b8f6eebbc Author: Yuri Victorovich AuthorDate: 2026-06-01 06:32:33 +0000 Commit: Yuri Victorovich CommitDate: 2026-06-01 06:36:45 +0000 math/lemon: Add patches --- math/lemon/Makefile | 2 +- math/lemon/files/patch-lemon_bits_array__map.h | 108 ++++++++++++++++++++++++ math/lemon/files/patch-lemon_network__simplex.h | 24 ++++++ 3 files changed, 133 insertions(+), 1 deletion(-) diff --git a/math/lemon/Makefile b/math/lemon/Makefile index 79b26d1b75ea..455c084956dd 100644 --- a/math/lemon/Makefile +++ b/math/lemon/Makefile @@ -1,6 +1,6 @@ PORTNAME= lemon DISTVERSION= 1.3.1 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= math MASTER_SITES= https://lemon.cs.elte.hu/pub/sources/ PKGNAMEPREFIX= coin-or- diff --git a/math/lemon/files/patch-lemon_bits_array__map.h b/math/lemon/files/patch-lemon_bits_array__map.h new file mode 100644 index 000000000000..404c1faba292 --- /dev/null +++ b/math/lemon/files/patch-lemon_bits_array__map.h @@ -0,0 +1,108 @@ +-- Replace deprecated std::allocator::construct/destroy (removed in C++20) with +-- placement new and explicit destructor calls. These are compatible with C++11 +-- through C++26 and fix compilation of C++20 consumers of LEMON (e.g. OpenROAD). + +--- lemon/bits/array_map.h.orig ++++ lemon/bits/array_map.h +@@ -88,7 +88,7 @@ + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; +- allocator.construct(&(values[id]), Value()); ++ ::new(static_cast(&(values[id]))) Value(); + } + } + +@@ -102,7 +102,7 @@ + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; +- allocator.construct(&(values[id]), value); ++ ::new(static_cast(&(values[id]))) Value(value); + } + } + +@@ -121,7 +121,7 @@ + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; +- allocator.construct(&(values[id]), copy.values[id]); ++ ::new(static_cast(&(values[id]))) Value(copy.values[id]); + } + } + +@@ -218,15 +218,15 @@ + for (nf->first(it); it != INVALID; nf->next(it)) { + int jd = nf->id(it);; + if (id != jd) { +- allocator.construct(&(new_values[jd]), values[jd]); +- allocator.destroy(&(values[jd])); ++ ::new(static_cast(&(new_values[jd]))) Value(values[jd]); ++ values[jd].~Value(); + } + } + if (capacity != 0) allocator.deallocate(values, capacity); + values = new_values; + capacity = new_capacity; + } +- allocator.construct(&(values[id]), Value()); ++ ::new(static_cast(&(values[id]))) Value(); + } + + // \brief Adds more new keys to the map. +@@ -260,8 +260,8 @@ + } + } + if (found) continue; +- allocator.construct(&(new_values[id]), values[id]); +- allocator.destroy(&(values[id])); ++ ::new(static_cast(&(new_values[id]))) Value(values[id]); ++ values[id].~Value(); + } + if (capacity != 0) allocator.deallocate(values, capacity); + values = new_values; +@@ -269,7 +269,7 @@ + } + for (int i = 0; i < int(keys.size()); ++i) { + int id = nf->id(keys[i]); +- allocator.construct(&(values[id]), Value()); ++ ::new(static_cast(&(values[id]))) Value(); + } + } + +@@ -279,7 +279,7 @@ + // and it overrides the erase() member function of the observer base. + virtual void erase(const Key& key) { + int id = Parent::notifier()->id(key); +- allocator.destroy(&(values[id])); ++ values[id].~Value(); + } + + // \brief Erase more keys from the map. +@@ -289,7 +289,7 @@ + virtual void erase(const std::vector& keys) { + for (int i = 0; i < int(keys.size()); ++i) { + int id = Parent::notifier()->id(keys[i]); +- allocator.destroy(&(values[id])); ++ values[id].~Value(); + } + } + +@@ -303,7 +303,7 @@ + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; +- allocator.construct(&(values[id]), Value()); ++ ::new(static_cast(&(values[id]))) Value(); + } + } + +@@ -317,7 +317,7 @@ + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it); +- allocator.destroy(&(values[id])); ++ values[id].~Value(); + } + allocator.deallocate(values, capacity); + capacity = 0; diff --git a/math/lemon/files/patch-lemon_network__simplex.h b/math/lemon/files/patch-lemon_network__simplex.h new file mode 100644 index 000000000000..1be67435f9f7 --- /dev/null +++ b/math/lemon/files/patch-lemon_network__simplex.h @@ -0,0 +1,24 @@ +-- Guard the NetworkSimplex class against the MAX(a,b) macro defined by FreeBSD system +-- headers via . LEMON uses MAX as a member variable name; the macro +-- expansion corrupts the constructor initializer list in C++20 code. +-- Uses #pragma push_macro/pop_macro, supported by GCC, Clang and MSVC. + +--- lemon/network_simplex.h.orig ++++ lemon/network_simplex.h +@@ -71,6 +71,8 @@ + /// \note %NetworkSimplex provides five different pivot rule + /// implementations, from which the most efficient one is used + /// by default. For more information, see \ref PivotRule. ++#pragma push_macro("MAX") ++#undef MAX + template + class NetworkSimplex + { +@@ -1651,6 +1653,7 @@ + } + + }; //class NetworkSimplex ++#pragma pop_macro("MAX") + + ///@} +