Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dmd for openSUSE:Factory checked in at 2022-12-15 19:25:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dmd (Old) and /work/SRC/openSUSE:Factory/.dmd.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dmd" Thu Dec 15 19:25:10 2022 rev:31 rq:1042977 version:2.101.0 Changes: -------- --- /work/SRC/openSUSE:Factory/dmd/dmd.changes 2021-12-28 12:26:56.956499020 +0100 +++ /work/SRC/openSUSE:Factory/.dmd.new.1835/dmd.changes 2022-12-15 19:25:32.776172738 +0100 @@ -1,0 +2,133 @@ +Thu Dec 1 11:03:47 UTC 2022 - Fabian Vogt <fv...@suse.com> + +- Bootstrap using gdmd instead of prebuilt binaries + +------------------------------------------------------------------- +Wed Nov 16 16:55:52 UTC 2022 - Chris Josten <chris+s...@netsoj.nl> + +- Build using the build.d script, as opposed to the deprecated + posix.mak +- Remove dmd_use_tarball_bootstrap.diff patch as it is no longer + needed +- Update to version 2.101.0 + * Compiler changes + * Add bit fields to D + * Added __traits(classInstanceAlignment) + * Relaxed pragma(crt_constructor) / pragma(crt_destructor) + linkage check + * Add predefined version D_Optimized when compiling with -O + * Throwing from contracts of nothrow functions has been + deprecated + * Using integers for version or debug conditions has been + deprecated + * Print deprecations for scope pointer errors + * Improvements for the C++ header generation + * -preview=fixImmmutableConv has been added + * Returning a discarded void value from a function is now + deprecated + * ImportC now recognizes the typeof(...) operator + * Removed the -transition=markdown and -revert=markdown + switches + * new can now allocate an associative array + * -preview=in can now be used with extern(C++), disabled for + other non-D linkage + * The shortened method syntax is now available by default. + * Source files may no longer contain Unicode directionality + overrides + * Runtime changes + * Added avx512f detection to core.cpuid + * --DRT-oncycle=deprecate is removed + * Posix (excl. Darwin): Switch default GC signals from + SIGUSR1/2 to SIGRTMIN/SIGRTMIN+1 + * Library changes + * Added SafeRefCounted, that can be used in @safe with + -preview=dip1000. + * Move logger out of experimental. + * remove std.experimental.logger's capability to set the minimal + LogLevel at compile time + * Change std.experimental.logger.core.sharedLog to return + shared(Logger) + * std.experimental.typecons has been removed + * std.digest.digest has been removed + * std.xml has been removed + * std.socket.Socket methods now accept only scope arrays. + * Add custom fill value to std.outbuffer.OutBuffer class + +- Update to version 2.100.2 + * Compiler changes + * scope(failure) blocks that contain return statements are + now deprecated + +- Update to version 2.100.1 + * Compiler changes + * scope(failure) blocks that contain return statements are + now deprecated + +- Update to version 2.100.0 + * Compiler changes + * End deprecation period for using alias this for partial + assignment. + * The deprecation period for D1-style operators has ended. + * scope as a type constraint on class, struct, and enum + declarations is deprecated. + * The deprecation period of unannotated asm blocks has been + ended. + * The deprecation period of the delete keyword has been ended. + * Improvements for the C++ header generation + * The deprecation period for scope as a type constraint on + interface declarations has ended. + * The inout attribute no longer implies the return attribute + * Support contract invariant version identifier. + * Implement DIP 1038: @mustuse + * Added .tupleof property for static arrays + * Usage of this and super as types has been removed + * A missed case of switch case fallthrough has been deprecated + + * Library changes + * New function bind in std.functional + * Nullable in std.typecons can now act as a range + * Zlib updated to 1.2.12 + + * Tools changes + * rdmd now supports specifying the D compiler using the RDMD_DMD + environment variable + +- Update to version 2.099.1 + * Compiler changes + * Special case for __traits(parameters) in foreach loops + was removed + * Library changes + * std.experimental.logger default level changed to info instead + of warning + +- Update to version 2.099.0 + * Compiler changes + * When ref scope return attributes are used on a parameter, + and return scope appears, the return applies to the scope, + not the ref. + * __traits(parameters) has been added to the compiler. + * Add ability to import modules to ImportC + * Casting between compatible sequences + * New command line switch -vasm which outputs assembler code + per function + * The '-preview=intpromote' switch is now set by default. + * -m32 now produces MS Coff objects when targeting windows + * Ignore unittests in non-root modules + * main can now return type noreturn and supports return inference + * Falling through switch cases is now an error + * Throw expression as proposed by DIP 1034 have been implemented + * Added __traits(initSymbol) to obtain aggregate initializers + + * Runtime changes + * Add support for @safe class opEquals + + * Library changes + * Move checkedint out of experimental. + * chunkBy @safe with forward ranges and splitWhen fully @safe + * std.csv can now optionally handle csv files with variable + number of columns. + * Change default log level for std.experimental.logger to + LogLevel.warning + * std.conv.to accepts std.typecons tuples + +------------------------------------------------------------------- Old: ---- dmd-2.098.1.tar.gz dmd.2.078.0.linux.tar.xz dmd_use_tarball_bootstrap.diff druntime-2.098.1.tar.gz phobos-2.098.1.tar.gz New: ---- dmd-2.101.0.tar.gz phobos-2.101.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dmd.spec ++++++ --- /var/tmp/diff_new_pack.hxVxK7/_old 2022-12-15 19:25:34.204180863 +0100 +++ /var/tmp/diff_new_pack.hxVxK7/_new 2022-12-15 19:25:34.212180908 +0100 @@ -1,7 +1,7 @@ # # spec file for package dmd # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,23 +16,18 @@ # -%define bootstrap_version 2.078.0 -%define sover 0_98 -%define auto_bootstrap 1 +%define sover 0_101 +%define bootstrap_with_gdmd 1 Name: dmd -Version: 2.098.1 +Version: 2.101.0 Release: 0 Summary: D Programming Language 2.0 License: BSL-1.0 Group: Development/Languages/Other URL: https://dlang.org/ Source: https://github.com/D-Programming-Language/dmd/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Source1: https://github.com/D-Programming-Language/druntime/archive/v%{version}.tar.gz#/druntime-%{version}.tar.gz Source2: https://github.com/D-Programming-Language/phobos/archive/v%{version}.tar.gz#/phobos-%{version}.tar.gz -Source8: http://downloads.dlang.org/releases/2.x/%{bootstrap_version}/dmd.%{bootstrap_version}.linux.tar.xz Source9: dmd.conf -# PATCH-FIX-OPENSUSE dmd_use_tarball_bootstrap.diff So the tarball is not downloaded -Patch0: dmd_use_tarball_bootstrap.diff BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: git @@ -43,7 +38,13 @@ %ifarch i586 #!BuildIgnore: gcc-PIE %endif -%if !%{auto_bootstrap} +%if %{bootstrap_with_gdmd} +%if 0%{?suse_version} < 1550 +%global gdc_version 10 +%global gdc_suffix -%{gdc_version} +%endif +BuildRequires: gdmd%{?gdc_suffix} +%else BuildRequires: dmd BuildRequires: phobos-devel-static %endif @@ -90,36 +91,37 @@ %prep %setup -q -%setup -q -T -D -a 1 %setup -q -T -D -a 2 -%patch0 -p1 -echo %{version} > phobos-%{version}/VERSION + cd %{_builddir} ln -s dmd-%{version} dmd -ln -s druntime-%{version} druntime ln -s phobos-%{version} phobos -mv dmd-%{version}/druntime-%{version} . mv dmd-%{version}/phobos-%{version} . +echo %{version} > phobos/VERSION + %build # dmd cd .. -pushd dmd - make %{?_smp_mflags} -f posix.mak \ - %if %{auto_bootstrap} - AUTO_BOOTSTRAP=1 \ - HOST_DMD_VER=%{bootstrap_version} \ - %endif - BUILD=release \ - PIC=1 \ - ENABLE_RELEASE=1 +export AUTO_BOOTSTRAP=0 +export ENABLE_RELEASE=1 +export PIC=1 +%if %{bootstrap_with_gdmd} +export HOST_DMD=%{_bindir}/gdmd%{?gdc_suffix} +%else +export HOST_DMD=%{_bindir}/dmd +%endif + +pushd dmd/compiler/src + $HOST_DMD -O build.d + ./build dmd popd # druntime -pushd druntime +pushd dmd/druntime make %{?_smp_mflags} -f posix.mak \ BUILD=release \ - DMD="../dmd/generated/linux/release/*/dmd" \ + DMD="../generated/linux/release/*/dmd" \ PIC=1 \ ENABLE_RELEASE=1 popd @@ -133,6 +135,20 @@ ENABLE_RELEASE=1 popd +%if %{bootstrap_with_gdmd} +# dmd was built with gdmd, now build dmd with that dmd +pushd dmd/compiler/src + mv ../../generated/linux/release/*/ gdmd-built-dmd/ + cat gdmd-built-dmd/dmd.conf + sed -i 's#P%/..#P%#g' gdmd-built-dmd/dmd.conf + export HOST_DMD=$PWD/gdmd-built-dmd/dmd + cat gdmd-built-dmd/dmd.conf + + $HOST_DMD -O build.d + ./build dmd +popd +%endif + %install # install files manually since the install script distributed put files all over the place # dmd @@ -143,13 +159,13 @@ install -Dm644 %{_sourcedir}/dmd.conf %{buildroot}%{_sysconfdir}/dmd.conf install -dm755 %{buildroot}%{_mandir} -cp -r %{_builddir}/dmd/docs/man/* %{buildroot}%{_mandir}/ +cp -r %{_builddir}/dmd/compiler/docs/man/* %{buildroot}%{_mandir}/ install -dm755 %{buildroot}%{_datadir}/licenses/dmd install -Dm644 %{_builddir}/dmd/LICENSE.txt %{buildroot}%{_datadir}/licenses/dmd/LICENSE.txt install -dm755 %{buildroot}%{_datadir}/%{name}/samples -cp -r %{_builddir}/dmd/samples/* %{buildroot}%{_datadir}/dmd/samples/ +cp -r %{_builddir}/dmd/compiler/samples/* %{buildroot}%{_datadir}/dmd/samples/ # phobos install -dm755 %{buildroot}%{_libdir} @@ -157,7 +173,7 @@ install -dm755 %{buildroot}%{_includedir}/dlang/dmd cp -r %{_builddir}/phobos/{*.d,etc,std} %{buildroot}%{_includedir}/dlang/dmd -cp -r %{_builddir}/druntime/import/* %{buildroot}%{_includedir}/dlang/dmd/ +cp -r %{_builddir}/dmd/druntime/import/* %{buildroot}%{_includedir}/dlang/dmd/ %fdupes %{buildroot} ++++++ dmd-2.098.1.tar.gz -> dmd-2.101.0.tar.gz ++++++ ++++ 1743470 lines of diff (skipped) ++++++ phobos-2.098.1.tar.gz -> phobos-2.101.0.tar.gz ++++++ ++++ 58279 lines of diff (skipped)