7 Commits

Author SHA256 Message Date
89ed93fb11 Accepting request 1326949 from devel:languages:D
OBS-URL: https://build.opensuse.org/request/show/1326949
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dmd?expand=0&rev=43
2026-01-13 20:34:15 +00:00
686be84cc6 - use embedded rdmd.d instead of dowloading from URL
OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=114
2026-01-13 11:31:40 +00:00
d14450cf24 - Update to version 2.112.0
* Compiler changes
    + The compiler now lowers associative array operations to a templated
      implementation in druntime
    + Keywords auto and ref must be adjacent for auto ref return
    + Bitfields Are Now Incorporated
    + An error is now issued for dangling else statements
    + The compiler now accepts -extern-std=c++23
    + External import path switch
    + C files can now include a module statement
    + Implicit integer conversions in int op= float assignments has been 
      deprecated
  * Runtime changes
    + Templatized _d_arraysetlengthT to remove TypeInfo dependency
    + Templatize _d_arrayappendcTX runtime hook
    + Templatize _d_arraysetcapacity runtime hook
    + core.int128: Add mul and udivmod overloads for 64-bit operands
    + Fixed generated binaries crashing on macOS 15.4
    + C Macro translations in druntime have been translated to templates
  * Library changes
    + Add lazyCache to std.algorithm.iteration
    + getrandom() backwards compatibility shim
    + Add an internal multi-backend entropy system
    + std.uni has been upgraded from Unicode 16.0.0 to 17.0.0
    + Add uuid v7 support to std.uuid
    + Add writeText, writeWText, and writeDText to std.conv
- Added direct link URL for rdmd.d

OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=113
2026-01-09 17:44:25 +00:00
b61977f8df Accepting request 1267281 from devel:languages:D
OBS-URL: https://build.opensuse.org/request/show/1267281
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dmd?expand=0&rev=42
2025-04-07 15:37:11 +00:00
3be25695f1 - Update to version 2.111.0
* Compiler changes
    + Storage classes ref and auto ref can now be applied to local, static, 
      extern, and global variables
    + Keywords auto and ref must be adjacent
    + The align attribute now allows specifying default explicitly
    + Remove delete as a keyword
    + Case fallthough for multivalued cases is an error now
    + An error is now given for constructors when a field's destructor has 
      stricter attributes
    + Initializing a field with itself has been deprecated
    + An error is now given for subtracting pointers of different types
    + An error is now issued for in/out contracts of nothrow functions that may
      throw
    + Typesafe variadic class parameters have been deprecated
    + Integers in debug or version statements have been removed from the 
      language
    + Many error messages have changed
    + The compiler now accepts -extern-std=c++23
    + Build time profiling has been added to DMD
    + New traits getBitfieldOffset and getBitfieldWidth for built-in bitfields
    + Using the compiler flag -i will now properly pick up C source files
    + A pragma for ImportC allows to set nothrow, @nogc or pure
    + Mixin templates can now use assignment syntax
    + Object file extensions .o and .obj are now accepted on all platforms
    + Objective-C selectors are now automatically generated when not specified
      with @selector.
    + New compiler switch -oq for DMD
    + Added Placement New Expression
    + Postfix type qualifier method attributes for -H and -D

OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=111
2025-04-05 13:15:05 +00:00
dd3fa4134b Accepting request 1250764 from devel:languages:D
OBS-URL: https://build.opensuse.org/request/show/1250764
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dmd?expand=0&rev=41
2025-03-07 15:40:16 +00:00
f3b12f8f91 - Update to version 2.110.0
* Copying from const(void)[] to void[] is disallowed with -preview=fixImmutableConv
  * Import expressions are now treated as hex strings
  * New trait isCOMClass to detect if a type is a COM class
  * bool values other than 0 or 1 are not @safe
  * dub.selections.json files are now looked up in parent directories too
for details see https://dlang.org/changelog/2.110.0.html#bugfix-list

OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/dmd?expand=0&rev=109
2025-03-06 17:07:33 +00:00
7 changed files with 132 additions and 26 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c2ce18945e3807a1568f6ec6ce0a8f2b88efa472ce0397ea1305fc2a1b8a587
size 6017602

3
dmd-2.112.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:33592dc18855bd113914ca065d9e88018745afaa5fbf85b971fbc1a6663c9ec5
size 6205451

View File

@@ -1,3 +1,108 @@
-------------------------------------------------------------------
Tue Jan 13 11:30:50 UTC 2026 - Andrea Manzini <andrea.manzini@suse.com>
- use embedded rdmd.d instead of dowloading from URL
-------------------------------------------------------------------
Fri Jan 9 15:56:02 UTC 2026 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.112.0
* Compiler changes
+ The compiler now lowers associative array operations to a templated
implementation in druntime
+ Keywords auto and ref must be adjacent for auto ref return
+ Bitfields Are Now Incorporated
+ An error is now issued for dangling else statements
+ The compiler now accepts -extern-std=c++23
+ External import path switch
+ C files can now include a module statement
+ Implicit integer conversions in int op= float assignments has been
deprecated
* Runtime changes
+ Templatized _d_arraysetlengthT to remove TypeInfo dependency
+ Templatize _d_arrayappendcTX runtime hook
+ Templatize _d_arraysetcapacity runtime hook
+ core.int128: Add mul and udivmod overloads for 64-bit operands
+ Fixed generated binaries crashing on macOS 15.4
+ C Macro translations in druntime have been translated to templates
* Library changes
+ Add lazyCache to std.algorithm.iteration
+ getrandom() backwards compatibility shim
+ Add an internal multi-backend entropy system
+ std.uni has been upgraded from Unicode 16.0.0 to 17.0.0
+ Add uuid v7 support to std.uuid
+ Add writeText, writeWText, and writeDText to std.conv
- Added direct link URL for rdmd.d
-------------------------------------------------------------------
Fri Apr 4 09:29:24 UTC 2025 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.111.0
* Compiler changes
+ Storage classes ref and auto ref can now be applied to local, static,
extern, and global variables
+ Keywords auto and ref must be adjacent
+ The align attribute now allows specifying default explicitly
+ Remove delete as a keyword
+ Case fallthough for multivalued cases is an error now
+ An error is now given for constructors when a field's destructor has
stricter attributes
+ Initializing a field with itself has been deprecated
+ An error is now given for subtracting pointers of different types
+ An error is now issued for in/out contracts of nothrow functions that may
throw
+ Typesafe variadic class parameters have been deprecated
+ Integers in debug or version statements have been removed from the
language
+ Many error messages have changed
+ The compiler now accepts -extern-std=c++23
+ Build time profiling has been added to DMD
+ New traits getBitfieldOffset and getBitfieldWidth for built-in bitfields
+ Using the compiler flag -i will now properly pick up C source files
+ A pragma for ImportC allows to set nothrow, @nogc or pure
+ Mixin templates can now use assignment syntax
+ Object file extensions .o and .obj are now accepted on all platforms
+ Objective-C selectors are now automatically generated when not specified
with @selector.
+ New compiler switch -oq for DMD
+ Added Placement New Expression
+ Postfix type qualifier method attributes for -H and -D
+ The folder samples has been removed from DMD installations
+ New keyword __rvalue
+ Add -preview=safer switch for safety checking on unattributed functions
+ Shortened method syntax can now be used in constructors
* Runtime changes
+ Add Windows BCrypt bindings under core.sys.windows.bcrypt
+ Remove criticalRegionLock
+ Adds expect, likely, unlikely, and trap to core.builtins
+ New segfault handler showing backtraces for null access / call stack
overflow on linux
* Library changes
+ Added std.conv.bitCast
+ Extend the functionality of formattedRead to permit a std.file.slurp
like execution.
+ Added fromHexString and fromHexStringAsRange functions to std.digest.
+ ODBC Bindings in etc.c.odbc have been updated to ODBC 4.0.
+ Added popGrapheme function to std.uni.
+ Added readfln and File.readfln to std.stdio
+ Added the SharedAllocatorList, as the thread-safe version of the regular
AllocatorList.
+ New procedural API for std.sumtype
+ std.uni has been upgraded from Unicode 15.1.0 to 16.0.0
-------------------------------------------------------------------
Thu Mar 6 16:47:30 UTC 2025 - Andrea Manzini <andrea.manzini@suse.com>
- Update to version 2.110.0
* Copying from const(void)[] to void[] is disallowed with -preview=fixImmutableConv
* Import expressions are now treated as hex strings
* New trait isCOMClass to detect if a type is a COM class
* bool values other than 0 or 1 are not @safe
* dub.selections.json files are now looked up in parent directories too
for details see https://dlang.org/changelog/2.110.0.html#bugfix-list
-------------------------------------------------------------------
Wed Jul 3 06:44:10 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package dmd
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
#
%define sover 0_109
%define sover 0_112
%define bootstrap_with_gdmd 1
%if %{bootstrap_with_gdmd}
%if 0%{?suse_version} < 1550
@@ -29,7 +29,7 @@ BuildRequires: dmd
BuildRequires: phobos-devel-static
%endif
Name: dmd
Version: 2.109.1
Version: 2.112.0
Release: 0
Summary: D Programming Language 2.0
License: BSL-1.0
@@ -37,6 +37,7 @@ 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
Source2: https://github.com/D-Programming-Language/phobos/archive/v%{version}.tar.gz#/phobos-%{version}.tar.gz
#https://raw.github.com/dlang/tools/master/rdmd.d
Source3: rdmd.d
Source9: dmd.conf
BuildRequires: fdupes
@@ -170,8 +171,7 @@ 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/compiler/samples/* %{buildroot}%{_datadir}/dmd/samples/
install -dm755 %{buildroot}%{_datadir}/%{name}
# phobos
install -dm755 %{buildroot}%{_libdir}

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:28974debe14d18eb58591db0dad3ddd4139e8f34783c3648c86619b67d7ba6f2
size 2781164

3
phobos-2.112.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:99e046c1107bc3f365910f5cb52937483c9a5528f2d4ef543b8690ad66723f16
size 2893445

31
rdmd.d
View File

@@ -805,33 +805,34 @@ private @property string helpString()
{
return
"rdmd build " ~ thisVersion ~ "
Usage: rdmd [RDMD AND DMD OPTIONS]... program [PROGRAM OPTIONS]...
Builds (with dependents) and runs a D program.
Example: rdmd -release myprog --myprogparm 5
Usage: rdmd [RDMD AND DMD OPTIONS...] program [PROGRAM OPTIONS...]
Builds a D program with its dependencies and runs it.
Example: rdmd -release myprog --myprogparameter 5
Any option to be passed to the compiler must occur before the program name. In
addition to compiler options, rdmd recognizes the following options:
Any option to be passed to the compiler must occur before the program name.
In addition to compiler options, rdmd recognizes the following options:
--build-only just build the executable, don't run it
--chatty write compiler commands to stdout before executing them
--compiler=comp use the specified compiler (e.g. gdmd) instead of %s
--dry-run do not compile, just show what commands would be run
(implies --chatty)
--eval=code evaluate code as in perl -e (multiple --eval allowed)
--exclude=package exclude a package from the build (multiple --exclude allowed)
--eval=code evaluate code, similar to perl -e (multiple allowed)
--exclude=package exclude a package from the build (multiple allowed)
--include=package negate --exclude or a standard package (%-(%s, %))
--extra-file=file include an extra source or object in the compilation
(multiple --extra-file allowed)
(multiple allowed)
--force force a rebuild even if apparently not necessary
--help this message
--loop=code like eval, but wraps code in \"foreach (line; stdin.byLine()) { ... }\"
--help show this message
--loop=code --eval, but wraps code in:
foreach (line; stdin.byLine()) { ... }
--main add a stub main program to the mix (e.g. for unittesting)
--makedepend print dependencies in makefile format and exit
(needs dmd's option `-of` to be present)
(needs dmd's option `-of` to be present)
--makedepfile=file print dependencies in makefile format to file and continue
(needs dmd's option `-of` to be present)
--man open web browser on manual page
--shebang rdmd is in a shebang line (put as first argument)
--tmpdir set an alternative temporary directory
(needs dmd's option `-of` to be present)
--man open rdmd's manual in a web browser
--shebang rdmd is in a shebang line (use as first argument)
--tmpdir set an alternative temporary directory to cache compiled code
".format(defaultCompiler, defaultExclusions);
}