pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/cad/kicad
Module Name: pkgsrc
Committed By: bouyer
Date: Tue Sep 29 16:11:57 UTC 2026
Modified Files:
pkgsrc/cad/kicad: Makefile PLIST distinfo
pkgsrc/cad/kicad/patches: patch-CMakeLists.txt
patch-eeschema_sim_kibis_ibis__parser.cpp
patch-eeschema_sim_sim_model_tline.cpp patch-pcbnew_CMakeLists.txt
Added Files:
pkgsrc/cad/kicad/patches:
patch-3d-viewer_3d__rendering_opengl_3d__spheres__gizmo.cpp
patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp
patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h
patch-3d-viewer_dialogs_panel__preview__3d__model.cpp
patch-3d-viewer_dialogs_panel__preview__3d__model.h
patch-api_CMakeLists.txt
patch-api_proto_common_types_base__types.proto
patch-common_api_api__handler__common.cpp
patch-common_eda__base__frame.cpp
patch-common_spacenav_libspnav__driver.h
patch-include_pcb__base__frame.h patch-pcbnew_pcb__base__frame.cpp
patch-qa_qa__utils_error__handlers.cpp
patch-thirdparty_thread-pool_bs__thread__pool.hpp
Log Message:
cad/kicad: Update to 10.0.6. Packaged in pkgsrc-wip by Atsushi Toyokura.
important changes since 8.0.6:
see https://www.kicad.org/blog/2025/02/Version-9.0.0-Released/
and https://www.kicad.org/blog/2026/03/Version-10.0.0-Released/
for details, with screen captures and videos
Global:
Jobsets (predefined output jobs)
Embedded files
Bezier curve tool in all editors
Multi-channel design support
Component classes
Table editing in schematic, symbol, and footprint editors
Custom ERC/DRC errors, warnings, and exclusion comments
Mouse scroll wheel actions
Customizable toolbars
Undo/redo support in dialogs
Lasso selection
New importers
Schematic and Symbol Editors
Selection filtering
Sheet pin/hierarchical label synchronization tool
Net class rule areas
Design blocks
Net class color highlighting
Variants
Hop-over display
Jumper support
Grouping support
Pin table CSV support
PCB and Footprint Editors
IPC API
Zone manager
Improved via tenting control
Layer pair presets
Shape modification tool
Pad stacks
Interactive positioning tool
Multiple track drag
Creepage design rule check
3D model export improvements
Time-domain tuning
PCB Design Blocks
inner-layer objects in footprints
Pin and gate swap
Graphical DRC Rule editor
To generate a diff of this commit:
cvs rdiff -u -r1.127 -r1.128 pkgsrc/cad/kicad/Makefile
cvs rdiff -u -r1.10 -r1.11 pkgsrc/cad/kicad/PLIST
cvs rdiff -u -r1.30 -r1.31 pkgsrc/cad/kicad/distinfo
cvs rdiff -u -r0 -r1.1 \
pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__rendering_opengl_3d__spheres__gizmo.cpp \
pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp \
pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h \
pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp \
pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.h \
pkgsrc/cad/kicad/patches/patch-api_CMakeLists.txt \
pkgsrc/cad/kicad/patches/patch-api_proto_common_types_base__types.proto \
pkgsrc/cad/kicad/patches/patch-common_api_api__handler__common.cpp \
pkgsrc/cad/kicad/patches/patch-common_eda__base__frame.cpp \
pkgsrc/cad/kicad/patches/patch-common_spacenav_libspnav__driver.h \
pkgsrc/cad/kicad/patches/patch-include_pcb__base__frame.h \
pkgsrc/cad/kicad/patches/patch-pcbnew_pcb__base__frame.cpp \
pkgsrc/cad/kicad/patches/patch-qa_qa__utils_error__handlers.cpp \
pkgsrc/cad/kicad/patches/patch-thirdparty_thread-pool_bs__thread__pool.hpp
cvs rdiff -u -r1.8 -r1.9 pkgsrc/cad/kicad/patches/patch-CMakeLists.txt
cvs rdiff -u -r1.1 -r1.2 \
pkgsrc/cad/kicad/patches/patch-eeschema_sim_kibis_ibis__parser.cpp \
pkgsrc/cad/kicad/patches/patch-eeschema_sim_sim_model_tline.cpp
cvs rdiff -u -r1.7 -r1.8 pkgsrc/cad/kicad/patches/patch-pcbnew_CMakeLists.txt
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/cad/kicad/Makefile
diff -u pkgsrc/cad/kicad/Makefile:1.127 pkgsrc/cad/kicad/Makefile:1.128
--- pkgsrc/cad/kicad/Makefile:1.127 Tue Sep 29 06:04:01 2026
+++ pkgsrc/cad/kicad/Makefile Tue Sep 29 16:11:56 2026
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.127 2026/09/29 06:04:01 wiz Exp $
+# $NetBSD: Makefile,v 1.128 2026/09/29 16:11:56 bouyer Exp $
-V= 8.0.9
+V= 10.0.6
DISTNAME= kicad-${V}
-PKGREVISION= 11
CATEGORIES= cad
MASTER_SITES= ${MASTER_SITE_GITLAB:=kicad/code/}
GITLAB_PROJECT= kicad
@@ -17,9 +16,9 @@ LICENSE= gnu-gpl-v3
TOOL_DEPENDS+= swig4-[0-9]*:../../devel/swig4
DEPENDS+= git-base-[0-9]*:../../devel/git-base
-USE_CXX_FEATURES= charconv filesystem c++17
USE_PKGLOCALEDIR= yes
USE_LANGUAGES= c c++
+USE_CXX_FEATURES+= charconv filesystem c++17
USE_TOOLS+= pkg-config msgfmt msgmerge xgettext
CMAKE_CONFIGURE_ARGS+= -DCMAKE_BUILD_TYPE=Release
@@ -36,8 +35,6 @@ CMAKE_CONFIGURE_ARGS+= -DKICAD_USE_EGL=
PY_PATCHPLIST= yes
-PYTHON_VERSIONS_INCOMPATIBLE= 314 # Fails to find Python libs
-
# The package tries to build a native .app bundle. This doesn't work
# in pkgsrc context because they don't support DESTDIR installation,
# which is a requirement in pkgsrc. It also tries to use native Python
@@ -48,25 +45,30 @@ NOT_FOR_PLATFORM+= Darwin-*-*
.include "options.mk"
+# needs 64-bit CAS for std::atomic<size_t>
+.include "../../mk/atomic64.mk"
+.include "../../archivers/zstd/buildlink3.mk"
.include "../../cad/occt/buildlink3.mk"
.include "../../databases/unixodbc/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../devel/cmake/build.mk"
.include "../../devel/gettext-tools/msgfmt-desktop.mk"
.include "../../devel/libgit2/buildlink3.mk"
+.include "../../devel/protobuf/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../graphics/MesaLib/buildlink3.mk"
-.include "../../graphics/cairo/buildlink3.mk"
.include "../../graphics/glew/buildlink3.mk"
BUILDLINK_API_DEPENDS.glm+= glm>=0.9.9.8
.include "../../graphics/glm/buildlink3.mk"
.include "../../graphics/glu/buildlink3.mk"
-.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../graphics/cairo/buildlink3.mk"
.include "../../lang/python/extension.mk"
+.include "../../net/nng/buildlink3.mk"
.include "../../security/libsecret/buildlink3.mk"
-.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../x11/wxGTK32/buildlink3.mk"
-# needs 64-bit CAS for std::atomic<size_t>
-.include "../../mk/atomic64.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../print/poppler/buildlink3.mk"
+.include "../../devel/libspnav/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/cad/kicad/PLIST
diff -u pkgsrc/cad/kicad/PLIST:1.10 pkgsrc/cad/kicad/PLIST:1.11
--- pkgsrc/cad/kicad/PLIST:1.10 Fri Apr 26 16:46:29 2024
+++ pkgsrc/cad/kicad/PLIST Tue Sep 29 16:11:56 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.10 2024/04/26 16:46:29 tnn Exp $
+@comment $NetBSD: PLIST,v 1.11 2026/09/29 16:11:56 bouyer Exp $
bin/_cvpcb.kiface
bin/_eeschema.kiface
bin/_gerbview.kiface
@@ -21,6 +21,8 @@ bin/pl_editor
lib/kicad/plugins/3d/libs3d_plugin_idf.so
lib/kicad/plugins/3d/libs3d_plugin_oce.so
lib/kicad/plugins/3d/libs3d_plugin_vrml.so
+lib/libkiapi.so
+lib/libkiapi.so.${PKGVERSION}
lib/libkicad_3dsg.so
lib/libkicad_3dsg.so.2.0.0
lib/libkicommon.so
@@ -35,6 +37,7 @@ share/applications/org.kicad.gerbview.de
share/applications/org.kicad.kicad.desktop
share/applications/org.kicad.pcbcalculator.desktop
share/applications/org.kicad.pcbnew.desktop
+share/bash-completion/completions/kicad-cli
share/icons/hicolor/128x128/apps/bitmap2component.png
share/icons/hicolor/128x128/apps/eeschema.png
share/icons/hicolor/128x128/apps/gerbview.png
@@ -149,79 +152,241 @@ share/icons/hicolor/scalable/mimetypes/a
share/icons/hicolor/scalable/mimetypes/application-x-kicad-worksheet-48.svg
share/icons/hicolor/scalable/mimetypes/application-x-kicad-worksheet-64.svg
share/icons/hicolor/scalable/mimetypes/application-x-kicad-worksheet.svg
+share/kicad/demos/cm5_minima/3d_lib/2230-M.2-B-KEY.kicad_mod
+share/kicad/demos/cm5_minima/3d_lib/2230-key-E.kicad_mod
+share/kicad/demos/cm5_minima/3d_lib/3x4x2 tact button.step
+share/kicad/demos/cm5_minima/3d_lib/BM4B-SRSS-TB.step
+share/kicad/demos/cm5_minima/3d_lib/BM6B-SRSS-TB.step
+share/kicad/demos/cm5_minima/3d_lib/LIB_B3U-3000PM-B/B3U-3000PM-B/3D/B3U-3000PM-B.stp
+share/kicad/demos/cm5_minima/3d_lib/LIB_B3U-3000PM-B/license.txt
+share/kicad/demos/cm5_minima/3d_lib/LIB_B3U-3000PM-B/version.bin
+share/kicad/demos/cm5_minima/3d_lib/M.2-B.step
+share/kicad/demos/cm5_minima/3d_lib/SHTC3-TR-10KS.stp
+share/kicad/demos/cm5_minima/3d_lib/WE-RJ45LAN-7498111120AR (rev1).stp
+share/kicad/demos/cm5_minima/3d_lib/hailo8_m.2_key_m_2242_et_m2b_3d_model_2.1.STEP
+share/kicad/demos/cm5_minima/CM5.kicad_sch
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/10164227-1001a1rlf.stp
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/471511051.stp
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/BM04B-SRSS-TB.STEP
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/FH12-22S-0.5SH.stp
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/MTSSD03-67MSW337.STEP
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/SRP5030CC.stp
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/TRJG0926HENL .stp
+share/kicad/demos/cm5_minima/CM5IO.3dshapes/USB3stacked.STEP
+share/kicad/demos/cm5_minima/CM5IO.kicad_sym
+share/kicad/demos/cm5_minima/CM5IO.pretty/BatteryHolder_Keystone_3034_1x20mm.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/CM5_IO.kicad_sym
+share/kicad/demos/cm5_minima/CM5IO.pretty/CONN-SMD_2P-P1.00_SM02B-SRSS-TB-LF-SN.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/CP_EIA-3528-21_Kemet-B.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/C_0402_1005Metric.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/C_0805_2012Metric.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/Crystal_SMD_3225-4Pin_3.2x2.5mm.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/DFN-8-1EP_2x2mm_P0.5mm_EP1.05x1.75mm.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/DFN2510A-10_L2.5-W1.0-P0.50-BL.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/EDAC 690-019-298-412.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/GLPLXSMT188S7QQYG.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/Hirose_FH12-22S-0.5SH_1x22-1MP_P0.50mm_Horizontal.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_Vertical.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/JST_SUR_BM10B-SURS-TF_1x10-1MP_P0.80mm_Vertical.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/KiCad-Logo2_5mm_SilkScreen.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/LED-SMD_L1.7-W0.6-RD.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/LGA-16_3x3mm_P0.5mm_LayoutBorder3x5y.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/L_Bourns_SRP5030CC.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/L_Coilcraft_XAL5030-XXX.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/M.2 M Key socket 2230.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/M.2 M Key socket.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/M.2 M Key socket_2230_2242.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/MTCONN_UBAF30-D2011.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/MountingHole_2.2mm_M2_DIN965_Pad_TopBottom.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/MountingHole_2.7mm_M2.5_DIN965.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/MountingHole_2.7mm_Pad.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/MountingHole_3mm_Pad.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/New_Library.kicad_sym
+share/kicad/demos/cm5_minima/CM5IO.pretty/R_0402_1005Metric.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/Raspberry-Pi-5-Compute-Module.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/Raspberry-Pi-5-Compute-Module_GPIO.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/Raspberry-Pi-5-Compute-Module_HSS.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/SDCARD_MOLEX_503398-1892.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/SOT-23-5.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/SOT-23-6.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/SOT-353_SC-70-5.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/SOT-416.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/SW-SMD_MK-11C04-G013.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/SW-SMD_TS-1010A-B.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/TRJG0926HENL.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/TestPoint_Pad_D1.0mm.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/TestPoint_THTPad_D1.0mm_Drill0.5mm.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/USB-C-SMD_TYPEC-305-ACP16H458.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/USON-10_2.5x1.0mm_P0.5mm.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-675DA838.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-675DA850.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-675DA866.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-675EDCA4.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-675EDCB9.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6772D327.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6772DA33.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6773B9CA.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6773B9F7.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6773BA89.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6773C222.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6773C2D7.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-6773C376.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67795592.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67CC6BA6.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67CC6BD3.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67CC6D94.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67CC6D9E.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67CC7445.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBAC4C.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBB9C1.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBD21C.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBD221.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBEF55.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBF015.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBF0A0.kicad_mod
+share/kicad/demos/cm5_minima/CM5IO.pretty/kibuzzard-67EBF14E.kicad_mod
+share/kicad/demos/cm5_minima/CM5_MINIMA_3.kicad_pcb
+share/kicad/demos/cm5_minima/CM5_MINIMA_3.kicad_pro
+share/kicad/demos/cm5_minima/CM5_MINIMA_3.kicad_sch
+share/kicad/demos/cm5_minima/CM5_MINIMA_3.pdf
+share/kicad/demos/cm5_minima/DSI_CSI.kicad_sch
+share/kicad/demos/cm5_minima/Ethernet.kicad_sch
+share/kicad/demos/cm5_minima/HDMI.kicad_sch
+share/kicad/demos/cm5_minima/IO.kicad_sch
+share/kicad/demos/cm5_minima/LICENSE.txt
+share/kicad/demos/cm5_minima/PCIe-M2.kicad_sch
+share/kicad/demos/cm5_minima/README.md
+share/kicad/demos/cm5_minima/USB.kicad_sch
+share/kicad/demos/cm5_minima/fp-lib-table
+share/kicad/demos/cm5_minima/sym-lib-table
share/kicad/demos/complex_hierarchy/ampli_ht.kicad_sch
share/kicad/demos/complex_hierarchy/complex_hierarchy.kicad_pcb
share/kicad/demos/complex_hierarchy/complex_hierarchy.kicad_pro
share/kicad/demos/complex_hierarchy/complex_hierarchy.kicad_sch
-share/kicad/demos/complex_hierarchy/complex_hierarchy_schlib.kicad_sym
+share/kicad/demos/complex_hierarchy/complex_hierarchy.kicad_sym
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/Altech_AK300_1x02_P5.00mm_45-Degree.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/CP_Axial_L11.0mm_D6.0mm_P18.00mm_Horizontal.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/C_Disc_D5.0mm_W2.5mm_P5.00mm.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/DIP-8_W7.62mm_LongPads.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/D_DO-35_SOD27_P7.62mm_Horizontal.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/D_DO-41_SOD81_P12.70mm_Horizontal.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/Potentiometer_Bourns_3266W_Vertical.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal.kicad_mod
+share/kicad/demos/complex_hierarchy/complex_hierarchy.pretty/TO-92_HandSolder.kicad_mod
share/kicad/demos/complex_hierarchy/fp-lib-table
share/kicad/demos/complex_hierarchy/sym-lib-table
-share/kicad/demos/custom_pads_test/custom_pads_schlib.kicad_sym
-share/kicad/demos/custom_pads_test/custom_pads_test.kicad_pcb
-share/kicad/demos/custom_pads_test/custom_pads_test.kicad_pro
-share/kicad/demos/custom_pads_test/custom_pads_test.kicad_sch
-share/kicad/demos/custom_pads_test/sym-lib-table
share/kicad/demos/ecc83/3d_shapes/ecc83.wrl
share/kicad/demos/ecc83/ecc83-pp.kicad_pcb
share/kicad/demos/ecc83/ecc83-pp.kicad_pro
share/kicad/demos/ecc83/ecc83-pp.kicad_sch
+share/kicad/demos/ecc83/ecc83-pp.kicad_sym
share/kicad/demos/ecc83/ecc83-pp_v2.kicad_pcb
share/kicad/demos/ecc83/ecc83-pp_v2.kicad_pro
share/kicad/demos/ecc83/ecc83-pp_v2.kicad_sch
-share/kicad/demos/ecc83/ecc83_schlib.kicad_sym
share/kicad/demos/ecc83/footprints.pretty/Altech_AK300_1x02_P5.00mm_45-Degree.kicad_mod
+share/kicad/demos/ecc83/footprints.pretty/CP_Radial_D10.0mm_P5.00mm.kicad_mod
+share/kicad/demos/ecc83/footprints.pretty/CP_Radial_D12.5mm_P7.50mm.kicad_mod
+share/kicad/demos/ecc83/footprints.pretty/C_Axial_L12.0mm_D6.5mm_P20.00mm_Horizontal.kicad_mod
+share/kicad/demos/ecc83/footprints.pretty/C_Disc_D4.7mm_W2.5mm_P5.00mm.kicad_mod
share/kicad/demos/ecc83/footprints.pretty/MountingHole_3.2mm_M3_DIN965_Pad.kicad_mod
+share/kicad/demos/ecc83/footprints.pretty/PinHeader_1x02_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/ecc83/footprints.pretty/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.kicad_mod
share/kicad/demos/ecc83/footprints.pretty/Valve_ECC-83-1.kicad_mod
share/kicad/demos/ecc83/footprints.pretty/Valve_ECC-83-2.kicad_mod
share/kicad/demos/ecc83/fp-lib-table
share/kicad/demos/ecc83/sym-lib-table
-share/kicad/demos/flat_hierarchy/flat_hierarchy.kicad_pcb
-share/kicad/demos/flat_hierarchy/flat_hierarchy.kicad_pro
-share/kicad/demos/flat_hierarchy/flat_hierarchy.kicad_sch
-share/kicad/demos/flat_hierarchy/fp-lib-table
-share/kicad/demos/flat_hierarchy/libs/3d_shapes/adjustable_rx2v4.wrl
-share/kicad/demos/flat_hierarchy/libs/flat_hierarchy_schlib.kicad_sym
-share/kicad/demos/flat_hierarchy/libs/pic_programmer_fp.pretty/D_DO-35_SOD27_P7.62mm_Horizontal.kicad_mod
-share/kicad/demos/flat_hierarchy/libs/pic_programmer_fp.pretty/INDUCTOR_V.kicad_mod
-share/kicad/demos/flat_hierarchy/libs/pic_programmer_fp.pretty/MountingHole_4.3mm_M4_DIN965.kicad_mod
-share/kicad/demos/flat_hierarchy/libs/pic_programmer_fp.pretty/RV2X4.kicad_mod
-share/kicad/demos/flat_hierarchy/libs/pic_programmer_fp.pretty/R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.kicad_mod
-share/kicad/demos/flat_hierarchy/libs/pic_programmer_fp.pretty/TO-220-3_Horizontal_TabDown.kicad_mod
-share/kicad/demos/flat_hierarchy/libs/pic_programmer_fp.pretty/TO-92.kicad_mod
-share/kicad/demos/flat_hierarchy/pic_programmer.kicad_sch
-share/kicad/demos/flat_hierarchy/pic_sockets.kicad_sch
-share/kicad/demos/flat_hierarchy/sym-lib-table
share/kicad/demos/interf_u/fp-lib-table
share/kicad/demos/interf_u/interf_u.kicad_pcb
share/kicad/demos/interf_u/interf_u.kicad_pro
share/kicad/demos/interf_u/interf_u.kicad_sch
+share/kicad/demos/interf_u/interf_u.kicad_sym
share/kicad/demos/interf_u/interf_u.pretty/BUS_PC.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/C_Disc_D3.0mm_W2.0mm_P2.50mm.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/Crystal_HC18-U_Horizontal.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/DIP-20_W7.62mm.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/DIP-24_W7.62mm.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/DIP-32_W15.24mm.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/DSUB-25_Female_Horizontal_P2.77x2.84mm_EdgePinOffset9.90mm_Housed_MountingHolesOffset11.32mm.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/LED_D5.0mm.kicad_mod
share/kicad/demos/interf_u/interf_u.pretty/PGA120.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/PinHeader_2x08_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/R_Array_SIP10.kicad_mod
+share/kicad/demos/interf_u/interf_u.pretty/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.kicad_mod
share/kicad/demos/interf_u/interf_u.pretty/tux.kicad_mod
-share/kicad/demos/interf_u/interf_u_schlib.kicad_sym
share/kicad/demos/interf_u/pagelayout_logo.kicad_wks
share/kicad/demos/interf_u/sym-lib-table
share/kicad/demos/interf_u/tux.bmp
share/kicad/demos/interf_u/tux.kicad_sym
+share/kicad/demos/jetson-agx-thor-baseboard/LICENSE
+share/kicad/demos/jetson-agx-thor-baseboard/README.md
+share/kicad/demos/jetson-agx-thor-baseboard/csi.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/dcdc.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/expansion_connector.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/jetson-agx-thor-baseboard.kicad_dru
+share/kicad/demos/jetson-agx-thor-baseboard/jetson-agx-thor-baseboard.kicad_pcb
+share/kicad/demos/jetson-agx-thor-baseboard/jetson-agx-thor-baseboard.kicad_pro
+share/kicad/demos/jetson-agx-thor-baseboard/jetson-agx-thor-baseboard.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/level_shifter_x8.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/m2.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/peripherals.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/power.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/recovery_usb.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/sfp.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/som_io.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/som_io2.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/som_power.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/usb.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/usb_debug_pd.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/usb_dp.kicad_sch
+share/kicad/demos/jetson-agx-thor-baseboard/usb_hub.kicad_sch
share/kicad/demos/kit-dev-coldfire-xilinx_5213/fp-lib-table
share/kicad/demos/kit-dev-coldfire-xilinx_5213/in_out_conn.kicad_sch
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-coldfire_schlib.kicad_sym
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_pcb
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_pro
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_sch
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire-xilinx_5213.kicad_sym
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/Altech_AK300_1x02_P5.00mm_45-Degree.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/CP_Radial_D8.0mm_P5.00mm.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/C_0805_2012Metric.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/Crystal_HC18-U_Horizontal.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mm.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/D_DO-15_P12.70mm_Horizontal.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/D_SOT-23_ANK.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/FSUPCMS.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/JACK_ALIM.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/LED_1206_3216Metric.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/LQFP-100_14x14mm_P0.5mm.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_1x01_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_1x02_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_1x03_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_1x06_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_2x02_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_2x03_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_2x04_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_2x13_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_2x20_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/PinHeader_2x30_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/R_0805_2012Metric.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/R_1206_3216Metric_Pad1.30x1.75mm_HandSolder.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SM1206POL.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SOIC-14_3.9x8.7mm_P1.27mm.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SOIC-16_3.9x9.9mm_P1.27mm.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SOT23EBC.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SOT353.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SW_PUSH_SMALL.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/SW_SPDT.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/TO-263-5_TabPin3.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/TO-92.kicad_mod
+share/kicad/demos/kit-dev-coldfire-xilinx_5213/kit-dev-coldfire.pretty/TQFP-144_20x20mm_P0.5mm.kicad_mod
share/kicad/demos/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wings
share/kicad/demos/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Device.switch_toggle_horizontal_right_angle_PC_terminal.wrl
share/kicad/demos/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wings
share/kicad/demos/kit-dev-coldfire-xilinx_5213/prj.3dshapes/Jack.wrl
-share/kicad/demos/kit-dev-coldfire-xilinx_5213/prj.3dshapes/db9_female_pin90deg.wrl
share/kicad/demos/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wings
share/kicad/demos/kit-dev-coldfire-xilinx_5213/prj.3dshapes/push_butt_4pads.wrl
share/kicad/demos/kit-dev-coldfire-xilinx_5213/sym-lib-table
@@ -229,15 +394,43 @@ share/kicad/demos/kit-dev-coldfire-xilin
share/kicad/demos/microwave/microwave.kicad_pcb
share/kicad/demos/microwave/microwave.kicad_pro
share/kicad/demos/microwave/shape1.txt
+share/kicad/demos/multichannel/channel_strip.kicad_sch
+share/kicad/demos/multichannel/fp-lib-table
+share/kicad/demos/multichannel/multichannel_mixer-unrouted.kicad_pcb
+share/kicad/demos/multichannel/multichannel_mixer.kicad_pcb
+share/kicad/demos/multichannel/multichannel_mixer.kicad_pro
+share/kicad/demos/multichannel/multichannel_mixer.kicad_sch
+share/kicad/demos/multichannel/multichannel_mixer.kicad_sym
+share/kicad/demos/multichannel/multichannel_mixer.pretty/CAPC3216X140N.kicad_mod
+share/kicad/demos/multichannel/multichannel_mixer.pretty/CAPPRB254-500X840.kicad_mod
+share/kicad/demos/multichannel/multichannel_mixer.pretty/CLIFF_FC68148(DC-10A).kicad_mod
+share/kicad/demos/multichannel/multichannel_mixer.pretty/Jack_6.35mm_Neutrik_NMJ6HCD2_Horizontal.kicad_mod
+share/kicad/demos/multichannel/multichannel_mixer.pretty/Potentiometer_Alps_RK09K_Single_Vertical.kicad_mod
+share/kicad/demos/multichannel/multichannel_mixer.pretty/RESC3216X65N.kicad_mod
+share/kicad/demos/multichannel/multichannel_mixer.pretty/SOIC127P600X175-8N.kicad_mod
+share/kicad/demos/multichannel/sym-lib-table
+share/kicad/demos/openair-max/Battery-Holder.kicad_sch
+share/kicad/demos/openair-max/LICENSE.txt
+share/kicad/demos/openair-max/Libraries/ESP32-C6-WROOM v3.step
+share/kicad/demos/openair-max/Libraries/HRO_TYPE-C-31-M-12.step
+share/kicad/demos/openair-max/Libraries/Hold_18650-3p_smd.stp
+share/kicad/demos/openair-max/Libraries/type-c-31-m-12-1.snapshot.5.zip
+share/kicad/demos/openair-max/One-Air-Max.kicad_pcb
+share/kicad/demos/openair-max/One-Air-Max.kicad_pro
+share/kicad/demos/openair-max/One-Air-Max.kicad_sch
+share/kicad/demos/openair-max/Solar-Module.kicad_sch
+share/kicad/demos/openair-max/fabrication-toolkit-options.json
share/kicad/demos/pic_programmer/fp-lib-table
share/kicad/demos/pic_programmer/libs/3d_shapes/adjustable_rx2v4.wrl
share/kicad/demos/pic_programmer/libs/3d_shapes/textool_40.wrl
share/kicad/demos/pic_programmer/libs/pic_programmer_fp.pretty/40tex-Ell600.kicad_mod
share/kicad/demos/pic_programmer/libs/pic_programmer_fp.pretty/RV2X4.kicad_mod
-share/kicad/demos/pic_programmer/libs/pic_programmer_schlib.kicad_sym
+share/kicad/demos/pic_programmer/libs/pic_programmer_fp.pretty/SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm.kicad_mod
+share/kicad/demos/pic_programmer/libs/pic_programmer_fp.pretty/TO-92.kicad_mod
share/kicad/demos/pic_programmer/pic_programmer.kicad_pcb
share/kicad/demos/pic_programmer/pic_programmer.kicad_pro
share/kicad/demos/pic_programmer/pic_programmer.kicad_sch
+share/kicad/demos/pic_programmer/pic_programmer.kicad_sym
share/kicad/demos/pic_programmer/pic_sockets.kicad_sch
share/kicad/demos/pic_programmer/sym-lib-table
share/kicad/demos/python_scripts_examples/action_menu_add_automatic_border.py
@@ -245,6 +438,60 @@ share/kicad/demos/python_scripts_example
share/kicad/demos/python_scripts_examples/action_plugin_test_undoredo.py
share/kicad/demos/python_scripts_examples/gen_gerber_and_drill_files_board.py
share/kicad/demos/python_scripts_examples/plot_board.py
+share/kicad/demos/royalblue54L_feather/.gitignore
+share/kicad/demos/royalblue54L_feather/.gitmodules
+share/kicad/demos/royalblue54L_feather/LICENSE
+share/kicad/demos/royalblue54L_feather/README.md
+share/kicad/demos/royalblue54L_feather/RoyalBlue54L-Feather.kicad_pcb
+share/kicad/demos/royalblue54L_feather/RoyalBlue54L-Feather.kicad_pro
+share/kicad/demos/royalblue54L_feather/RoyalBlue54L-Feather.kicad_sch
+share/kicad/demos/royalblue54L_feather/fp-lib-table
+share/kicad/demos/royalblue54L_feather/img/RoyalBlue54L-Feather-Pinout.svg
+share/kicad/demos/royalblue54L_feather/img/board.jpg
+share/kicad/demos/royalblue54L_feather/lib/3dmodels/Button_Switch_SMD.3dshapes/SW_Push_1P1T_NO_Vertical_Wuerth_434133025816.STEP
+share/kicad/demos/royalblue54L_feather/lib/3dmodels/Connector_USB.3dshapes/USB_C_Receptacle_HRO_TYPE-C-31-M-12.STEP
+share/kicad/demos/royalblue54L_feather/lib/3dmodels/Package_DFN_QFN.3dshapes/Texas_RGY_R-PVQFN-N16_EP2.05x2.55mm.STEP
+share/kicad/demos/royalblue54L_feather/lib/3dmodels/Package_SON.3dshapes/Winbond_USON-8-1EP_3x2mm_P0.5mm_EP0.2x1.6mm.STEP
+share/kicad/demos/royalblue54L_feather/lib/footprints/LordsBoards-Symbol.pretty/LordsBoardsLogo_Small_Silk.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/footprints/RoyalBlue54L-Feather-Connector_FFC-FPC.pretty/CONN-SMD_5P-P0.50_HCTL_HC-FPC-05-09-5RLTAG.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/footprints/RoyalBlue54L-Feather-Connector_PinHeader_2.54mm.pretty/PinHeader_1x12_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/footprints/RoyalBlue54L-Feather-Connector_PinHeader_2.54mm.pretty/PinHeader_1x16_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/footprints/RoyalBlue54L-Feather-Connector_USB.pretty/USB_C_Receptacle_HRO_TYPE-C-31-M-12.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/footprints/RoyalBlue54L-Feather-MountingHole.pretty/MountingHole_2.5mm.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/footprints/RoyalBlue54L-Feather-Symbol.pretty/RoyalBlue54L_QRCode.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/footprints/RoyalBlue54L-Module.pretty/SparkFun_ThingPlus.kicad_mod
+share/kicad/demos/royalblue54L_feather/lib/symbols/LordsBoards-Graphic.kicad_sym
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/RoyalBlue54L-NFC-Antenna.kicad_pcb
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/RoyalBlue54L-NFC-Antenna.kicad_pro
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/RoyalBlue54L-NFC-Antenna.kicad_sch
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/RoyalBlue54L-NFC-Antenna_Connector_FPC.pretty/0.5mm-2p.kicad_mod
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/RoyalBlue54L-NFC-Antenna_Connector_FPC.pretty/Untitled.kicad_mod
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/fp-lib-table
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-CuBottom.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-CuTop.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-EdgeCuts.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-MaskBottom.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-MaskTop.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-NPTH-drl_map.pdf
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-NPTH.drl
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-PTH-drl_map.pdf
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-PTH.drl
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-PasteBottom.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-PasteTop.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-SilkBottom.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-SilkTop.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/gerber/RoyalBlue54L-NFC-Antenna-VScore.gbr
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/production_files/GERBER-RoyalBlue54L-NFC-Antenna.zip
+share/kicad/demos/royalblue54L_feather/nfc_antenna/RoyalBlue54L-NFC-Antenna/jlcpcb/project.db
+share/kicad/demos/royalblue54L_feather/sch/Connectors.kicad_sch
+share/kicad/demos/royalblue54L_feather/sch/Debugger.kicad_sch
+share/kicad/demos/royalblue54L_feather/sch/nPM1300.kicad_sch
+share/kicad/demos/royalblue54L_feather/sch/nRF54L15.kicad_sch
+share/kicad/demos/royalblue54L_feather/sym-lib-table
+share/kicad/demos/simulation/amplifier-ac/2n2222.model
+share/kicad/demos/simulation/amplifier-ac/amplifier-ac.kicad_pro
+share/kicad/demos/simulation/amplifier-ac/amplifier-ac.kicad_sch
+share/kicad/demos/simulation/amplifier-ac/sym-lib-table
share/kicad/demos/simulation/analog-multiplier/a-multi.kicad_pro
share/kicad/demos/simulation/analog-multiplier/a-multi.kicad_sch
share/kicad/demos/simulation/analog-multiplier/a-multi.wbk
@@ -263,6 +510,8 @@ share/kicad/demos/simulation/gain_contro
share/kicad/demos/simulation/gain_control/sym-lib-table
share/kicad/demos/simulation/gain_control/vca810.lib
share/kicad/demos/simulation/generic_models/generic_opamp_bip.kicad_pro
+share/kicad/demos/simulation/generic_models/generic_opamp_bip.kicad_sch
+share/kicad/demos/simulation/generic_models/generic_opamp_bip.wbk
share/kicad/demos/simulation/ibis/ibis.kicad_pro
share/kicad/demos/simulation/ibis/ibis.kicad_sch
share/kicad/demos/simulation/ibis/ibis.wbk
@@ -303,11 +552,6 @@ share/kicad/demos/simulation/power_suppl
share/kicad/demos/simulation/power_supplies/royer/royer1.kicad_pro
share/kicad/demos/simulation/power_supplies/royer/royer1.kicad_sch
share/kicad/demos/simulation/power_supplies/royer/royer1.wbk
-share/kicad/demos/simulation/pspice/2n2222.model
-share/kicad/demos/simulation/pspice/pspice.kicad_pro
-share/kicad/demos/simulation/pspice/pspice.kicad_sch
-share/kicad/demos/simulation/pspice/schematic_libspice.kicad_sym
-share/kicad/demos/simulation/pspice/sym-lib-table
share/kicad/demos/simulation/q17/BA4558R_Rev002.lib
share/kicad/demos/simulation/q17/OPA1641.LIB
share/kicad/demos/simulation/q17/Q17ng.kicad_pro
@@ -317,6 +561,7 @@ share/kicad/demos/simulation/q17/all_dev
share/kicad/demos/simulation/rectifier/diode.mod
share/kicad/demos/simulation/rectifier/rectifier.kicad_pro
share/kicad/demos/simulation/rectifier/rectifier.kicad_sch
+share/kicad/demos/simulation/rectifier/rectifier.wbk
share/kicad/demos/simulation/rectifier/rectifier_schlib.kicad_sym
share/kicad/demos/simulation/rectifier/sym-lib-table
share/kicad/demos/simulation/sallen_key/ad8051.lib
@@ -324,9 +569,12 @@ share/kicad/demos/simulation/sallen_key/
share/kicad/demos/simulation/sallen_key/sallen_key.kicad_sch
share/kicad/demos/simulation/sallen_key/sallen_key_schlib.kicad_sym
share/kicad/demos/simulation/sallen_key/sym-lib-table
+share/kicad/demos/simulation/subsheets/mainsheet.kicad_pro
+share/kicad/demos/simulation/subsheets/mainsheet.kicad_sch
+share/kicad/demos/simulation/subsheets/project.kicad_sym
share/kicad/demos/simulation/subsheets/subsheet1.kicad_sch
share/kicad/demos/simulation/subsheets/subsheet2.kicad_sch
-share/kicad/demos/simulation/subsheets/subsheets.kicad_sch
+share/kicad/demos/simulation/subsheets/sym-lib-table
share/kicad/demos/simulation/up-down-counter/README
share/kicad/demos/simulation/up-down-counter/state-3bit-count.in
share/kicad/demos/simulation/up-down-counter/state-machine-3b-count.lib
@@ -342,7 +590,15 @@ share/kicad/demos/sonde xilinx/fp-lib-ta
share/kicad/demos/sonde xilinx/sonde xilinx.kicad_pcb
share/kicad/demos/sonde xilinx/sonde xilinx.kicad_pro
share/kicad/demos/sonde xilinx/sonde xilinx.kicad_sch
-share/kicad/demos/sonde xilinx/sonde_xilinx_schlib.kicad_sym
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/C_Axial_L5.1mm_D3.1mm_P12.50mm_Horizontal.kicad_mod
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/C_Disc_D5.1mm_W3.2mm_P5.00mm.kicad_mod
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/DIP-14_W7.62mm_LongPads.kicad_mod
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/DSUB-25_Male_EdgeMount_P2.77mm.kicad_mod
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/DSUB-9_Male_EdgeMount_P2.77mm.kicad_mod
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/D_A-405_P7.62mm_Horizontal.kicad_mod
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/PinHeader_1x06_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/sonde xilinx/sonde-xilinx.pretty/R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.kicad_mod
+share/kicad/demos/sonde xilinx/sonde_xilinx.kicad_sym
share/kicad/demos/sonde xilinx/sym-lib-table
share/kicad/demos/stickhub/3dmodels/APHB1608.step
share/kicad/demos/stickhub/3dmodels/Crystal_SMD_4P_2520.step
@@ -365,31 +621,17 @@ share/kicad/demos/stickhub/footprints.pr
share/kicad/demos/stickhub/footprints.pretty/Creative_Commons_NC_Mask.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/Creative_Commons_SA_Mask.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/Crystal_4-SMD_2.5x2mm.kicad_mod
+share/kicad/demos/stickhub/footprints.pretty/D_0402.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/Duo_LED_1.6x0.8_Kingbright_APHB1608LZGKSURKC.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/JP-2_1.5x1.5.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/LQFP-48_7x7mm_P0.5mm.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/Plain_Hole_3mm.kicad_mod
+share/kicad/demos/stickhub/footprints.pretty/R_1005_C.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/TDFN-8_1.5x2mm_Fused-Lead_JEDEC_MO-252_W2015D.kicad_mod
share/kicad/demos/stickhub/footprints.pretty/USB_A_PCB_traces_small.kicad_mod
share/kicad/demos/stickhub/fp-lib-table
share/kicad/demos/stickhub/sym-lib-table
-share/kicad/demos/test_pads_inside_pads/connect.pretty/1pin.kicad_mod
-share/kicad/demos/test_pads_inside_pads/connect.pretty/1pin_thermal.kicad_mod
-share/kicad/demos/test_pads_inside_pads/fp-lib-table
-share/kicad/demos/test_pads_inside_pads/sym-lib-table
-share/kicad/demos/test_pads_inside_pads/test_pads_inside_pads.kicad_pcb
-share/kicad/demos/test_pads_inside_pads/test_pads_inside_pads.kicad_pro
-share/kicad/demos/test_pads_inside_pads/test_pads_inside_pads.kicad_sch
-share/kicad/demos/test_pads_inside_pads/test_pads_inside_pads_schlib.kicad_sym
-share/kicad/demos/test_xil_95108/carte_test.kicad_pcb
-share/kicad/demos/test_xil_95108/carte_test.kicad_pro
-share/kicad/demos/test_xil_95108/carte_test.kicad_sch
-share/kicad/demos/test_xil_95108/carte_test_schlib.kicad_sym
-share/kicad/demos/test_xil_95108/footprints.pretty/DIP-28__300__600_ELL.kicad_mod
-share/kicad/demos/test_xil_95108/footprints.pretty/PLCC84.kicad_mod
-share/kicad/demos/test_xil_95108/fp-lib-table
-share/kicad/demos/test_xil_95108/sym-lib-table
share/kicad/demos/tiny_tapeout/LICENSE.txt
share/kicad/demos/tiny_tapeout/doc/demoboard-prelim-v1-0-3.pdf
share/kicad/demos/tiny_tapeout/fp-lib-table
@@ -450,14 +692,35 @@ share/kicad/demos/video/esvideo.kicad_sc
share/kicad/demos/video/fp-lib-table
share/kicad/demos/video/graphic.kicad_sch
share/kicad/demos/video/libs/footprints.pretty/BUSPCI.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolder.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/CV3-30PF.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/C_Disc_D3.0mm_W2.0mm_P2.50mm.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/Crystal_HC18-U_Horizontal.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/Crystal_HC18-U_Vertical.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/DIP-8_W7.62mm.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset14.56mm_Housed_MountingHolesOffset15.98mm.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/D_DO-34_SOD68_P7.62mm_Horizontal.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/LED_D3.0mm.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/LRTDK.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/PLCC68.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/PLCC84.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/PQFP-100_14x20mm_P0.65mm.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/PQFP-160_28x28mm_P0.65mm.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/PinHeader_1x01_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/PinHeader_1x02_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/PinHeader_1x05_P2.54mm_Vertical.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/Potentiometer_Bourns_3314G_Vertical.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/R_1206_3216Metric_Pad1.30x1.75mm_HandSolder.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/R_1210_3225Metric_Pad1.30x2.65mm_HandSolder.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/R_1812_4532Metric_Pad1.30x3.40mm_HandSolder.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/R_Array_SIP9.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/SOIC-20W_7.5x12.8mm_P1.27mm.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/SOIC-24W_7.5x15.4mm_P1.27mm.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/SOIC-28W_7.5x17.9mm_P1.27mm.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/SOT23EBC.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/SSOP-8_3.95x5.21x3.27mm_P1.27mm.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm.kicad_mod
+share/kicad/demos/video/libs/footprints.pretty/TQFP-100_14x14mm_P0.5mm.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/sim72.kicad_mod
share/kicad/demos/video/libs/footprints.pretty/subclick.kicad_mod
share/kicad/demos/video/libs/fp.3dshapes/subclick_horiz.wings
@@ -471,6 +734,134 @@ share/kicad/demos/video/sym-lib-table
share/kicad/demos/video/video.kicad_pcb
share/kicad/demos/video/video.kicad_pro
share/kicad/demos/video/video.kicad_sch
+share/kicad/demos/vme-wren/cern-ohl-left.kicad_wks
+share/kicad/demos/vme-wren/clocks.kicad_sch
+share/kicad/demos/vme-wren/ddr4-ps.kicad_sch
+share/kicad/demos/vme-wren/flash.kicad_sch
+share/kicad/demos/vme-wren/fp-lib-table
+share/kicad/demos/vme-wren/fp_connectors.kicad_sch
+share/kicad/demos/vme-wren/fpga-config.kicad_sch
+share/kicad/demos/vme-wren/fpga-hd-banks.kicad_sch
+share/kicad/demos/vme-wren/fpga-hp-banks.kicad_sch
+share/kicad/demos/vme-wren/fpga-mgts-power.kicad_sch
+share/kicad/demos/vme-wren/fpga-mgts.kicad_sch
+share/kicad/demos/vme-wren/fpga-mio.kicad_sch
+share/kicad/demos/vme-wren/fpga-power-gnd.kicad_sch
+share/kicad/demos/vme-wren/fpga-power.kicad_sch
+share/kicad/demos/vme-wren/fpga-ps-ddr.kicad_sch
+share/kicad/demos/vme-wren/fpga.kicad_sch
+share/kicad/demos/vme-wren/front-panel-io.kicad_sch
+share/kicad/demos/vme-wren/io_driver.kicad_sch
+share/kicad/demos/vme-wren/io_driver_32x.kicad_sch
+share/kicad/demos/vme-wren/io_driver_8x.kicad_sch
+share/kicad/demos/vme-wren/lib/vme-wren.pretty/BIVAR_VLP-350-F.kicad_mod
+share/kicad/demos/vme-wren/lib/vme-wren.pretty/HARWIN_M22-2511046.kicad_mod
+share/kicad/demos/vme-wren/lib/vme-wren.pretty/HARWIN_M22-6541042R.kicad_mod
+share/kicad/demos/vme-wren/lib/vme-wren.pretty/LED_EVERLIGHT_19-C47_RSGHBHC-5V01_2T.kicad_mod
+share/kicad/demos/vme-wren/pcie_connector.kicad_sch
+share/kicad/demos/vme-wren/power-supply-1.kicad_sch
+share/kicad/demos/vme-wren/power-supply-2.kicad_sch
+share/kicad/demos/vme-wren/power-supply-3.kicad_sch
+share/kicad/demos/vme-wren/pp_driver_2x.kicad_sch
+share/kicad/demos/vme-wren/pp_driver_32x.kicad_sch
+share/kicad/demos/vme-wren/pp_driver_8x.kicad_sch
+share/kicad/demos/vme-wren/sfp+.kicad_sch
+share/kicad/demos/vme-wren/slow_gpio.kicad_sch
+share/kicad/demos/vme-wren/sym-lib-table
+share/kicad/demos/vme-wren/user_interface.kicad_sch
+share/kicad/demos/vme-wren/vme-wren.kicad_dru
+share/kicad/demos/vme-wren/vme-wren.kicad_pcb
+share/kicad/demos/vme-wren/vme-wren.kicad_pro
+share/kicad/demos/vme-wren/vme-wren.kicad_sch
+share/kicad/demos/vme-wren/vme-wren.kicad_sym
+share/kicad/demos/vme-wren/vme-wren.pdf
+share/kicad/demos/vme-wren/vme_buffers_addr.kicad_sch
+share/kicad/demos/vme-wren/vme_buffers_aux.kicad_sch
+share/kicad/demos/vme-wren/vme_buffers_data.kicad_sch
+share/kicad/demos/vme-wren/vme_buffers_p0_hwbyte.kicad_sch
+share/kicad/demos/vme-wren/vme_buffers_userio_p2.kicad_sch
+share/kicad/demos/vme-wren/vme_interface.kicad_sch
+share/kicad/demos/vme-wren/vme_p0.kicad_sch
+share/kicad/demos/vme-wren/vme_p1_p2.kicad_sch
+share/kicad/demos/vme-wren/wren.pretty/BGA784C80P28X28_2300X2300X332.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/BGA96C80P9X16_750X1350X120.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/BOSSARD_BN5687-3061600_v.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/BOSSARD_BN628-1241427_v.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/BOSSARD_BN678-8303525_v.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPC1005X55N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPC1005X70N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPC1608X100N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPC1608X90N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPC2013X145N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPC3216X180N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPC3225X280N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPMP7343X200N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/CAPPR350-850X700_A.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/EATON_0402ESDA-MLP.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/FIDUCIAL_TOP_C100-200.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/FUSR_LITTELFUSE_0603L.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/HARTING_02 01 160 2101.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/HARTING_17 25 095 2102.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/HARWIN_M22-6541042R.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/HIROSE_U.FL-R-SMT-1(10).kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/INDC1608X95N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/INDC2012X105N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/INDC2012X110N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/IND_COILCRAFT_XAL4020.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/IND_COILCRAFT_XAL4030.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/IND_MURATA_BLM31PG.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/IND_PULSE_PA2607.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/IND_TDK_VLCF5020-1.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/INFINEON_PG-VQFN-56-900 (IRPS5401M).kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/INFINEON_TDA21535.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/KiCad-Logo_8mm_SilkScreen.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/LED_KINGBRIGHT_KPH-1608CGCK.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/MOLEX_500075-1517.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/MOLEX_74737-0009.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/MOLEX_87832-1420.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/MTG270_500.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/OSC_CONNOR-WINFIELD_DOT050V.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/OSC_EPSON_SG-8018CE.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/OSC_KYOCERA_KV7050B-C3.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/PB_OMRON_B3U-1100P.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/QFN50P400X400X80-25N-S280.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/QFN50P700X700X90-45N-S530.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/RESC1005X40N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/RESC1106X84N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/RESC1608X55N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/RESC2012X60N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/RESC3216X65N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SAMTEC_LSHM-120-02.5-X-DV-A-S.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SAMTEC_MTLW-102-07-L-S-250.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SAMTEC_MTLW-103-07-L-S-250.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SODFL1608X65N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOIC127P1030X265-16N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOIC127P600X175-8N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOIC127P780X200-16N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SON45P300X300X80-13N-R175X248.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SON50P200X200X80-9N-R100X170.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOP50P810X120-48N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOP65P400X130-8N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOP65P490X110-8N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOP65P640X120-24N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOT190P230X110-4N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOT65P210X110-6N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOT95P237X112-3N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOT95P240X110-3N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOT95P240X130-3N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SOT95P280X145-6N.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SW_TYCO_1-1571983-0.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/SW_TYCO_1571983-4.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TEXAS_DRC (S-PVSON-N10).kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TEXAS_DSC (S-PWSON-N10).kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TEXAS_RGY (R-PVQFN-N16).kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TEXAS_RGY (S-PVQFN-N14).kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TEXAS_RVQ (S-PB3QFN-N42).kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TPS127.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TYCO_1761014-3.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TYCO_1888247-1.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/TYCO_2149027-1.kicad_mod
+share/kicad/demos/vme-wren/wren.pretty/XFMR_MINI-CIRCUITS_CD542.kicad_mod
share/kicad/internat/ar/kicad.mo
share/kicad/internat/bg/kicad.mo
share/kicad/internat/ca/kicad.mo
@@ -482,8 +873,12 @@ share/kicad/internat/en/kicad.mo
share/kicad/internat/es/kicad.mo
share/kicad/internat/es_MX/kicad.mo
share/kicad/internat/et/kicad.mo
+share/kicad/internat/fa/kicad.mo
share/kicad/internat/fi/kicad.mo
share/kicad/internat/fr/kicad.mo
+share/kicad/internat/he/kicad.mo
+share/kicad/internat/hi/kicad.mo
+share/kicad/internat/hr/kicad.mo
share/kicad/internat/hu/kicad.mo
share/kicad/internat/id/kicad.mo
share/kicad/internat/it/kicad.mo
@@ -504,6 +899,7 @@ share/kicad/internat/sl/kicad.mo
share/kicad/internat/sr/kicad.mo
share/kicad/internat/sv/kicad.mo
share/kicad/internat/ta/kicad.mo
+share/kicad/internat/te/kicad.mo
share/kicad/internat/th/kicad.mo
share/kicad/internat/tr/kicad.mo
share/kicad/internat/uk/kicad.mo
@@ -521,7 +917,11 @@ share/kicad/plugins/bom_txt_sorted_by_re
share/kicad/plugins/kicad_netlist_reader.py
share/kicad/plugins/kicad_utils.py
share/kicad/resources/images.tar.gz
+share/kicad/schemas/api.v1.schema.json
+share/kicad/schemas/kicad-remote-provider-metadata-v1.schema.json
+share/kicad/schemas/kicad-remote-symbol-manifest-v1.schema.json
share/kicad/schemas/pcm.v1.schema.json
+share/kicad/schemas/pcm.v2.schema.json
share/kicad/scripting/kicad_pyshell/__init__.py
share/kicad/scripting/kicad_pyshell/kicad_pyeditor.py
share/kicad/scripting/plugins/FPC_wizard.py
@@ -537,6 +937,7 @@ share/kicad/scripting/plugins/mutualcap_
share/kicad/scripting/plugins/qfn_wizard.py
share/kicad/scripting/plugins/qfp_wizard.py
share/kicad/scripting/plugins/qrcode_footprint_wizard.py
+share/kicad/scripting/plugins/scrollwheel_wizard.py
share/kicad/scripting/plugins/sdip_wizard.py
share/kicad/scripting/plugins/touch_slider_wizard.py
share/kicad/scripting/plugins/uss39_barcode.py
@@ -545,3 +946,4 @@ share/kicad/template/kicad.kicad_pro
share/metainfo/org.kicad.kicad.metainfo.xml
share/mime/packages/kicad-gerbers.xml
share/mime/packages/kicad-kicad.xml
+share/zsh/site-functions/_kicad-cli
Index: pkgsrc/cad/kicad/distinfo
diff -u pkgsrc/cad/kicad/distinfo:1.30 pkgsrc/cad/kicad/distinfo:1.31
--- pkgsrc/cad/kicad/distinfo:1.30 Mon Dec 22 15:33:09 2025
+++ pkgsrc/cad/kicad/distinfo Tue Sep 29 16:11:56 2026
@@ -1,23 +1,37 @@
-$NetBSD: distinfo,v 1.30 2025/12/22 15:33:09 adam Exp $
+$NetBSD: distinfo,v 1.31 2026/09/29 16:11:56 bouyer Exp $
-BLAKE2s (kicad-8.0.9.tar.bz2) = f28dc729590c55aad9b7e84d595d97082a7857cd5c9dddf2dd5c6bffe90d6c31
-SHA512 (kicad-8.0.9.tar.bz2) = cc822c46adea5a3dab3fd6c383c9cc1efebb3e9d1e88a0237caf6e9ef1fd0c249328e9afbf4a138cc19eda1aad864e2854fabd3bf17763109dce57e335be38b2
-Size (kicad-8.0.9.tar.bz2) = 73236341 bytes
+BLAKE2s (kicad-10.0.6.tar.bz2) = 3724d0ea4490077a06219cc5b603cf05fe3aeab5a11b9d0f03080f06301095ea
+SHA512 (kicad-10.0.6.tar.bz2) = 5fd23c26c36d39ce7b58ba224bbce843b708e945806e3c303707a4216b644a8993a6d956078b5f4edb029bcb70e5489411daee23ae471386109cf631ce1d8201
+Size (kicad-10.0.6.tar.bz2) = 232821863 bytes
+SHA1 (patch-3d-viewer_3d__rendering_opengl_3d__spheres__gizmo.cpp) = c78959f9f10de3f9884ab64bf26f4c4f5f813cde
+SHA1 (patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp) = ec756e9952b2e3614384b86782e28c5bc8c42c1b
+SHA1 (patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h) = 41dfce6f955d6af543ae3536f3105727db86c7bf
SHA1 (patch-3d-viewer_3d_cache_sg_CMakeLists.txt) = c6e55d62646e890ba02b2a56dc3481f75ffba8a0
-SHA1 (patch-CMakeLists.txt) = c0d017d3b8b202004dff71386da451fd81ede969
+SHA1 (patch-3d-viewer_dialogs_panel__preview__3d__model.cpp) = 9c856e16ed4fd89ac9a1c9c9273101ec1792fae6
+SHA1 (patch-3d-viewer_dialogs_panel__preview__3d__model.h) = 47fd811b1c89a066b08ed3899dcd6e6d40bf8a1c
+SHA1 (patch-CMakeLists.txt) = 5a3869f50675de2b19ea20dfabe56b8ed40fbee6
+SHA1 (patch-api_CMakeLists.txt) = 23b2b74ab15dd64da83bda39293c32da1bb67f5e
+SHA1 (patch-api_proto_common_types_base__types.proto) = 63de1236017bc8d92dbb5ed5affc026f1585e8f9
SHA1 (patch-cmake_config.h.cmake) = 325b9c81e90477152b778e04c4fabe41548aa51d
+SHA1 (patch-common_api_api__handler__common.cpp) = 9c907cc0e155a759ac41e71317b601f678777e09
+SHA1 (patch-common_eda__base__frame.cpp) = 748e4d4887546fd1cb177c81c4f1845f2d13a4c4
SHA1 (patch-common_import__gfx_dxf__import__plugin.cpp) = 9ba67a398f9d9c0bd487b0cc5a8954be9cf8e274
+SHA1 (patch-common_spacenav_libspnav__driver.h) = da398b3c5f0c9411b906d8184db6da84fa79138d
SHA1 (patch-cvpcb_CMakeLists.txt) = a839b465f73727786495dace80c1706d457b33e4
SHA1 (patch-eeschema_CMakeLists.txt) = 89d5b25822f6d5856f827823e0646be80cbbfcb4
-SHA1 (patch-eeschema_sim_kibis_ibis__parser.cpp) = e173ccb32679174033540395e321abaee9eb2200
+SHA1 (patch-eeschema_sim_kibis_ibis__parser.cpp) = bc9f98f5db6d4fc5efd3a565ded3071e448a8180
SHA1 (patch-eeschema_sim_kibis_kibis.cpp) = 18d804db727498cffef4dffc36b30dbe2c608bcb
-SHA1 (patch-eeschema_sim_sim_model_tline.cpp) = 901488c10a8a2c558a4bebe15dc1339d1bbce066
+SHA1 (patch-eeschema_sim_sim_model_tline.cpp) = 6bfa244b2b7b4b370f825dde653f075de36d311d
SHA1 (patch-eeschema_sim_sim_property.cpp) = 3edb3ba6d1ac3f15d7562cb5b6c11815ee77d7d2
SHA1 (patch-gerbview_CMakeLists.txt) = ae4d813f4247b46546ef0945785ae99114d2d68d
SHA1 (patch-include_kiway.h) = 7208f474e895ea07ba5e5f56bab46d4d529b9e57
+SHA1 (patch-include_pcb__base__frame.h) = 4e73d0dc21ed88598a37c912e2793568b77565c5
SHA1 (patch-pagelayout__editor_CMakeLists.txt) = d6ee568713ce666f2ece34974a922698d9479c8e
SHA1 (patch-pcb__calculator_CMakeLists.txt) = 4b496498c6bef100f2eca99209e3efa521a3c653
-SHA1 (patch-pcbnew_CMakeLists.txt) = 671cc75cabbc0f3f73241a3d6db6ce41730465bf
+SHA1 (patch-pcbnew_CMakeLists.txt) = 532c5d41873f2189d4bb133994409b42e74ea983
+SHA1 (patch-pcbnew_pcb__base__frame.cpp) = 3937e71f803790cc438d5ee058ca777dda796c0d
SHA1 (patch-plugins_3d_idf_CMakeLists.txt) = 9061c5c5eac3311625ba93e541d557007c83eddc
SHA1 (patch-plugins_3d_vrml_CMakeLists.txt) = ea6942a953432c5c0124c57e9afb01f8a5c5325d
+SHA1 (patch-qa_qa__utils_error__handlers.cpp) = 0b9af4170c940507d4e008183093233ed3783cab
SHA1 (patch-thirdparty_libcontext_libcontext.h) = cde252b7ee114f88527d953aa0c3ebcdd905c4a9
+SHA1 (patch-thirdparty_thread-pool_bs__thread__pool.hpp) = 48593c9946240c5881d96c626fc5448f9498ac20
Index: pkgsrc/cad/kicad/patches/patch-CMakeLists.txt
diff -u pkgsrc/cad/kicad/patches/patch-CMakeLists.txt:1.8 pkgsrc/cad/kicad/patches/patch-CMakeLists.txt:1.9
--- pkgsrc/cad/kicad/patches/patch-CMakeLists.txt:1.8 Fri Apr 26 16:46:29 2024
+++ pkgsrc/cad/kicad/patches/patch-CMakeLists.txt Tue Sep 29 16:11:56 2026
@@ -1,22 +1,15 @@
-$NetBSD: patch-CMakeLists.txt,v 1.8 2024/04/26 16:46:29 tnn Exp $
+$NetBSD: patch-CMakeLists.txt,v 1.9 2026/09/29 16:11:56 bouyer Exp $
-Something is wrong with find_package. If EGL is found it complains
-that OpenGL is not found. Just disable the check for now.
+export Protobuf_INCLUDE_DIR from protobuf::libprotobuf, for use in
+api/CMakeLists.txt
---- CMakeLists.txt.orig 2024-03-13 15:55:00.000000000 +0000
-+++ CMakeLists.txt
-@@ -728,7 +728,13 @@ endif()
- # Find OpenGL library, required
- #
- if( KICAD_USE_EGL )
-- find_package( OpenGL REQUIRED COMPONENTS OpenGL EGL )
-+# find_package( OpenGL REQUIRED COMPONENTS OpenGL EGL )
-+ find_package( OpenGL REQUIRED COMPONENTS OpenGL )
-+ if (OpenGL_EGL_FOUND)
-+ message("Found OpenGL with EGL as expected")
-+ else()
-+ message(FATAL_ERROR "Found OpenGL without EGL")
-+ endif()
- else()
- set( OpenGL_GL_PREFERENCE "LEGACY" ) # CMake 3.11+ setting; see 'cmake --help-policy CMP0072'
- find_package( OpenGL REQUIRED )
+--- CMakeLists.txt.orig 2026-08-28 20:01:37.000000000 +0200
++++ CMakeLists.txt 2026-09-26 11:17:30.991741798 +0200
+@@ -906,6 +906,7 @@
+ find_package( Protobuf QUIET CONFIG )
+ if( Protobuf_FOUND )
+ set( Protobuf_LIBRARY "protobuf::libprotobuf" )
++ get_target_property(Protobuf_INCLUDE_DIR protobuf::libprotobuf INTERFACE_INCLUDE_DIRECTORIES)
+ set( _protobuf_found TRUE )
+ message( STATUS "Found Protobuf using CONFIG mode" )
+ else()
Index: pkgsrc/cad/kicad/patches/patch-eeschema_sim_kibis_ibis__parser.cpp
diff -u pkgsrc/cad/kicad/patches/patch-eeschema_sim_kibis_ibis__parser.cpp:1.1 pkgsrc/cad/kicad/patches/patch-eeschema_sim_kibis_ibis__parser.cpp:1.2
--- pkgsrc/cad/kicad/patches/patch-eeschema_sim_kibis_ibis__parser.cpp:1.1 Mon Feb 13 07:59:01 2023
+++ pkgsrc/cad/kicad/patches/patch-eeschema_sim_kibis_ibis__parser.cpp Tue Sep 29 16:11:56 2026
@@ -1,12 +1,12 @@
-$NetBSD: patch-eeschema_sim_kibis_ibis__parser.cpp,v 1.1 2023/02/13 07:59:01 tnn Exp $
+$NetBSD: patch-eeschema_sim_kibis_ibis__parser.cpp,v 1.2 2026/09/29 16:11:56 bouyer Exp $
Needs isnan in scope on NetBSD.
---- eeschema/sim/kibis/ibis_parser.cpp.orig 2023-02-11 16:03:39.000000000 +0000
+--- eeschema/sim/kibis/ibis_parser.cpp.orig 2026-04-15 15:36:56.000000000 +0000
+++ eeschema/sim/kibis/ibis_parser.cpp
-@@ -37,6 +37,8 @@
- #include <iterator>
+@@ -38,6 +38,8 @@
#include <locale_io.h> // KiCad header
+ #include <wx/log.h>
+using std::isnan;
+
Index: pkgsrc/cad/kicad/patches/patch-eeschema_sim_sim_model_tline.cpp
diff -u pkgsrc/cad/kicad/patches/patch-eeschema_sim_sim_model_tline.cpp:1.1 pkgsrc/cad/kicad/patches/patch-eeschema_sim_sim_model_tline.cpp:1.2
--- pkgsrc/cad/kicad/patches/patch-eeschema_sim_sim_model_tline.cpp:1.1 Tue Jun 6 10:20:58 2023
+++ pkgsrc/cad/kicad/patches/patch-eeschema_sim_sim_model_tline.cpp Tue Sep 29 16:11:56 2026
@@ -1,15 +1,15 @@
-$NetBSD: patch-eeschema_sim_sim_model_tline.cpp,v 1.1 2023/06/06 10:20:58 bouyer Exp $
+$NetBSD: patch-eeschema_sim_sim_model_tline.cpp,v 1.2 2026/09/29 16:11:56 bouyer Exp $
Needs isnan in scope on NetBSD.
---- eeschema/sim/sim_model_tline.cpp.orig 2023-06-03 11:47:42.920032391 +0200
-+++ eeschema/sim/sim_model_tline.cpp 2023-06-03 11:48:46.124305265 +0200
+--- eeschema/sim/sim_model_tline.cpp.orig 2026-04-15 15:36:56.000000000 +0000
++++ eeschema/sim/sim_model_tline.cpp
@@ -26,6 +26,8 @@
#include <fmt/core.h>
+using std::isnan;
+
- using PARAM = SIM_MODEL::PARAM;
+ using SIMPARAM = SIM_MODEL::PARAM;
Index: pkgsrc/cad/kicad/patches/patch-pcbnew_CMakeLists.txt
diff -u pkgsrc/cad/kicad/patches/patch-pcbnew_CMakeLists.txt:1.7 pkgsrc/cad/kicad/patches/patch-pcbnew_CMakeLists.txt:1.8
--- pkgsrc/cad/kicad/patches/patch-pcbnew_CMakeLists.txt:1.7 Fri Apr 26 16:46:29 2024
+++ pkgsrc/cad/kicad/patches/patch-pcbnew_CMakeLists.txt Tue Sep 29 16:11:56 2026
@@ -1,16 +1,16 @@
-$NetBSD: patch-pcbnew_CMakeLists.txt,v 1.7 2024/04/26 16:46:29 tnn Exp $
+$NetBSD: patch-pcbnew_CMakeLists.txt,v 1.8 2026/09/29 16:11:56 bouyer Exp $
Force proper LDFLAGS for MODULE, as cmake doesn't set rpath for these
---- pcbnew/CMakeLists.txt.orig 2024-03-13 15:55:00.000000000 +0000
+--- pcbnew/CMakeLists.txt.orig 2026-07-21 19:13:55.000000000 +0000
+++ pcbnew/CMakeLists.txt
-@@ -714,6 +714,9 @@ target_link_options( pcbnew_kiface PRIVA
+@@ -910,6 +910,9 @@ target_link_options( pcbnew_kiface PRIVATE
$<$<BOOL:${KICAD_MAKE_LINK_MAPS}>:-Wl,--cref,-Map=_pcbnew.kiface.map>
)
+set_property(TARGET pcbnew_kiface APPEND_STRING
+ PROPERTY LINK_FLAGS " $ENV{LDFLAGS}")
+
- # if building pcbnew, then also build pcbnew_kiface if out of date.
+ #if building pcbnew, then also build pcbnew_kiface if out of date.
add_dependencies( pcbnew pcbnew_kiface )
Added files:
Index: pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__rendering_opengl_3d__spheres__gizmo.cpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__rendering_opengl_3d__spheres__gizmo.cpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__rendering_opengl_3d__spheres__gizmo.cpp Tue Sep 29 16:11:56 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-3d-viewer_3d__rendering_opengl_3d__spheres__gizmo.cpp,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+no match for 'operator*' (operand types are 'double' and 'const glm::vec3'
+{aka 'const glm::vec<3, float, glm::packed_highp>'})
+
+--- 3d-viewer/3d_rendering/opengl/3d_spheres_gizmo.cpp.orig 2026-05-05 13:32:50.313638521 +0000
++++ 3d-viewer/3d_rendering/opengl/3d_spheres_gizmo.cpp
+@@ -145,7 +145,7 @@ void SPHERES_GIZMO::render3dSpheresGizmo
+ for( int i = 0; i <= aSegments; ++i )
+ {
+ float angle = 2.0f * glm::pi<float>() * i / aSegments;
+- glm::vec3 dir = cos( angle ) * aCamRight + sin( angle ) * aCamUp;
++ glm::vec3 dir = cosf( angle ) * aCamRight + sinf( angle ) * aCamUp;
+
+ glm::vec3 outer = aCenter + dir * ( aRadius + thickness * 0.5f );
+ glm::vec3 inner = aCenter + dir * ( aRadius - thickness * 0.5f );
Index: pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp Tue Sep 29 16:11:56 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Add NetBSD support.
+
+--- 3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp.orig 2026-05-05 16:08:02.643784359 +0000
++++ 3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp
+@@ -62,7 +62,7 @@
+ #include <project_pcb.h>
+ #include <toolbars_3d.h>
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <spacenav/libspnav_driver.h>
+ #include <3d_spacenav/spnav_viewer_plugin.h>
+ #else
+@@ -198,7 +198,7 @@ EDA_3D_VIEWER_FRAME::EDA_3D_VIEWER_FRAME
+
+ try
+ {
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ m_spaceMouse = std::make_unique<SPNAV_VIEWER_PLUGIN>( m_canvas );
+ #else
+ m_spaceMouse = std::make_unique<NL_3D_VIEWER_PLUGIN>( m_canvas );
Index: pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h Tue Sep 29 16:11:56 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Add NetBSD support.
+
+--- 3d-viewer/3d_viewer/eda_3d_viewer_frame.h.orig 2026-05-05 16:09:40.080833685 +0000
++++ 3d-viewer/3d_viewer/eda_3d_viewer_frame.h
+@@ -44,7 +44,7 @@
+ #define KICAD_DEFAULT_3D_DRAWFRAME_STYLE (wxDEFAULT_FRAME_STYLE | wxWANTS_CHARS)
+
+ // Forward declarations
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ class SPNAV_VIEWER_PLUGIN;
+ #else
+ class NL_3D_VIEWER_PLUGIN;
+@@ -280,7 +280,7 @@ private:
+
+ bool m_disable_ray_tracing;
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ std::unique_ptr<SPNAV_VIEWER_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<NL_3D_VIEWER_PLUGIN> m_spaceMouse;
Index: pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp Tue Sep 29 16:11:56 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-3d-viewer_dialogs_panel__preview__3d__model.cpp,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Add NetBSD support.
+
+--- 3d-viewer/dialogs/panel_preview_3d_model.cpp.orig 2026-05-05 16:27:04.244600413 +0000
++++ 3d-viewer/dialogs/panel_preview_3d_model.cpp
+@@ -50,7 +50,7 @@
+ #include <eda_3d_viewer_settings.h>
+ #include <board_design_settings.h>
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <3d_spacenav/spnav_viewer_plugin.h>
+ #else
+ #include <3d_navlib/nl_footprint_properties_plugin.h>
+@@ -201,7 +201,7 @@ PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D
+
+ try
+ {
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ m_spaceMouse = std::make_unique<SPNAV_VIEWER_PLUGIN>( m_previewPane );
+ #else
+ m_spaceMouse = std::make_unique<NL_FOOTPRINT_PROPERTIES_PLUGIN>( m_previewPane );
Index: pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.h
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.h:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-3d-viewer_dialogs_panel__preview__3d__model.h Tue Sep 29 16:11:56 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-3d-viewer_dialogs_panel__preview__3d__model.h,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Add NetBSD support.
+
+--- 3d-viewer/dialogs/panel_preview_3d_model.h.orig 2026-05-05 16:27:07.594181393 +0000
++++ 3d-viewer/dialogs/panel_preview_3d_model.h
+@@ -63,7 +63,7 @@ class EMBEDDED_FILES;
+ class BOARD;
+ class BOARD_ADAPTER;
+ class FOOTPRINT;
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ class SPNAV_VIEWER_PLUGIN;
+ #else
+ class NL_FOOTPRINT_PROPERTIES_PLUGIN;
+@@ -235,7 +235,7 @@ private:
+ /// The 3d viewer Render initial settings (must be saved and restored)
+ EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS m_initialRender;
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ std::unique_ptr<SPNAV_VIEWER_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<NL_FOOTPRINT_PROPERTIES_PLUGIN> m_spaceMouse;
Index: pkgsrc/cad/kicad/patches/patch-api_CMakeLists.txt
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-api_CMakeLists.txt:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-api_CMakeLists.txt Tue Sep 29 16:11:56 2026
@@ -0,0 +1,14 @@
+$NetBSD: patch-api_CMakeLists.txt,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Make sure protoc will find system includes
+
+--- api/CMakeLists.txt.orig 2026-08-28 20:01:37.000000000 +0200
++++ api/CMakeLists.txt 2026-09-26 11:15:22.451740568 +0200
+@@ -52,6 +52,7 @@
+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
+ --cpp_out=dllexport_decl=KIAPI_IMPORTEXPORT:${KIAPI_CPP_BASEPATH}
+ --proto_path=${CMAKE_CURRENT_SOURCE_DIR}/proto
++ --proto_path=${Protobuf_INCLUDE_DIR}
+ --experimental_allow_proto3_optional
+ ${KIAPI_PROTO_SRCS}
+ COMMENT "Generating API protobuf source files from proto definitions..."
Index: pkgsrc/cad/kicad/patches/patch-api_proto_common_types_base__types.proto
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-api_proto_common_types_base__types.proto:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-api_proto_common_types_base__types.proto Tue Sep 29 16:11:56 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-api_proto_common_types_base__types.proto,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Avoid conflict with major()/minor() macro from sys/types.h.
+
+--- api/proto/common/types/base_types.proto.orig 2025-03-15 02:08:08.496675423 +0000
++++ api/proto/common/types/base_types.proto
+@@ -46,8 +46,8 @@ message CommandStatusResponse
+ */
+ message KiCadVersion
+ {
+- uint32 major = 1;
+- uint32 minor = 2;
++ uint32 k_major = 1;
++ uint32 k_minor = 2;
+ uint32 patch = 3;
+
+ // Full identifier string, potentially containing git hashes, packager-added info, etc.
Index: pkgsrc/cad/kicad/patches/patch-common_api_api__handler__common.cpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-common_api_api__handler__common.cpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-common_api_api__handler__common.cpp Tue Sep 29 16:11:56 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-common_api_api__handler__common.cpp,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Avoid conflict with major()/minor() macro from sys/types.h.
+
+--- common/api/api_handler_common.cpp.orig 2025-03-15 02:15:24.615413380 +0000
++++ common/api/api_handler_common.cpp
+@@ -73,8 +73,8 @@ HANDLER_RESULT<GetVersionResponse> API_H
+ reply.mutable_version()->set_full_version( GetBuildVersion().ToStdString() );
+
+ std::tuple<int, int, int> version = GetMajorMinorPatchTuple();
+- reply.mutable_version()->set_major( std::get<0>( version ) );
+- reply.mutable_version()->set_minor( std::get<1>( version ) );
++ reply.mutable_version()->set_k_major( std::get<0>( version ) );
++ reply.mutable_version()->set_k_minor( std::get<1>( version ) );
+ reply.mutable_version()->set_patch( std::get<2>( version ) );
+
+ return reply;
Index: pkgsrc/cad/kicad/patches/patch-common_eda__base__frame.cpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-common_eda__base__frame.cpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-common_eda__base__frame.cpp Tue Sep 29 16:11:56 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-common_eda__base__frame.cpp,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Add NetBSD support.
+
+--- common/eda_base_frame.cpp.orig 2026-05-05 16:34:51.211225353 +0000
++++ common/eda_base_frame.cpp
+@@ -1405,7 +1405,7 @@ void EDA_BASE_FRAME::ShowPreferences( wx
+ return new PANEL_MOUSE_SETTINGS( aParent );
+ }, _( "Mouse and Touchpad" ) );
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ book->AddLazyPage(
+ [] ( wxWindow* aParent ) -> wxWindow*
+ {
Index: pkgsrc/cad/kicad/patches/patch-common_spacenav_libspnav__driver.h
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-common_spacenav_libspnav__driver.h:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-common_spacenav_libspnav__driver.h Tue Sep 29 16:11:56 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-common_spacenav_libspnav__driver.h,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Add NetBSD support.
+
+--- common/spacenav/libspnav_driver.h.orig 2026-05-05 12:57:05.286145561 +0000
++++ common/spacenav/libspnav_driver.h
+@@ -24,7 +24,7 @@
+ #ifndef KICAD_LIBSPNAV_DRIVER_H
+ #define KICAD_LIBSPNAV_DRIVER_H
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <spnav.h>
+ #endif
+
Index: pkgsrc/cad/kicad/patches/patch-include_pcb__base__frame.h
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-include_pcb__base__frame.h:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-include_pcb__base__frame.h Tue Sep 29 16:11:56 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-include_pcb__base__frame.h,v 1.1 2026/09/29 16:11:56 bouyer Exp $
+
+Add NetBSD support.
+
+--- include/pcb_base_frame.h.orig 2026-05-05 16:40:29.125456392 +0000
++++ include/pcb_base_frame.h
+@@ -63,7 +63,7 @@ struct MAGNETIC_SETTINGS;
+ class PROGRESS_REPORTER;
+ class PCB_LAYER_BOX_SELECTOR;
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ class SPNAV_2D_PLUGIN;
+ #else
+ class NL_PCBNEW_PLUGIN;
+@@ -437,7 +437,7 @@ protected:
+ PCB_ORIGIN_TRANSFORMS m_originTransforms;
+
+ private:
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ std::unique_ptr<SPNAV_2D_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<NL_PCBNEW_PLUGIN> m_spaceMouse;
Index: pkgsrc/cad/kicad/patches/patch-pcbnew_pcb__base__frame.cpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-pcbnew_pcb__base__frame.cpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-pcbnew_pcb__base__frame.cpp Tue Sep 29 16:11:57 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-pcbnew_pcb__base__frame.cpp,v 1.1 2026/09/29 16:11:57 bouyer Exp $
+
+Add NetBSD support.
+
+--- pcbnew/pcb_base_frame.cpp.orig 2026-05-05 16:38:44.932301106 +0000
++++ pcbnew/pcb_base_frame.cpp
+@@ -71,7 +71,7 @@
+ #include <tool/grid_menu.h>
+ #include <ratsnest/ratsnest_view_item.h>
+
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <spacenav/spnav_2d_plugin.h>
+ #else
+ #include <navlib/nl_pcbnew_plugin.h>
+@@ -1044,7 +1044,7 @@ void PCB_BASE_FRAME::ActivateGalCanvas()
+ {
+ if( !m_spaceMouse )
+ {
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ m_spaceMouse = std::make_unique<SPNAV_2D_PLUGIN>( GetCanvas() );
+ m_spaceMouse->SetScale( 0.01 );
+ #else
Index: pkgsrc/cad/kicad/patches/patch-qa_qa__utils_error__handlers.cpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-qa_qa__utils_error__handlers.cpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-qa_qa__utils_error__handlers.cpp Tue Sep 29 16:11:57 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-qa_qa__utils_error__handlers.cpp,v 1.1 2026/09/29 16:11:57 bouyer Exp $
+
+Add NetBSD support.
+
+--- qa/qa_utils/error_handlers.cpp.orig 2026-05-05 13:14:12.564189526 +0000
++++ qa/qa_utils/error_handlers.cpp
+@@ -25,7 +25,7 @@
+ #include <string>
+ #include <iostream>
+ #include <qa_utils/error_handlers.h>
+-#if defined(__APPLE__) || defined(__FreeBSD__)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #define BOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED
+ #endif
+ #ifdef __linux__
Index: pkgsrc/cad/kicad/patches/patch-thirdparty_thread-pool_bs__thread__pool.hpp
diff -u /dev/null pkgsrc/cad/kicad/patches/patch-thirdparty_thread-pool_bs__thread__pool.hpp:1.1
--- /dev/null Tue Sep 29 16:11:57 2026
+++ pkgsrc/cad/kicad/patches/patch-thirdparty_thread-pool_bs__thread__pool.hpp Tue Sep 29 16:11:57 2026
@@ -0,0 +1,222 @@
+$NetBSD: patch-thirdparty_thread-pool_bs__thread__pool.hpp,v 1.1 2026/09/29 16:11:57 bouyer Exp $
+
+Add NetBSD support.
+
+--- thirdparty/thread-pool/bs_thread_pool.hpp.orig 2026-07-21 19:13:55.000000000 +0000
++++ thirdparty/thread-pool/bs_thread_pool.hpp
+@@ -82,7 +82,7 @@ import std;
+ #include <windows.h>
+ #undef min
+ #undef max
+- #elif defined(__linux__) || defined(__APPLE__)
++ #elif defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
+ #include <pthread.h>
+ #include <sched.h>
+ #include <sys/resource.h>
+@@ -90,13 +90,15 @@ import std;
+ #if defined(__linux__)
+ #include <sys/syscall.h>
+ #include <sys/sysinfo.h>
++ #elif defined(__NetBSD__)
++ #include <sys/syscall.h>
+ #endif
+ #else
+ #undef BS_THREAD_POOL_NATIVE_EXTENSIONS
+ #endif
+ #endif
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__NetBSD__)
+ // On Linux, <sys/sysmacros.h> defines macros called `major` and `minor`. We undefine them here so the `version` struct can work.
+ #ifdef major
+ #undef major
+@@ -577,7 +579,7 @@ enum class os_thread_priority
+ highest = THREAD_PRIORITY_HIGHEST,
+ realtime = THREAD_PRIORITY_TIME_CRITICAL
+ };
+- #elif defined(__linux__) || defined(__APPLE__)
++ #elif defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
+ /**
+ * @brief An enum containing pre-defined OS-specific process priority values for portability.
+ */
+@@ -645,6 +647,25 @@ enum class os_thread_priority
+ for (std::size_t i = 0; i < affinity.size(); ++i)
+ affinity[i] = CPU_ISSET(i, &cpu_set);
+ return affinity;
++ #elif defined(__NetBSD__)
++ cpuset_t *cpuset = cpuset_create();
++ cpuset_zero(cpuset);
++ if (sched_getaffinity_np(getpid(), cpuset_size(cpuset), cpuset) != 0)
++ {
++ cpuset_destroy(cpuset);
++ return std::nullopt;
++ }
++ const long num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
++ if (num_cpus < 1)
++ {
++ cpuset_destroy(cpuset);
++ return std::nullopt;
++ }
++ std::vector<bool> affinity(static_cast<std::size_t>(num_cpus));
++ for (std::size_t i = 0; i < affinity.size(); ++i)
++ affinity[i] = cpuset_isset(i, cpuset);
++ cpuset_destroy(cpuset);
++ return affinity;
+ #elif defined(__APPLE__)
+ return std::nullopt;
+ #endif
+@@ -672,6 +693,15 @@ inline bool set_os_process_affinity(const std::vector<
+ CPU_SET(i, &cpu_set);
+ }
+ return sched_setaffinity(getpid(), sizeof(cpu_set_t), &cpu_set) == 0;
++ #elif defined(__NetBSD__)
++ cpuset_t *cpuset = cpuset_create();
++ cpuset_zero(cpuset);
++ for (std::size_t i = 0; i < std::min<std::size_t>(affinity.size(), cpuset_size(cpuset)); ++i)
++ {
++ if (affinity[i])
++ cpuset_set(i, cpuset);
++ }
++ return sched_setaffinity_np(getpid(), cpuset_size(cpuset), cpuset) == 0;
+ #elif defined(__APPLE__)
+ return affinity[0] && false; // NOLINT(readability-simplify-boolean-expr) // Using `affinity` to suppress unused parameter warning.
+ #endif
+@@ -690,7 +720,7 @@ inline bool set_os_process_affinity(const std::vector<
+ if (priority == 0)
+ return std::nullopt;
+ return static_cast<os_process_priority>(priority);
+- #elif defined(__linux__) || defined(__APPLE__)
++ #elif defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
+ // On Linux/macOS there is no direct analogue of `GetPriorityClass()` on Windows, so instead we get the "nice" value. The usual range is -20 to 19 or 20, with higher values corresponding to
lower priorities. However, we are only using 6 pre-defined values for portability, so if the value was set via any means other than `BS::set_os_process_priority()`, it may not match one of our
pre-defined values. Note that `getpriority()` returns -1 on error, but since this does not correspond to any of our pre-defined values, this function will return `std::nullopt` anyway.
+ const int nice_val = getpriority(PRIO_PROCESS, static_cast<id_t>(getpid()));
+ switch (nice_val)
+@@ -724,7 +754,7 @@ inline bool set_os_process_priority(const os_process_p
+ #if defined(_WIN32)
+ // On Windows, this is straightforward.
+ return SetPriorityClass(GetCurrentProcess(), static_cast<DWORD>(priority)) != 0;
+- #elif defined(__linux__) || defined(__APPLE__)
++ #elif defined(__linux__) || defined(__APPLE__) || defined(__NetBSD__)
+ // On Linux/macOS there is no direct analogue of `SetPriorityClass()` on Windows, so instead we set the "nice" value. The usual range is -20 to 19 or 20, with higher values corresponding to
lower priorities. However, we are only using 6 pre-defined values for portability. Note that the "nice" values are only relevant for the `SCHED_OTHER` policy, but we do not set that policy here, as
it is per-thread rather than per-process.
+ // Also, it's important to note that a non-root user cannot decrease the nice value (i.e. increase the process priority), only increase it. This can cause confusing behavior. For example, if
the current priority is `BS::os_process_priority::normal` and the user sets it to `BS::os_process_priority::idle`, they cannot change it back `BS::os_process_priority::normal`.
+ return setpriority(PRIO_PROCESS, static_cast<id_t>(getpid()), static_cast<int>(priority)) == 0;
+@@ -806,6 +836,25 @@ class [[nodiscard]] this_thread (public)
+ for (std::size_t i = 0; i < affinity.size(); ++i)
+ affinity[i] = CPU_ISSET(i, &cpu_set);
+ return affinity;
++ #elif defined(__NetBSD__)
++ cpuset_t *cpuset = cpuset_create();;
++ cpuset_zero(cpuset);
++ if (pthread_getaffinity_np(pthread_self(), cpuset_size(cpuset), cpuset) != 0)
++ {
++ cpuset_destroy(cpuset);
++ return std::nullopt;
++ }
++ const long num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
++ if (num_cpus < 1)
++ {
++ cpuset_destroy(cpuset);
++ return std::nullopt;
++ }
++ std::vector<bool> affinity(static_cast<std::size_t>(num_cpus));
++ for (std::size_t i = 0; i < affinity.size(); ++i)
++ affinity[i] = cpuset_isset(i, cpuset);
++ cpuset_destroy(cpuset);
++ return affinity;
+ #elif defined(__APPLE__)
+ return std::nullopt;
+ #endif
+@@ -833,6 +882,17 @@ class [[nodiscard]] this_thread (public)
+ CPU_SET(i, &cpu_set);
+ }
+ return pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpu_set) == 0;
++ #elif defined(__NetBSD__)
++ cpuset_t *cpuset = cpuset_create();
++ cpuset_zero(cpuset);
++ for (std::size_t i = 0; i < std::min<std::size_t>(affinity.size(), cpuset_size(cpuset)); ++i)
++ {
++ if (affinity[i])
++ cpuset_set(i, cpuset);
++ }
++ bool rc = pthread_setaffinity_np(pthread_self(), cpuset_size(cpuset), cpuset) == 0;
++ cpuset_destroy(cpuset);
++ return rc;
+ #elif defined(__APPLE__)
+ return affinity[0] && false; // NOLINT(readability-simplify-boolean-expr) // Using `affinity` to suppress unused parameter warning.
+ #endif
+@@ -865,10 +925,12 @@ class [[nodiscard]] this_thread (public)
+ if (result == 0)
+ return std::nullopt;
+ return name;
+- #elif defined(__linux__) || defined(__APPLE__)
++#elif defined(__linux__) || defined(__NetBSD__) || defined(__APPLE__)
+ #ifdef __linux__
+ // On Linux thread names are limited to 16 characters, including the null terminator.
+ constexpr std::size_t buffer_size = 16;
++ #elif __NetBSD__
++ constexpr std::size_t buffer_size = PTHREAD_MAX_NAMELEN_NP;
+ #else
+ // On macOS thread names are limited to 64 characters, including the null terminator.
+ constexpr std::size_t buffer_size = 64;
+@@ -901,6 +963,8 @@ class [[nodiscard]] this_thread (public)
+ #elif defined(__linux__)
+ // On Linux this is straightforward.
+ return pthread_setname_np(pthread_self(), name.data()) == 0;
++ #elif defined(__NetBSD__)
++ return pthread_setname_np(pthread_self(), "%s", (void*)name.data()) == 0;
+ #elif defined(__APPLE__)
+ // On macOS, unlike Linux, a thread can only set a name for itself, so the signature is different.
+ return pthread_setname_np(name.data()) == 0;
+@@ -920,7 +984,7 @@ class [[nodiscard]] this_thread (public)
+ if (priority == THREAD_PRIORITY_ERROR_RETURN)
+ return std::nullopt;
+ return static_cast<os_thread_priority>(priority);
+- #elif defined(__linux__)
++ #elif defined(__linux__) || defined(__NetBSD__)
+ // On Linux, we distill the choices of scheduling policy, priority, and "nice" value into 7 pre-defined levels, for simplicity and portability. The total number of possible combinations of
policies and priorities is much larger, so if the value was set via any means other than `BS::this_thread::set_os_thread_priority()`, it may not match one of our pre-defined values.
+ int policy = 0;
+ struct sched_param param = {};
+@@ -946,7 +1010,11 @@ class [[nodiscard]] this_thread (public)
+ if (policy == SCHED_OTHER)
+ {
+ // For SCHED_OTHER, the result depends on the "nice" value. The usual range is -20 to 19 or 20, with higher values corresponding to lower priorities. Note that `getpriority()` returns
-1 on error, but since this does not correspond to any of our pre-defined values, this function will return `std::nullopt` anyway.
++ #ifdef __NetBSD__
++ const int nice_val = getpriority(PRIO_PROCESS, static_cast<id_t>(syscall(SYS__lwp_self)));
++ #else
+ const int nice_val = getpriority(PRIO_PROCESS, static_cast<id_t>(syscall(SYS_gettid)));
++ #endif
+ switch (nice_val)
+ {
+ case PRIO_MIN + 2:
+@@ -1013,7 +1081,7 @@ class [[nodiscard]] this_thread (public)
+ #if defined(_WIN32)
+ // On Windows, this is straightforward.
+ return SetThreadPriority(GetCurrentThread(), static_cast<int>(priority)) != 0;
+- #elif defined(__linux__)
++ #elif defined(__linux__) || defined(__NetBSD__)
+ // On Linux, we distill the choices of scheduling policy, priority, and "nice" value into 7 pre-defined levels, for simplicity and portability. The total number of possible combinations of
policies and priorities is much larger, but allowing more fine-grained control would not be portable.
+ int policy = 0;
+ struct sched_param param = {};
+@@ -1054,17 +1122,23 @@ class [[nodiscard]] this_thread (public)
+ param.sched_priority = 0;
+ nice_val = PRIO_MAX - 3;
+ break;
++ #ifdef __linux__
+ case os_thread_priority::idle:
+ // "Idle" pre-defined priority on Linux: We use the policy `SCHED_IDLE`, priority must be 0, and we don't touch the "nice" value.
+ policy = SCHED_IDLE;
+ param.sched_priority = 0;
+ break;
++ #endif
+ default:
+ return false;
+ }
+ bool success = (pthread_setschedparam(pthread_self(), policy, ¶m) == 0);
+ if (nice_val.has_value())
++ #ifdef __NetBSD__
++ success = success && (setpriority(PRIO_PROCESS, static_cast<id_t>(syscall(SYS__lwp_self)), nice_val.value()) == 0);
++ #else
+ success = success && (setpriority(PRIO_PROCESS, static_cast<id_t>(syscall(SYS_gettid)), nice_val.value()) == 0);
++ #endif
+ return success;
+ #elif defined(__APPLE__)
+ // On macOS, unlike Linux, the "nice" value is per-process, not per-thread (in compliance with the POSIX standard). However, unlike Linux, `SCHED_OTHER` on macOS does have a range of
priorities. So for `realtime` and `highest` priorities we use `SCHED_FIFO` and `SCHED_RR` respectively as for Linux, but for the other priorities we use `SCHED_OTHER` with a priority in the range
given by `sched_get_priority_min(SCHED_OTHER)` to `sched_get_priority_max(SCHED_OTHER)`.
Home |
Main Index |
Thread Index |
Old Index