## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global version_base 3.7.0 %dnl %global gitnum 120 %dnl %global githash 1a0b1ae238e1deb132a0ae4a8d0c589d583cc5b0 %dnl %global githashshort %{lua:print(string.sub(rpm.expand('%{githash}'), 1, 11))} Name: fish Version: %{version_base}%{?gitnum:^%{gitnum}g%{githashshort}} Release: %autorelease Summary: Friendly interactive shell # see also doc_src/license.rst # GPLv2 # - src/fish.cpp # and rest… # GPLv2+ # - src/builtins/printf.cpp # BSD # - src/fallback.cpp # - share/tools/create_manpage_completions.py # ISC # - src/env.cpp # - src/utf8.cpp # - src/utf8.h # LGPLv2+ # - src/wgetopt.cpp # - src/wgetopt.h # MIT # - share/completions/grunt.fish # - share/tools/web_config/js/angular-route.js # - share/tools/web_config/js/angular-sanitize.js # - share/tools/web_config/js/angular.js # PSF-2.0 # - doc_src/python_docs_theme/, License: GPL-2.0-only AND BSD-3-Clause AND ISC AND LGPL-2.0-or-later AND MIT AND PSF-2.0 URL: https://fishshell.com %if %{undefined gitnum} Source0: https://github.com/fish-shell/fish-shell/releases/download/%{version}/%{name}-%{version}.tar.xz Source1: https://github.com/fish-shell/fish-shell/releases/download/%{version}/%{name}-%{version}.tar.xz.asc Source2: gpgkey-003837986104878835FA516D7A67D962D88A709A.gpg %else Source0: https://github.com/fish-shell/fish-shell/archive/%{githash}/%{name}-%{githash}.tar.gz %endif BuildRequires: cmake >= 3.5 BuildRequires: ninja-build BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: ncurses-devel BuildRequires: pcre2-devel BuildRequires: gnupg2 BuildRequires: python3-devel BuildRequires: python3-pexpect BuildRequires: procps-ng BuildRequires: glibc-langpack-en %global __python %{__python3} BuildRequires: /usr/bin/sphinx-build BuildRequires: /usr/bin/desktop-file-validate # tab completion wants man-db Recommends: man-db Recommends: man-pages Recommends: groff-base Provides: bundled(js-angular) = 1.8.2 %description fish is a fully-equipped command line shell (like bash or zsh) that is smart and user-friendly. fish supports powerful features like syntax highlighting, autosuggestions, and tab completions that just work, with nothing to learn or configure. %prep %if %{undefined gitnum} %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %endif %autosetup -p1 %{?gitnum:-n fish-shell-%{githash}} %if %{defined gitnum} echo "%{version_base}-%{gitnum}g%{githashshort}" > version %endif # Change the bundled scripts to invoke the python binary directly. for f in $(find share/tools -type f -name '*.py'); do sed -i -e '1{s@^#!.*@#!%{__python3}@}' "$f" done %build %cmake -GNinja \ -DBUILD_DOCS=ON \ -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ -Dextra_completionsdir=%{_datadir}/%{name}/vendor_completions.d \ -Dextra_functionsdir=%{_datadir}/%{name}/vendor_functions.d \ -Dextra_confdir=%{_datadir}/%{name}/vendor_conf.d %cmake_build -t all doc fish_tests # We still need to slightly manually adapt the pkgconfig file and remove # some /usr/local/ references (RHBZ#1869376) sed -i 's^/usr/local/^/usr/^g' %{_vpath_builddir}/*.pc %install %cmake_install # No more automagic Python bytecompilation phase 3 # * https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3 %py_byte_compile %{python3} %{buildroot}%{_datadir}/%{name}/tools/ # Install docs from tarball root cp -a README.rst %{buildroot}%{_pkgdocdir} cp -a CONTRIBUTING.rst %{buildroot}%{_pkgdocdir} %find_lang %{name} %check # Sadly, ctest is broken %ninja_build -C %{_vpath_builddir} test desktop-file-validate %{buildroot}%{_datadir}/applications/fish.desktop %post if [ "$1" = 1 ]; then if [ ! -f %{_sysconfdir}/shells ] ; then echo "%{_bindir}/fish" > %{_sysconfdir}/shells echo "/bin/fish" >> %{_sysconfdir}/shells else grep -q "^%{_bindir}/fish$" %{_sysconfdir}/shells || echo "%{_bindir}/fish" >> %{_sysconfdir}/shells grep -q "^/bin/fish$" %{_sysconfdir}/shells || echo "/bin/fish" >> %{_sysconfdir}/shells fi fi %postun if [ "$1" = 0 ] && [ -f %{_sysconfdir}/shells ] ; then sed -i '\!^%{_bindir}/fish$!d' %{_sysconfdir}/shells sed -i '\!^/bin/fish$!d' %{_sysconfdir}/shells fi %files -f %{name}.lang %license COPYING %{_mandir}/man1/fish*.1* %{_bindir}/fish* %config(noreplace) %{_sysconfdir}/fish/ %{_datadir}/fish/ %{_datadir}/pkgconfig/fish.pc %{_pkgdocdir} %{_datadir}/applications/fish.desktop %{_datadir}/pixmaps/fish.png %changelog * Tue Jan 02 2024 Neal Gompa - 3.7.0-1 - New upstream release 3.7.0 (Resolves: rhbz#2256375) * Mon Dec 11 2023 Dan Čermák - 3.6.4-2 - Remove duplicate AND from License tag * Wed Dec 06 2023 Dan Čermák - 3.6.4-1 - New upstream release 3.6.4, fixes rhbz#2252773 * Wed Dec 06 2023 Dan Čermák - 3.6.1-4 - Switch license identifier to SPDX and add missing PSF-2.0 * Tue Dec 05 2023 Dan Čermák - 3.6.1-3 - Use proper rpm comments to prevent macro expansion * Wed Jul 19 2023 Fedora Release Engineering - 3.6.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Mon Apr 10 2023 Siteshwar Vashisht - 3.6.1-1 - Update to 3.6.1 * Tue Jan 31 2023 Siteshwar Vashisht - 3.6.0-1 - Update to 3.6.0 * Mon Aug 15 2022 Siteshwar Vashisht - 3.5.1-1 - Update to 3.5.1 * Thu Jul 21 2022 Fedora Release Engineering - 3.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Fri Jun 17 2022 Siteshwar Vashisht - 3.5.0-1 - Update to 3.5.0 * Sun Apr 03 2022 Igor Raits - 3.4.1^120g1a0b1ae238e-1 - Update to 3.4.1-120-g1a0b1ae23 * Sun Apr 03 2022 Igor Raits - 3.4.1-1 - Update to 3.4.1 * Sun Mar 13 2022 Igor Raits - 3.4.0-1 - Update to 3.4.0 * Mon Feb 21 2022 Igor Raits - 3.3.1^1075ge0bc944d5c5-1 - Update to 3.3.1-1075-ge0bc944d5 * Sun Feb 06 2022 Igor Raits - 3.3.1^1034g964b7a729a7-1 - Update to 3.3.1-1034-g964b7a729 * Thu Jan 20 2022 Fedora Release Engineering - 3.3.1^803g76a336d647e-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Dec 29 2021 Igor Raits - 3.3.1^803g76a336d647e-2 - Add missing BuildRequires for tests * Wed Dec 29 2021 Igor Raits - 3.3.1^803g76a336d647e-1 - Update to 3.3.1-803-g76a336d64 * Wed Jul 21 2021 Fedora Release Engineering - 3.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jul 07 2021 Siteshwar Vashisht - 3.3.1-1 - Update to 3.3.1 Resolves: #1979734 * Thu Jul 01 2021 Siteshwar Vashisht - 3.3.0-1 - Update to 3.3.0 Resolves: #1947062 * Tue Mar 30 2021 Jonathan Wakely - 3.2.1-2 - Rebuilt for removed libstdc++ symbol (#1937698) * Thu Mar 18 2021 Siteshwar Vashisht - 3.2.1-1 - Update to 3.2.1 Resolves: #1940398 * Sat Mar 13 2021 Siteshwar Vashisht - 3.2.0-1 - Update to 3.2.0 Resolves: #1933886 * Tue Jan 26 2021 Fedora Release Engineering - 3.1.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Aug 25 2020 Oliver Falk - 3.1.2-5 - Correct pkgconfig references to /usr/local (RHBZ#1869376) * Mon Aug 17 2020 Artem Polishchuk - 3.1.2-4 - Remove automagic Python bytecompilation | Fix FTBFS f33 | RH#1863559 * Sat Aug 01 2020 Fedora Release Engineering - 3.1.2-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 3.1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed May 06 2020 Igor Raits - 3.1.2-1 - Update to 3.1.2 * Sat Feb 15 2020 Igor Raits - 3.1.0-1 - Update to 3.1.0 * Tue Jan 28 2020 Fedora Release Engineering - 3.0.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 3.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Feb 24 2019 luto@kernel.org - 3.0.2-1 - Update to 3.0.2 * Thu Jan 31 2019 Fedora Release Engineering - 3.0.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sat Jan 05 2019 Igor Gnatenko - 3.0.0-4 - Fix crash in 'string match' subcommand * Sun Dec 30 2018 Igor Gnatenko - 3.0.0-3 - Switch to CMake/Ninja * Sat Dec 29 2018 David Adam - 3.0.0-2 - Move to CMake builds - Drop unneeded dependencies * Fri Dec 28 2018 Igor Gnatenko - 3.0.0-1 - Update to 3.0.0 * Fri Jul 13 2018 Fedora Release Engineering - 2.7.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jun 19 2018 Miro Hrončok - 2.7.1-3 - Rebuilt for Python 3.7 * Wed Feb 07 2018 Fedora Release Engineering - 2.7.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sun Jan 14 2018 Igor Gnatenko - 2.7.1-1 - Update to 2.7.1 * Wed Oct 04 2017 Andy Lutomirski - 2.6.0-1 - Update to 2.6.0 - Stop using bundled pcre2 - Add some missing dependencies (rhbz #1478779) * Wed Aug 02 2017 Fedora Release Engineering - 2.3.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 2.3.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sun Mar 12 2017 Peter Robinson 2.3.1-4 - Drop ExcludeArch as ppc64le's tests now pass * Fri Feb 10 2017 Fedora Release Engineering - 2.3.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Dec 19 2016 Miro Hrončok - 2.3.1-2 - Rebuild for Python 3.6 * Thu Jul 07 2016 Oliver Haessler - 2.3.1-1 - Bump to 2.3.1 * Sun Jun 26 2016 luto@kernel.org - 2.3.0-2 - Require bc (rhbz 1349714) - Improve Fedora vs EPEL compatibility in the specfile * Sun May 22 2016 luto@kernel.org - 2.3.0-1 - Bump to 2.3.0 - Drop most Fedora patches * Fri Feb 26 2016 luto@kernel.org - 2.2.0-11 - Add function/snippet hierarchy (backported from upstream) * Thu Feb 04 2016 luto@kernel.org - 2.2.0-10 - Fix build on GCC 6 * Wed Feb 03 2016 Fedora Release Engineering - 2.2.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Jan 04 2016 Andy Lutomirski - 2.2.0-8 - Tidy up EL compat * Sat Jan 02 2016 Oliver Haessler - 2.2.0-7 - included patch directly into the spec file - added new patch for using python3.4 on EPEL 7 - excluded ppc64le as the fish_tests fail for this arch * Mon Dec 21 2015 Oliver Haessler - 2.2.0-6 - added new patch for EL7 build * Tue Nov 10 2015 Fedora Release Engineering - 2.2.0-5 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Thu Sep 24 2015 Andy Lutomirski - 2.2.0-4 - Hopefully fix rhbz #1263052 / upstream #2393 * Thu Aug 20 2015 Andy Lutomirski - 2.2.0-3 - Re-enable tests * Wed Aug 19 2015 Andy Lutomirski - 2.2.0-2 - Fix docs on newer RPM * Wed Aug 19 2015 Andy Lutomirski - 2.0.0-1 - Bump to 2.2.0 - Drop most Fedora patches - Disable tests (broken upstream) - Adapt to new tarball contents - Drop Python 2 support (we will only target F22 and newer) * Wed Jun 17 2015 Fedora Release Engineering - 2.1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 2.1.1-4 - Rebuilt for GCC 5 C++11 ABI change * Wed Dec 17 2014 Andy Lutomirski - 2.1.1-3 - For Fedora 22+, use Python 3 * Sun Dec 14 2014 Andy Lutomirski - 2.1.1-2 - Backport grep.fish fixes (rhbz #1173924) * Mon Sep 29 2014 Andy Lutomirski - 2.1.1-1 - Update to 2.1.1 * Sat Aug 16 2014 Fedora Release Engineering - 2.1.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Tue Aug 12 2014 Andy Lutomirski - 2.1.0-11 - Improve fixes for CVE-2014-2905 and CVE-2014-2914 * Sat Jun 07 2014 Fedora Release Engineering - 2.1.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon Apr 28 2014 Andy Lutomirski - 2.1.0-9 - Fix CVE-2014-2914 * Mon Apr 28 2014 Andy Lutomirski - 2.1.0-8 - Fix build failure * Mon Apr 28 2014 Andy Lutomirski - 2.1.0-7 - Fix CVE-2014-2905 - Fix CVE-2014-2906 * Fri Dec 20 2013 Andy Lutomirski - 2.1.0-6 - Switch back to Python 2 * Fri Dec 20 2013 Andy Lutomirski - 2.1.0-5 - Add BR: python3 (for __pycache__) - Remove --without-xsel: fish dropped it in favor of a runtime check * Fri Dec 13 2013 Andy Lutomirski - 2.1.0-4 - Stop looking in /usr/local (#1185 upstream) - Link with CXXFLAGS (#1062 upstream) - Use /usr/bin/python3 in scripts intead of /usr/bin/env - Add fish_tests to the build process - Split up the %%doc lines * Wed Dec 11 2013 Andy Lutomirski - 2.1.0-3 - Use %%make_install instead of make install DESTDIR=... - Removed rm -rf %%{buildroot} - Added Requires: python * Tue Dec 10 2013 Andy Lutomirski - 2.1.0-2 - Drop 'help' patch - Misc cleanups * Mon Dec 9 2013 Andy Lutomirski - 2.1.0-1 - Update to 2.1.0 and update a lot of the specfile - Fix bogus changelog dates - Add a patch to make 'help' work on F19 (upstream #1065) * Fri Jul 24 2009 Fedora Release Engineering - 1.23.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Fri Jul 03 2009 Lorenzo Villani - 1.23.1-3 - Pass --without-xsel to configure, if you want xsel install its package instead - Fix file list - Drop unneeded BuildRequires * Fri Jul 03 2009 Lorenzo Villani - 1.23.1-2 - rebuilt * Fri Jul 03 2009 Lorenzo Villani - 1.23.1-1 - 1.23.1 - Fix bz #472613 * Tue Feb 24 2009 Fedora Release Engineering - 1.23.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Mon Sep 15 2008 Tom "spot" Callaway - 1.23.0-6 - cleanups - define ARG_MAX properly so it compiles * Mon Jul 07 2008 Tom "spot" Callaway - 1.23.0-5 - fix conditional comparison * Sun Jul 06 2008 Oliver Falk - 1.23.0-4 - Rebuild * Wed May 21 2008 Tom "spot" Callaway - 1.23.0-3 - fix license tag * Mon Feb 18 2008 Fedora Release Engineering - 1.23.0-2 - Autorebuild for GCC 4.3 * Mon Jan 14 2008 Oliver Falk - 1.23.0-1 - Update to fix #208780 - Remove openfix patch, included upstream now * Wed Oct 31 2007 Oliver Falk - 1.22.3-5 - Fix glibc's open check, by providing mode, instead of working around... * Wed Oct 31 2007 Oliver Falk - 1.22.3-4 - Update URL; Fixes bz#359451 * Thu Aug 16 2007 Oliver Falk - 1.22.3-3 - Workaround glibc's open check - Problem reported upstream; Should be fixed there * Tue Aug 07 2007 Oliver Falk - 1.22.3-2 - Fix BR autoconf * Tue Aug 07 2007 Oliver Falk - 1.22.3-1 - Update; Bug #236868 - Add missing doxygen BR * Fri Aug 4 2006 Axel Liljencrantz 1.21.10-4 - Add better translation finding code from fedora spec to main spec. Thank you to Michael Schwendt. - Add missing dependency libXext-devel. - Remove one nesting level from dependency checking code. * Tue Aug 1 2006 Axel Liljencrantz 1.21.10-1 - Improved the dependency check for X headers. Thank you to Michael Schwendt for pointers on how to do this * Mon Jul 31 2006 Axel Liljencrantz 1.21.10-1 - Fixed spelling and punctuation as a per patch from Paul Howarth - Fixed dependencies as per patch from Paul Howarth * Tue Nov 29 2005 Axel Liljencrantz 1.17.0-0 - 1.17.0 * Sat Sep 24 2005 Axel Liljencrantz 1.14.0-0 - 1.14.0 * Mon Sep 12 2005 Axel Liljencrantz 1.13.4-0 - 1.13.4 * Wed Sep 07 2005 Axel Liljencrantz 1.13.3-0 - 1.13.3 * Tue Sep 06 2005 Axel Liljencrantz 1.13.2-0 - 1.13.2 * Tue Aug 30 2005 Axel Liljencrantz 1.13.1-0 - 1.13.1 * Sun Aug 28 2005 Axel Liljencrantz 1.13.0-0 - 1.13.0 * Sat Aug 13 2005 Axel Liljencrantz 1.13.0-0 - Add completions subdirectory * Thu Jul 28 2005 Axel Liljencrantz 1.12.1-0 - 1.12.1 * Fri Jul 15 2005 Axel Liljencrantz 1.12.0-1 - 1.12.0 * Thu Jun 30 2005 Michael Schwendt 1.11.1-9 - Set CFLAGS the proper way * Thu Jun 30 2005 Axel Liljencrantz 1.11.1-8 - Fix revision number in changelog * Wed Jun 29 2005 Axel Liljencrantz 1.11.1-7 - Send post-script output to /dev/null * Wed Jun 29 2005 Axel Liljencrantz 1.11.1-6 - Add changelog section to spec file - Add macros to source tags - Add smp_mflags to 'make all' - Fix typo in post install scriptlet test - Set CFLAGS from spec file