diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 9f6177c..0000000 --- a/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -yasm-0.6.2.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4123fef --- /dev/null +++ b/.gitignore @@ -0,0 +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/Makefile b/Makefile deleted file mode 100644 index e0f47c8..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: yasm -# $Id$ -NAME := yasm -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/sources b/sources index dfa4771..3f7a801 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a9d5508702991de2bdd0903b8ba680ba yasm-0.6.2.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 acdf109..d5c9461 100644 --- a/yasm.spec +++ b/yasm.spec @@ -1,14 +1,38 @@ -Summary: Complete rewrite of the NASM assembler +%global git 1 +%global commit 121ab150b3577b666c79a79f4a511798d7ad2432 +%global date 20250625 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Summary: Modular Assembler Name: yasm -Version: 0.6.2 -Release: 2%{?dist} +Version: 1.3.0^%{date}git%{shortcommit} +Release: 5%{?dist} # See COPYING for the detail, there is quite a lot! -License: BSD and (Artistic or GPLv2+ or LGPLv2+) and LGPLv2 -Group: Development/Languages -URL: http://www.tortall.net/projects/yasm/ +# 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 @@ -20,9 +44,10 @@ overall design is an optimizer module. %package devel -Summary: Header files and static libraries for yasm -Group: Development/Libraries +Summary: Header files and static libraries for the yasm Modular Assembler 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 @@ -35,36 +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} - - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - +%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 @@ -73,7 +103,166 @@ Install this package if you need to rebuild applications that use yasm. %changelog -* Tue Feb 19 2008 Fedora Release Engineering - 0.6.2-2 +* 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). + +* Sat Jan 14 2012 Fedora Release Engineering - 1.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 1.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Aug 15 2010 Matthias Saou 1.1.0-1 +- Update to 1.1.0 (#622240). + +* Thu Jul 29 2010 Matthias Saou 1.0.1-2 +- Provide static sub-package from devel (#609626). + +* Sun May 23 2010 Matthias Saou 1.0.1-1 +- Update to 1.0.1 (#593250). + +* Wed Apr 28 2010 Matthias Saou 1.0.0-1 +- Update to 1.0.0 (#580872). +- Include new vsyasm binary. + +* Mon Dec 7 2009 Matthias Saou 0.8.0-1 +- Update to 0.8.0 (#523729). +- Include new ytasm binary. + +* Mon Jul 27 2009 Fedora Release Engineering - 0.7.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 0.7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Dec 24 2008 Matthias Saou 0.7.2-1 +- Update to 0.7.2. +- Remove useless /sbin/ldconfig calls, as we don't ship any shared library. +- Update summary. + +* Sat Sep 6 2008 Tom "spot" Callaway 0.7.1-2 +- fix license tag so that it doesn't trigger a false positive on the check + script. + +* Tue May 20 2008 Matthias Saou 0.7.1-1 +- Update to 0.7.1. + +* Tue May 13 2008 Matthias Saou 0.7.0-1 +- Update to 0.7.0. + +* Tue Feb 19 2008 Fedora Release Engineering - Autorebuild for GCC 4.3 * Mon Sep 24 2007 Matthias Saou 0.6.2-1 @@ -109,7 +298,7 @@ Install this package if you need to rebuild applications that use yasm. * 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