Login
Log in using an SSO provider:
Fedora Account System
Red Hat Associate
Red Hat Customer
Login using a Red Hat Bugzilla account
Forgot Password
Create an Account
Red Hat Bugzilla – Attachment 2094230 Details for
Bug 2369997
Review Request: gherkin - A parser and compiler for the Gherkin language
Home
New
Search
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh109 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
Migrated Products
[?]
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
The .spec file difference from Copr build 9125979 to 9178973
spec-from-9125979-to-9178973.diff (text/plain), 5.35 KB, created by
Fedora Review Service
on 2025-06-18 10:40:54 UTC
(
hide
)
Description:
The .spec file difference from Copr build 9125979 to 9178973
Filename:
MIME Type:
Creator:
Fedora Review Service
Created:
2025-06-18 10:40:54 UTC
Size:
5.35 KB
patch
obsolete
>--- https://copr.fedorainfracloud.org/coprs/build/9125979 >+++ https://copr.fedorainfracloud.org/coprs/build/9178973 >@@ -9,6 +9,11 @@ > # could probably be enabled if motivation existed. Still others, like Go or > # Ruby, might be (if they are needed) better as separate source packages. > >+# Run acceptance tests? >+%bcond acceptance_c 1 >+%bcond acceptance_cpp 1 >+%bcond acceptance_python 1 >+ > Name: gherkin > Version: 32.1.2 > # While SONAME versions are based on the major version number, we repeat them >@@ -32,6 +37,25 @@ > # [c]: install headers under cucumber/gherkin/ and .cmake files under gherkin/ > # https://github.com/cucumber/gherkin/pull/346 > Patch: %{url}/pull/346.patch >+# [c] Prefer the longest step keyword >+# https://github.com/cucumber/gherkin/pull/417 >+# Take just the commit with the fix, not the changelog entry, to avoid conflicts >+Patch: %{url}/pull/417/commits/4549a339ac741530cdc6d2e94d4571ea600fb71c.patch >+# [c] Fix setting keyword type when matching Action or Outcome >+# https://github.com/cucumber/gherkin/pull/418 >+# Take just the commit with the fix, not the changelog entry, to avoid conflicts >+Patch: %{url}/pull/418/commits/fdf65d84c375a6bda3d872511b2b6935cc681bce.patch >+ >+# cpp: Enable codegen >+# https://github.com/cucumber/gherkin/pull/414 >+Patch: %{url}/pull/414.patch >+# [cpp] Fix regenerating dialect.cpp, and do so >+# https://github.com/cucumber/gherkin/pull/415 >+Patch: %{url}/pull/415.patch >+# [cpp] Prefer the longest step keyword >+# https://github.com/cucumber/gherkin/pull/416 >+# Take just the commit with the fix, not the changelog entry, to avoid conflicts >+Patch: %{url}/pull/416/commits/4046645aa562e4252529e23cdf79e51cad6e19c9.patch > > # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval > ExcludeArch: %{ix86} >@@ -46,6 +70,11 @@ > # C++ library has "LANGUAGES C CXX" in CMake, so it still needs a C compiler > BuildRequires: gcc > >+%if %{with acceptance_c} || %{with acceptance_cpp} || %{with acceptance_python} >+BuildRequires: make >+BuildRequires: jq >+%endif >+ > # For C++ only: > BuildRequires: gcc-c++ > BuildRequires: cmake(nlohmann_json) >@@ -151,6 +180,17 @@ > %prep > %autosetup -n gherkin-%{version} -p1 > >+# Tweaks for running acceptance tests >+# >+# C: DonâÂÂt try to rebuild the (C) CLI; we want to use the one already built >+# with CMake. This is easier than trying to convince make that the targets in >+# question have already been built, which is the strategy we follow for the C++ >+# acceptance tests. >+sed -r -i 's/^(\.run:) cli \$\(GHERKIN\)/\1/' c/Makefile >+# Python: Fix unversioned python interpreter. >+sed -r -i 's@python -m@%{python3} -m@' python/Makefile >+ >+ > > %generate_buildrequires > pushd python >/dev/null >@@ -160,11 +200,13 @@ > > %conf > %if %{with c} >+echo '==== Configuring C implementation ====' > pushd c > %cmake -GNinja > popd > %endif > >+echo '==== Configuring C++ implementation ====' > pushd cpp > %cmake -GNinja > popd >@@ -172,15 +214,18 @@ > > %build > %if %{with c} >+echo '==== Building C implementation ====' > pushd c > %cmake_build > popd > %endif > >+echo '==== Building C++ implementation ====' > pushd cpp > %cmake_build > popd > >+echo '==== Building Python implementation ====' > pushd python > %pyproject_wheel > popd >@@ -191,17 +236,20 @@ > gherkin-languages.json > > %if %{with c} >+echo '==== Installing C implementation ====' > pushd c > %cmake_install > popd > %endif > >+echo '==== Installing C++ implementation ====' > pushd cpp > %cmake_install > popd > install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 \ > '%{SOURCE10}' '%{SOURCE11}' > >+echo '==== Installing Python implementation ====' > pushd python > %pyproject_install > %pyproject_save_files -l gherkin >@@ -212,16 +260,49 @@ > > > %check >+%if %{with c} >+echo '==== Testing C implementation ====' >+pushd c > # C tests are automatically executed during %%cmake_build. >- >+%if %{with acceptance_c} >+# Keep make from trying to rebuild the C implementation. >+touch .built >+# The executables need to load libgherkin, so we also set LD_LIBRARY_PATH. We >+# could omit this since copies of the libraries are in %%{_vpath_builddir} >+# alongside the executables, but we might as well use the copies in the >+# buildroot, as we do for the C++ acceptance tests. >+LD_LIBRARY_PATH='%{buildroot}%{_libdir}' %make_build acceptance \ >+ GHERKIN='%{_vpath_builddir}/gherkinexe' \ >+ GHERKIN_GENERATE_TOKENS='%{_vpath_builddir}/gherkin_generate_tokens' >+%endif >+popd >+%endif >+ >+echo '==== Testing C++ implementation ====' > pushd cpp > # We think this is the intended way to run tests, but there donâÂÂt appear to be > # any usable tests yet. > %ctest >-popd >- >+%if %{with acceptance_cpp} >+# Keep make from trying to rebuild the C++ implementation or invoke cmate. >+mkdir -p .built >+# While there are GHERKIN/GHERKIN_GENERATE_TOKENS variables in the Makefile, >+# symlinking the already-built command-line tools in ./stage/bin is the easiest >+# way to make sure the acceptance tests can run them. >+mkdir -p stage >+ln -s '%{buildroot}%{_bindir}' stage/bin >+# The executables need to load libcucumber_gherkin, so we also set >+# LD_LIBRARY_PATH. The acceptance tests are not safe for parallel execution. >+LD_LIBRARY_PATH='%{buildroot}%{_libdir}' %make_build -j1 acceptance >+%endif >+popd >+ >+echo '==== Testing Python implementation ====' > %pyproject_check_import > %pytest >+%if %{with acceptance_python} >+%{py3_test_envvars} %make_build -C python acceptance >+%endif > > > %files data
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 2369997
: 2094230