diff --git a/.gitignore b/.gitignore index 4ac2815..4123fef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ yasm-1.0.1.tar.gz yasm-1.1.0.tar.gz /yasm-1.2.0.tar.gz +/yasm-1.3.0.tar.gz +/yasm-9defefa.tar.gz +/yasm-121ab15.tar.gz diff --git a/sources b/sources index 847a26e..3f7a801 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4cfc0686cf5350dd1305c4d905eb55a6 yasm-1.2.0.tar.gz +SHA512 (yasm-121ab15.tar.gz) = e005153fc14b2131c828848a4026ad7f7982ac611bc0848c6cf2cb4fdeeed91efcffde9b4a6dc4e968f32afff4517620b5157b1cefe418366200bcb05e839b81 diff --git a/yasm-gcc15.patch b/yasm-gcc15.patch new file mode 100644 index 0000000..bff0ac0 --- /dev/null +++ b/yasm-gcc15.patch @@ -0,0 +1,15 @@ +diff -up yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h.gcc15 yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h +--- yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h.gcc15 2023-09-22 07:21:20.000000000 +0200 ++++ yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h 2025-02-15 22:14:50.029332956 +0100 +@@ -83,7 +83,11 @@ typedef Z_longword *Z_longwordp + #ifdef MACOS_TRADITIONAL + #define boolean Boolean + #else ++ #if __STDC_VERSION__ < 202311L + typedef enum boolean { false = FALSE, true = TRUE } boolean; ++ #else ++ typedef bool boolean; ++ #endif + #endif + #endif + diff --git a/yasm-tests.patch b/yasm-tests.patch new file mode 100644 index 0000000..4bc70d3 --- /dev/null +++ b/yasm-tests.patch @@ -0,0 +1,8 @@ +diff -up yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/modules/objfmts/macho/tests/nasm64/Makefile.inc.orig yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/modules/objfmts/macho/tests/nasm64/Makefile.inc +--- yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/modules/objfmts/macho/tests/nasm64/Makefile.inc.orig 2023-09-22 07:21:20.000000000 +0200 ++++ yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/modules/objfmts/macho/tests/nasm64/Makefile.inc 2024-03-22 12:07:58.945545848 +0100 +@@ -1,4 +1,3 @@ +-TESTS += modules/objfmts/macho/tests/nasm64/macho64_test.sh + + EXTRA_DIST += modules/objfmts/macho/tests/nasm64/nasm-macho64-pic.asm + EXTRA_DIST += modules/objfmts/macho/tests/nasm64/nasm-macho64-pic.hex diff --git a/yasm.spec b/yasm.spec index 38a74c0..d5c9461 100644 --- a/yasm.spec +++ b/yasm.spec @@ -1,14 +1,38 @@ +%global git 1 +%global commit 121ab150b3577b666c79a79f4a511798d7ad2432 +%global date 20250625 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + Summary: Modular Assembler Name: yasm -Version: 1.2.0 -Release: 1%{?dist} +Version: 1.3.0^%{date}git%{shortcommit} +Release: 5%{?dist} # See COPYING for the detail, there is quite a lot! -License: BSD and (GPLv2+ or Artistic or LGPLv2+) and LGPLv2 -Group: Development/Languages +# Bitvect is (GPL-1.0-or-later AND GPL-2.0-or-later OR Artistic-1.0-Perl OR LGPL-2.0-or-later +# Everything else is BSD. Either 2 or 3 clause. +License: BSD-2-Clause AND BSD-3-Clause AND (GPL-1.0-or-later AND GPL-2.0-or-later OR Artistic-1.0-Perl OR LGPL-2.0-or-later) + URL: http://yasm.tortall.net/ +%if 0%{?git} +Source: https://github.com/yasm/yasm/archive/%{commit}/%{name}-%{shortcommit}.tar.gz +# https://github.com/yasm/yasm/issues/270 +Patch0: yasm-tests.patch +# https://github.com/yasm/yasm/issues/283 +Patch1: yasm-gcc15.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: python3 +%else Source: http://www.tortall.net/projects/yasm/releases/yasm-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -BuildRequires: bison, byacc, xmlto, gettext-devel +%endif + +BuildRequires: make +BuildRequires: gcc +BuildRequires: bison +BuildRequires: byacc +BuildRequires: gettext-devel +Provides: bundled(md5-plumb) +Provides: deprecated() %description Yasm is a complete rewrite of the NASM assembler under the "new" BSD License @@ -21,9 +45,9 @@ overall design is an optimizer module. %package devel Summary: Header files and static libraries for the yasm Modular Assembler -Group: Development/Libraries Requires: %{name} = %{version}-%{release} Provides: %{name}-static = %{version}-%{release} +Provides: bundled(md5-plumb) %description devel Yasm is a complete rewrite of the NASM assembler under the "new" BSD License @@ -36,33 +60,41 @@ Install this package if you need to rebuild applications that use yasm. %prep +%if 0%{?git} +%setup -q -n %{name}-%{commit} +%ifarch i686 +%patch 0 -p1 +%endif +%patch 1 -p1 +autoreconf -I m4 -fiv +%else %setup -q +%endif %build %configure -make %{?_smp_mflags} +%make_build %install -rm -rf %{buildroot} -make install DESTDIR=%{buildroot} +%make_install -%clean -rm -rf %{buildroot} - +%check +# tests must be run sequentially +# https://github.com/yasm/yasm/issues/269 +make check %files -%defattr(-,root,root,-) -%doc Artistic.txt AUTHORS BSD.txt COPYING GNU* +%license Artistic.txt BSD.txt COPYING GNU_GPL-2.0 GNU_LGPL-2.0 +%doc AUTHORS %{_bindir}/vsyasm %{_bindir}/yasm %{_bindir}/ytasm %{_mandir}/man1/yasm.1* %files devel -%defattr(-,root,root,-) %{_includedir}/libyasm/ %{_includedir}/libyasm-stdint.h %{_includedir}/libyasm.h @@ -71,6 +103,117 @@ rm -rf %{buildroot} %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.3.0^20250625git121ab15-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 1.3.0^20250625git121ab15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Thu Aug 07 2025 Dominik Mierzejewski - 1.3.0^20250625git121ab15-3 +- mark as deprecated, see https://fedoraproject.org/wiki/Changes/DeprecateYASM + +* Fri Jul 25 2025 Fedora Release Engineering - 1.3.0^20250625git121ab15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Feb 15 2025 Dominik Mierzejewski - 1.3.0^20250625git121ab15-1 +- update to git 121ab15 + +* Sun Jan 19 2025 Fedora Release Engineering - 1.3.0^20230922git9defefa-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +- fix build with GCC 15 + +* Sat Jul 20 2024 Fedora Release Engineering - 1.3.0^20230922git9defefa-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Mar 21 2024 Dominik Mierzejewski - 1.3.0^20230922git9defefa-1 +- update to latest git snapshot +- drop obsolete patch +- use modern macros +- run the test suite in %check +- fixes: CVE-2023-37732 CVE-2023-31975 CVE-2021-33454 + +* Sat Jan 27 2024 Fedora Release Engineering - 1.3.0-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Nov 22 2023 Nick Clifton - 1.3.0-19 +- Spec File: Migrated to SPDX license. (#2222115) + +* Sat Jul 22 2023 Fedora Release Engineering - 1.3.0-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.3.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 1.3.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.3.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.3.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jan 28 2021 Fedora Release Engineering - 1.3.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.3.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 1.3.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1.3.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 1.3.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 1.3.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 1.3.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.3.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 1.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Oct 01 2015 Christian Dersch - 1.3.0-2 +- Fixed bogus date (RHBZ #1190908) + +* Wed Sep 30 2015 Christian Dersch - 1.3.0-1 +- new version +- spec cleanup + +* Fri Jun 19 2015 Fedora Release Engineering - 1.2.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 1.2.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 1.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 1.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Oct 17 2012 Mikolaj Izdebski - 1.2.0-3 +- Add missing Provides: bundled(md5-plumb) + +* Sun Jul 22 2012 Fedora Release Engineering - 1.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Thu Mar 15 2012 Matthias Saou 1.2.0-1 - Update to 1.2.0 (#750234). - Minor spec file cleanups (keep EPEL compatibility, #802162). @@ -155,7 +298,7 @@ rm -rf %{buildroot} * Sun May 22 2005 Jeremy Katz - 0.4.0-4 - rebuild on all arches -* Fri Apr 7 2005 Michael Schwendt +* Thu Apr 7 2005 Michael Schwendt - rebuilt * Mon Feb 14 2005 David Woodhouse 0.4.0-2