◆ dnf で dmd のインストールしようとすると fedora のパッケージにはなくて RPM Sphere にある
◆ 入れてみたけどすごく古い
◆ 公式のインストールスクリプトでのインストールも簡単

D 言語を使えるようにコンパイラをインストールしようとしました
昔使った覚えはあるのに dnf で検索しても dmd は引っかかりません

RPM Sphere

ここをみると RPM Sphere というところにあるようです
https://pkgs.org/download/dmd

Fedora 27
Fedora i386
perl-Crypt-PasswdMD5-1.4.0-10.fc27.noarch.rpm
Provides interoperable MD5-based crypt() functions
Fedora x86_64
perl-Crypt-PasswdMD5-1.4.0-10.fc27.noarch.rpm
Provides interoperable MD5-based crypt() functions
RPM Sphere all
dmd-2.066.1-19.1.x86_64.rpm
The D Programming Language reference compiler
dmd-2.066.1-19.1.aarch64.rpm
The D Programming Language reference compiler

だけどリンク先の Install Howto ところに書いてある設定が 改行もないし途中で 「...」 で省略されてるという致命的なものです
RPM Sphere というのは聞き覚えあるので 昔 fedora 使ってたときに入れたことがあるのかもしれません

調べてみたら今は home:zhonghuaren って名前になってるみたいです
Sphere のほうが響きが良かったです
というか zhonghuaren って誰?そもそもなんて読むの? スペル的にたぶんドイツ語?
とりあえず z なんとかさんの home みたいです

調べてみると このリポジトリは

$ sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/home:zhonghuaren/Fedora_27/home:zhonghuaren.repo

コマンドで追加できるようです
よくみたら URL に opensuse という文字がありますね
opensuse のパッケージを fedora で使えるようにしたプロジェクトでしょうか?

実行して追加された設定はこうなっていました

$ cat /etc/yum.repos.d/home:zhonghuaren.repo

[home_zhonghuaren]
name=RPM Sphere (Fedora_27)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/home:/zhonghuaren/Fedora_27/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/home:/zhonghuaren/Fedora_27/repodata/repomd.xml.key
enabled=1

直接この設定ファイルを書いても大丈夫だと思います

name は RPM Sphere になっています
ところで dnf になって結構立ちますが フォルダ名は未だに yum.repos.d なんですよね

バージョンが古い

リポジトリを追加したのでインストールしてバージョンを見てました

dmd.x86_64 2.066.1-19.1

changelog をみると 「released October 15, 2014」
https://dlang.org/changelog/2.066.1.html

さすがにちょっと古すぎないでしょうか
最新版は 2.079.1 で 「released Apr 14, 2018」 です
もうメンテされてない予感がします

dmd しか見てませんが RPM Sphere 自体 最近は全然聞かないものでしたし とりあえず fedora バージョンアップしてもダウンロードできるようにしてるだけでパッケージは全然更新されないという状態なのかもしれませんね

(追記)
Racket 入れてみたのですが これも古く 2016 年 10 月リリースの 6.7 でした

最新版 dmd

公式サイトに行ってみると 意外といろいろな OS やパッケージマネージャでのインストールが提供されてます

dmd-inst1

dmd-inst2

ここまで揃ってるのに なぜか dnf のパッケージマネージャがないです
https://dlang.org/

バイナリでは fedora 用も提供されてますがインストールスクリプトがあるのでそれに任せます

curl -fsS https://dlang.org/install.sh | bash -s dmd

実行すると

[useeer@fedora]~% curl -fsS https://dlang.org/install.sh | bash -s dmd

Downloading https://dlang.org/d-keyring.gpg
######################################################################## 100.0%
Downloading https://dlang.org/install.sh
######################################################################## 100.0%
The latest version of this script was installed as ~/dlang/install.sh.
It can be used it to install further D compilers.
Run `~/dlang/install.sh --help` for usage information.

Downloading and unpacking http://downloads.dlang.org/releases/2.x/2.079.0/dmd.2.079.0.linux.tar.xz
######################################################################## 100.0%
Using dub 1.8.0 shipped with dmd-2.079.0

Run `source ~/dlang/dmd-2.079.0/activate` in your shell to use dmd-2.079.0.
This will setup PATH, LIBRARY_PATH, LD_LIBRARY_PATH, DMD, DC, and PS1.
Run `deactivate` later on to restore your environment.

これでインストールは完了です

activate するのにコマンド実行が必要みたいです
実行するとパスなど環境変数を設定してくれるみたいです

[useeer@fedora]~% source ~/dlang/dmd-2.079.0/activate
(dmd-2.079.0)[useeer@fedora]~% dmd
DMD64 D Compiler v2.079.0
Copyright (C) 1999-2018 by The D Language Foundation, All Rights Reserved written by Walter Bright

(略)

プロンプトの前に dmd って付くのがちょっと邪魔です