-
-
Notifications
You must be signed in to change notification settings - Fork 130
New Port : Music Player Daemon #1519
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mate did you add whole ubuntu 20.04 as librarries into this port?
It helps if you compile some libraries yourself to skip 50 other libs loading just because you took them from a dist.
If a port wants x11 for example and doesn't even use it you could for example use patchelf to patch out that library and test it.
patchelf --remove-needed library.so.1 binary```
but like this its just lazy.
i think the main problem is ffmpeg here, so i will firstly try to compile it without it and then if that doesnt work, compile that |
Ive just looked again and no its not possible to get fewer libs, i mean the only thing i could try is recompiling curl but i dont know what mpd needs from curl, nearly all other libs are libs needed directly by mpd beside some smaller things like libcairo and pulse needing x11 |
This is not happening with +150 libraries. |
You can try to use lddtree and see that allot of libs are directly needed by mpd but I'm now compiling a version with a less libs, It should now be only a few 100 |
going to close that for now, will reopen that once i have recompiled everything. So no one aciddentally think its good to PR |
okay after compiling curl and libcairo it now uses a lot less libs |
There are libs in here which are included in every CFW and should not be in the port -- libc libdl libgcc_s libpthread. Also what about libsamplerate, libsndfile, libz ...? To get rid of these you can use something like this
Also there are still others that don't seem needed -- libnfs, libsqlite, libspeex, ... |
I assume the purpose of that .sh is that i tell it where the libs folder it and it removes that unneded file the other libs are also needed like libnfs as mpd supports nfs mounting, libsqlite is for the db files but idk what libspeex is |
You run it on (say) ArkOS, giving it the directory containing all your port's libs, and it will move the ones which are duplicates of those in default library locations to disabled/
I don't at all see why nfs mounting is required on a handheld. You can google libspeex, it is not required for music playing. |
I actually use NFS mounting so I don't need to copy over all my songs to 3 different devices, libspeex is needed for the Ice cast server, I could try to compile it without later,thanks Ill remove the unnecessary libs later too but I have the fear of removing some that are actually needed by some cfw |
It looks to me like there are still libraries in here that can't safely be included in a port -- libdl, libdrm. And others which don't seem needed -- libcdio*, libx*. |
I don't see any libraries that are sure to cause problems any more. |
Are you sure you have removed all the libraries that are already present in all the CFWs? libgomp is present in muos and rocknix, for example, and I suspect it may be on all of them (it's part of the GCC project). There may still be other libs like this that can and should be removed. Edit: here are some others that are not included in any other port, and are candidates for removal: libao, libsqlite3, libupnp, libdbus-1, libsamplerate. The script I gave you above would help identify these. |
I checked which libs are in the PR that are also in muOS and ArkOS using winnow.sh. I put a * next to libs that are in both. As you can hopefully see, a lot of these can likely be removed, because they are likely to be present on all CFWs. muOS:
Here is the result on ArkOS:
|
New Port for Music Player Daemon
Game Information
Submission Requirements
CFW Tests
Ensure your game has been tested on all major CFWs:
Resolution Tests
Test all major resolutions:
File Structure
Additional Resources
For an in-depth guide on creating a pull request, refer to: PortMaster Game Packaging Guide