diff --git a/python-nbdime.spec b/python-nbdime.spec index 631d39c..6f4309a 100644 --- a/python-nbdime.spec +++ b/python-nbdime.spec @@ -6,7 +6,6 @@ Release: %autorelease Summary: Diff and merge of Jupyter notebooks License: BSD-3-Clause -BuildArch: noarch URL: https://nbdime.readthedocs.io/ VCS: git:%{giturl}.git Source0: %{giturl}/archive/v%{version}/nbdime-%{version}.tar.gz @@ -22,7 +21,12 @@ Patch: %{name}-unbundle-fontawesome.patch # components for x86_64 and aarch64 only. Check later releases to see if # the nx version has rolled forward to a version that supports more # architectures -ExclusiveArch: x86_64 aarch64 +ExclusiveArch: %{x86_64} %{arm64} noarch + +BuildArch: noarch +BuildSystem: pyproject +BuildOption(generate_buildrequires): -x docs,test +BuildOption(install): -l nbdime BuildRequires: fdupes BuildRequires: fontawesome-fonts-web @@ -32,12 +36,10 @@ BuildRequires: help2man BuildRequires: make BuildRequires: nodejs-devel BuildRequires: nodejs-npm -BuildRequires: python3-devel BuildRequires: python3-docs BuildRequires: yarnpkg -%global _desc %{expand: -Nbdime provides tools for diffing and merging of Jupyter notebooks. +%global _desc %{expand:Nbdime provides tools for diffing and merging of Jupyter notebooks. - nbdiff: compare notebooks in a terminal-friendly way - nbmerge: three-way merge of notebooks with automatic conflict resolution @@ -45,7 +47,8 @@ Nbdime provides tools for diffing and merging of Jupyter notebooks. - nbmerge-web: gives you a web-based three-way merge tool for notebooks - nbshow: present a single notebook in a terminal-friendly way} -%description %_desc +%description +%_desc %package -n python3-nbdime # The nbdime project is released under the BSD-3-Clause license. @@ -191,7 +194,8 @@ Provides: bundled(npm(w3c-keyname)) = 2.2.8 Provides: bundled(npm(y-protocols)) = 1.0.6 Provides: bundled(npm(yjs)) = 13.6.18 -%description -n python3-nbdime %_desc +%description -n python3-nbdime +%_desc %package doc # The content is BSD-3-Clause. Other licenses are due to Sphinx files. @@ -222,6 +226,7 @@ Documentation for %{name}. %autosetup -n nbdime-%{version} -a1 -p1 cp -p %{SOURCE2} . +%conf # Remove useless shebangs sed -i '\,#!/usr/bin/env,d' \ nbdime/diffing/directorydiff.py \ @@ -236,30 +241,26 @@ sed -i '\,#!/usr/bin/env,d' \ sed -e "s|\('https://docs\.python\.org/3\.5', \)None|\1'%{_docdir}/python3-docs/html/objects.inv'|" \ -i docs/source/conf.py +%generate_buildrequires -p # Do not depend on jupyter_server_mathjax; it doesn't work in jupyterlab 4.10+ # https://github.com/jupyter-server/jupyter_server_mathjax/issues/20 sed -i '/jupyter_server_mathjax/d' pyproject.toml +# Do not run code coverage tools +sed -i '/pytest-cov/d' pyproject.toml -%generate_buildrequires -%pyproject_buildrequires -x docs,test - -%build +%build -p export YARN_CACHE_FOLDER="$PWD/.package-cache" export npm_config_nodedir=%{_includedir}/node export CFLAGS='%{build_cflags} -I%{_includedir}/node' export CXXFLAGS='%{build_cxxflags} -I%{_includedir}/node' yarn install --offline -%pyproject_wheel - +%build -a # Build the documentation PYTHONPATH=$PWD make -C docs html rm docs/build/html/.buildinfo -%install -%pyproject_install -%pyproject_save_files -l nbdime - +%install -a # Move the configuration files to the standard Jupyter directories mv %{buildroot}%{_prefix}%{_sysconfdir} %{buildroot}%{_sysconfdir}