There is a suggestion to add the OneDrive client to the official gentoo repository. https://github.com/abraunegg/onedrive The client develops in contrast to the others. In Debian, it is already in sid. In OpenSUSE in experimental. Reproducible: Always
see also https://repology.org/projects/?search=onedrive
(In reply to avz79 from comment #0) > There is a suggestion to add the OneDrive client to the official gentoo > repository. > https://github.com/abraunegg/onedrive > The client develops in contrast to the others. In Debian, it is already in > sid. In OpenSUSE in experimental. > > Reproducible: Always That project contains an ebuild: https://github.com/abraunegg/onedrive/blob/master/contrib/gentoo/onedrive-2.4.10.ebuild It works (both the ebuild and the OneDrive client), but depends on stuff from the dlang overlay.
I also request that OneDrive client be formally added to "stable" Portage, ensuring dependencies are identified/satisfied.
Taking this for now. It's going to need a few annoying but minor enough things to get in ::gentoo. Currently the hold up has been that the onedrive client is written in D and has been stuck languishing in the dlang overlay (where I'm effectively its maintainer): https://github.com/gentoo/dlang/tree/master/net-misc/onedrive It really shouldn't be here, it's just the only place it can be right now as upstream officially only supports DMD and LDC compilers. I'm motivated to get it out since this overlay is not well maintained and I am not the person to take on maintaining toolchain ebuilds. The onedrive ebuild will still build and install on a system with a recent enough dmd present after removing the eclasses. But the only dlang compiler available in ::gentoo is GDC (through sys-devel/gcc[d]). I've removed dmd from my system and now I'm building gcc with d useflag and testing: https://github.com/joecool1029/joecool-overlay/commit/59f47e0c328469e37aaade7009710a933472b7f4 Should work though once I patch the configure script to add gdc. Also, will need at least gcc-12.1 as this was the first self-hosting version of the dlang compiler, the previous versions in gcc are too old to compile this.
Ok so that was a deeper rabbit hole than I expected, but I got it working fine with GDC. This is my fork with what was done: https://github.com/joecool1029/onedrive/tree/gdcsupport My overlay has the full working ebuild with patch: https://github.com/joecool1029/joecool-overlay/tree/master/net-misc/onedrive Patch size is slightly overlimit for ::gentoo inclusion because gdc dropped out the sqlite3.d file from phobos (the D standard library) and I had to include it in the package. This is a file that has not changed in years and is included in current dmd's phobos, some of the other D language developers think it might have been ommitted from gcc by mistake. None of the changes I made should break or change compiling for users with dmd on their system (like if you had it from dlang-overlay). I'll ask gentoo devs if it's ok to be overlimit on this or if I can get it hosted.
(In reply to Joe Kappus from comment #5) > My overlay has the full working ebuild with patch: > https://github.com/joecool1029/joecool-overlay/tree/master/net-misc/onedrive I tried it, and it seems to be working fine for me. Thanks! However, the version is ‘obsolete’ according to the developer, so I wonder whether if it is possible to version-bump the ebuild from 2.4 to 2.5. > Patch size is slightly overlimit for ::gentoo inclusion because gdc dropped > out the sqlite3.d file from phobos (the D standard library) and I had to > include it in the package. This is a file that has not changed in years and > is included in current dmd's phobos, some of the other D language developers > think it might have been ommitted from gcc by mistake. > > None of the changes I made should break or change compiling for users with > dmd on their system (like if you had it from dlang-overlay). I'll ask gentoo > devs if it's ok to be overlimit on this or if I can get it hosted. Is it still the idea to have this ebuild go to gentoo or guru? (Synchronizing OneDrive is something that is very convenient for many people using a gentoo system at work/university.)
Everything is possible if someone works on it. However, I'm not going to add it to either. Without an ugly patch like mine you cannot build this client without having dmd or ldc which is only in the dlang overlay. I don't feel like bringing it up since there's been 0 progress in moving either of my requests upstream. I recently migrated to using rclone to handle my onedrive share. You can either mount it through here (I think what most people do) or do what I do and rclone sync all the files from the share and then use rclone bisync to keep it updated. rclone considers bisync to be beta-quality, but I haven't had issues. I do it this way if Microsoft blasts out my account, I have a full offline local copy. I've spoken to the dlang onedrive client's upstream[1] and they will not make it GDC compatible without the sqlite.d added.[2] I've also argued with D's creator on HN about unrelated political topics since he spends all his time on HN. I don't know why they don't include it in GCC, my guess is because sqlite releases to public domain and does not license their code at all under what we would normally consider an opensource license, so there's probably some weird stallman logic at play, but I don't know and I don't care enough to keep chasing it. [1] https://github.com/abraunegg/onedrive/issues/2472 [2] https://forum.dlang.org/thread/doevjetmiwxovecplksr@forum.dlang.org
(In reply to Joe Kappus from comment #7) > [...] > > I've spoken to the dlang onedrive client's upstream[1] and they will not > make it GDC compatible without the sqlite.d added.[2] I've also argued with > D's creator on HN about unrelated political topics since he spends all his > time on HN. I don't know why they don't include it in GCC, my guess is > because sqlite releases to public domain and does not license their code at > all under what we would normally consider an opensource license, so there's > probably some weird stallman logic at play, but I don't know and I don't > care enough to keep chasing it. > > [1] https://github.com/abraunegg/onedrive/issues/2472 > [2] https://forum.dlang.org/thread/doevjetmiwxovecplksr@forum.dlang.org I spoke to Iain Buclaw, the gdc maintainer, who explained the reason for it (it's to do with bindings and how they can be difficult). This is now in GCC 15: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3653c7d7266d5bd2637fffe8723e3f5813dd2b93.