Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install through PyPI -> error: can't copy '/tmp/pip-install-4pjbnumd/displaycal_.../DisplayCAL/../dist/copyright': doesn't exist or not a regular file #467

Open
manu-p opened this issue Dec 12, 2024 · 1 comment

Comments

@manu-p
Copy link

manu-p commented Dec 12, 2024

Describe the bug
Can't install displaycal through PyPI because 'copyright' does not exist.

To Reproduce
Steps to reproduce the behavior:
See Install through PyPI

Expected behavior
displaycal gets installed on my machine...

Screenshots

cd ~
python -m venv venv-displaycal
source venv-diplaycal/bin/activate
pip install displaycal
bash: venv-diplaycal/bin/activate: Aucun fichier ou dossier de ce nom
Defaulting to user installation because normal site-packages is not writeable
Collecting displaycal
  Downloading DisplayCAL-3.9.14.tar.gz (10.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.8/10.8 MB 2.7 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: wxPython in /usr/lib/python3/dist-packages (from displaycal) (4.0.7)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from displaycal) (9.0.1)
Collecting zeroconf
  Downloading zeroconf-0.136.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.4/10.4 MB 2.9 MB/s eta 0:00:00
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from displaycal) (1.21.5)
Requirement already satisfied: distro in /usr/lib/python3/dist-packages (from displaycal) (1.7.0)
Collecting build
  Downloading build-1.2.2.post1-py3-none-any.whl (22 kB)
Collecting Send2Trash
  Downloading Send2Trash-1.8.3-py3-none-any.whl (18 kB)
Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from displaycal) (2020.6.20)
Requirement already satisfied: dbus-python in /usr/lib/python3/dist-packages (from displaycal) (1.2.18)
Collecting PyChromecast
  Downloading PyChromecast-13.1.0-py2.py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.8/64.8 KB 1.7 MB/s eta 0:00:00
Requirement already satisfied: packaging>=19.1 in /usr/lib/python3/dist-packages (from build->displaycal) (21.3)
Collecting tomli>=1.1.0
  Downloading tomli-2.2.1-py3-none-any.whl (14 kB)
Collecting pyproject_hooks
  Downloading pyproject_hooks-1.2.0-py3-none-any.whl (10 kB)
Collecting casttube>=0.2.0
  Downloading casttube-0.2.1-py3-none-any.whl (6.5 kB)
Collecting protobuf>=3.19.1
  Downloading protobuf-5.29.1-cp38-abi3-manylinux2014_x86_64.whl (319 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 319.7/319.7 KB 2.9 MB/s eta 0:00:00
Collecting ifaddr>=0.1.7
  Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
Collecting async-timeout>=3.0.0
  Downloading async_timeout-5.0.1-py3-none-any.whl (6.2 kB)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from casttube>=0.2.0->PyChromecast->displaycal) (2.25.1)
Building wheels for collected packages: displaycal
  Building wheel for displaycal (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for displaycal (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [339 lines of output]
      ['bdist_wheel', '--dist-dir', '/tmp/pip-wheel-47zz7zba/tmphh9grut3']
      *** /usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py bdist_wheel --dist-dir /tmp/pip-wheel-47zz7zba/tmphh9grut3
      using distutils
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.10
      creating build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/CGATS.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/ICCProfile.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/RealDisplaySizeMM.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/__init__.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/__main__.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/__version__.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/argyll_RGB2XYZ.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/argyll_cgats.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/argyll_instruments.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/argyll_names.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/audio.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/ccmx.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/chromecast_patterngenerator.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/colord.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/colormath.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/config.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/cubeiterator.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/debughelpers.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/defaultpaths.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/demjson_compat.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/display_cal.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/edid.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/embeddedimage.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/encodedstdio.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/encoding.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/floatspin.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/freeze.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/gtypes.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/imfile.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/jsondict.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/jspacker.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/lazydict.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/localization.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/log.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/madvr.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/main.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/meta.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/multiprocess.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/network.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/options.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/patterngenerators.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/postinstall.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/profile_loader.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/pyi_md5pickuphelper.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/report.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/safe_print.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/setup.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/systrayicon.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/taskbar.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/taskscheduler.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_dbus.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_decimal.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_dict.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_http.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_io.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_list.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_mac.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_os.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_str.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_win.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_x.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/util_xml.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/webwin.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wexpect.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/win_handles.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/win_knownpaths.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/win_structs.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/worker.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/worker_base.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxCCXXPlot.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxDisplayAdjustmentFrame.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxDisplayUniformityFrame.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxLUT3DFrame.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxLUTViewer.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxMeasureFrame.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxProfileInfo.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxReportFrame.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxScriptingClient.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxSynthICCFrame.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxTestchartEditor.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxUntetheredFrame.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxVRML2X3D.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxVisualWhitepointEditor.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxaddons.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxenhancedplot.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxfixes.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxversion.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/wxwindows.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/x3dom.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/xh_bitmapctrls.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/xh_fancytext.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/xh_filebrowsebutton.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/xh_floatspin.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/xh_hstretchstatbmp.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      copying DisplayCAL/xrandr.py -> build/lib.linux-x86_64-3.10/DisplayCAL
      creating build/lib.linux-x86_64-3.10/DisplayCAL/lib
      copying DisplayCAL/lib/__init__.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib
      creating build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      copying DisplayCAL/lib/agw/__init__.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      copying DisplayCAL/lib/agw/artmanager.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      copying DisplayCAL/lib/agw/fmresources.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      copying DisplayCAL/lib/agw/fourwaysplitter.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      copying DisplayCAL/lib/agw/gradientbutton.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      copying DisplayCAL/lib/agw/labelbook.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      copying DisplayCAL/lib/agw/pygauge.py -> build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw
      running build_ext
      creating build/temp.linux-x86_64-3.10
      creating build/temp.linux-x86_64-3.10/DisplayCAL
      x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DUNIX -I/usr/include/python3.10 -c DisplayCAL/RealDisplaySizeMM.c -o build/temp.linux-x86_64-3.10/DisplayCAL/RealDisplaySizeMM.o
      DisplayCAL/RealDisplaySizeMM.c: In function ‘get_displays’:
      DisplayCAL/RealDisplaySizeMM.c:871:61: warning: pointer targets in passing argument 11 of ‘XRRGetOutputProperty’ differ in signedness [-Wpointer-sign]
        871 |                                     &ret_type, &ret_format, &ret_len, &ret_togo, &atomv) == Success
            |                                                             ^~~~~~~~
            |                                                             |
            |                                                             long int *
      In file included from DisplayCAL/RealDisplaySizeMM.c:33:
      /usr/include/X11/extensions/Xrandr.h:340:38: note: expected ‘long unsigned int *’ but argument is of type ‘long int *’
        340 |                       unsigned long *nitems, unsigned long *bytes_after,
            |                       ~~~~~~~~~~~~~~~^~~~~~
      DisplayCAL/RealDisplaySizeMM.c:1036:53: warning: pointer targets in passing argument 10 of ‘XGetWindowProperty’ differ in signedness [-Wpointer-sign]
       1036 |                             &ret_type, &ret_format, &ret_len, &ret_togo, &atomv) == Success
            |                                                     ^~~~~~~~
            |                                                     |
            |                                                     long int *
      In file included from DisplayCAL/RealDisplaySizeMM.c:27:
      /usr/include/X11/Xlib.h:2696:5: note: expected ‘long unsigned int *’ but argument is of type ‘long int *’
       2696 |     unsigned long*      /* nitems_return */,
            |     ^~~~~~~~~~~~~~
      DisplayCAL/RealDisplaySizeMM.c:1036:63: warning: pointer targets in passing argument 11 of ‘XGetWindowProperty’ differ in signedness [-Wpointer-sign]
       1036 |                             &ret_type, &ret_format, &ret_len, &ret_togo, &atomv) == Success
            |                                                               ^~~~~~~~~
            |                                                               |
            |                                                               long int *
      In file included from DisplayCAL/RealDisplaySizeMM.c:27:
      /usr/include/X11/Xlib.h:2697:5: note: expected ‘long unsigned int *’ but argument is of type ‘long int *’
       2697 |     unsigned long*      /* bytes_after_return */,
            |     ^~~~~~~~~~~~~~
      DisplayCAL/RealDisplaySizeMM.c: In function ‘enumerate_displays’:
      DisplayCAL/RealDisplaySizeMM.c:1364:56: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
       1364 |               (value = PyString_FromStringAndSize(dp[i]->edid, dp[i]->edid_len)) != NULL) {
            |                                                   ~~~~~^~~~~~
            |                                                        |
            |                                                        unsigned char *
      In file included from /usr/include/python3.10/Python.h:82,
                       from DisplayCAL/RealDisplaySizeMM.c:1:
      /usr/include/python3.10/bytesobject.h:34:50: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
         34 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
            |                                                  ^~~~~~~~~~~~
      creating build/lib.linux-x86_64-3.10/DisplayCAL/lib64
      creating build/lib.linux-x86_64-3.10/DisplayCAL/lib64/python310
      x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-x86_64-3.10/DisplayCAL/RealDisplaySizeMM.o -L/usr/lib/x86_64-linux-gnu -lX11 -lXinerama -lXrandr -lXxf86vm -o build/lib.linux-x86_64-3.10/DisplayCAL/lib64/python310/RealDisplaySizeMM.cpython-310-x86_64-linux-gnu.so
      running build_scripts
      creating build/scripts-3.10
      running install
      running install_lib
      creating build/bdist.linux-x86_64
      creating build/bdist.linux-x86_64/wheel
      creating build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/CGATS.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/ICCProfile.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/RealDisplaySizeMM.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/__init__.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/__main__.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/__version__.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/argyll_RGB2XYZ.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/argyll_cgats.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/argyll_instruments.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/argyll_names.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/audio.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/ccmx.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/chromecast_patterngenerator.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/colord.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/colormath.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/config.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/cubeiterator.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/debughelpers.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/defaultpaths.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/demjson_compat.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/display_cal.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/edid.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/embeddedimage.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/encodedstdio.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/encoding.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/floatspin.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/freeze.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/gtypes.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/imfile.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/jsondict.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/jspacker.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lazydict.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/localization.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/log.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/madvr.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/main.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/meta.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/multiprocess.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/network.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/options.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/patterngenerators.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/postinstall.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/profile_loader.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/pyi_md5pickuphelper.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/report.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/safe_print.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/setup.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/systrayicon.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/taskbar.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/taskscheduler.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_dbus.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_decimal.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_dict.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_http.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_io.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_list.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_mac.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_os.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_str.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_win.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_x.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/util_xml.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/webwin.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wexpect.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/win_handles.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/win_knownpaths.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/win_structs.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/worker.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/worker_base.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxCCXXPlot.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxDisplayAdjustmentFrame.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxDisplayUniformityFrame.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxLUT3DFrame.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxLUTViewer.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxMeasureFrame.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxProfileInfo.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxReportFrame.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxScriptingClient.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxSynthICCFrame.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxTestchartEditor.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxUntetheredFrame.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxVRML2X3D.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxVisualWhitepointEditor.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxaddons.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxenhancedplot.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxfixes.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxversion.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/wxwindows.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/x3dom.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/xh_bitmapctrls.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/xh_fancytext.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/xh_filebrowsebutton.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/xh_floatspin.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/xh_hstretchstatbmp.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      copying build/lib.linux-x86_64-3.10/DisplayCAL/xrandr.py -> build/bdist.linux-x86_64/wheel/DisplayCAL
      creating build/bdist.linux-x86_64/wheel/DisplayCAL/lib
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/__init__.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib
      creating build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw/__init__.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw/artmanager.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw/fmresources.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw/fourwaysplitter.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw/gradientbutton.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw/labelbook.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib/agw/pygauge.py -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib/agw
      creating build/bdist.linux-x86_64/wheel/DisplayCAL/lib64
      creating build/bdist.linux-x86_64/wheel/DisplayCAL/lib64/python310
      copying build/lib.linux-x86_64-3.10/DisplayCAL/lib64/python310/RealDisplaySizeMM.cpython-310-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/DisplayCAL/lib64/python310
      running install_data
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal
      copying CHANGES.html -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal
      copying README.html -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal
      copying README-fr.html -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-1024x576.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-3.9.5-running_on_python3.10.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-3DLUT-settings-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-3DLUT-settings.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-adjust-1024x576.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-adjust-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-adjust.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-calibration-settings-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-calibration-settings.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-edit-testchart-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-edit-testchart.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-profile-information-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-profile-information.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-profiling-settings-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-profiling-settings.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-verification-settings-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-verification-settings.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-view-curves-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME-view-curves.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-GNOME.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-KDE5-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-KDE5.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-Mac-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-Mac.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-Win10-thumb.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      copying screenshots/DisplayCAL-screenshot-Win10.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/screenshots
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-adjust-reflection-GNOME.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-adjust-reflection-Mac.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-adjust-reflection.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-main_window-reflection-GNOME.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-main_window-reflection-Mac.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-main_window-reflection.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-main_window-shadow-GNOME.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-main_window-shadow-Mac.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/DisplayCAL-main_window-shadow.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/bg.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/icon-reflection.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/list-dot.png -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/prism.css -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/readme.css -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/jquery.js -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/jquery.localscroll.js -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/jquery.scrollTo.js -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/prism.js -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/readme.js -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      copying theme/refresh.svg -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme/icons
      copying theme/icons/favicon.ico -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme/icons
      creating build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme/slimbox2
      copying theme/slimbox2/slimbox2.css -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme/slimbox2
      copying theme/slimbox2/slimbox2.js -> build/bdist.linux-x86_64/wheel/DisplayCAL-3.9.14.data/data/share/doc/displaycal/theme/slimbox2
      error: can't copy '/tmp/pip-install-4pjbnumd/displaycal_5b9a55cbf47a40e9aefc1161c4f82bef/DisplayCAL/../dist/copyright': doesn't exist or not a regular file
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for displaycal
Failed to build displaycal
ERROR: Could not build wheels for displaycal, which is required to install pyproject.toml-based projects

Versions (please complete the following information):

  • OS: Linux / Ubuntu 22.04
  • Python Version: 3.10.12
  • ArgyllCMS Version: 3.3.0
  • DisplayCAL Version: current
@NKlug
Copy link

NKlug commented Dec 22, 2024

I have the same issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants