guix_mirror_bot pushed a commit to branch next-master
in repository guix.

commit d60bf7cab9f83c6c5b7ca83a312029254213f1d5
Author: Cayetano Santos <[email protected]>
AuthorDate: Wed Jan 21 11:48:00 2026 +0100

    gnu: nextpnr: Update to 0.9-1.d8117e3.
    
    * gnu/packages/electronics.scm (nextpnr): Update to 0.9-1.d8117e3.
    * gnu/packages/patches/nextpnr-gtest.patch: Remove file.
    * gnu/local.mk (dist_patch_DATA): Unregister file.
    [source]<#:patches>: Remove nextpnr-gtest.patch.
    <#:snippet>: Use G-Expressions.
    [inputs]: Remove apycula, corrosion, boost-1.83 and python; add
    boost-1.88.
    [native-inputs]: Add apycula and python-minimal-wrapper.
    [arguments]<#:phases>: Add unbundle-googletest.
    [synopsis]: Update
    [description]: Update
    
    Change-Id: Id8fb37b6bed6a131040ee31d27099b31d93ae98d
---
 gnu/local.mk                             |  1 -
 gnu/packages/electronics.scm             | 72 ++++++++++++++++++--------------
 gnu/packages/patches/nextpnr-gtest.patch | 30 -------------
 3 files changed, 41 insertions(+), 62 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index bd01afdfd7..0206284c52 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1929,7 +1929,6 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/netsurf-system-utf8proc.patch           \
   %D%/packages/patches/netsurf-y2038-tests.patch               \
   %D%/packages/patches/netsurf-longer-test-timeout.patch       \
-  %D%/packages/patches/nextpnr-gtest.patch                     \
   %D%/packages/patches/nextpnr-imgui.patch                     \
   %D%/packages/patches/nhc98-c-update.patch                    \
   %D%/packages/patches/nix-dont-build-html-doc.diff            \
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 3a8165f8fb..473bd811f7 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -1391,8 +1391,8 @@ coverage.")
     (license license:isc)))
 
 (define-public nextpnr
-  (let ((commit "ad76625d4d828cb093b55aa9f5aae59b7ba9724f")
-        (revision "0"))
+  (let ((commit "d8117e3cadaa4f4db606b64a465b7638b05dac68")
+        (revision "1"))
     (package
       (name "nextpnr")
       (version (git-version "0.9" revision commit))
@@ -1407,29 +1407,28 @@ coverage.")
                 ;; no longer have their original upstream.
                 (recursive? #t)))
          (file-name (git-file-name name version))
-         (modules '((guix build utils)
-                    (ice-9 ftw)
-                    (srfi srfi-26)))
          (snippet
-          '(begin
-             ;; XXX: 'delete-all-but' is copied from the turbovnc package.
-             (define (delete-all-but directory . preserve)
-               (with-directory-excursion directory
-                 (let* ((pred (negate (cut member <>
-                                           (cons* "." ".." preserve))))
-                        (items (scandir "." pred)))
-                   (for-each (cut delete-file-recursively <>) items))))
-             (delete-all-but "3rdparty"
-                             ;; The following sources have all been patched, so
-                             ;; cannot easily be unbundled.
-                             "QtPropertyBrowser"
-                             "json11"
-                             "python-console"
-                             "oourafft")))
-         (patches (search-patches "nextpnr-gtest.patch"
-                                  "nextpnr-imgui.patch"))
+          #~(begin
+              (use-modules (guix build utils)
+                           (ice-9 ftw)
+                           (srfi srfi-26))
+              ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+              (define (delete-all-but directory . preserve)
+                (with-directory-excursion directory
+                  (let* ((pred (negate (cut member <>
+                                            (cons* "." ".." preserve))))
+                         (items (scandir "." pred)))
+                    (for-each (cut delete-file-recursively <>) items))))
+              (delete-all-but "3rdparty"
+                              ;; The following sources have all been patched, 
so
+                              ;; cannot easily be unbundled.
+                              "QtPropertyBrowser"
+                              "json11"
+                              "python-console"
+                              "oourafft")))
+         (patches (search-patches "nextpnr-imgui.patch"))
          (sha256
-          (base32 "1zjxvkycg5xx605d4ark8gd10w4xni1wd10chmhv983dvyv875br"))))
+          (base32 "0668adviwh8n9c5xy7k3qiyfn77rrzd79b403i3m19hhy8vq907p"))))
       (outputs '("out" "bba"))
       (build-system qt-build-system)
       (arguments
@@ -1457,6 +1456,16 @@ coverage.")
                                #$(this-package-native-input "prjtrellis")))
         #:phases
         #~(modify-phases %standard-phases
+            (add-after 'unpack 'unbundle-googletest
+              (lambda _
+                (substitute* "CMakeLists.txt"
+                  (("add_subdirectory\\(3rdparty\\/googletest.*")
+                   (string-append "find_package(GTest)\n"
+                                  "add_library(gtest_main ALIAS "
+                                  "GTest::gtest_main)\n"))
+                  (("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
+                   (string-append
+                    #$(this-package-native-input "googletest") "/include)")))))
             (add-after 'unpack 'unbundle-sanitizers-cmake
               (lambda _
                 (substitute* "CMakeLists.txt"
@@ -1494,27 +1503,28 @@ coverage.")
                             (string-append
                              "NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
       (native-inputs
-       (list icestorm
-             iverilog
+       (list apycula
              googletest
+             icestorm
+             iverilog
              gzip
              prjbeyond-db
              `(,prjpeppercorn "db")
              prjtrellis
+             python-minimal-wrapper
              sanitizers-cmake
              yosys))
       (inputs
-       (list apycula
-             boost-1.83
-             corrosion
+       (list boost-1.88
              eigen
              pybind11
-             python
              qtbase-5
              qtwayland-5
              qtimgui))
-      (synopsis "Place-and-Route tool for FPGAs")
-      (description "Nextpnr is a portable FPGA place and route tool.")
+      (synopsis
+       "Place-and-Route tool for @acronym{FPGA, Field Programmable Gate 
Array}")
+      (description "@code{nextpnr} is an @acronym{EDA, Electronic Design
+Automation}, portable and vendor neutral FPGA place and route tool.")
       (home-page "https://github.com/YosysHQ/nextpnr/";)
       (license license:isc))))
 
diff --git a/gnu/packages/patches/nextpnr-gtest.patch 
b/gnu/packages/patches/nextpnr-gtest.patch
deleted file mode 100644
index e940bd51c5..0000000000
--- a/gnu/packages/patches/nextpnr-gtest.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream-status: https://github.com/YosysHQ/nextpnr/pull/1478
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 47d60330..88463984 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -217,7 +217,13 @@ set(CMAKE_MODULE_PATH 
"${CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake" ${CM
- find_package(Sanitizers)
- 
- if (BUILD_TESTS)
--    add_subdirectory(3rdparty/googletest/googletest EXCLUDE_FROM_ALL)
-+    find_package(GTest)
-+    if(GTest_FOUND)
-+        add_library(gtest_main ALIAS GTest::gtest_main)
-+    else()
-+        add_subdirectory(3rdparty/googletest/googletest EXCLUDE_FROM_ALL)
-+        set(gtest_include_dir 
${CMAKE_SOURCE_DIR}/3rdparty/googletest/googletest/include)
-+    endif()
-     enable_testing()
- endif()
- 
-@@ -366,7 +372,7 @@ function(add_nextpnr_architecture target)
-         add_executable(nextpnr-${target}-test ${arg_TEST_SOURCES})
-         set_property(TARGET nextpnr-${target}-test PROPERTY 
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
- 
--        target_include_directories(nextpnr-${target}-test PRIVATE 
${CMAKE_SOURCE_DIR}/3rdparty/googletest/googletest/include)
-+        target_include_directories(nextpnr-${target}-test PRIVATE 
gtest_include_dir)
- 
-         target_link_libraries(nextpnr-${target}-test PRIVATE gtest_main 
nextpnr-${target}-core)
-         if (BUILD_GUI)

Reply via email to