Chris Billington wrote:
Stuart Henderson wrote:
On 2026/09/10 16:42, Chris Billington wrote:
+EXTRACT_SUFX =        .tar.gz

not needed, this is the default

+SHA256 (3b12bc579b99932e3fe307ea1e44b8c1c6d1d5c9.tar.gz) = 8F0xFe9bimf51zwRpZdy3EKaUdcFCZ1vuUFOq5VLb1g=

not a valid filename for distfiles

the patch to PLIST doesn't fully apply:

Hunk #22 failed at 1981.
1 out of 124 hunks failed--saving rejects to pkg/PLIST.rej


On 2026/09/10 03:07, Anthony J. Bentley wrote:
Chris Billington writes:
- upstream uses git submodules for pugixml, SingleApplication, and the
'elements' library. I have used the same pinned revisions in
SITES.xxx/DISTFILES.xxx as the upstream branch.

DIST_TUPLE would be a better fit for this.

yes, that would fix the 3b12bc5... filename too. (btw you can use GH_*
for the main file and DIST_TUPLE for submodules; portroach is likely to
cope better with that)

- The 'elements' user-submitted library (CC-BY-SA 3.0) is pinned against
a 9-month-old commit of the submodule repo.
Is it permissible to use a recent commit instead, since that would still
make a reproducible build but would include more recent items?

If doing so provides value and doesn't introduce incompatibility, then
sure.

agreed (in many cases there is a reason why upstream pins a particular
version, in some other cases there isn't, so do check)

- portcheck notes 3 Makefile lines longer than 80 chars, but it's not
easy to break them without sacrificing readability. Is that acceptable?

Yes.

Attached revised diff (gzipped)

- use DIST_TUPLE (found it was not possible to mix DIST_TUPLE and GH_*)

- elements submodule now pinned to a more recent Aug 2026 commit: brings in a lot of networking/dev board library elements

- diff applies OK to -current ports tree of 11 Sep, but I also attach the port tgz (from the port directory) as a backup.

- Qt6: I tried building against Qt6/KF6, but the 0.100 branch is not yet Qt6-clean. Specifically, cmake/fetch_kdeaddons.cmake is hardcoded to use KF5. The upstream master branch is KF6/5 agnostic and it seems the next 0.200.x release will be Qt6-capable. Work is ongoing, Windows-first. So we could maybe switch after next release.

- port-lib-depends-check marked GL and sqlite3 as 'Extra:' WANTLIBS for the cmake build, compared to the 0.91 qmake build. I am assuming this is because Qt5Gui and Qt5Sql pick them up, but why was this not the case with 0.91?

- On both of my -current machines, both 0.100 AND the present 0.91p0 display a redraw bug when inserting a library element: the cursor 'guidelines' do not disappear until a redraw is forced by a tiny zoom in/out with the mouse wheel. This effect is NOT present on either the old or new 0.100 builds on my 7.9-stable machine. It looks like a DRM issue to me. Have there been changes to Qt5 graphics rendering since 7.9-release that could cause this?

Regards
Chris

The attached diff has an updated Makefile to conform to the distfiles-fetching pattern as recently added to the Ports guide.html, with the main port using GH_* and the submodules using DIST_TUPLE.

Previously reported redraw issue with Xfce on this and previous version of qelectrotech "fixed" by forcing Xfce to default settings, please disregard.

Tested on amd64 Sun Sep 20 20:24:13 UTC 2026 snapshot with sample files

This is still a Qt5/KF5 port, upstream Qt6 released version is not yet ready.

Regards
Chris Billington



? qelectrotech.diff
Index: Makefile
===================================================================
RCS file: /cvs/ports/cad/qelectrotech/Makefile,v
diff -u -p -u -p -r1.11 Makefile
--- Makefile	19 Sep 2023 15:16:36 -0000	1.11
+++ Makefile	21 Sep 2026 06:05:50 -0000
@@ -1,37 +1,46 @@
-COMMENT =	electric diagrams drawing tool
+COMMENT =		electrical diagram drawing tool
 
-DISTNAME =	qet-0.9.1
-PKGNAME = 	qelectrotech-0.91
-CATEGORIES =	cad graphics
-REVISION =	0
-
-HOMEPAGE =	https://qelectrotech.org/
-SITES =		https://git.tuxfamily.org/qet/qet.git/snapshot/
-EXTRACT_SUFX =	.tar.gz
+DISTNAME =		qelectrotech-0.100
+CATEGORIES =		cad graphics
 
-# GPLv2 / CC-BY 3.0 for the graphic elements
-PERMIT_PACKAGE =	Yes
+HOMEPAGE =		https://qelectrotech.org/
 
-WANTLIB += ${COMPILER_LIBCXX} GL KF5CoreAddons KF5WidgetsAddons
-WANTLIB += Qt5Concurrent Qt5Core Qt5Gui Qt5Network Qt5PrintSupport
-WANTLIB += Qt5Sql Qt5Svg Qt5Widgets Qt5Xml c m sqlite3
+GH_ACCOUNT =            qelectrotech
+GH_PROJECT =            qelectrotech-source-mirror
+GH_TAGNAME =            0.100
 
-COMPILER =	base-clang ports-gcc
-MODULES =	devel/kf5 devel/qmake
+DIST_TUPLE =		github itay-grudev SingleApplication v3.2.0 SingleApplication/
+DIST_TUPLE +=		github qelectrotech qelectrotech-elements 74bdb77844ec5dfa09c7689756f5983197429dce elements/
 
-# XXX ../sources/ui/dynamicelementtextitemeditor.cpp:26:10:
-# error: '../ui_dynamicelementtextitemeditor.h' file not found, did you mean 'ui_dynamicelementtextitemeditor.h'?
-SEPARATE_BUILD =	No
+# GPLv2 / CC-BY 3.0 for the graphic elements
+PERMIT_PACKAGE =	Yes
 
-LIB_DEPENDS =	devel/kf5/kcoreaddons \
-		devel/kf5/kwidgetsaddons \
-		x11/qt5/qtsvg
+WANTLIB += ${COMPILER_LIBCXX} KF5CoreAddons KF5WidgetsAddons
+WANTLIB += Qt5Concurrent Qt5Core Qt5Gui Qt5Network Qt5PrintSupport
+WANTLIB += Qt5Sql Qt5Svg Qt5Widgets Qt5Xml c m pugixml
 
-RUN_DEPENDS =	misc/shared-mime-info \
-		devel/desktop-file-utils \
-		x11/gtk+4,-guic
+BUILD_DEPENDS =		x11/qt5/qttools
 
-CONFIGURE_STYLE =	qmake
-CONFIGURE_ENV =		QMAKEMODULES=${LOCALBASE}/share/kf5/mkspecs
+LIB_DEPENDS =		devel/kf5/kcoreaddons \
+			devel/kf5/kwidgetsaddons \
+			textproc/pugixml \
+			x11/qt5/qtsvg
+
+RUN_DEPENDS =		misc/shared-mime-info \
+			devel/desktop-file-utils \
+			x11/gtk+4,-guic
+
+MODULES =		devel/cmake x11/qt5
+
+CONFIGURE_ARGS +=	-DQT_VERSION_MAJOR=5 \
+			-DPACKAGE_TESTS=NO \
+			-DBUILD_PUGIXML=NO \
+			-DBUILD_KF5=NO \
+			-DCMAKE_PREFIX_PATH=${LOCALBASE}/lib/qt5 \
+			-DFETCHCONTENT_SOURCE_DIR_SINGLEAPPLICATION=${WRKSRC}/SingleApplication
+
+post-extract:
+	# remove 505M binary shipped by upstream in error with 0.100
+	rm ${WRKSRC}/doc/QElectroTech.qch
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/cad/qelectrotech/distinfo,v
diff -u -p -u -p -r1.3 distinfo
--- distinfo	28 Apr 2023 11:24:59 -0000	1.3
+++ distinfo	21 Sep 2026 06:05:50 -0000
@@ -1,2 +1,6 @@
-SHA256 (qet-0.9.1.tar.gz) = 1RYPoYueA9X4MGqN9by61+DSnWY78yJuckj4x6zkV8c=
-SIZE (qet-0.9.1.tar.gz) = 16839059
+SHA256 (itay-grudev-SingleApplication-v3.2.0.tar.gz) = CIzxyp4HVG2ygHldl3A7Fd7qDKaenAHu80QSxmXjfFc=
+SHA256 (qelectrotech-0.100.tar.gz) = XqqzBOnvc1hnHrlp74mV7mWZlbM8oE3dagp7+w1+NGY=
+SHA256 (qelectrotech-qelectrotech-elements-74bdb77844ec5dfa09c7689756f5983197429dce.tar.gz) = L2oLdAlqmTK0SwY+0G0rmoDGOnyzZfsCClzAdUsn3Sw=
+SIZE (itay-grudev-SingleApplication-v3.2.0.tar.gz) = 20640
+SIZE (qelectrotech-0.100.tar.gz) = 531718217
+SIZE (qelectrotech-qelectrotech-elements-74bdb77844ec5dfa09c7689756f5983197429dce.tar.gz) = 7109148
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeLists_txt	21 Sep 2026 06:05:50 -0000
@@ -0,0 +1,26 @@
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -54,21 +54,7 @@ set(CMAKE_AUTOUIC ON)
+ SET(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ 
+-find_package(
+-  QT
+- NAMES
+-  Qt6
+-  Qt5
+- COMPONENTS
+-  ${QET_COMPONENTS}
+- REQUIRED
+- )
+-
+-find_package(
+-  Qt${QT_VERSION_MAJOR}
+- COMPONENTS
+- ${QET_COMPONENTS}
+- REQUIRED)
++find_package(Qt5 COMPONENTS ${QET_COMPONENTS} REQUIRED)
+ 
+ set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
+ qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
Index: patches/patch-cmake_qet_compilation_vars_cmake
===================================================================
RCS file: patches/patch-cmake_qet_compilation_vars_cmake
diff -N patches/patch-cmake_qet_compilation_vars_cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-cmake_qet_compilation_vars_cmake	21 Sep 2026 06:05:50 -0000
@@ -0,0 +1,14 @@
+Index: cmake/qet_compilation_vars.cmake
+--- cmake/qet_compilation_vars.cmake.orig
++++ cmake/qet_compilation_vars.cmake
+@@ -413,10 +413,6 @@ set(QET_SRC_FILES
+   ${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.cpp
+   ${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.h
+ 
+-  ${QET_DIR}/pugixml/src/pugiconfig.hpp
+-  ${QET_DIR}/pugixml/src/pugixml.cpp
+-  ${QET_DIR}/pugixml/src/pugixml.hpp
+-
+   ${QET_DIR}/sources/qetgraphicsitem/conductor.cpp
+   ${QET_DIR}/sources/qetgraphicsitem/conductor.h
+   ${QET_DIR}/sources/qetgraphicsitem/conductortextitem.cpp
Index: patches/patch-qelectrotech_pro
===================================================================
RCS file: patches/patch-qelectrotech_pro
diff -N patches/patch-qelectrotech_pro
--- patches/patch-qelectrotech_pro	28 Apr 2023 11:24:59 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,31 +0,0 @@
-Index: qelectrotech.pro
---- qelectrotech.pro.orig
-+++ qelectrotech.pro
-@@ -12,8 +12,8 @@ unix {
-         QET_COMMON_TBT_PATH        = 'share/qelectrotech/titleblocks/'
-         QET_LANG_PATH              = 'share/qelectrotech/lang/'
-         QET_EXAMPLES_PATH          = 'share/qelectrotech/examples/'
--        QET_LICENSE_PATH           = 'doc/qelectrotech/'
--        QET_MIME_PACKAGE_PATH      = '../share/mime/packages/'
-+        QET_LICENSE_PATH           = 'share/doc/qelectrotech/'
-+        QET_MIME_PACKAGE_PATH      = 'share/mime/packages/'
-         QET_DESKTOP_PATH           = 'share/applications/'
-         QET_ICONS_PATH             = 'share/icons/hicolor/'
-         QET_MAN_PATH               = 'man/'
-@@ -233,7 +233,7 @@ UI_SOURCES_DIR = sources/ui/
- UI_HEADERS_DIR = sources/ui/
- 
- # Configuration de la compilation
--CONFIG += c++17 debug_and_release warn_on link_pkgconfig
-+CONFIG += c++17 release warn_on link_pkgconfig
- 
- # Nom du binaire genere par la compilation
- TARGET = qelectrotech
-@@ -283,7 +283,6 @@ icons.files        = ico/breeze-icons/16x16   \
- 
- man.path           = $$join(INSTALL_PREFIX,,,$${QET_MAN_PATH})
- man.files          = man/files/*
--man.extra          = sh man/compress_man_pages.sh
- 
- # L'installation comprend la copie du binaire, des elements, des fichiers de langue et du fichier LICENSE
- INSTALLS += target elements tbt lang copyright
Index: patches/patch-sources_ElementsCollection_elementslocation_h
===================================================================
RCS file: patches/patch-sources_ElementsCollection_elementslocation_h
diff -N patches/patch-sources_ElementsCollection_elementslocation_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-sources_ElementsCollection_elementslocation_h	21 Sep 2026 06:05:50 -0000
@@ -0,0 +1,12 @@
+Index: sources/ElementsCollection/elementslocation.h
+--- sources/ElementsCollection/elementslocation.h.orig
++++ sources/ElementsCollection/elementslocation.h
+@@ -20,7 +20,7 @@
+ 
+ #include "../NameList/nameslist.h"
+ #include "../diagramcontext.h"
+-#include "pugixml/src/pugixml.hpp"
++#include <pugixml.hpp>
+ 
+ #include <QIcon>
+ #include <QString>
Index: patches/patch-sources_NameList_nameslist_h
===================================================================
RCS file: patches/patch-sources_NameList_nameslist_h
diff -N patches/patch-sources_NameList_nameslist_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-sources_NameList_nameslist_h	21 Sep 2026 06:05:50 -0000
@@ -0,0 +1,12 @@
+Index: sources/NameList/nameslist.h
+--- sources/NameList/nameslist.h.orig
++++ sources/NameList/nameslist.h
+@@ -17,7 +17,7 @@
+ */
+ #ifndef NAMES_LIST_H
+ #define NAMES_LIST_H
+-#include "pugixml/src/pugixml.hpp"
++#include <pugixml.hpp>
+ 
+ #include <QtXml>
+ /**
Index: patches/patch-sources_diagramcontext_h
===================================================================
RCS file: patches/patch-sources_diagramcontext_h
diff -N patches/patch-sources_diagramcontext_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-sources_diagramcontext_h	21 Sep 2026 06:05:50 -0000
@@ -0,0 +1,12 @@
+Index: sources/diagramcontext.h
+--- sources/diagramcontext.h.orig
++++ sources/diagramcontext.h
+@@ -17,7 +17,7 @@
+ */
+ #ifndef DIAGRAM_CONTEXT_H
+ #define DIAGRAM_CONTEXT_H
+-#include "pugixml/src/pugixml.hpp"
++#include <pugixml.hpp>
+ 
+ #include <QDomElement>
+ #include <QHash>

Reply via email to