Search Criteria
Package Details: nestopia 1.52.1-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/nestopia.git (read-only, click to copy) |
---|---|
Package Base: | nestopia |
Description: | High-accuracy NES/Famicom emulator |
Upstream URL: | https://github.com/0ldsk00l/nestopia |
Licenses: | GPL-2.0-only |
Submitter: | Barthalion |
Maintainer: | xiota |
Last Packager: | xiota |
Votes: | 14 |
Popularity: | 0.056828 |
First Submitted: | 2018-01-07 17:35 (UTC) |
Last Updated: | 2024-06-09 16:32 (UTC) |
Dependencies (8)
- fltk (fltk-gitAUR)
- libarchive (libarchive-gitAUR)
- sdl2 (sdl2-gitAUR, sdl2-compat-gitAUR)
- zlib (zlib-ng-compat-gitAUR, zlib-gitAUR, zlib-ng-compatAUR, zlib-ng-compat)
- autoconf-archive (autoconf-archive-gitAUR) (make)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR) (make)
- lld (llvm-rocm-gitAUR, llvm-gitAUR) (make)
- mesa (mesa-minimal-gitAUR, mesa-gitAUR, mesa-amd-bc250AUR, mesa-wsl2-gitAUR, amdonly-gaming-mesa-gitAUR, mesa-amber) (make)
Latest Comments
1 2 Next › Last »
xiota commented on 2023-11-21 03:33 (UTC) (edited on 2023-11-21 03:37 (UTC) by xiota)
Regardless of what I am mistaking, those who believe this is an upstream issue should report to them so they can fix it. Once resolved, this package can be adjusted accordingly.
More than one person has framed this as a win-loss proposition. The previous maintainer had ample opportunity to fix this package when someone else notified him it was broken 2.5 years ago. I reminded him more recently, through different routes, over months. Yet, he took no action towards any sort of solution until after an orphan request had already been open for several weeks. Not much effort would have been needed to avoid it. Despite that, he did eventually fix the package. No one forced him to disown. He could have waited for me to close the request. He has demonstrated the patience to wait longer than I would have been willing to leave it open.
Note: I have not yet pushed a new commit because I am still evaluating what to do with this package.
Polizei commented on 2023-11-21 01:07 (UTC) (edited on 2023-11-21 01:07 (UTC) by Polizei)
You are clearly mistaking
glu
forlibgl
(libglvnd
in current case.)Having
glu
installed and building with-lGLU
does not affect the produced binary in any way.libglvnd
is a direct dependency offltk
and is installed no matter what.The
sed
patch is simply removing the unnecessary dependencyglu
is.Anyway, enjoy.
xiota commented on 2023-11-20 18:17 (UTC) (edited on 2023-11-20 18:18 (UTC) by xiota)
I checked packages built with and without
glu
.ldd
does list glu-related dependencies for both.Since the binary does have a direct dependency on glu, in accordance with Arch package guidelines, this package should list
glu
as depends. Even if the previous maintainer did not wish to do so, it could have been added to makedepends. Instead, the package was left in a broken state for years.Test procedure was to build two packages with
CXXFLAGS="-march=x86-64 -pg"
. One package depends onglu
(nestopia-glu). Other package uses the sed-hack to remove it (nestopia-noglu
). Remove currently installed nestopia (built with glu) and all related dependencies withpacman -Runcss nestopia
. Install,nestopia-noglu
. After running, processgmon.out
withgprof
. Deletegmon.out
and installnestopia-glu
. Run new binary and process newgmon.out
withgprof
.The difference is, without glu dependency,
glu
,libglvnd
, and related packages are not required to be installed, which likely forces software rendering.There are numerous examples of poor package maintenance. Absentee maintainers are a prominent example. Some maintainers are outright malicious. In this case, you left this package in a broken state for years. Initially, the cause appeared to be negligence. Later, it was demonstrated to be willful.
When did fixing a package become a losing position? If you had fixed this package, when it was requested years ago, by adding a definite run-time dependency (see
ldd
output above) or even creating the sed-hack and taking it up with fltk, there would have been no cause to open an orphan request.Polizei commented on 2023-11-19 10:33 (UTC)
@xiota,
Building with or without GLU makes no difference to the produced binary. Check with
ldd
yourself.-lGLU
only comes fromfltk-config --ldflags
and is not actually used anywhere in the source.Can you share more details on how you produced these benchmarks and how did you build
nestopia
with GLU?carstene1ns commented on 2023-11-19 10:22 (UTC)
@xiota: Again, you do not understand what is an issue in fltk and what is an issue in nestopia. However, I am not against including glu now, since it does so much.
This hurts, and I imply every package maintainer does their best to keep their stuff in a good state. However, it seems you take this way more personal than I am, so I will disown this package and a couple others now, giving you the opportunity to maintain them better than I ever could. Have fun, enjoy your win, you make the community a better place! :)
xiota commented on 2023-11-18 19:59 (UTC) (edited on 2023-11-18 20:01 (UTC) by xiota)
Without
glu
, graphics and audio has consistent stuttering and and noticeably slow emulation rate. Profiling shows average time used by the rendering function withoutglu
is 6.77ms.With
glu
, emulation is at full speed with no graphics or audio stuttering. Profiling shows average time used by rendering function is 5.81ms. This is a 14.2% performance improvement.What is the point of removing
glu
when upstream developers clearly intend for it to be used, and removal significantly harms performance?carstene1ns commented on 2023-11-18 19:22 (UTC)
Sorry for the hassle, looks like my testing was flawed. Thanks @Polizei :)
Polizei commented on 2023-11-17 09:41 (UTC)
Apparently
m4
doesn't play nice with when substituting shell pipes. Fix:Pillgar commented on 2023-11-17 00:57 (UTC) (edited on 2023-11-17 01:00 (UTC) by Pillgar)
I'm seeing this error when updating:
./configure: line 5715: syntax error near unexpected token `)'
./configure: line 5715: ` FLTK_LIBS="$(fltk-config --use-gl --use-images --ldflags|sed 's#-lGLU ##g')") ;;[]_AS_CASE([linux*], [AC_SUBST(FLTK_LIBS,"-lGL $(fltk-config --use-gl --use-images --ldflags|sed 's#-lGLU ##g')")'
==> ERROR: A failure occurred in build().
Aborting...
xiota commented on 2023-06-18 07:30 (UTC) (edited on 2023-06-18 07:31 (UTC) by xiota)
Clean chroot. Missing
glu
.1 2 Next › Last »