Bug #3170
Housekeeping #3018: Various uninstallable packages should be fixed, dropped, or blacklisted.
Packaging Request #2874: [python2-*]: multiple packages dropped from arch
[castle-combat]: unable to satisfy dependency 'python2-twisted' required by castle-combat
0%
Description
$ sudo pacman --sync --needed castle-combat resolving dependencies... warning: cannot resolve "python2-twisted", a dependency of "castle-combat" warning: cannot resolve "python2-pygame", a dependency of "castle-combat" :: The following package cannot be upgraded due to unresolvable dependencies: castle-combat :: Do you want to skip the above package for this upgrade? [y/N] error: failed to prepare transaction (could not satisfy dependencies) :: unable to satisfy dependency 'python2-twisted' required by castle-combat :: unable to satisfy dependency 'python2-pygame' required by castle-combat@
History
Updated by bill-auger about 2 years ago
- Parent task set to #3018
- Status changed from unconfirmed to confirmed
- Description updated (diff)
- Subject changed from castle-combat: :: unable to satisfy dependency 'python2-twisted' required by castle-combat to [castle-combat]: unable to satisfy dependency 'python2-twisted' required by castle-combat
Updated by bill-auger about 2 years ago
the sound files are non-free
Updated by maddox about 2 years ago
Let us wait what they will say on the issue filed:
https://github.com/karlb/castle-combat/issues/4
Updated by bill-auger about 2 years ago
fine initiative - you could tone it back though - you asked the maintainers to change the license; but that is not possible - the maintainers obviously have no license to use those files - only the original author of the sounds/music could give those files any license
what is needed, is explicit permission from the credited author(s); which is likely impossible because the author published anonymously (on a geocities website 20+ years ago - probably no traces of the original publication or author remain) - the tracker files include the same attribution, in form of a copy right notice from the author (anonymous) - no permission is given - without that, someone would need to make new music for it, find libre replacements (probably any .xm file would suffice), run it silently, or drop the package (it dows not build)
the easiest way to rescue it, is likely to replace or delete those 4 files
the easiest solution o/c, is to drop the package - the latest (python3) version does not build normally - it seems to only run in a "virtualenv" - i dont think we want that
WIP PKGBUILD:
https://git.parabola.nu/abslibre.git/commit/?h=wip-castle-combat&id=bc7c8b0e1a4c184656ca34d6ba81c5094485ff5b
Updated by bill-auger about 2 years ago
i got it to run as a normal installed program; but it crashed soon into the game - it did not complain about the deleted sound files though
$ castle-combat Castle-Combat requires pygame and twisted. If the game doesn't start up correctly, please verify that these are installed in the versions given in requirements.txt. pygame 2.1.2 (SDL 2.0.20, Python 3.10.2) Hello from the pygame community. https://www.pygame.org/contribute.html /usr/bin/castle-combat-0.9.0/src/common.py:58: SyntaxWarning: "is" with a literal. Did you mean "=="? if colorkey is -1: :0: UserWarning: You do not have a working installation of the service_identity module: 'No module named 'service_identity''. Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied. Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification. Many valid certificate/hostname mappings may be rejected. new state <state.MainState object at 0x7f7e32d969e0> new state <menu.MenuState object at 0x7f7e32d972b0> new state <menu.NewGameState object at 0x7f7e29aef880> new state <server.WaitForPlayersState object at 0x7f7e29958130> Stopping to listen leaving state <server.WaitForPlayersState object at 0x7f7e29958130> new state <common.info.<locals>.InfoState object at 0x7f7e299584c0> leaving state <common.info.<locals>.InfoState object at 0x7f7e299584c0> assign config 0 to player 0 new state <gamephases.GameState object at 0x7f7e29879e70> new state <gamephases.AnnouncePhase object at 0x7f7e29879cc0> new_house was not possible new_house was not possible -- Next Phase -- leaving state <gamephases.AnnouncePhase object at 0x7f7e29879cc0> new state <gamephases.SelectPhase object at 0x7f7e29958940> Unhandled Error Traceback (most recent call last): File "/usr/bin/castle-combat-0.9.0/src/main.py", line 47, in main runStateLoop() File "/usr/bin/castle-combat-0.9.0/src/state.py", line 132, in runStateLoop reactor.run() File "/usr/lib/python3.10/site-packages/twisted/internet/base.py", line 1318, in run self.mainLoop() File "/usr/lib/python3.10/site-packages/twisted/internet/base.py", line 1328, in mainLoop reactorBaseSelf.runUntilCurrent() --- <exception caught here> --- File "/usr/lib/python3.10/site-packages/twisted/internet/base.py", line 994, in runUntilCurrent call.func(*call.args, **call.kw) File "/usr/bin/castle-combat-0.9.0/src/state.py", line 118, in stateLoop d = top_state.on_event(event) File "/usr/bin/castle-combat-0.9.0/src/state.py", line 74, in on_event return handler(top_state, event) File "/usr/bin/castle-combat-0.9.0/src/gamephases.py", line 76, in handle_keypress player.handle_event(event) File "/usr/bin/castle-combat-0.9.0/src/player.py", line 168, in handle_event self.phase_player.handle_event(*args, **kwargs) File "/usr/bin/castle-combat-0.9.0/src/selectplayer.py", line 77, in handle_event self.confirm_select() File "/usr/bin/castle-combat-0.9.0/src/network.py", line 60, in <lambda> return lambda *args, **kwargs: delegate_and_call(method_name, *args, **kwargs) File "/usr/bin/castle-combat-0.9.0/src/network.py", line 52, in delegate_and_call getattr(to_class, method_name)(self, *args, **kwargs) File "/usr/bin/castle-combat-0.9.0/src/selectplayer.py", line 62, in confirm_select game.field.look_for_secured_areas(self.player) File "/usr/bin/castle-combat-0.9.0/src/field.py", line 328, in look_for_secured_areas t1 = time.clock() builtins.AttributeError: module 'time' has no attribute 'clock'