SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
3.04k stars 1.23k forks source link

[REQUEST] NCDC - an textbased DC++ Client #1210

Closed WebBuddha closed 7 years ago

WebBuddha commented 10 years ago

I've seen that you guys created an P2P-Client for the Soulseek Network and there is also an DC++ Client called NCDC -> http://dev.yorhel.nl/ncdc which works fine. It would be great if you are able to implement those client via the packagemanager.

Thanks in advance WebBuddha

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

sirjeannot commented 10 years ago

Hello, i'm actually working on that one, hitting a wall. despite having specified the following dependencies, the configure script won't find the ncurses/ncurses.h and ncurses/ncursesw.h. it must be a trivial error, but I'm stuck :( ncdc compiles fine on this system (so not through spksrc), all libs dev are there. (debian x86 in vm).

https://github.com/sirjeannot/spksrc/blob/develop/cross/ncdc/Makefile

checking for zlib.h... yes checking for bzlib.h... yes checking for ncursesw/ncurses.h... no checking for ncurses/ncurses.h... no checking for ncurses.h... yes checking for posix_fadvise... yes checking for library containing inet_pton... none required checking for library containing socket... none required checking which sendfile() implementation to use... Linux checking for get_wch in -lncursesw... no checking for get_wch in -lncurses... no configure: error: ncursesw library is required make[1]: *\ [configure_target] Error 1 make[1]: Leaving directory `/root/synology/spksrc/cross/ncdc' make: [arch-88f6281] Error 2 (ignored)

Dr-Bean commented 10 years ago

Try adding cross/ncursesw instead of cross/ncurses.

In addition, the README of ncdc provides some info on cross-compiling, worth a look :) /btw, you don't have to override prefix, it's set to /usr/local by default, and that's what's needed.

sirjeannot commented 10 years ago

thank you for the tips. i'm starting with spksrc :) i may come back with some questions, but i'm experimenting now. edit: thanks a lot, compilation works now!

sirjeannot commented 10 years ago

Updated. it compiles fine (patching of the ncdc makefile is somewhat dirty), however i'm stuck again but at packaging. when doing make arch-88f6281 in spk/ncdc, it won't compile outputing again the same ncurses dependencies error. some help would be welcome @Dr-Bean :) cross/ncdc - make arch-88f6281 works fine here spk/ncdc - make arch-88f6281 fails here

Dr-Bean commented 10 years ago

It took me a while to realize it, but you added screen as dependency in the spk. Screen has cross/ncurses as dependency, and that clashes with cross/ncursesw, which is needed for ncdc.

Both ncurses and ncursesw use the same directory when compiling (the only difference between the two is one argument, but it's crucial for ncdc). In this case, the complete compilation of ncursesw is skipped: ncurses is already built via the screen dependency, although it's the wrong one for ncdc.

You can try to put cross/screen as the last dependency. If it builds correctly with ncursesw, then you should be good to go. Otherwise, is screen actually needed to run ncdc?

sirjeannot commented 10 years ago

@Dr-Bean thanks again. I changed the DEPENDS to only ncdc package :) I've tried compilation on just x86 for now, didn't work because glib wouldn't compile... i'll focus on packaging for now and look into compilation on other archs later. i'd like also uhub to get packaged, currently working on it :)

WebBuddha commented 9 years ago

any further updates at this time?

Dr-Bean commented 9 years ago

@sirjeannot I noticed your PR currently has several packages in it, not just ncdc. If you're still working on it, could you split separate packages up into separate PR's please? That makes reviewing and merging a whole lot easier.