commit:     6bdfda0b2994eda4578729c9344be34fcc50b609
Author:     Emanuel Komínek <drake127 <AT> planescape <DOT> cz>
AuthorDate: Thu Jan 22 08:50:36 2026 +0000
Commit:     Nick Sarnie <sarnex <AT> gentoo <DOT> org>
CommitDate: Thu Jan 22 09:47:21 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bdfda0b

media-gfx/displaycal-py3: add 3.9.17

Closes: https://bugs.gentoo.org/960616
Closes: https://bugs.gentoo.org/960615
Signed-off-by: Emanuel Komínek <drake127 <AT> planescape.cz>
Part-of: https://github.com/gentoo/gentoo/pull/45486
Closes: https://github.com/gentoo/gentoo/pull/45486
Signed-off-by: Nick Sarnie <sarnex <AT> gentoo.org>

 media-gfx/displaycal-py3/Manifest                  |  1 +
 .../displaycal-py3/displaycal-py3-3.9.17.ebuild    | 77 ++++++++++++++++++++++
 .../files/606_gamma_table_type.patch               | 11 ++++
 .../files/displaycal-py3-3.9.17-Fix-build.patch    | 58 ++++++++++++++++
 4 files changed, 147 insertions(+)

diff --git a/media-gfx/displaycal-py3/Manifest 
b/media-gfx/displaycal-py3/Manifest
index 8beb9776ca0a..01bd3fa926e9 100644
--- a/media-gfx/displaycal-py3/Manifest
+++ b/media-gfx/displaycal-py3/Manifest
@@ -1 +1,2 @@
 DIST DisplayCAL-3.9.16.tar.gz 14406126 BLAKE2B 
c7d50251feed08ce33cc2f09d3e23a5bfbe54c0634fa39926862a638689e6e52b1a567b3b7433b84498bc38ea0e70208f263ba01107e39940d7eaa2183db30dd
 SHA512 
54c0202b2803702b760b2b57a83ca273c4b70a504540e1bb4a543f0b16ad490b3f7d336516d754b3047c957fd8c274c779074422c55f6d422728c216e59aba64
+DIST DisplayCAL-3.9.17.tar.gz 14406126 BLAKE2B 
c7d50251feed08ce33cc2f09d3e23a5bfbe54c0634fa39926862a638689e6e52b1a567b3b7433b84498bc38ea0e70208f263ba01107e39940d7eaa2183db30dd
 SHA512 
54c0202b2803702b760b2b57a83ca273c4b70a504540e1bb4a543f0b16ad490b3f7d336516d754b3047c957fd8c274c779074422c55f6d422728c216e59aba64

diff --git a/media-gfx/displaycal-py3/displaycal-py3-3.9.17.ebuild 
b/media-gfx/displaycal-py3/displaycal-py3-3.9.17.ebuild
new file mode 100644
index 000000000000..75c9187181be
--- /dev/null
+++ b/media-gfx/displaycal-py3/displaycal-py3-3.9.17.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..13} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 xdg
+
+DESCRIPTION="Modernize the DisplayCAL code including Python 3 support"
+HOMEPAGE="https://github.com/eoyilmaz/displaycal-py3";
+
+MY_PN="DisplayCAL"
+MY_P="${MY_PN}-${PV}"
+MY_COMMIT="9b17f280b132c452396c7af29f2b6d16bdf14128"
+SRC_URI="https://github.com/eoyilmaz/displaycal-py3/archive/${MY_COMMIT}.tar.gz
 -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="test"
+
+PATCHES="
+       ${FILESDIR}/${P}-Fix-build.patch
+       ${FILESDIR}/606_gamma_table_type.patch"
+
+DEPEND="
+       dev-python/build[${PYTHON_USEDEP}]
+       dev-python/dbus-python[${PYTHON_USEDEP}]
+       dev-python/distro[${PYTHON_USEDEP}]
+       dev-python/numpy[${PYTHON_USEDEP}]
+       dev-python/pillow[${PYTHON_USEDEP}]
+       dev-python/pychromecast[${PYTHON_USEDEP}]
+       dev-python/send2trash[${PYTHON_USEDEP}]
+       dev-python/zeroconf[${PYTHON_USEDEP}]
+       >=dev-python/wxpython-4.2.0[${PYTHON_USEDEP}]
+       dev-python/installer[${PYTHON_USEDEP}]
+       dev-python/certifi[${PYTHON_USEDEP}]
+       dev-python/wheel[${PYTHON_USEDEP}]
+       >=media-gfx/argyllcms-3.3.0
+       x11-libs/libXxf86vm"
+
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+       default
+       # Upstream build system is very sensitive to the build folder name
+       mv "${WORKDIR}/${PN}-${MY_COMMIT}" "${S}" || die
+}
+
+src_prepare() {
+       # Remove x-world MIME
+       sed -i 's|x-world/x-vrml;||g' \
+               misc/displaycal-vrml-to-x3d-converter.desktop || die
+
+       echo ${PV} >VERSION || die
+
+       distutils-r1_src_prepare
+}
+
+src_install() {
+       distutils-r1_src_install
+
+       # Use Gentoo package name for doc folder
+       mv "${ED}/usr/share/doc/${MY_P}" "${ED}/usr/share/doc/${PF}" || die
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+}

diff --git a/media-gfx/displaycal-py3/files/606_gamma_table_type.patch 
b/media-gfx/displaycal-py3/files/606_gamma_table_type.patch
new file mode 100644
index 000000000000..2f0a1286c792
--- /dev/null
+++ b/media-gfx/displaycal-py3/files/606_gamma_table_type.patch
@@ -0,0 +1,11 @@
+https://github.com/eoyilmaz/displaycal-py3/issues/606
+--- a/DisplayCAL/display_cal.py
++++ b/DisplayCAL/display_cal.py
+@@ -151,6 +151,7 @@
+     TextType,
+     XYZType,
+     VideoCardGammaType,
++    VideoCardGammaTableType,
+ )
+ from DisplayCAL.log import log, logbuffer
+ from DisplayCAL.meta import (

diff --git 
a/media-gfx/displaycal-py3/files/displaycal-py3-3.9.17-Fix-build.patch 
b/media-gfx/displaycal-py3/files/displaycal-py3-3.9.17-Fix-build.patch
new file mode 100644
index 000000000000..8cf3231aad76
--- /dev/null
+++ b/media-gfx/displaycal-py3/files/displaycal-py3-3.9.17-Fix-build.patch
@@ -0,0 +1,58 @@
+diff --git a/DisplayCAL/__version__.py b/DisplayCAL/__version__.py
+new file mode 100644
+index 00000000..28eceb81
+--- /dev/null
++++ b/DisplayCAL/__version__.py
+@@ -0,0 +1,7 @@
++# generated by setup.py
++
++BUILD_DATE = "2026-01-21T15:38:12Z"
++LASTMOD = "2026-01-21T12:50:17Z"
++VERSION = (3, 9, 17)
++VERSION_BASE = (3, 9, 17)
++VERSION_STRING = "3.9.17"
+diff --git a/DisplayCAL/setup.py b/DisplayCAL/setup.py
+index 27425a18..43b6143b 100644
+--- a/DisplayCAL/setup.py
++++ b/DisplayCAL/setup.py
+@@ -629,7 +629,6 @@ def setup():
+     if not is_rpm_build or doc_layout.startswith("deb"):
+         data_files += get_data(doc, "doc", excludes=["LICENSE.txt"])
+     if data_files:
+-        data_files.append((doc, [os.path.join(pydir, "..", "dist", 
"copyright")]))
+         data_files.append(
+             (
+                 os.path.join(os.path.dirname(data), "doc-base"),
+@@ -659,20 +662,6 @@ def setup():
+                 )
+             )
+ 
+-    # metainfo / appdata.xml
+-    data_files.append(
+-        (
+-            os.path.join(os.path.dirname(data), "metainfo"),
+-            [
+-                relpath(
+-                    os.path.normpath(
+-                        os.path.join(pydir, "..", "dist", 
f"{appstream_id}.appdata.xml")
+-                    ),
+-                    source_dir,
+-                )
+-            ],
+-        )
+-    )
+ 
+     if sys.platform not in ("darwin", "win32") or do_py2app or do_py2exe:
+         # Linux/Unix or py2app/py2exe
+diff --git a/pyproject.toml b/pyproject.toml
+index b43679f0..89e02aaf 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -65,6 +65,7 @@ include-package-data = false
+ 
+ [tool.setuptools.packages.find]
+ where = ["./"]
++exclude = [ "tests", "tests.*", "util" ]
+ 
+ [tool.setuptools.package-data]
+ DisplayCAL = [

Reply via email to