Package Details: portmod 2.8.1-2

Git Clone URL: https://aur.archlinux.org/portmod.git (read-only, click to copy)
Package Base: portmod
Description: A cli tool to manage mods for OpenMW
Upstream URL: https://gitlab.com/portmod/portmod
Licenses: GPL3
Replaces: openmmm
Submitter: bmwinger
Maintainer: bmwinger
Last Packager: bmwinger
Votes: 8
Popularity: 0.000025
First Submitted: 2019-08-11 01:45 (UTC)
Last Updated: 2025-01-12 22:46 (UTC)

Latest Comments

1 2 3 4 Next › Last »

Pulec commented on 2025-01-12 09:23 (UTC)

build here runs fine, check too, but when doing package it compiles things again and fails on the last step: https://pastebin.com/RiR7aG5D

Dornhoeschen commented on 2024-12-31 01:59 (UTC) (edited on 2024-12-31 01:59 (UTC) by Dornhoeschen)

I am stuck at the same point as https://aur.archlinux.org/packages/portmod#comment-1004446

Trying to force a reinstall of python-restrictedpython with yay -S python-restrictedpython answering Rebuild [A]ll results in

==> Making package: python-restrictedpython 7.4-1 (Tue 31 Dec 2024 02:53:47 AM CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
* Getting build dependencies for wheel...
running egg_info
creating src/RestrictedPython.egg-info
writing src/RestrictedPython.egg-info/PKG-INFO
writing dependency_links to src/RestrictedPython.egg-info/dependency_links.txt
writing requirements to src/RestrictedPython.egg-info/requires.txt
writing top-level names to src/RestrictedPython.egg-info/top_level.txt
writing manifest file 'src/RestrictedPython.egg-info/SOURCES.txt'
reading manifest file 'src/RestrictedPython.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'src/RestrictedPython.egg-info/SOURCES.txt'

ERROR Missing dependencies:
    setuptools<74
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: python-restrictedpython-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
python-restrictedpython - exit status 4

Portmod is one of two dependent on https://aur.archlinux.org/packages/python-restrictedpython

bmwinger commented on 2024-12-30 16:09 (UTC)

Python was updated to 3.13, so you may need to rebuild AUR python packages: https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update

tuxayo commented on 2024-12-30 16:03 (UTC)

Thanks, the latest release fixed the PyO3 issue.

Now there is a failure at the end of the compilation about RestrictedPython not being found. Even if python-restrictedpython is installed. That's very weird.

    Finished `release` profile [optimized] target(s) in 13m 51s
Copying rust artifact from target/release/libportmod.so to portmodlib/portmod.cpython-313-x86_64-linux-gnu.so
make: Entering directory '/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/doc'
Running Sphinx v8.1.3

Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/sphinx/config.py", line 529, in eval_config_file
    exec(code, namespace)  # NoQA: S102
    ~~~~^^^^^^^^^^^^^^^^^
  File "/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/doc/conf.py", line 19, in <module>
    from portmod.globals import get_authors, get_version  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/portmod/__init__.py", line 4, in <module>
    import portmod.globals  # noqa # pylint: disable=unused-import
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/portmod/globals.py", line 150, in <module>
    from portmod.repos import get_local_repos  # noqa: E402
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/portmod/repos.py", line 14, in <module>
    from .config import get_config
  File "/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/portmod/config/__init__.py", line 25, in <module>
    from .pyconf import (
    ...<4 lines>...
    )
  File "/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/portmod/config/pyconf.py", line 14, in <module>
    from portmodlib._loader import MINIMAL_GLOBALS, Policy
  File "/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/portmodlib/_loader.py", line 19, in <module>
    from RestrictedPython import (
    ...<4 lines>...
    )
ModuleNotFoundError: No module named 'RestrictedPython'

make: *** [Makefile:20: man] Error 2
make: Leaving directory '/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.1/doc'

tuxayo commented on 2024-12-27 16:31 (UTC) (edited on 2024-12-27 16:42 (UTC) by tuxayo)

edit 2: reported upstream: https://gitlab.com/portmod/portmod/-/issues/433

edit: I though python 3.13 was already in the repos a while ago. But no, it's super fresh. So I guess everyone should be hitting that same error now.

Thanks for the package update, adding lld in the deps makes the build go further.

Unfortunately, now I'm getting another error about PyO3. Anyone else got this?:

     Running `/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/signal-hook-58f05ecb98e864ef/build-script-build`
     Running `/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/pyo3-ffi-655c71df27a34ae3/build-script-build`
error: failed to run custom build command for `pyo3-ffi v0.21.2`

Caused by:
  process didn't exit successfully: `/home/USER/.cache/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/pyo3-ffi-655c71df27a34ae3/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=PYO3_CROSS
  cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
  cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG
  cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY

  --- stderr
  error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
  = help: please check if an updated version of PyO3 is available. Current version: 0.21.2
  = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
warning: build failed, waiting for other jobs to finish...
error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101
==> ERARO: Malsukceso okazis en build().

Dornhoeschen commented on 2024-12-11 15:35 (UTC)

Followup on https://aur.archlinux.org/packages/portmod#comment-1001909

Reason for this seems:

[...]
==> Starting package()...
/usr/lib/python3.12/site-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

        ********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        ********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
    section = defn.get("tool", {})[tool_name]
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running install
/usr/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
running install_lib
warning: install_lib_rust_extension: 'build/lib.linux-x86_64-cpython-312' does not exist -- no Python modules to install

running install_data
[...]

Dornhoeschen commented on 2024-12-11 14:56 (UTC) (edited on 2024-12-11 15:10 (UTC) by Dornhoeschen)

Followup of https://aur.archlinux.org/packages/portmod#comment-1001906

Which results in

 Finished `release` profile [optimized] target(s) in 2m 47s
Copying rust artifact from target/release/libportmod.so to portmodlib/portmod.cpython-312-x86_64-linux-gnu.so
make: Entering directory '/home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc'
Running Sphinx v8.1.3
loading translations [en]... done
making output directory... done
[autosummary] generating autosummary for: basic-usage.rst, cli/index.rst, cli/inquisitor.rst, cli/portmod.rst, concepts/cfg-protect.rst, concepts/index.rst, concepts/keywords.rst, concepts/modules.rst, concepts/profiles.rst, concepts/sandbox.rst, ..., dev/repo/package-files.rst, dev/repo/profiles.rst, dev/setup.rst, dev/use-flags.rst, index.rst, install/index.rst, install/linux.rst, install/macos.rst, install/windows.rst, setup.rst
loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ...
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.rst.
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.info.rst.
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.winreg.rst.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [man]: all manpages
updating environment: [new config] 47 added, 0 changed, 0 removed
reading sources... [  9%] cli/portmod
Exception occurred:
  File "/home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/portmod/prefix.py", line 125, in add_prefix
    raise PrefixExistsError(prefix)
portmod.prefix.PrefixExistsError: The prefix <example> already exists
The full traceback has been saved in /tmp/sphinx-err-3r3s42zf.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:20: man] Error 2
make: Leaving directory '/home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc'
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: portmod-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
portmod - exit status 4

Which can be solved with rm -rf /tmp/portmod.test/ - see https://aur.archlinux.org/packages/portmod#comment-994980

This makes things install successfully, which results in

> portmod --version
Traceback (most recent call last):
  File "/usr/bin/portmod", line 33, in <module>
    sys.exit(load_entry_point('portmod==2.8.0', 'console_scripts', 'portmod')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/portmod", line 25, in importlib_load_entry_point
    return next(matches).load()
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'portmod'

Dornhoeschen commented on 2024-12-11 14:42 (UTC) (edited on 2024-12-11 14:54 (UTC) by Dornhoeschen)

@tuxayo

yay -S lld aka pacman -S lld solves this Problem.

@bmwinger

With this new flag compiler flag -fuse-ld=lld the package has an additional dependency on the above mentioned package

I still fail to install the package even after installing lld, because the docs cant be generated.

    Finished `release` profile [optimized] target(s) in 2m 43s
Copying rust artifact from target/release/libportmod.so to portmodlib/portmod.cpython-312-x86_64-linux-gnu.so
make: Entering directory '/home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc'
Running Sphinx v8.1.3
loading translations [en]... done
making output directory... done
[autosummary] generating autosummary for: basic-usage.rst, cli/index.rst, cli/inquisitor.rst, cli/portmod.rst, concepts/cfg-protect.rst, concepts/index.rst, concepts/keywords.rst, concepts/modules.rst, concepts/profiles.rst, concepts/sandbox.rst, ..., dev/repo/package-files.rst, dev/repo/profiles.rst, dev/setup.rst, dev/use-flags.rst, index.rst, install/index.rst, install/linux.rst, install/macos.rst, install/windows.rst, setup.rst
loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ...
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.rst.
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.info.rst.
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.winreg.rst.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [man]: all manpages
updating environment: [new config] 47 added, 0 changed, 0 removed
WARNING:root:Architecture test could not be found. It may not be a supported Architecture.

Exception occurred:
  File "/usr/lib/python3.12/site-packages/rply/parsergenerator.py", line 9, in <module>
    from appdirs import AppDirs
ModuleNotFoundError: No module named 'appdirs'
The full traceback has been saved in /tmp/sphinx-err-yo6qv07q.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:20: man] Error 2
make: Leaving directory '/home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc'
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: portmod-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
portmod - exit status 4

This can be solved with yay -S python-appdirs - another missing dependency

tuxayo commented on 2024-12-07 02:29 (UTC)

I'm getting this error which seems related to what you had to workaround @bmwinger

Happens even with a default /etc/makepkg.conf.d/rust.conf.

Anyone else getting the same issue?

   Compiling autocfg v1.3.0
     Running `rustc --crate-name autocfg --edition=2015 /tmp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=238 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=1757fdfd297c10b3 -C extra-filename=-1757fdfd297c10b3 --out-dir /var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/deps -C strip=debuginfo -L dependency=/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/deps --cap-lints allow -Cforce-frame-pointers=yes -C opt-level=3 -C target-cpu=native -Clinker=clang -Clink-arg=-fuse-ld=lld`
error: linking with `clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/lib64/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/bin" VSLANG="1033" "clang" "-m64" "/tmp/rustcEcGEOq/symbols.o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71.build_script_build.6a7cf4610b7d5553-cgu.0.rcgu.o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71.build_script_build.6a7cf4610b7d5553-cgu.1.rcgu.o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71.4m3k958s1d9ps24uxxi59cr2r.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd-391f02d30426e2d5.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a422e091b58dfcd3.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libobject-9fe67c541ad269f1.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-b3821598ef64c164.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d3df9f185e9f0e89.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-04053dd1e13341ad.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-6a52efa5a12b49d5.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-5495661c1871064b.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-1f93e50dc6fde943.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-dfaf37e66e2796a7.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-60d2d6b0d5254d76.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libadler-04707c301ca685cc.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-9fd86a32e18447f4.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-641fd5bdc1c96d92.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-967bd9d7adb383b1.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-45a82bd61a66405a.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-27866343de798c54.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcore-f7aff1cc58607c34.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ee301cabeb4db339.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "-fuse-ld=lld"
  = note: clang: error: invalid linker name in argument '-fuse-ld=lld'

bmwinger commented on 2024-12-06 00:00 (UTC)

I managed to fix the issue blocking the update to 2.8. makepkg is setting '-flto=auto' in CFLAGS, but lto only works with zstd-rs if you're building with clang (see here). I've changed the C compiler to clang (alternatively it works with GCC if you set 'CFLAGS+=" -fno-lto"'). The 2.8 update also fixes the build issue on recent versions of rustc, so it should be working as normal again.