On Mon, Apr 6, 2020 at 8:03 AM Nick Black <dankamongmen@gmail.com> wrote:
Richard Shaw left as an exercise for the reader:
> Up to you which way to go... I don't see packaging it in RPM Fusion as a
> problem. I would think most people who would be interested in this package
> would likely not have a problem enabling RPM Fusion.

So, if you've seen the demo, that's not really at all the
intended usage. The main goal is to facilitate really attractive
versions of things like GTop, htop, s-tui, etc. I'd written some
very substantial NCURSES programs, and found the process
unpleasant and the results wanting. The primary goal was making
things like

 https://nick-black.com/dankwiki/index.php/Growlight and
 https://nick-black.com/dankwiki/index.php/Omphalos

look better and be easier to hack on. Neither, you'll note, uses
fancy images or video :). So since this is primarily intended as
a library fit for arbitrary systems applications, I'd probably
want to aim for the "core" repo (assuming that core repo
packages can only dep on projects in the core repo).

Now, a "notcurses-noffmpeg" version in Core and a
"notcurses+ffmpeg" in Fusion seems reasonable. Is this kind of
thing ever done?

Yes, there's a number of examples but audacity and sox are two. What we do at RPM Fusion is create a new package there that depends on the package in Fedora and either append -freeworld (just patent issues, like ffmpeg which are in the free repo), or append -nonfree for packages that depend on "free as in beer" instead of "free as in speech" libraries.

There are a few requirements though to make this work (and I'm not an expert here so correct me if I'm wrong!)
1. The library needs to be dlopen()'ed from the main package so it'll still function without the "extra" packages from RPM Fusion. 
2. All the bits common to the main package need to be excluded from the RPM Fusion package since we can't (and don't want to) have redunded files in the package. This may look like "libnotcurses-ffmpeg.so.<soname}" which would be the only payload in the RPM Fusion -freeworld package.


It looks like GStreamer is in Core, and that would give me video
decoding, which would be nice to retain.

Yup! Only the bits that NEED to go into the RPM Fusion -freeworld package would be included.

Thanks,
Richard