Index | Thread | Search

From:
Chris Billington <emulti@disroot.org>
Subject:
Re: UPDATE: cad/qelectrotech 0.9.1 > 0.100
To:
openbsd-ports Mailing List <ports@openbsd.org>
Date:
Mon, 21 Sep 2026 14:48:04 +0800

Download raw body.

Thread
  • Rafael Sadowski:

    UPDATE: cad/qelectrotech 0.9.1 > 0.100

  • 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>
    
  • Rafael Sadowski:

    UPDATE: cad/qelectrotech 0.9.1 > 0.100