jq/jq.spec
Yaakov Selkowitz e84946a3e9 Disable tests on RHEL 10
The tests use valgrind and only work on x86, but valgrind cannot cope with GCC
13+ SSE4.1 optimizations of strcmp:

https://bugzilla.redhat.com/show_bug.cgi?id=2257546
2024-01-23 22:26:50 -05:00

105 lines
2.4 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# valgrind cannot cope with GCC 13+ SSE4.1 optimizations of strcmp
# https://bugzilla.redhat.com/show_bug.cgi?id=2257546
%bcond check %[!(0%{?rhel} >= 10)]
Name: jq
Version: 1.7.1
Release: %autorelease
Summary: Command-line JSON processor
License: MIT and ASL 2.0 and CC-BY and GPLv3
URL: https://jqlang.github.io/jq/
Source0: https://github.com/jqlang/jq/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: flex
BuildRequires: bison
BuildRequires: chrpath
BuildRequires: oniguruma-devel
%ifarch %{valgrind_arches}
BuildRequires: valgrind
%endif
BuildRequires: make
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%description
lightweight and flexible command-line JSON processor
jq is like sed for JSON data you can use it to slice
and filter and map and transform structured data with
the same ease that sed, awk, grep and friends let you
play with text.
It is written in portable C, and it has zero runtime
dependencies.
jq can mangle the data format that you have into the
one that you want with very little effort, and the
program to do so is often shorter and simpler than
you'd expect.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for %{name}
%prep
%autosetup -n %{name}-%{name}-%{version} -p1
%build
autoreconf -if
%configure --disable-static
%make_build
# Docs already shipped in jq's tarball.
# In order to build the manual page, it
# is necessary to install rake, rubygem-ronn
# and do the following steps:
#
# # yum install rake rubygem-ronn
# $ cd docs/
# $ curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
# $ source $HOME/.rvm/scripts/rvm
# $ bundle install
# $ cd ..
# $ ./configure
# $ make real_docs
%install
%make_install
find %{buildroot} -name '*.la' -exec rm -f {} ';'
# Delete build-time RPATH that is unnecessary on an installed
# system - rhbz#1987608
chrpath -d %{buildroot}%{_bindir}/%{name}
%if %{with check}
%check
# Valgrind used, so restrict architectures for check
%ifarch %{ix86} x86_64
make check
%endif
%endif
%files
%license COPYING
%doc AUTHORS COPYING NEWS.md README.md
%{_bindir}/%{name}
%{_libdir}/libjq.so.*
%{_datadir}/man/man1/jq.1.gz
%files devel
%{_includedir}/jq.h
%{_includedir}/jv.h
%{_libdir}/libjq.so
%{_libdir}/pkgconfig/libjq.pc
%changelog
%autochangelog