clearlinux / distribution

Placeholder repository to allow filing of general bugs/issues/etc against the Clear Linux OS for Intel Architecture linux distribution
520 stars 29 forks source link

package request (intend to self-fill): notcurses #1920

Open dankamongmen opened 4 years ago

dankamongmen commented 4 years ago

Official package name: notcurses

License (must be an OSI approved Open Source license): Apache 2.0

Download URL of latest release: https://github.com/dankamongmen/notcurses/releases/tag/v1.3.2

Latest release date (must be recent): 2020-04-18 (1.3.2)

Description: notcurses facilitates the creation of modern TUI programs, making full use of Unicode and 24-bit TrueColor. Its API is similar to that of NCURSES, but extends that with z-buffering, rendering of images and video using ffmpeg, alpha blending, widgets, palette fades, resize awareness, and multithreading support.


I'm the upstream author of Notcurses, and its maintainer in Arch, Fedora (pending), and Debian. I've been playing around with Clear Linux recently, and dig it. I'd like to go ahead and contribute an autospec config for notcurses; this bug is just declaring my intent to do so (that autospec will go to the dev list, as I understand things to work).

If someone else happens to do it, let me know, so I don't bother to! :)

The bug on the Notcurses side is https://github.com/dankamongmen/notcurses/issues/525.

bryteise commented 4 years ago

Sounds good to me and you are correct that throwing the for-review.txt at the dev list will work fine. You could also push to a repo created by autospec and reference that in the dev-list email or in this PR and we could work with that too.

lebensterben commented 4 years ago

I just did a make autospecnew URL="https://github.com/dankamongmen/notcurses/archive/v1.3.2.tar.gz" NAME="notcurses"

Upon initial failure, I created a cmake_args file with -DUSE_FFMPEG=OFF -DUSE_PANDOC=OFF -DUSE_TESTS=OFF, to disable these optional features.

The build process looks successful but it eventually failed. I saw these warnings/errors, please give advice on whether I can ignore them, or how to solve them:

First from cmake:

CMake Warning:
  Manually-specified variables were not used by the project:
    LIB_INSTALL_DIR
    LIB_SUFFIX

After building all targets, while installing

......
[100%] Built target visual
Install the project...
-- Install configuration: "RelWithDebInfo"
......
-- Installing: /builddir/build/BUILDROOT/notcurses-1.3.2-1.x86_64/usr/lib64/pkgconfig/notcurses++.pc
running install
error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in the
installation directory:
    [Errno 13] Permission denied: '/usr/lib/python3.8/site-packages/test-easy-install-1406.write-test'
The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
    /usr/lib/python3.8/site-packages/
......
Please make the appropriate changes for your system and try again.

When executing(%check), it fails on make test

Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.X4KPrt
......
+ make test
make: *** No rule to make target 'test'.  Stop.
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.X4KPrt (%check)
    Bad exit status from /var/tmp/rpm-tmp.X4KPrt (%check)
Child return code was: 1
......

Okay I did built the RPM eventually. I modified the options.conf and change skip_tests to true. Then it succeeds with building RPM.

To sum up, for the current version of notcurses, we need to set USE_TESTS=OFF. Optionally, I set USE_PANDOC=OFF because it's rather optional. And I've USE_FFMPEG=OFF because that may be large, and I'm not sure about its license.

Also, you need to turn on the skip_tests.

ahkok commented 4 years ago

Mostly positive reaction from me. But biggest question is: what real-world applications can benefit from this library? It would be a lot easier to merge if e.g. tmux would be able to use it by default instead of ncurses, for instance.

lebensterben commented 4 years ago

@ahkok I think we should be less scrutinous to library/developer-tools than to desktop applications. If developers want something and that's not available, that means their job needs to be interrupted. You know how painful that is.

ahkok commented 4 years ago

We can't test or validate libraries by themselves. They turn into bundles with no dependencies. It's easier if there is a single user than no user at all.