From: classabbyamp <classabbyamp@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] dispcalGUI: update to 3.9.11, replace with python3 fork
Date: Mon, 25 Sep 2023 18:59:11 +0200 [thread overview]
Message-ID: <20230925165911.ELj4hNAwFb1mmu3gXJ3S7FmMUWFvpZGRwNKr6TQax0Q@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-44849@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 814 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages displaycal-py3
https://github.com/void-linux/void-packages/pull/44849
dispcalGUI: update to 3.9.11, replace with python3 fork
cc: @lemmi
launches and the initial interface works, but I think we need to update wxPython4:
![image](https://github.com/void-linux/void-packages/assets/5366828/b5b386e6-4ab0-483a-98d8-ffe27b3fb8a0)
#### Testing the changes
- I tested the changes in this PR: **briefly** (I don't have any hardware to test this with)
while the repo is named "displaycal-py3", I went with what they call the application throughout the repo, pypi, and code.
A patch file from https://github.com/void-linux/void-packages/pull/44849.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-displaycal-py3-44849.patch --]
[-- Type: text/x-diff, Size: 28503 bytes --]
From 524ff8702e3c853785476cf6131e58b1f6b1c7ab Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 00:04:33 -0400
Subject: [PATCH 1/3] wxWidgets-gtk3: update to 3.2.2.1.
---
common/shlibs | 29 ++++++++++---------
.../patches/nonfatal-abi-check.patch | 21 +++++++-------
srcpkgs/wxWidgets-gtk3/template | 22 +++++++++-----
srcpkgs/wxWidgets-gtk3/update | 4 +--
4 files changed, 42 insertions(+), 34 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 9c2060bc45a67..d93e878c5b85e 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3493,19 +3493,22 @@ libmozjs-78.so.0 mozjs78-78.1.0_1
libebur128.so.1 libebur128-1.2.4_1
libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
-libwx_gtk3u_propgrid-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_qa-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_core-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_html-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_adv-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_richtext-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_xrc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_webview-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_aui-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_media-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_ribbon-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_gl-3.0.so.0 wxWidgets-gtk3-3.0.4_1
-libwx_gtk3u_stc-3.0.so.0 wxWidgets-gtk3-3.0.4_1
+libwx_baseu_xml-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_baseu_net-3.2.so.0 wxWidgets-common-3.2.2.1_1
+libwx_gtk3u_adv-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_aui-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_core-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_gl-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_html-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_media-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_propgrid-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_qa-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_ribbon-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_richtext-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_stc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_webview-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
+libwx_gtk3u_xrc-3.2.so.0 wxWidgets-gtk3-3.2.2.1_1
libtepl-6.so.2 tepl-6.4.0_1
libnomacsCore.so.3 nomacs-3.10.2_4
libaudit.so.1 libaudit-2.8.4_1
diff --git a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
index bb93f0a26156c..9ca241ba8b1ff 100644
--- a/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
+++ b/srcpkgs/wxWidgets-gtk3/patches/nonfatal-abi-check.patch
@@ -1,18 +1,19 @@
-Taken from
+Adapted from a prior patch which was taken from
https://github.com/archlinux/svntogit-packages/blob/71ee17d529f8e0dc5c44d2fffb0dfa69b71daa0b/repos/extra-x86_64/make-abicheck-non-fatal.patch
-diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
---- a/src/common/appbase.cpp.abicheck 2015-03-12 17:15:18.000000000 +0100
-+++ b/src/common/appbase.cpp 2015-03-12 17:15:57.000000000 +0100
-@@ -424,10 +424,7 @@ bool wxAppConsole::CheckBuildOptions(con
- msg.Printf(_T("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
- lib.c_str(), progName.c_str(), prog.c_str());
+diff -up a/src/common/appbase.cpp b/src/common/appbase.cpp
+--- a/src/common/appbase.cpp
++++ b/src/common/appbase.cpp
+@@ -850,11 +850,8 @@
+ wxString prog = wxString::FromAscii(optionsSignature);
+ wxString progName = wxString::FromAscii(componentName);
-- wxLogFatalError(msg.c_str());
+- wxLogFatalError(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
++ wxLogWarning(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+ lib, progName, prog);
-
- // normally wxLogFatalError doesn't return
- return false;
-+ wxLogWarning(msg.c_str());
}
- #undef wxCMP
+ return true;
diff --git a/srcpkgs/wxWidgets-gtk3/template b/srcpkgs/wxWidgets-gtk3/template
index ae5105a89c145..cac6df48f93fe 100644
--- a/srcpkgs/wxWidgets-gtk3/template
+++ b/srcpkgs/wxWidgets-gtk3/template
@@ -1,22 +1,28 @@
# Template file for 'wxWidgets-gtk3'
pkgname=wxWidgets-gtk3
-version=3.0.5.1
-revision=6
+version=3.2.2.1
+revision=1
build_style=gnu-configure
-configure_args="--with-gtk=3 --enable-unicode --with-opengl --with-sdl
- --with-libmspack --with-libnotify --enable-mediactrl"
+configure_args="--with-gtk=3 --with-opengl --with-libmspack --enable-mediactrl
+ --enable-unicode --with-libnotify --with-regex --with-zlib --with-expat
+ --with-libjpeg --with-libpng --with-libtiff --with-liblzma"
hostmakedepends="pkg-config"
makedepends="SDL2-devel gst-plugins-base1-devel gstreamer1-devel gtk+3-devel
- libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel"
-short_desc="The wxWidgets GUI toolkit library compiled with gtk3 support"
+ libmspack-devel libnotify-devel tiff-devel webkit2gtk-devel glu-devel
+ gst-plugins-bad1-devel libsecret-devel pcre2-devel liblzma-devel gspell-devel
+ libcurl-devel zlib-devel expat-devel libpng-devel"
+short_desc="Cross-platform GUI library (built with GTK+ 3.0)"
maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="custom:wxWindows"
homepage="https://www.wxwidgets.org"
distfiles="https://github.com/wxWidgets/wxWidgets/releases/download/v${version}/wxWidgets-${version}.tar.bz2"
-checksum=440f6e73cf5afb2cbf9af10cec8da6cdd3d3998d527598a53db87099524ac807
+checksum=dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02
post_install() {
- local _config="gtk3-unicode-3.0"
+ local _patch="${version#*.*.}"
+ local _majmin="${version%."${_patch}"}"
+ local _config="gtk3-unicode-${_majmin}"
+
# remove all occurrences of $XBPS_CROSS_TRIPLET in wx-config:
# - mark this build as native build
if [ "$CROSS_BUILD" ]; then
diff --git a/srcpkgs/wxWidgets-gtk3/update b/srcpkgs/wxWidgets-gtk3/update
index ac4c5f040ec44..051b6769752c6 100644
--- a/srcpkgs/wxWidgets-gtk3/update
+++ b/srcpkgs/wxWidgets-gtk3/update
@@ -1,3 +1 @@
-site="https://github.com/wxWidgets/wxWidgets/releases/latest"
-# development version
-ignore='3.1.*'
+pkgname=wxWidgets
From 9da52c55a28fe3fd04f6eb971fdcd3bd4abc2030 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 25 Sep 2023 07:53:19 -0400
Subject: [PATCH 2/3] wxPython4: update to 4.2.1, rename to wxPython
---
srcpkgs/wxPython/template | 77 ++++++++--------
srcpkgs/wxPython4 | 1 +
...fig-gtk3.0-to-avoid-conflict-with-wx.patch | 52 -----------
srcpkgs/wxPython4/patches/cross.patch | 12 ---
srcpkgs/wxPython4/patches/nullptr-cast.patch | 11 ---
srcpkgs/wxPython4/patches/python-3.11.patch | 92 -------------------
srcpkgs/wxPython4/patches/syntax.patch | 32 -------
srcpkgs/wxPython4/template | 50 ----------
srcpkgs/wxPython4/update | 1 -
9 files changed, 42 insertions(+), 286 deletions(-)
create mode 120000 srcpkgs/wxPython4
delete mode 100644 srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
delete mode 100644 srcpkgs/wxPython4/patches/cross.patch
delete mode 100644 srcpkgs/wxPython4/patches/nullptr-cast.patch
delete mode 100644 srcpkgs/wxPython4/patches/python-3.11.patch
delete mode 100644 srcpkgs/wxPython4/patches/syntax.patch
delete mode 100644 srcpkgs/wxPython4/template
delete mode 100644 srcpkgs/wxPython4/update
diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 891ddc164552b..bc4873fb541aa 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,47 +1,52 @@
# Template file for 'wxPython'
pkgname=wxPython
-version=3.0.2.0
-revision=11
-hostmakedepends="pkg-config"
-makedepends="
- zlib-devel libpng-devel libjpeg-turbo-devel tiff-devel expat-devel gtk+-devel
- libSM-devel MesaLib-devel glu-devel
- libnotify-devel python-devel wxWidgets-devel"
-depends="python"
-short_desc="Python Bindings for the wxWidgets GUI toolkit library"
+version=4.2.1
+revision=1
+build_style=python3-module
+make_build_args="--skip-build"
+make_install_args="--skip-build"
+hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
+makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
+ gst-plugins-base1-devel"
+depends="python3 python3-six python3-numpy python3-Pillow"
+short_desc="Python bindings for wxWidgets"
maintainer="Orphaned <orphan@voidlinux.org>"
-license="WxWindows-exception-3.1"
-homepage="https://www.wxpython.org/"
-distfiles="${SOURCEFORGE_SITE}/wxpython/${pkgname}-src-${version}.tar.bz2"
-checksum=d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61
+license="custom:wxWindows"
+homepage="http://www.wxpython.org/"
+distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
+checksum=e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c
-if [ -n "${CROSS_BUILD}" ]; then
- hostmakedepends+=" python"
- CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/python${py2_ver}"
+export WXPYTHON_RELEASE=yes
+if [ "$CROSS_BUILD" ]; then
+ CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
+ export WX_CONFIG="${XBPS_WRAPPERDIR}/wx-config-gtk3"
+else
+ export WX_CONFIG=wx-config-gtk3
fi
-pre_configure() {
- mv wxPython/wx/tools/Editra/{editra,Editra}
+pre_build() {
+ chmod -R go+rX $wrksrc
+ PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}$wrksrc"
+ if [ "$CROSS_BUILD" ]; then
+ PYPREFIX="$XBPS_CROSS_BASE"
+ LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib"
+ CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
+ LDSHARED="${CC} -shared $LDFLAGS"
+ env CC="$CC" LDSHARED="$LDSHARED" \
+ PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
+ PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config" \
+ LDFLAGS="$LDFLAGS" python3 build.py build_py --use_syswx
+ else
+ python3 build.py build_py --use_syswx
+ fi
}
-do_build() {
- cd wxPython
- python2.7 setup.py build
+post_install() {
+ vlicense LICENSE.txt
}
-do_install() {
- cd wxPython
- # The path where includes are going to be installed is prefixed with WXPREFIX obtained
- # from 'wx-config --prefix' but in a cross build this is '$XBPS_CROSS_BASE/usr'.
- sed -i -e "s|WXPREFIX +|'/usr' +|" config.py
- python2.7 setup.py install --root=${DESTDIR}
- vlicense ../docs/licence.txt LICENSE
-}
-
-wxPython-devel_package() {
- depends="wxWidgets-devel ${sourcepkg}>=${version}_${revision}"
- short_desc+=" - development files"
- pkg_install() {
- vmove usr/include
- }
+wxPython4_package() {
+ build_style=meta
+ short_desc+=" - transitional dummy package"
+ depends="${sourcepkg}>=${version}_${revision}"
}
diff --git a/srcpkgs/wxPython4 b/srcpkgs/wxPython4
new file mode 120000
index 0000000000000..e396d5ae370d6
--- /dev/null
+++ b/srcpkgs/wxPython4
@@ -0,0 +1 @@
+wxPython
\ No newline at end of file
diff --git a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch b/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
deleted file mode 100644
index 72a678da78589..0000000000000
--- a/srcpkgs/wxPython4/patches/0001-Switch-to-wx-config-gtk3.0-to-avoid-conflict-with-wx.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cddbe3b3b237b8e63abd8921fdb20314c20c2c08 Mon Sep 17 00:00:00 2001
-From: Jasper Chan <jasperchan515@gmail.com>
-Date: Sat, 22 Sep 2018 20:59:29 -0700
-Subject: [PATCH] Switch to wx-config-gtk3 to avoid conflict with
- wxWidgets-gtk2
-
----
- build.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git build.py build.py
-index 3cd5b828..57dbd384 100755
---- a/build.py
-+++ b/build.py
-@@ -400,7 +400,7 @@ def makeOptionParser():
- ("mac_arch", ("", "Comma separated list of architectures to build on Mac")),
-
- ("use_syswx", (False, "Try to use an installed wx rather than building the "
-- "one in this source tree. The wx-config in {prefix}/bin "
-+ "one in this source tree. The wx-config-gtk3 in {prefix}/bin "
- "or the first found on the PATH determines which wx is "
- "used. Implies --no_magic.")),
- ("force_config", (False, "Run configure when building even if the script "
-@@ -1271,7 +1271,7 @@ def cmd_build_wx(options, args):
- os.path.join(wxDir(), 'configure'),
- os.path.join(wxDir(), 'setup.h.in'),
- os.path.join(wxDir(), 'version-script.in'),
-- os.path.join(wxDir(), 'wx-config.in'),
-+ os.path.join(wxDir(), 'wx-config-gtk3.in'),
- ]
- for dep in dependencies:
- if newer(dep, os.path.join(BUILD_DIR, "Makefile")):
-@@ -1424,13 +1424,13 @@ def cmd_build_py(options, args):
- os.environ['WXPYTHON_RELEASE'] = 'yes'
-
- if not isWindows:
-- WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config')
-+ WX_CONFIG = posixjoin(BUILD_DIR, 'wx-config-gtk3')
- if options.use_syswx:
-- wxcfg = posixjoin(options.prefix, 'bin', 'wx-config')
-+ wxcfg = posixjoin(options.prefix, 'bin', 'wx-config-gtk3')
- if options.prefix and os.path.exists(wxcfg):
- WX_CONFIG = wxcfg
- else:
-- WX_CONFIG = 'wx-config' # hope it is on the PATH
-+ WX_CONFIG = 'wx-config-gtk3' # hope it is on the PATH
-
-
- wafBuildBase = wafBuildDir = getWafBuildBase()
---
-2.19.0
-
diff --git a/srcpkgs/wxPython4/patches/cross.patch b/srcpkgs/wxPython4/patches/cross.patch
deleted file mode 100644
index 4f343de201cb0..0000000000000
--- a/srcpkgs/wxPython4/patches/cross.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: wxPython-4.0.7/build.py
-===================================================================
---- wxPython-4.0.7.orig/build.py
-+++ wxPython-4.0.7/build.py
-@@ -169,7 +169,6 @@ def main(args):
- setPythonVersion(args)
- setDevModeOptions(args)
-
-- os.environ['PYTHONPATH'] = phoenixDir()
- os.environ['PYTHONUNBUFFERED'] = 'yes'
- os.environ['WXWIN'] = wxDir()
-
diff --git a/srcpkgs/wxPython4/patches/nullptr-cast.patch b/srcpkgs/wxPython4/patches/nullptr-cast.patch
deleted file mode 100644
index d9351c714b4fc..0000000000000
--- a/srcpkgs/wxPython4/patches/nullptr-cast.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-+++ b/sip/cpp/sip_propgridwxPGPropArgCls.cpp
-@@ -317,7 +317,7 @@ static int convertTo_wxPGPropArgCls(PyOb
- return sipGetState(sipTransferObj);
- }
- else if (sipPy == Py_None) {
-- *sipCppPtr = new wxPGPropArgCls(reinterpret_cast< wxPGProperty * >(NULL));
-+ *sipCppPtr = new wxPGPropArgCls(static_cast< wxPGProperty * >(NULL));
- return sipGetState(sipTransferObj);
- }
- else {
diff --git a/srcpkgs/wxPython4/patches/python-3.11.patch b/srcpkgs/wxPython4/patches/python-3.11.patch
deleted file mode 100644
index 15496bdecbca0..0000000000000
--- a/srcpkgs/wxPython4/patches/python-3.11.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/ConfigSet.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/ConfigSet.py
-@@ -146,7 +146,7 @@
- Utils.writef(filename,''.join(buf))
- def load(self,filename):
- tbl=self.table
-- code=Utils.readf(filename,m='rU')
-+ code=Utils.readf(filename,m='r')
- for m in re_imp.finditer(code):
- g=m.group
- tbl[g(2)]=eval(g(3))
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py wxPython-4.0.7/bin/.waf3/waflib/Context.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Context.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Context.py
-@@ -106,7 +106,7 @@
- cache[node]=True
- self.pre_recurse(node)
- try:
-- function_code=node.read('rU',encoding)
-+ function_code=node.read('r',encoding)
- exec(compile(function_code,node.abspath(),'exec'),self.exec_dict)
- finally:
- self.post_recurse(node)
-@@ -346,7 +346,7 @@
- pass
- module=imp.new_module(WSCRIPT_FILE)
- try:
-- code=Utils.readf(path,m='rU',encoding=encoding)
-+ code=Utils.readf(path,m='r',encoding=encoding)
- except EnvironmentError:
- raise Errors.WafError('Could not read the file %r'%path)
- module_dir=os.path.dirname(path)
-diff -ur wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
---- wxPython-4.0.7.orig/bin/.waf3/waflib/Tools/python.py
-+++ wxPython-4.0.7/bin/.waf3/waflib/Tools/python.py
-@@ -207,7 +207,7 @@
- x='MACOSX_DEPLOYMENT_TARGET'
- if dct[x]:
- env[x]=conf.environ[x]=dct[x]
-- env.pyext_PATTERN='%s'+dct['SO']
-+ env.pyext_PATTERN='%s.so'
- num='.'.join(env.PYTHON_VERSION.split('.')[:2])
- conf.find_program([''.join(pybin)+'-config','python%s-config'%num,'python-config-%s'%num,'python%sm-config'%num],var='PYTHON_CONFIG',msg="python-config",mandatory=False)
- if env.PYTHON_CONFIG:
-diff -ur wxPython-4.0.7.orig/sip/siplib/sip.h wxPython-4.0.7/sip/siplib/sip.h
---- wxPython-4.0.7.orig/sip/siplib/sip.h
-+++ wxPython-4.0.7/sip/siplib/sip.h
-@@ -1794,7 +1794,7 @@
- int (*api_get_time)(PyObject *, sipTimeDef *);
- PyObject *(*api_from_time)(const sipTimeDef *);
- int (*api_is_user_type)(const sipWrapperType *);
-- struct _frame *(*api_get_frame)(int);
-+ PyFrameObject *(*api_get_frame)(int);
- int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
- PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **);
- void (*api_unicode_write)(int, void *, int, unsigned);
-diff -ur wxPython-4.0.7.orig/sip/siplib/siplib.c wxPython-4.0.7/sip/siplib/siplib.c
---- wxPython-4.0.7.orig/sip/siplib/siplib.c
-+++ wxPython-4.0.7/sip/siplib/siplib.c
-@@ -439,7 +439,7 @@
- static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
- static PyObject *sip_api_from_time(const sipTimeDef *time);
- static int sip_api_is_user_type(const sipWrapperType *wt);
--static struct _frame *sip_api_get_frame(int);
-+static PyFrameObject *sip_api_get_frame(int);
- static int sip_api_check_plugin_for_type(const sipTypeDef *td,
- const char *name);
- static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar,
-@@ -13688,15 +13688,19 @@
- /*
- * Return a frame from the execution stack.
- */
--static struct _frame *sip_api_get_frame(int depth)
-+static PyFrameObject *sip_api_get_frame(int depth)
- {
-- struct _frame *frame = PyEval_GetFrame();
-+ PyFrameObject *frame = PyEval_GetFrame();
-+ Py_XINCREF(frame);
-
- while (frame != NULL && depth > 0)
- {
-- frame = frame->f_back;
-+ PyFrameObject *oframe = frame;
-+ frame = PyFrame_GetBack(frame);
-+ Py_DECREF(oframe);
- --depth;
- }
-+ Py_XDECREF(frame);
-
- return frame;
- }
diff --git a/srcpkgs/wxPython4/patches/syntax.patch b/srcpkgs/wxPython4/patches/syntax.patch
deleted file mode 100644
index 862934f996159..0000000000000
--- a/srcpkgs/wxPython4/patches/syntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: wxPython-4.0.7/wx/lib/masked/maskededit.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/masked/maskededit.py
-+++ wxPython-4.0.7/wx/lib/masked/maskededit.py
-@@ -2645,7 +2645,7 @@ class MaskedEditMixin:
- raise ve
- elif replace_to > end:
- #### dbg(indent=0)
-- ve = ValueError('"%s" will not fit into field %d of control "%s"' (choice, index, self.name))
-+ ve = ValueError('"%s" will not fit into field %d of control "%s"' % (choice, index, self.name))
- ve.value = choice
- ve.index = index
- raise ve
-Index: wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-===================================================================
---- wxPython-4.0.7.orig/wx/lib/plot/plotcanvas.py
-+++ wxPython-4.0.7/wx/lib/plot/plotcanvas.py
-@@ -1852,12 +1852,12 @@ class PlotCanvas(wx.Panel):
- # Get ticks and textExtents for axis if required
- xticks = yticks = None
- xTextExtent = yTextExtent = (0, 0) # No text for ticks
-- if self._xSpec is not 'none':
-+ if self._xSpec != 'none':
- xticks = self._xticks(xAxis[0], xAxis[1])
- # w h of x axis text last number on axis
- xTextExtent = dc.GetTextExtent(xticks[-1][1])
-
-- if self._ySpec is not 'none':
-+ if self._ySpec != 'none':
- yticks = self._yticks(yAxis[0], yAxis[1])
- if self.logScale[1]:
- # make sure we have enough room to display SI notation.
diff --git a/srcpkgs/wxPython4/template b/srcpkgs/wxPython4/template
deleted file mode 100644
index e0edf6fb9452f..0000000000000
--- a/srcpkgs/wxPython4/template
+++ /dev/null
@@ -1,50 +0,0 @@
-# Template file for 'wxPython4'
-pkgname=wxPython4
-version=4.0.7
-revision=7
-build_style=python3-module
-make_build_args="--skip-build"
-make_install_args="--skip-build"
-hostmakedepends="pkg-config python3-setuptools python3-pathlib2"
-makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel webkit2gtk-devel
- gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
-short_desc="WxWidgets GUI toolkit library (Python3 Bindings)"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="custom:wxWindows"
-homepage="http://www.wxpython.org/"
-distfiles="${PYPI_SITE}/w/wxPython/wxPython-${version}.tar.gz"
-checksum=3be608bfdede3063678cc703453850ab0a018b82bafd5ee057302250b18f0233
-
-if [ "$CROSS_BUILD" ]; then
- CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
-fi
-
-pre_patch() {
- # need to patch for Python 3.11, extract them now.
- cd bin
- sed '/__name__.*__main__/i sys.exit(0)' waf-* >tmp-waf
- python3 tmp-waf
- ln -s .waf3-* .waf3
-}
-
-pre_build() {
- chmod -R go+rX $wrksrc
- PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}$wrksrc"
- if [ "$CROSS_BUILD" ]; then
- PYPREFIX="$XBPS_CROSS_BASE"
- LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib"
- CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
- LDSHARED="${CC} -shared $LDFLAGS"
- env CC="$CC" LDSHARED="$LDSHARED" \
- PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
- PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config" \
- LDFLAGS="$LDFLAGS" python3 build.py build_py --use_syswx
- else
- python3 build.py build_py --use_syswx
- fi
-}
-
-post_install() {
- vlicense LICENSE.txt
-}
diff --git a/srcpkgs/wxPython4/update b/srcpkgs/wxPython4/update
deleted file mode 100644
index 1527342250f66..0000000000000
--- a/srcpkgs/wxPython4/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=wxPython
From a4d727cb7a72164ad132be3b393c587fec84b02f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 4 Jul 2023 21:42:01 -0400
Subject: [PATCH 3/3] dispcalGUI: update to 3.9.11, replace with python3 fork
---
srcpkgs/DisplayCAL/template | 25 +++++++++++++++++++
srcpkgs/dispcalGUI | 1 +
srcpkgs/dispcalGUI/patches/error.patch | 33 --------------------------
srcpkgs/dispcalGUI/template | 25 -------------------
srcpkgs/dispcalGUI/update | 1 -
5 files changed, 26 insertions(+), 59 deletions(-)
create mode 100644 srcpkgs/DisplayCAL/template
create mode 120000 srcpkgs/dispcalGUI
delete mode 100644 srcpkgs/dispcalGUI/patches/error.patch
delete mode 100644 srcpkgs/dispcalGUI/template
delete mode 100644 srcpkgs/dispcalGUI/update
diff --git a/srcpkgs/DisplayCAL/template b/srcpkgs/DisplayCAL/template
new file mode 100644
index 0000000000000..962d66e29bf68
--- /dev/null
+++ b/srcpkgs/DisplayCAL/template
@@ -0,0 +1,25 @@
+# Template file for 'DisplayCAL'
+pkgname=DisplayCAL
+version=3.9.11
+revision=1
+build_style=python3-module
+hostmakedepends="python3"
+makedepends="python3-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
+depends="python3-dbus python3-numpy wxPython argyllcms"
+short_desc="Display Calibration and Characterization"
+maintainer="lemmi <lemmi@nerd2nerd.org>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/eoyilmaz/displaycal-py3"
+distfiles="https://github.com/eoyilmaz/displaycal-py3/archive/refs/tags/${version}.tar.gz"
+checksum=7769d19551c228d797fd98cb2469730cee84ff27bd0bf5d0463e191753921a5e
+
+pre_configure() {
+ vsed -i misc/displaycal-vrml-to-x3d-converter.desktop \
+ -e 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|'
+}
+
+dispcalGUI_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/dispcalGUI b/srcpkgs/dispcalGUI
new file mode 120000
index 0000000000000..7b2ae7fe8eb1e
--- /dev/null
+++ b/srcpkgs/dispcalGUI
@@ -0,0 +1 @@
+DisplayCAL
\ No newline at end of file
diff --git a/srcpkgs/dispcalGUI/patches/error.patch b/srcpkgs/dispcalGUI/patches/error.patch
deleted file mode 100644
index 169fc528b138e..0000000000000
--- a/srcpkgs/dispcalGUI/patches/error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Reason: error(3) does not exist on musl, and on glibc the signature
-is (int, int, char*, ...) and not (char*, ...).
-Therefore the current code either results in garbled output or
-doesn't work at all. Replace it with a simple printf.
-
----
---- a/DisplayCAL/RealDisplaySizeMM.c 2018-07-25 16:47:01.000000000 +0200
-+++ b/DisplayCAL/RealDisplaySizeMM.c 2018-07-25 16:47:01.000000000 +0200
-@@ -822,13 +822,13 @@
- sprintf(desc1, "_ICC_PROFILE_%d",disps[ndisps]->uscreen);
-
- if ((disps[ndisps]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
-- error("Unable to intern atom '%s'",desc1);
-+ fprintf(stderr, "Unable to intern atom '%s'",desc1);
-
- debugrr2((errout,"Root atom '%s'\n",desc1));
-
- /* Create the atom of the output that may contain the associated ICC profile */
- if ((disps[ndisps]->icc_out_atom = XInternAtom(mydisplay, "_ICC_PROFILE", False)) == None)
-- error("Unable to intern atom '%s'","_ICC_PROFILE");
-+ fprintf(stderr, "Unable to intern atom '%s'","_ICC_PROFILE");
-
- /* Grab the EDID from the output */
- {
-@@ -993,7 +993,7 @@
- sprintf(desc1, "_ICC_PROFILE_%d",disps[i]->uscreen);
-
- if ((disps[i]->icc_atom = XInternAtom(mydisplay, desc1, False)) == None)
-- error("Unable to intern atom '%s'",desc1);
-+ fprintf(stderr, "Unable to intern atom '%s'",desc1);
-
- /* See if we can locate the EDID of the monitor for this screen */
- for (j = 0; j < 2; j++) {
diff --git a/srcpkgs/dispcalGUI/template b/srcpkgs/dispcalGUI/template
deleted file mode 100644
index 05086b97e5a26..0000000000000
--- a/srcpkgs/dispcalGUI/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'dispcalGUI'
-pkgname=dispcalGUI
-version=3.8.9.3
-revision=5
-_name="DisplayCAL"
-build_style=python2-module
-hostmakedepends="python"
-makedepends="python-devel libXxf86vm-devel libXinerama-devel libXrandr-devel"
-depends="python-dbus python-numpy wxPython argyllcms"
-short_desc="Display Calibration and Characterization"
-maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3.0-or-later"
-homepage="https://displaycal.net/"
-changelog="https://displaycal.net/CHANGES.html"
-distfiles="${SOURCEFORGE_SITE}/dispcalgui/${_name}-${version}.tar.gz"
-checksum=7c34dfbd9f66f24f1d4c88de4a5a0de688aad719f095874b6259637d30893bea
-
-pre_configure() {
- sed -i 's|MimeType=model/vrml;x-world/x-vrml;|MimeType=model/vrml;|' misc/displaycal-vrml-to-x3d-converter.desktop
-}
-
-post_install() {
- find ${DESTDIR}/usr/ -exec chmod a+r \{\} +
- find ${DESTDIR}/usr/ -type d -exec chmod a+x \{\} +
-}
diff --git a/srcpkgs/dispcalGUI/update b/srcpkgs/dispcalGUI/update
deleted file mode 100644
index 6942393945c36..0000000000000
--- a/srcpkgs/dispcalGUI/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${_name}"
next prev parent reply other threads:[~2023-09-25 16:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 1:43 [PR PATCH] " classabbyamp
2023-09-25 16:59 ` classabbyamp [this message]
2023-09-26 16:06 ` [PR PATCH] [Closed]: " ahesford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230925165911.ELj4hNAwFb1mmu3gXJ3S7FmMUWFvpZGRwNKr6TQax0Q@z \
--to=classabbyamp@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).