notcurses/tools/notcurses.spec

112 lines
3.3 KiB
RPMSpec
Raw Normal View History

Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
Name: notcurses
2020-04-12 02:00:34 +00:00
Version: 1.3.0
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
Release: 1%{?dist}
Summary: Character graphics and TUI library
License: ASL 2.0
URL: https://nick-black.com/dankwiki/index.php/Notcurses
Source0: https://github.com/dankamongmen/%{name}/archive/v%{version}.tar.gz
2020-04-10 16:53:41 +00:00
Source1: https://github.com/dankamongmen/%{name}/releases/download/v%{version}/v%{version}.tar.gz.asc
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
Source2: https://dank.qemfd.net/dankamongmen.gpg
BuildRequires: gnupg2
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pandoc
BuildRequires: python3-devel
2020-04-11 02:56:06 +00:00
BuildRequires: python3-setuptools
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
BuildRequires: pkgconfig(ncurses)
%description
notcurses facilitates the creation of modern TUI programs,
2020-04-10 16:37:12 +00:00
making full use of Unicode and 24-bit TrueColor. It presents
an API similar to that of Curses, and rides atop Terminfo.
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%package devel
Summary: Development files for the notcurses library
License: ASL 2.0
2020-04-11 16:24:03 +00:00
Requires: %{name}%{?_isa} = %{version}-%{release}
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%description devel
Development files for the notcurses library.
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%package static
Summary: Static library for the notcurses library
License: ASL 2.0
Requires: %{name}-devel = %{version}-%{release}
%description static
A statically-linked version of the notcurses library.
2020-04-11 16:25:22 +00:00
%package -n python3-%{name}
Summary: Python wrappers for notcurses
License: ASL 2.0
2020-04-11 16:24:03 +00:00
Requires: %{name}%{?_isa} = %{version}-%{release}
2020-04-11 16:25:22 +00:00
%{?python_provide:%python_provide python3-%{name}}
2020-04-11 16:25:22 +00:00
%description -n python3-%{name}
Python wrappers and a demonstration script for the notcurses library.
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%autosetup
# Tests have been disabled due to absence of doctest in Fedora (as of F32)
%build
2020-04-11 06:02:04 +00:00
mkdir build
cd build
%cmake -DUSE_FFMPEG=off -DUSE_TESTS=off ..
%make_build
%install
2020-04-11 06:02:04 +00:00
cd build
%make_install
2020-04-11 06:02:04 +00:00
cd python
python setup.py install --root=%{buildroot} --optimize=1
%files
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%doc CHANGELOG.md README.md
%license COPYRIGHT LICENSE
%{_libdir}/libnotcurses.so.%{version}
%{_libdir}/libnotcurses.so.1
%{_libdir}/libnotcurses++.so.1
%{_libdir}/libnotcurses++.so.%{version}
%{_bindir}/notcurses-demo
%{_bindir}/notcurses-input
%{_bindir}/notcurses-ncreel
%{_bindir}/notcurses-tetris
# Don't use a wildcard, lest we pull in notcurses-pydemo.1. We install the man
# pages for notcurses-tester and notcurses-view, binaries we're not yet
# installing, because we intend to install the binaries Real Soon and it's
# IMHO not worth mucking with the CMake in the meantime FIXME.
%{_mandir}/man1/notcurses-demo.1*
%{_mandir}/man1/notcurses-input.1*
%{_mandir}/man1/notcurses-ncreel.1*
%{_mandir}/man1/notcurses-tester.1*
%{_mandir}/man1/notcurses-tetris.1*
%{_mandir}/man1/notcurses-view.1*
%files devel
%{_includedir}/notcurses/
%{_includedir}/ncpp/
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%{_libdir}/libnotcurses.so
%{_libdir}/libnotcurses++.so
%{_libdir}/cmake/notcurses
%{_libdir}/pkgconfig/notcurses.pc
%{_libdir}/pkgconfig/notcurses++.pc
%{_mandir}/man3/*.3*
Change notcurses.spec to follow Fedora Packaging Policy More or less. Here's a list of things I changed: * Single line BuildRequires which is more of a convention than a requirement. * Drop make from BuildRequires. That's one we do actually provide. * Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires. * Add a 'devel' subject and move development files there. * Add a 'static' package for the .a libraries which is common for other packages that provide static libraries. * Add doc files using %doc * -DUSE_TEST=off -> -DUSE_TESTS=off * Use %autosetup in %setup which covers adding patches in the future for downstream packaging. * Use path macros in %files * Correct the date format in the %changelog entry * Use the 1.2.6 release as an example Things that could use more consideration: * The release artifacts don't match what GitHub provides. Their automated download link gives you notcurses-1.2.6.tar.gz but the URL calls it v1.2.6.tar.gz. * There is no signature file uploaded. * notcurses-tester and notcurses-viewer do not build. * Should the demo programs go in the main package or devel. I felt devel was more appropriate. * Should the packaging be further refined to split out the C++ runtime and static libraries to separate subpackages? I did some local test runs using mock. I ran the SRPM through rpmlint which would happen when the package is submitted for inclusion. For the download archive and signature, I create new release posts on my github projects and create a separate tarball and sign that and upload them there. It is separate from the GitHub automated make-me-a-tarball download link. That might be what you're planning on doing.
2020-04-08 14:43:48 +00:00
%files static
%{_libdir}/libnotcurses.a
%{_libdir}/libnotcurses++.a
2020-04-11 16:25:22 +00:00
%files -n python3-%{name}
%{_bindir}/notcurses-pydemo
%{_mandir}/man1/notcurses-pydemo.1*
%{python3_sitearch}/*egg-info/
%{python3_sitearch}/notcurses/
%{python3_sitearch}/*.so
%changelog
2020-04-12 02:00:34 +00:00
* Tue Apr 07 2020 Nick Black <dankamongmen@gmail.com> - 1.3.0-1
- Initial Fedora packaging