summaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
Diffstat (limited to 'cad')
-rw-r--r--cad/Makefile1
-rw-r--r--cad/kicad-devel/Makefile2
-rw-r--r--cad/kicad-devel/Makefile.git_rev6
-rw-r--r--cad/kicad-devel/distinfo6
-rw-r--r--cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp20
-rw-r--r--cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h20
-rw-r--r--cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp20
-rw-r--r--cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.h20
-rw-r--r--cad/kicad-devel/files/patch-common_spacenav_libspnav__driver.h18
-rw-r--r--cad/kicad-devel/files/patch-eeschema_sch__base__frame.cpp20
-rw-r--r--cad/kicad-devel/files/patch-eeschema_sch__base__frame.h20
-rw-r--r--cad/kicad-devel/files/patch-gerbview_gerbview__frame.cpp20
-rw-r--r--cad/kicad-devel/files/patch-gerbview_gerbview__frame.h20
-rw-r--r--cad/kicad-devel/files/patch-include_pcb__base__frame.h20
-rw-r--r--cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.cpp20
-rw-r--r--cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.h20
-rw-r--r--cad/kicad-devel/files/patch-pcbnew_pcb__base__frame.cpp20
-rw-r--r--cad/kicad-devel/files/patch-thirdparty_compoundfilereader_compoundfilereader.h6
-rw-r--r--cad/kicad-devel/files/patch-thirdparty_nanodbc_nanodbc_nanodbc.cpp8
-rw-r--r--cad/kicad-library-footprints-devel/Makefile.git_rev4
-rw-r--r--cad/kicad-library-footprints-devel/distinfo6
-rw-r--r--cad/kicad-library-footprints-devel/pkg-plist13
-rw-r--r--cad/kicad-library-packages3d-devel/Makefile.git_rev4
-rw-r--r--cad/kicad-library-packages3d-devel/distinfo6
-rw-r--r--cad/kicad-library-packages3d-devel/pkg-plist14
-rw-r--r--cad/kicad-library-symbols-devel/Makefile.git_rev4
-rw-r--r--cad/kicad-library-symbols-devel/distinfo6
-rw-r--r--cad/openvsp/Makefile2
-rw-r--r--cad/openvsp/distinfo6
-rw-r--r--cad/xschem/Makefile38
-rw-r--r--cad/xschem/distinfo3
-rw-r--r--cad/xschem/pkg-descr3
-rw-r--r--cad/xschem/pkg-plist177
33 files changed, 538 insertions, 35 deletions
diff --git a/cad/Makefile b/cad/Makefile
index 96aba455a804..f4b6576fd402 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -155,6 +155,7 @@
SUBDIR += veroroute
SUBDIR += veryl
SUBDIR += xcircuit
+ SUBDIR += xschem
SUBDIR += xyce
SUBDIR += yosys
SUBDIR += yosys-ghdl-plugin
diff --git a/cad/kicad-devel/Makefile b/cad/kicad-devel/Makefile
index 2b33b4cc1424..c30ae31479f1 100644
--- a/cad/kicad-devel/Makefile
+++ b/cad/kicad-devel/Makefile
@@ -29,6 +29,8 @@ LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
libcurl.so:ftp/curl \
libGLEW-wayland.so:graphics/glew-wayland \
libnng.so:net/nng \
+ libpoppler-glib.so:graphics/poppler-glib \
+ libspnav.so:misc/libspnav \
libodbc.so:databases/unixODBC
CONFLICTS_INSTALL= kicad # bin/_cvpcb.kiface
diff --git a/cad/kicad-devel/Makefile.git_rev b/cad/kicad-devel/Makefile.git_rev
index aa1ea1be62dc..5782a7bc2601 100644
--- a/cad/kicad-devel/Makefile.git_rev
+++ b/cad/kicad-devel/Makefile.git_rev
@@ -1,3 +1,3 @@
-GIT_SRC_HASH= dd41e2b00b6c45188f52019154b186f686eaeda1
-GIT_SRC_DATE= 20250726013959
-GIT_SRC_DATE2= 2025.07.26
+GIT_SRC_HASH= 412fc1e6d994cffd9b920ba69ceb656238ce53d4
+GIT_SRC_DATE= 20250826070805
+GIT_SRC_DATE2= 2025.08.26
diff --git a/cad/kicad-devel/distinfo b/cad/kicad-devel/distinfo
index 9774b003cec7..979f50082943 100644
--- a/cad/kicad-devel/distinfo
+++ b/cad/kicad-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753525288
-SHA256 (kicad/kicad/code-kicad-dd41e2b00b6c45188f52019154b186f686eaeda1_GL0.tar.gz) = 70fbca11c3f0f3969ca9b8b705e1f41e1c38343131e4b59671383661732a5f8a
-SIZE (kicad/kicad/code-kicad-dd41e2b00b6c45188f52019154b186f686eaeda1_GL0.tar.gz) = 163158412
+TIMESTAMP = 1756196752
+SHA256 (kicad/kicad/code-kicad-412fc1e6d994cffd9b920ba69ceb656238ce53d4_GL0.tar.gz) = cff02e171582791ee9731fc76b0f01165366eeb37854c6f9973bbd94266dbb58
+SIZE (kicad/kicad/code-kicad-412fc1e6d994cffd9b920ba69ceb656238ce53d4_GL0.tar.gz) = 163444167
diff --git a/cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp b/cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp
new file mode 100644
index 000000000000..d25ee72edfd6
--- /dev/null
+++ b/cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.cpp
@@ -0,0 +1,20 @@
+--- 3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp.orig 2025-08-25 16:19:00 UTC
++++ 3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp
+@@ -61,7 +61,7 @@
+ #include <project_pcb.h>
+ #include <toolbars_3d.h>
+
+-#ifdef __linux__
++#if defined (__linux__) || defined (__FreeBSD__)
+ #include <spacenav/libspnav_driver.h>
+ #include <3d_spacenav/spnav_viewer_plugin.h>
+ #else
+@@ -197,7 +197,7 @@ EDA_3D_VIEWER_FRAME::EDA_3D_VIEWER_FRAME( KIWAY* aKiwa
+
+ try
+ {
+-#ifdef __linux__
++#if defined (__linux__) || defined (__FreeBSD__)
+ m_spaceMouse = std::make_unique<SPNAV_VIEWER_PLUGIN>( m_canvas );
+ #else
+ m_spaceMouse = std::make_unique<NL_3D_VIEWER_PLUGIN>( m_canvas );
diff --git a/cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h b/cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h
new file mode 100644
index 000000000000..c8142ea3946f
--- /dev/null
+++ b/cad/kicad-devel/files/patch-3d-viewer_3d__viewer_eda__3d__viewer__frame.h
@@ -0,0 +1,20 @@
+--- 3d-viewer/3d_viewer/eda_3d_viewer_frame.h.orig 2025-08-26 07:56:54 UTC
++++ 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
+-#ifdef __linux__
++#if defined (__linux__) || defined (__FreeBSD__)
+ class SPNAV_VIEWER_PLUGIN;
+ #else
+ class NL_3D_VIEWER_PLUGIN;
+@@ -280,7 +280,7 @@ class EDA_3D_VIEWER_FRAME : public KIWAY_PLAYER (priva
+
+ bool m_disable_ray_tracing;
+
+-#ifdef __linux__
++#if defined (__linux__) || defined (__FreeBSD__)
+ std::unique_ptr<SPNAV_VIEWER_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<NL_3D_VIEWER_PLUGIN> m_spaceMouse;
diff --git a/cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp b/cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp
new file mode 100644
index 000000000000..60c5ef25ddce
--- /dev/null
+++ b/cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.cpp
@@ -0,0 +1,20 @@
+--- 3d-viewer/dialogs/panel_preview_3d_model.cpp.orig 2025-08-26 08:03:58 UTC
++++ 3d-viewer/dialogs/panel_preview_3d_model.cpp
+@@ -47,7 +47,7 @@
+ #include <eda_3d_viewer_settings.h>
+ #include <board_design_settings.h>
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ #include <3d_navlib/nl_footprint_properties_plugin.h>
+ #else
+ #include <3d_spacenav/spnav_viewer_plugin.h>
+@@ -136,7 +136,7 @@ PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL( wxWind
+
+ try
+ {
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ m_spaceMouse = std::make_unique<NL_FOOTPRINT_PROPERTIES_PLUGIN>( m_previewPane );
+ #else
+ m_spaceMouse = std::make_unique<SPNAV_VIEWER_PLUGIN>( m_previewPane );
diff --git a/cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.h b/cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.h
new file mode 100644
index 000000000000..6889bd32261d
--- /dev/null
+++ b/cad/kicad-devel/files/patch-3d-viewer_dialogs_panel__preview__3d__model.h
@@ -0,0 +1,20 @@
+--- 3d-viewer/dialogs/panel_preview_3d_model.h.orig 2025-08-26 08:13:34 UTC
++++ 3d-viewer/dialogs/panel_preview_3d_model.h
+@@ -63,7 +63,7 @@ class FOOTPRINT;
+ class BOARD;
+ class BOARD_ADAPTER;
+ class FOOTPRINT;
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ class NL_FOOTPRINT_PROPERTIES_PLUGIN;
+ #else
+ class SPNAV_VIEWER_PLUGIN;
+@@ -233,7 +233,7 @@ class PANEL_PREVIEW_3D_MODEL: public TOOLS_HOLDER, pub
+ /// The 3d viewer Render initial settings (must be saved and restored)
+ EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS m_initialRender;
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ std::unique_ptr<NL_FOOTPRINT_PROPERTIES_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<SPNAV_VIEWER_PLUGIN> m_spaceMouse;
diff --git a/cad/kicad-devel/files/patch-common_spacenav_libspnav__driver.h b/cad/kicad-devel/files/patch-common_spacenav_libspnav__driver.h
new file mode 100644
index 000000000000..4ee6d074e77b
--- /dev/null
+++ b/cad/kicad-devel/files/patch-common_spacenav_libspnav__driver.h
@@ -0,0 +1,18 @@
+--- common/spacenav/libspnav_driver.h.orig 2025-08-13 09:54:46 UTC
++++ common/spacenav/libspnav_driver.h
+@@ -24,7 +24,7 @@
+ #ifndef KICAD_LIBSPNAV_DRIVER_H
+ #define KICAD_LIBSPNAV_DRIVER_H
+
+-#ifdef __linux__
++#if defined (__linux__) || defined (__FreeBSD__)
+ #include <spnav.h>
+ #endif
+
+@@ -52,4 +52,4 @@ class KICOMMON_API LIBSPNAV_DRIVER : public SPACENAV_D
+ bool m_client_connected = false;
+ };
+
+-#endif // KICAD_LIBSPNAV_DRIVER_H
+\ No newline at end of file
++#endif // KICAD_LIBSPNAV_DRIVER_H
diff --git a/cad/kicad-devel/files/patch-eeschema_sch__base__frame.cpp b/cad/kicad-devel/files/patch-eeschema_sch__base__frame.cpp
new file mode 100644
index 000000000000..80ba85c66c2c
--- /dev/null
+++ b/cad/kicad-devel/files/patch-eeschema_sch__base__frame.cpp
@@ -0,0 +1,20 @@
+--- eeschema/sch_base_frame.cpp.orig 2025-08-26 07:49:43 UTC
++++ eeschema/sch_base_frame.cpp
+@@ -60,7 +60,7 @@
+ #include <wx/log.h>
+ #include <wx/msgdlg.h>
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ #include <navlib/nl_schematic_plugin.h>
+ #include <wx/fdrepdlg.h>
+ #else
+@@ -369,7 +369,7 @@ void SCH_BASE_FRAME::ActivateGalCanvas()
+ {
+ if( !m_spaceMouse )
+ {
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ m_spaceMouse = std::make_unique<NL_SCHEMATIC_PLUGIN>();
+ #else
+ m_spaceMouse = std::make_unique<SPNAV_2D_PLUGIN>( GetCanvas() );
diff --git a/cad/kicad-devel/files/patch-eeschema_sch__base__frame.h b/cad/kicad-devel/files/patch-eeschema_sch__base__frame.h
new file mode 100644
index 000000000000..7a56f8d5a4d5
--- /dev/null
+++ b/cad/kicad-devel/files/patch-eeschema_sch__base__frame.h
@@ -0,0 +1,20 @@
+--- eeschema/sch_base_frame.h.orig 2025-08-26 07:58:54 UTC
++++ eeschema/sch_base_frame.h
+@@ -56,7 +56,7 @@ class SYMBOL_EDITOR_SETTINGS;
+ class EESCHEMA_SETTINGS;
+ class SYMBOL_EDITOR_SETTINGS;
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ class NL_SCHEMATIC_PLUGIN;
+ #else
+ class SPNAV_2D_PLUGIN;
+@@ -333,7 +333,7 @@ class SCH_BASE_FRAME : public EDA_DRAW_FRAME, public S
+ wxTimer m_watcherDebounceTimer;
+ bool m_inSymChangeTimerEvent;
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ std::unique_ptr<NL_SCHEMATIC_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<SPNAV_2D_PLUGIN> m_spaceMouse;
diff --git a/cad/kicad-devel/files/patch-gerbview_gerbview__frame.cpp b/cad/kicad-devel/files/patch-gerbview_gerbview__frame.cpp
new file mode 100644
index 000000000000..686845882980
--- /dev/null
+++ b/cad/kicad-devel/files/patch-gerbview_gerbview__frame.cpp
@@ -0,0 +1,20 @@
+--- gerbview/gerbview_frame.cpp.orig 2025-08-26 08:02:01 UTC
++++ gerbview/gerbview_frame.cpp
+@@ -59,7 +59,7 @@
+ #include "widgets/dcode_selection_box.h"
+ #include <dialog_draw_layers_settings.h>
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ #include <navlib/nl_gerbview_plugin.h>
+ #else
+ #include <spacenav/spnav_2d_plugin.h>
+@@ -1045,7 +1045,7 @@ void GERBVIEW_FRAME::ActivateGalCanvas()
+ {
+ if( !m_spaceMouse )
+ {
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ m_spaceMouse = std::make_unique<NL_GERBVIEW_PLUGIN>();
+ #else
+ m_spaceMouse = std::make_unique<SPNAV_2D_PLUGIN>( galCanvas );
diff --git a/cad/kicad-devel/files/patch-gerbview_gerbview__frame.h b/cad/kicad-devel/files/patch-gerbview_gerbview__frame.h
new file mode 100644
index 000000000000..090f1f915f8f
--- /dev/null
+++ b/cad/kicad-devel/files/patch-gerbview_gerbview__frame.h
@@ -0,0 +1,20 @@
+--- gerbview/gerbview_frame.h.orig 2025-08-26 08:11:04 UTC
++++ gerbview/gerbview_frame.h
+@@ -46,7 +46,7 @@ class wxStaticText;
+ class SELECTION;
+ class wxStaticText;
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ class NL_GERBVIEW_PLUGIN;
+ #else
+ class SPNAV_2D_PLUGIN;
+@@ -526,7 +526,7 @@ class GERBVIEW_FRAME : public EDA_DRAW_FRAME (private)
+ wxStaticText* m_dcodeText; // a message on the auxiliary toolbar,
+ // relative to the m_DCodeSelector
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ std::unique_ptr<NL_GERBVIEW_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<SPNAV_2D_PLUGIN> m_spaceMouse;
diff --git a/cad/kicad-devel/files/patch-include_pcb__base__frame.h b/cad/kicad-devel/files/patch-include_pcb__base__frame.h
new file mode 100644
index 000000000000..792286c34462
--- /dev/null
+++ b/cad/kicad-devel/files/patch-include_pcb__base__frame.h
@@ -0,0 +1,20 @@
+--- include/pcb_base_frame.h.orig 2025-08-26 08:09:08 UTC
++++ include/pcb_base_frame.h
+@@ -62,7 +62,7 @@ class PCB_LAYER_BOX_SELECTOR;
+ class PROGRESS_REPORTER;
+ class PCB_LAYER_BOX_SELECTOR;
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ class NL_PCBNEW_PLUGIN;
+ #else
+ class SPNAV_2D_PLUGIN;
+@@ -435,7 +435,7 @@ class PCB_BASE_FRAME : public EDA_DRAW_FRAME (private)
+ PCB_ORIGIN_TRANSFORMS m_originTransforms;
+
+ private:
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ std::unique_ptr<NL_PCBNEW_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<SPNAV_2D_PLUGIN> m_spaceMouse;
diff --git a/cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.cpp b/cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.cpp
new file mode 100644
index 000000000000..8e43d946c95a
--- /dev/null
+++ b/cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.cpp
@@ -0,0 +1,20 @@
+--- pagelayout_editor/pl_editor_frame.cpp.orig 2025-08-26 08:01:02 UTC
++++ pagelayout_editor/pl_editor_frame.cpp
+@@ -65,7 +65,7 @@
+ #include <wx/msgdlg.h>
+ #include <wx/log.h>
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ #include <navlib/nl_pl_editor_plugin.h>
+ #else
+ #include <spacenav/spnav_2d_plugin.h>
+@@ -240,7 +240,7 @@ PL_EDITOR_FRAME::PL_EDITOR_FRAME( KIWAY* aKiway, wxWin
+ {
+ if( !m_spaceMouse )
+ {
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ m_spaceMouse = std::make_unique<NL_PL_EDITOR_PLUGIN>();
+ #else
+ m_spaceMouse = std::make_unique<SPNAV_2D_PLUGIN>( GetCanvas() );
diff --git a/cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.h b/cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.h
new file mode 100644
index 000000000000..d8397f508440
--- /dev/null
+++ b/cad/kicad-devel/files/patch-pagelayout__editor_pl__editor__frame.h
@@ -0,0 +1,20 @@
+--- pagelayout_editor/pl_editor_frame.h.orig 2025-08-26 08:10:05 UTC
++++ pagelayout_editor/pl_editor_frame.h
+@@ -39,7 +39,7 @@ class wxChoice;
+ class DS_DATA_ITEM;
+ class wxChoice;
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ class NL_PL_EDITOR_PLUGIN;
+ #else
+ class SPNAV_2D_PLUGIN;
+@@ -274,7 +274,7 @@ class PL_EDITOR_FRAME : public EDA_DRAW_FRAME (private
+ // only on page 1, not on page 1
+ VECTOR2I m_grid_origin;
+
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ std::unique_ptr<NL_PL_EDITOR_PLUGIN> m_spaceMouse;
+ #else
+ std::unique_ptr<SPNAV_2D_PLUGIN> m_spaceMouse;
diff --git a/cad/kicad-devel/files/patch-pcbnew_pcb__base__frame.cpp b/cad/kicad-devel/files/patch-pcbnew_pcb__base__frame.cpp
new file mode 100644
index 000000000000..dd98488c35c8
--- /dev/null
+++ b/cad/kicad-devel/files/patch-pcbnew_pcb__base__frame.cpp
@@ -0,0 +1,20 @@
+--- pcbnew/pcb_base_frame.cpp.orig 2025-08-26 08:02:49 UTC
++++ pcbnew/pcb_base_frame.cpp
+@@ -67,7 +67,7 @@
+ #include <tool/grid_menu.h>
+ #include <ratsnest/ratsnest_view_item.h>
+
+-#ifdef __linux__
++#if defined (__linux__) || defined (__FreeBSD__)
+ #include <spacenav/spnav_2d_plugin.h>
+ #else
+ #include <navlib/nl_pcbnew_plugin.h>
+@@ -1037,7 +1037,7 @@ void PCB_BASE_FRAME::ActivateGalCanvas()
+ {
+ if( !m_spaceMouse )
+ {
+-#ifndef __linux__
++#if not defined (__linux__) && not defined (__FreeBSD__)
+ m_spaceMouse = std::make_unique<NL_PCBNEW_PLUGIN>( GetCanvas() );
+ #else
+ m_spaceMouse = std::make_unique<SPNAV_2D_PLUGIN>( GetCanvas() );
diff --git a/cad/kicad-devel/files/patch-thirdparty_compoundfilereader_compoundfilereader.h b/cad/kicad-devel/files/patch-thirdparty_compoundfilereader_compoundfilereader.h
index be30bfbdd7da..e597e5a50073 100644
--- a/cad/kicad-devel/files/patch-thirdparty_compoundfilereader_compoundfilereader.h
+++ b/cad/kicad-devel/files/patch-thirdparty_compoundfilereader_compoundfilereader.h
@@ -1,6 +1,6 @@
---- thirdparty/compoundfilereader/compoundfilereader.h.orig 2024-10-11 09:03:05 UTC
+--- thirdparty/compoundfilereader/compoundfilereader.h.orig 2025-08-13 00:57:26 UTC
+++ thirdparty/compoundfilereader/compoundfilereader.h
-@@ -131,7 +131,7 @@ struct helper
+@@ -261,7 +261,7 @@ struct helper
}
};
@@ -9,7 +9,7 @@
typedef std::function<int(const COMPOUND_FILE_ENTRY*, const utf16string& dir, int level)>
EnumFilesCallback;
-@@ -249,7 +249,7 @@ class CompoundFileReader (private)
+@@ -379,7 +379,7 @@ class CompoundFileReader (private)
utf16string newDir = dir;
if (dir.length() != 0)
newDir.append(1, '\n');
diff --git a/cad/kicad-devel/files/patch-thirdparty_nanodbc_nanodbc_nanodbc.cpp b/cad/kicad-devel/files/patch-thirdparty_nanodbc_nanodbc_nanodbc.cpp
index 6cfdd8b1abbc..bd9cf5d061ee 100644
--- a/cad/kicad-devel/files/patch-thirdparty_nanodbc_nanodbc_nanodbc.cpp
+++ b/cad/kicad-devel/files/patch-thirdparty_nanodbc_nanodbc_nanodbc.cpp
@@ -1,6 +1,6 @@
---- thirdparty/nanodbc/nanodbc/nanodbc.cpp.orig 2024-10-11 09:03:05 UTC
+--- thirdparty/nanodbc/nanodbc/nanodbc.cpp.orig 2025-08-13 00:57:26 UTC
+++ thirdparty/nanodbc/nanodbc/nanodbc.cpp
-@@ -255,10 +255,19 @@ constexpr std::size_t size(const T (&array)[N]) noexce
+@@ -386,10 +386,19 @@ constexpr std::size_t size(const T (&array)[N]) noexce
}
#endif
@@ -21,7 +21,7 @@
NANODBC_ASSERT(n < N);
return n < N ? n : N - 1;
}
-@@ -3589,9 +3598,9 @@ std::list<datasource> list_datasources()
+@@ -3720,9 +3729,9 @@ std::list<datasource> list_datasources()
"incompatible SQLCHAR and string::value_type");
datasource dsn;
@@ -33,7 +33,7 @@
dsns.push_back(std::move(dsn));
direction = SQL_FETCH_NEXT;
-@@ -3642,7 +3651,7 @@ std::list<driver> list_drivers()
+@@ -3773,7 +3782,7 @@ std::list<driver> list_drivers()
"incompatible SQLCHAR and string::value_type");
driver drv;
diff --git a/cad/kicad-library-footprints-devel/Makefile.git_rev b/cad/kicad-library-footprints-devel/Makefile.git_rev
index 79f1419ea163..70e1925e9b2a 100644
--- a/cad/kicad-library-footprints-devel/Makefile.git_rev
+++ b/cad/kicad-library-footprints-devel/Makefile.git_rev
@@ -1,2 +1,2 @@
-GIT_FP_HASH= e4b2ef6e84afdd4da3fb2298ac759032575488b6
-GIT_FP_DATE= 20250725140443
+GIT_FP_HASH= 2ab6be10196439244356444ba9a3121d930f39d1
+GIT_FP_DATE= 20250820211526
diff --git a/cad/kicad-library-footprints-devel/distinfo b/cad/kicad-library-footprints-devel/distinfo
index dd3252e57ba9..e1ddd9642c5e 100644
--- a/cad/kicad-library-footprints-devel/distinfo
+++ b/cad/kicad-library-footprints-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753525451
-SHA256 (kicad-footprints-e4b2ef6e84afdd4da3fb2298ac759032575488b6.tar.gz) = 6d11cf4629c4f4b79238199519e5c92f1e53a0139d97620593f65206c4cddc99
-SIZE (kicad-footprints-e4b2ef6e84afdd4da3fb2298ac759032575488b6.tar.gz) = 12287031
+TIMESTAMP = 1756205093
+SHA256 (kicad-footprints-2ab6be10196439244356444ba9a3121d930f39d1.tar.gz) = 82b3465b7ef67d39c03e3e33645a62a3559d969c3d3544813d1281292280e3ec
+SIZE (kicad-footprints-2ab6be10196439244356444ba9a3121d930f39d1.tar.gz) = 12277625
diff --git a/cad/kicad-library-footprints-devel/pkg-plist b/cad/kicad-library-footprints-devel/pkg-plist
index 058beccc8343..752db6c47034 100644
--- a/cad/kicad-library-footprints-devel/pkg-plist
+++ b/cad/kicad-library-footprints-devel/pkg-plist
@@ -201,6 +201,7 @@
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPDT_CK_JS102011SAQN.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPDT_PCM12.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPDT_REED_MSDM-DT.kicad_mod
+%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPDT_Shouhan_MSK12C02.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_B3S-1000.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_B3S-1100.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_B3SL-1002P.kicad_mod
@@ -248,6 +249,8 @@
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_TL3305B.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_TL3305C.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_TL3342.kicad_mod
+%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_TS-1088-xR020.kicad_mod
+%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_SPST_TS-1088-xR025.kicad_mod
%%DATADIR%%/footprints/Button_Switch_SMD.pretty/SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFS.kicad_mod
%%DATADIR%%/footprints/Button_Switch_THT.pretty/KSA_Tactile_SPST.kicad_mod
%%DATADIR%%/footprints/Button_Switch_THT.pretty/Nidec_Copal_SH-7010C.kicad_mod
@@ -8231,12 +8234,14 @@
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_TEN20-110xxWIRH_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_TEN20-xxxx-N4_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_TEN20-xxxx_THT.kicad_mod
+%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_TEN30-xxxxUIR_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_TEN40-110xxWIRH_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_TES1-051x_121x_241x_Single_SMD.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_TES1-052x_122x_242x_Dual_SMD.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_THB10-xxxx_Dual_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_THB10-xxxx_Single_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_THD_15-xxxxWIN_THT.kicad_mod
+%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_THL40-xxxxWI_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_THN10-xxxxUIR_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_THN30-xxxx_THT.kicad_mod
%%DATADIR%%/footprints/Converter_DCDC.pretty/Converter_DCDC_TRACO_THR40-72xxWI_THT.kicad_mod
@@ -12177,6 +12182,7 @@
%%DATADIR%%/footprints/Package_LGA.pretty/Texas_SIL0010A_MicroSiP-10-1EP_3.8x3mm_P0.6mm_EP0.7x2.9mm.kicad_mod
%%DATADIR%%/footprints/Package_LGA.pretty/Texas_SIL0010A_MicroSiP-10-1EP_3.8x3mm_P0.6mm_EP0.7x2.9mm_ThermalVias.kicad_mod
%%DATADIR%%/footprints/Package_LGA.pretty/VLGA-4_2x2.5mm_P1.65mm.kicad_mod
+%%DATADIR%%/footprints/Package_LGA.pretty/ublox_LGA-53_4.5x4.5mm_Layout9x9_P0.5mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/EQFP-144-1EP_20x20mm_P0.5mm_EP4x4mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/EQFP-144-1EP_20x20mm_P0.5mm_EP4x4mm_ThermalVias.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/EQFP-144-1EP_20x20mm_P0.5mm_EP5x5mm.kicad_mod
@@ -12187,8 +12193,6 @@
%%DATADIR%%/footprints/Package_QFP.pretty/EQFP-144-1EP_20x20mm_P0.5mm_EP7.2x6.35mm_ThermalVias.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/EQFP-144-1EP_20x20mm_P0.5mm_EP8.93x8.7mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/EQFP-144-1EP_20x20mm_P0.5mm_EP8.93x8.7mm_ThermalVias.kicad_mod
-%%DATADIR%%/footprints/Package_QFP.pretty/HTQFP-64-1EP_10x10mm_P0.5mm_EP8x8mm.kicad_mod
-%%DATADIR%%/footprints/Package_QFP.pretty/HTQFP-64-1EP_10x10mm_P0.5mm_EP8x8mm_Mask4.4x4.4mm_ThermalVias.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/Hitachi_FP80B_PQFP-80_14x20mm_P0.8mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/LQFP-100-1EP_14x14mm_P0.5mm_EP6.9x6.9mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/LQFP-100-1EP_14x14mm_P0.5mm_EP6.9x6.9mm_ThermalVias.kicad_mod
@@ -12266,7 +12270,6 @@
%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-52-1EP_10x10mm_P0.65mm_EP6.5x6.5mm_ThermalVias.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-64-1EP_10x10mm_P0.5mm_EP5.305x5.305mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-64-1EP_10x10mm_P0.5mm_EP5.305x5.305mm_ThermalVias.kicad_mod
-%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-64-1EP_10x10mm_P0.5mm_EP8x8mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-64_10x10mm_P0.5mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-64_14x14mm_P0.8mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-64_7x7mm_P0.4mm.kicad_mod
@@ -12276,6 +12279,10 @@
%%DATADIR%%/footprints/Package_QFP.pretty/TQFP-80_14x14mm_P0.65mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/Texas_PHP0048E_HTQFP-48-1EP_7x7mm_P0.5mm_EP6.5x6.5mm_Mask3.62x3.62mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/Texas_PHP0048E_HTQFP-48-1EP_7x7mm_P0.5mm_EP6.5x6.5mm_Mask3.62x3.62mm_ThermalVias.kicad_mod
+%%DATADIR%%/footprints/Package_QFP.pretty/Texas_TQFP-64-1EP_10x10mm_P0.5mm_EP8x8mm_Mask4.44x4.44mm.kicad_mod
+%%DATADIR%%/footprints/Package_QFP.pretty/Texas_TQFP-64-1EP_10x10mm_P0.5mm_EP8x8mm_Mask4.44x4.44mm_ThermalVias.kicad_mod
+%%DATADIR%%/footprints/Package_QFP.pretty/Texas_TQFP-64-1EP_10x10mm_P0.5mm_EP8x8mm_Mask5x5mm.kicad_mod
+%%DATADIR%%/footprints/Package_QFP.pretty/Texas_TQFP-64-1EP_10x10mm_P0.5mm_EP8x8mm_Mask5x5mm_ThermalVias.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/VQFP-128_14x14mm_P0.4mm.kicad_mod
%%DATADIR%%/footprints/Package_QFP.pretty/VQFP-176_20x20mm_P0.4mm.kicad_mod
%%DATADIR%%/footprints/Package_SIP.pretty/PowerIntegrations_eSIP-7C.kicad_mod
diff --git a/cad/kicad-library-packages3d-devel/Makefile.git_rev b/cad/kicad-library-packages3d-devel/Makefile.git_rev
index 8b60b2f7e68b..2c4b918e6c47 100644
--- a/cad/kicad-library-packages3d-devel/Makefile.git_rev
+++ b/cad/kicad-library-packages3d-devel/Makefile.git_rev
@@ -1,2 +1,2 @@
-GIT_P3D_HASH= e2d108716c5e5aa56b94c117f316b471cd911246
-GIT_P3D_DATE= 20250724093842
+GIT_P3D_HASH= 9185949950843c1f36a656df833b5f85570fe30f
+GIT_P3D_DATE= 20250818095037
diff --git a/cad/kicad-library-packages3d-devel/distinfo b/cad/kicad-library-packages3d-devel/distinfo
index d2a49dc7ce5a..0984bfceecf6 100644
--- a/cad/kicad-library-packages3d-devel/distinfo
+++ b/cad/kicad-library-packages3d-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753525470
-SHA256 (kicad-packages3D-e2d108716c5e5aa56b94c117f316b471cd911246.tar.gz) = 4e2cf6972cc69089a6a68ef95f2d1848ff48da17dda6b01c5cffd624cacaf67a
-SIZE (kicad-packages3D-e2d108716c5e5aa56b94c117f316b471cd911246.tar.gz) = 874985808
+TIMESTAMP = 1756205250
+SHA256 (kicad-packages3D-9185949950843c1f36a656df833b5f85570fe30f.tar.gz) = 575b6e3440fd6d6e81d8a9d0d57f802dd88a91e4295ec614772d35d07080c6b5
+SIZE (kicad-packages3D-9185949950843c1f36a656df833b5f85570fe30f.tar.gz) = 877719422
diff --git a/cad/kicad-library-packages3d-devel/pkg-plist b/cad/kicad-library-packages3d-devel/pkg-plist
index 7ca7a1fbc69e..114740d1c625 100644
--- a/cad/kicad-library-packages3d-devel/pkg-plist
+++ b/cad/kicad-library-packages3d-devel/pkg-plist
@@ -317,6 +317,8 @@
%%DATADIR%%/3dmodels/Button_Switch_SMD.3dshapes/SW_SPST_TL3305C.step
%%DATADIR%%/3dmodels/Button_Switch_SMD.3dshapes/SW_SPST_TL3342.step
%%DATADIR%%/3dmodels/Button_Switch_SMD.3dshapes/SW_SPST_TL3342.wrl
+%%DATADIR%%/3dmodels/Button_Switch_SMD.3dshapes/SW_SPST_TS-1088-xR020.step
+%%DATADIR%%/3dmodels/Button_Switch_SMD.3dshapes/SW_SPST_TS-1088-xR025.step
%%DATADIR%%/3dmodels/Button_Switch_SMD.3dshapes/SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFS.step
%%DATADIR%%/3dmodels/Button_Switch_SMD.3dshapes/SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFS.wrl
%%DATADIR%%/3dmodels/Button_Switch_THT.3dshapes/Nidec_Copal_SH-7010C.step
@@ -8007,9 +8009,14 @@
%%DATADIR%%/3dmodels/Connector_Video.3dshapes/DVI-D_Molex_74320-4004_Horizontal.wrl
%%DATADIR%%/3dmodels/Connector_Video.3dshapes/DVI-I_Molex_74320-1004_Horizontal.step
%%DATADIR%%/3dmodels/Connector_Video.3dshapes/DVI-I_Molex_74320-1004_Horizontal.wrl
+%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_A_Amphenol_10029449-x01xLF_Horizontal.step
+%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_A_Contact_Technology_19APL2_Horizontal.step
%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_A_Kycon_KDMIX-SL1-NS-WS-B15_VerticalRightAngle.step
%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_A_Molex_208658-1001_Horizontal.step
%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_A_Molex_208658-1001_Horizontal.wrl
+%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_Micro-D_Molex_46765-0xxx.step
+%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_Micro-D_Molex_46765-1xxx.step
+%%DATADIR%%/3dmodels/Connector_Video.3dshapes/HDMI_Micro-D_Molex_46765-2xxx.step
%%DATADIR%%/3dmodels/Connector_Wuerth.3dshapes/Wuerth_WR-PHD_610004243021_SMD_2x02_P2.54mm_Vertical.step
%%DATADIR%%/3dmodels/Connector_Wuerth.3dshapes/Wuerth_WR-PHD_610004243021_SMD_2x02_P2.54mm_Vertical.wrl
%%DATADIR%%/3dmodels/Connector_Wuerth.3dshapes/Wuerth_WR-PHD_610006243021_SMD_2x03_P2.54mm_Vertical.step
@@ -10258,6 +10265,13 @@
%%DATADIR%%/3dmodels/LED_THT.3dshapes/LED_VCCLite_5381H7_6.35x6.35mm.wrl
%%DATADIR%%/3dmodels/Module.3dshapes/Google_Coral_SMT_TPU_Module.step
%%DATADIR%%/3dmodels/Module.3dshapes/Google_Coral_SMT_TPU_Module.wrl
+%%DATADIR%%/3dmodels/Module.3dshapes/RaspberryPi_Pico.step
+%%DATADIR%%/3dmodels/Module.3dshapes/RaspberryPi_Pico_AddedHeaders_H2.54mm.step
+%%DATADIR%%/3dmodels/Module.3dshapes/RaspberryPi_Pico_H.step
+%%DATADIR%%/3dmodels/Module.3dshapes/RaspberryPi_Pico_PinSockets_H8.50mm.step
+%%DATADIR%%/3dmodels/Module.3dshapes/RaspberryPi_Pico_W.step
+%%DATADIR%%/3dmodels/Module.3dshapes/RaspberryPi_Pico_WH.step
+%%DATADIR%%/3dmodels/Module.3dshapes/RaspberryPi_Pico_W_AddedHeaders_H2.54mm.step
%%DATADIR%%/3dmodels/Module.3dshapes/Sipeed-M1.step
%%DATADIR%%/3dmodels/Module.3dshapes/Sipeed-M1.wrl
%%DATADIR%%/3dmodels/Module.3dshapes/Sipeed-M1W.step
diff --git a/cad/kicad-library-symbols-devel/Makefile.git_rev b/cad/kicad-library-symbols-devel/Makefile.git_rev
index 9167f1d29db4..62b77b93e7ac 100644
--- a/cad/kicad-library-symbols-devel/Makefile.git_rev
+++ b/cad/kicad-library-symbols-devel/Makefile.git_rev
@@ -1,2 +1,2 @@
-GIT_SYM_HASH= c661595f53a3658ed70898be31a8fbd0ef0a4026
-GIT_SYM_DATE= 20250724193438
+GIT_SYM_HASH= b7382a27ba93d82698234c55ecbc77d177e319b3
+GIT_SYM_DATE= 20250825171241
diff --git a/cad/kicad-library-symbols-devel/distinfo b/cad/kicad-library-symbols-devel/distinfo
index aad1ef83ea57..c75247a32326 100644
--- a/cad/kicad-library-symbols-devel/distinfo
+++ b/cad/kicad-library-symbols-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753543300
-SHA256 (kicad-symbols-c661595f53a3658ed70898be31a8fbd0ef0a4026.tar.gz) = d146567cfe7e8a245e45ee18e82c7af8ede0a86d87e64bf04658284fd73afe63
-SIZE (kicad-symbols-c661595f53a3658ed70898be31a8fbd0ef0a4026.tar.gz) = 10770803
+TIMESTAMP = 1756205323
+SHA256 (kicad-symbols-b7382a27ba93d82698234c55ecbc77d177e319b3.tar.gz) = 488066a63df2a4a5b78b8231a829b05fc05e2c55261cc2eb5f37e4dcf1c78a0d
+SIZE (kicad-symbols-b7382a27ba93d82698234c55ecbc77d177e319b3.tar.gz) = 10777821
diff --git a/cad/openvsp/Makefile b/cad/openvsp/Makefile
index 97a471d55db2..a5f3fea156e8 100644
--- a/cad/openvsp/Makefile
+++ b/cad/openvsp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= openvsp
DISTVERSIONPREFIX= ${GH_PROJECT}_
-DISTVERSION= 3.45.2
+DISTVERSION= 3.45.3
CATEGORIES= cad
MAINTAINER= fernape@FreeBSD.org
diff --git a/cad/openvsp/distinfo b/cad/openvsp/distinfo
index 9a69de693f2e..4cf4d59594d8 100644
--- a/cad/openvsp/distinfo
+++ b/cad/openvsp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755859816
-SHA256 (OpenVSP-OpenVSP-OpenVSP_3.45.2_GH0.tar.gz) = 98e6b646c9673212193c610f3f1bc6a15dce73b419a716abf26c906839968791
-SIZE (OpenVSP-OpenVSP-OpenVSP_3.45.2_GH0.tar.gz) = 205162584
+TIMESTAMP = 1756278825
+SHA256 (OpenVSP-OpenVSP-OpenVSP_3.45.3_GH0.tar.gz) = 19582ba99f88aa74b9f0776f6edbae831f1e9b240d21b8b29424e55b8d1cd555
+SIZE (OpenVSP-OpenVSP-OpenVSP_3.45.3_GH0.tar.gz) = 205163654
diff --git a/cad/xschem/Makefile b/cad/xschem/Makefile
new file mode 100644
index 000000000000..1b96ac77cf7d
--- /dev/null
+++ b/cad/xschem/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= xschem
+DISTVERSION= 3.4.7
+CATEGORIES= cad
+
+MAINTAINER= tiago.gasiba@gmail.com
+COMMENT= Schematic capture and edit program for VLSI/ASIC/Analog designs
+WWW= https://xschem.sourceforge.io/stefan/index.html
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= flex:textproc/flex
+
+USES= bison gnome jpeg localbase:ldflags tk:86 xorg
+USE_GITHUB= yes
+GH_ACCOUNT= StefanSchippers
+USE_GNOME= cairo
+USE_XORG= x11 xcb xpm
+
+CFLAGS+= -I${TCL_INCLUDEDIR} -I${TK_INCLUDEDIR}
+
+PORTDOCS= *
+
+OPTIONS_DEFINE= DOCS
+
+pre-build:
+ @cd ${WRKSRC} && ./configure --CFLAGS='${CFLAGS}' --LDFLAGS='${LDFLAGS}'
+
+do-build:
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE}
+
+post-install:
+ @cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} rawtovcd xschem
+
+post-install-DOCS-off:
+ @${RM} -r ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/cad/xschem/distinfo b/cad/xschem/distinfo
new file mode 100644
index 000000000000..ece4e7c46bc6
--- /dev/null
+++ b/cad/xschem/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1755937460
+SHA256 (StefanSchippers-xschem-3.4.7_GH0.tar.gz) = 8f6c7165c38f528b6cbae8f9fae72cde3b765652df90597011a5f7b5e7fdb273
+SIZE (StefanSchippers-xschem-3.4.7_GH0.tar.gz) = 14790892
diff --git a/cad/xschem/pkg-descr b/cad/xschem/pkg-descr
new file mode 100644
index 000000000000..4788810bfb63
--- /dev/null
+++ b/cad/xschem/pkg-descr
@@ -0,0 +1,3 @@
+xschem is a schematic editor for VLSI/Asic/Analog custom designs, netlist
+backends for VHDL, Spice and Verilog. The tool is focused on hierarchy
+and parametric designs, to maximize circuit reuse.
diff --git a/cad/xschem/pkg-plist b/cad/xschem/pkg-plist
new file mode 100644
index 000000000000..5b486fb7d1e8
--- /dev/null
+++ b/cad/xschem/pkg-plist
@@ -0,0 +1,177 @@
+bin/rawtovcd
+bin/xschem
+share/man/man1/xschem.1.gz
+%%DATADIR%%/add_custom_button.tcl
+%%DATADIR%%/add_custom_menu.tcl
+%%DATADIR%%/break.awk
+%%DATADIR%%/cadence_style_rc
+%%DATADIR%%/change_index.tcl
+%%DATADIR%%/convert_to_verilog2001.awk
+%%DATADIR%%/create_graph.tcl
+%%DATADIR%%/flatten.awk
+%%DATADIR%%/flatten_savenodes.awk
+%%DATADIR%%/flatten_tedax.awk
+%%DATADIR%%/gschemtoxschem.awk
+%%DATADIR%%/hspice_backannotate.tcl
+%%DATADIR%%/icon.xpm
+%%DATADIR%%/keys.help
+%%DATADIR%%/make_sch_from_spice.awk
+%%DATADIR%%/make_sym.awk
+%%DATADIR%%/make_sym_from_spice.awk
+%%DATADIR%%/make_sym_lcc.awk
+%%DATADIR%%/mouse_bindings.tcl
+%%DATADIR%%/ngspice_backannotate.tcl
+%%DATADIR%%/order_labels.awk
+%%DATADIR%%/place_pins.tcl
+%%DATADIR%%/place_sym_pins.tcl
+%%DATADIR%%/resources.tcl
+%%DATADIR%%/sort_labels.awk
+%%DATADIR%%/spice.awk
+%%DATADIR%%/symgen.awk
+%%DATADIR%%/systemlib/font.sch
+%%DATADIR%%/systemlib/iopin_lcc.sym
+%%DATADIR%%/systemlib/iopin_lcc_top.sym
+%%DATADIR%%/systemlib/ipin_lcc.sym
+%%DATADIR%%/systemlib/ipin_lcc_top.sym
+%%DATADIR%%/systemlib/missing.sym
+%%DATADIR%%/systemlib/opin_lcc.sym
+%%DATADIR%%/systemlib/opin_lcc_top.sym
+%%DATADIR%%/tedax.awk
+%%DATADIR%%/utile/clock.awk
+%%DATADIR%%/utile/expand_alias.awk
+%%DATADIR%%/utile/param.awk
+%%DATADIR%%/utile/preprocess.awk
+%%DATADIR%%/utile/stimuli.awk
+%%DATADIR%%/utile/template.stimuli
+%%DATADIR%%/utile/utile
+%%DATADIR%%/utile/utile.bat
+%%DATADIR%%/utile/utile.tcl
+%%DATADIR%%/utile/utile.txt
+%%DATADIR%%/utile/utile3
+%%DATADIR%%/utile/utile3.bat
+%%DATADIR%%/verilog.awk
+%%DATADIR%%/vhdl.awk
+%%DATADIR%%/xschem.help
+%%DATADIR%%/xschem.tcl
+%%DATADIR%%/xschem_library/devices/adc_bridge.sym
+%%DATADIR%%/xschem_library/devices/ammeter.sym
+%%DATADIR%%/xschem_library/devices/arch_declarations.sym
+%%DATADIR%%/xschem_library/devices/architecture.sym
+%%DATADIR%%/xschem_library/devices/asrc.sym
+%%DATADIR%%/xschem_library/devices/assign.sym
+%%DATADIR%%/xschem_library/devices/attributes.sym
+%%DATADIR%%/xschem_library/devices/bindkeys_cheatsheet.sym
+%%DATADIR%%/xschem_library/devices/bsource.sym
+%%DATADIR%%/xschem_library/devices/bus_connect.sym
+%%DATADIR%%/xschem_library/devices/bus_connect_nolab.sym
+%%DATADIR%%/xschem_library/devices/bus_tap.sym
+%%DATADIR%%/xschem_library/devices/capa-2.sym
+%%DATADIR%%/xschem_library/devices/capa.sym
+%%DATADIR%%/xschem_library/devices/cccs.sym
+%%DATADIR%%/xschem_library/devices/ccvs.sym
+%%DATADIR%%/xschem_library/devices/code.sym
+%%DATADIR%%/xschem_library/devices/code_shown.sym
+%%DATADIR%%/xschem_library/devices/conn_10x2.sym
+%%DATADIR%%/xschem_library/devices/conn_14x1.sym
+%%DATADIR%%/xschem_library/devices/conn_3x1.sym
+%%DATADIR%%/xschem_library/devices/conn_4x1.sym
+%%DATADIR%%/xschem_library/devices/conn_6x1.sym
+%%DATADIR%%/xschem_library/devices/conn_8x1.sym
+%%DATADIR%%/xschem_library/devices/connect.sym
+%%DATADIR%%/xschem_library/devices/connector.sym
+%%DATADIR%%/xschem_library/devices/crystal-2.sym
+%%DATADIR%%/xschem_library/devices/crystal.sym
+%%DATADIR%%/xschem_library/devices/dac_bridge.sym
+%%DATADIR%%/xschem_library/devices/delay.sym
+%%DATADIR%%/xschem_library/devices/delay_line.sym
+%%DATADIR%%/xschem_library/devices/device_param_probe.sym
+%%DATADIR%%/xschem_library/devices/diode.sym
+%%DATADIR%%/xschem_library/devices/flash_cell.sym
+%%DATADIR%%/xschem_library/devices/generic_pin.sym
+%%DATADIR%%/xschem_library/devices/gnd.sym
+%%DATADIR%%/xschem_library/devices/ic.sym
+%%DATADIR%%/xschem_library/devices/ind.sym
+%%DATADIR%%/xschem_library/devices/intuitive_interface_cheatsheet.sch
+%%DATADIR%%/xschem_library/devices/intuitive_interface_cheatsheet.sym
+%%DATADIR%%/xschem_library/devices/iopin.sym
+%%DATADIR%%/xschem_library/devices/ipin.sym
+%%DATADIR%%/xschem_library/devices/isource.sym
+%%DATADIR%%/xschem_library/devices/isource_arith.sym
+%%DATADIR%%/xschem_library/devices/isource_pwl.sym
+%%DATADIR%%/xschem_library/devices/isource_table.sym
+%%DATADIR%%/xschem_library/devices/jumper.sym
+%%DATADIR%%/xschem_library/devices/k.sym
+%%DATADIR%%/xschem_library/devices/lab_generic.sym
+%%DATADIR%%/xschem_library/devices/lab_pin.sym
+%%DATADIR%%/xschem_library/devices/lab_show.sym
+%%DATADIR%%/xschem_library/devices/lab_wire.sym
+%%DATADIR%%/xschem_library/devices/launcher.sym
+%%DATADIR%%/xschem_library/devices/led.sym
+%%DATADIR%%/xschem_library/devices/netlist.sym
+%%DATADIR%%/xschem_library/devices/netlist_at_end.sym
+%%DATADIR%%/xschem_library/devices/netlist_not_shown.sym
+%%DATADIR%%/xschem_library/devices/netlist_not_shown_at_end.sym
+%%DATADIR%%/xschem_library/devices/netlist_options.sym
+%%DATADIR%%/xschem_library/devices/ngspice_analog_delay.sym
+%%DATADIR%%/xschem_library/devices/ngspice_get_expr.sym
+%%DATADIR%%/xschem_library/devices/ngspice_get_value.sym
+%%DATADIR%%/xschem_library/devices/ngspice_probe.sym
+%%DATADIR%%/xschem_library/devices/njfet.sym
+%%DATADIR%%/xschem_library/devices/nmos-sub.sym
+%%DATADIR%%/xschem_library/devices/nmos.sym
+%%DATADIR%%/xschem_library/devices/nmos3.sym
+%%DATADIR%%/xschem_library/devices/nmos4.sym
+%%DATADIR%%/xschem_library/devices/nmos4_depl.sym
+%%DATADIR%%/xschem_library/devices/noconn.sym
+%%DATADIR%%/xschem_library/devices/npn.sym
+%%DATADIR%%/xschem_library/devices/opin.sym
+%%DATADIR%%/xschem_library/devices/package.sym
+%%DATADIR%%/xschem_library/devices/package_not_shown.sym
+%%DATADIR%%/xschem_library/devices/param.sym
+%%DATADIR%%/xschem_library/devices/param_agauss.sym
+%%DATADIR%%/xschem_library/devices/parax_cap.sym
+%%DATADIR%%/xschem_library/devices/pjfet.sym
+%%DATADIR%%/xschem_library/devices/pmos-sub.sym
+%%DATADIR%%/xschem_library/devices/pmos.sym
+%%DATADIR%%/xschem_library/devices/pmos3.sym
+%%DATADIR%%/xschem_library/devices/pmos4.sym
+%%DATADIR%%/xschem_library/devices/pmoshv4.sym
+%%DATADIR%%/xschem_library/devices/pmosnat.sym
+%%DATADIR%%/xschem_library/devices/pnp.sym
+%%DATADIR%%/xschem_library/devices/port_attributes.sym
+%%DATADIR%%/xschem_library/devices/res.sym
+%%DATADIR%%/xschem_library/devices/res3.sym
+%%DATADIR%%/xschem_library/devices/res_ac.sym
+%%DATADIR%%/xschem_library/devices/rgb_led.sym
+%%DATADIR%%/xschem_library/devices/rnmos4.sym
+%%DATADIR%%/xschem_library/devices/scope.sym
+%%DATADIR%%/xschem_library/devices/scope2.sym
+%%DATADIR%%/xschem_library/devices/scope_ammeter.sym
+%%DATADIR%%/xschem_library/devices/short.sym
+%%DATADIR%%/xschem_library/devices/simulator_commands.sym
+%%DATADIR%%/xschem_library/devices/simulator_commands_shown.sym
+%%DATADIR%%/xschem_library/devices/spice_probe.sym
+%%DATADIR%%/xschem_library/devices/spice_probe_vdiff.sym
+%%DATADIR%%/xschem_library/devices/sqwsource.sym
+%%DATADIR%%/xschem_library/devices/stop.sym
+%%DATADIR%%/xschem_library/devices/switch.sym
+%%DATADIR%%/xschem_library/devices/switch_ngspice.sym
+%%DATADIR%%/xschem_library/devices/switch_v_xyce.sym
+%%DATADIR%%/xschem_library/devices/title-2.sym
+%%DATADIR%%/xschem_library/devices/title-3.sym
+%%DATADIR%%/xschem_library/devices/title.sym
+%%DATADIR%%/xschem_library/devices/use.sym
+%%DATADIR%%/xschem_library/devices/var_res.sym
+%%DATADIR%%/xschem_library/devices/vccs.sym
+%%DATADIR%%/xschem_library/devices/vcr.sym
+%%DATADIR%%/xschem_library/devices/vcvs.sym
+%%DATADIR%%/xschem_library/devices/vdd.sym
+%%DATADIR%%/xschem_library/devices/verilog_delay.sch
+%%DATADIR%%/xschem_library/devices/verilog_delay.sym
+%%DATADIR%%/xschem_library/devices/verilog_preprocessor.sym
+%%DATADIR%%/xschem_library/devices/verilog_timescale.sym
+%%DATADIR%%/xschem_library/devices/vsource.sym
+%%DATADIR%%/xschem_library/devices/vsource_arith.sym
+%%DATADIR%%/xschem_library/devices/vsource_pwl.sym
+%%DATADIR%%/xschem_library/devices/zener.sym
+%%DATADIR%%/xschemrc