d-apt - APT repository for D

D Programming Language Specifications


d-apt changed the distribution name from "dmd" to "d-apt".

download the last "d-apt.list" to update.

legacy distribution will be unavailable from dmd v2.067.0 release.

APT repository for D

"d-apt" is an APT repository to easily install/upgrade D binary packages on systems like Debian, Ubuntu, LinuxMint, etc.

To enable it, add the repository sources:

$ sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list

then update local info and install "d-apt" public key (fingerprint 0xEBCF975E5BA24D5E):

$ sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring && sudo apt-get update

List of available packages:

Packages of shared libraries ends their names with the supported dmd version number.
This allows to install several versions of the same shared library.
Packages listed below ending with "nn" are shared libraries. This "nn" must be replaced by the given version.
Phobos2 shared library for "dmd" v2.066.1 ends its name with "66" ("libphobos2-nn" -> "libphobos2-66").
TkD shared library for "dmd" v2.065.0 ends its name with "65" ("libtkd-nn" -> "libtkd-65").

Installing packages:

i.e. install GtkD2 development files and documentation:

$ sudo apt-get install libgtkd2-dev libgtkd2-doc

or just install GtkD2 runtime shared library:

$ sudo apt-get install libgtkd2-nn

Installing legacy packages:

i.e. install GtkD2 development files for dmd v2.064.2:

$ sudo apt-get install dmd-bin=2.064.2-0 libphobos2-dev=2.064.2-0 libgtkd2-dev=2.3.0~2013.11.18-0

prevent or allow packages from being automatically upgraded:

$ sudo apt-mark {hold | unhold} dmd-bin libphobos2-dev libgtkd2-dev

display all available versions of each package:

$ apt-cache madison dmd-bin libphobos2-dev libgtkd2-dev


Every dev package contains "pkg-config" (shared and static) configuration files for the specific library.

i.e. link GtkD2 applications against "libgtkd2.so" and "libphobos2.so" shared libraries:

$ dmd `pkg-config --cflags --libs gtkd2` my_gtkd2_app.d

or link GtkD2 applications against "libgtkd2.a" and "libphobos2.a" static libraries:

$ dmd `pkg-config --cflags --libs gtkd2-static` my_gtkd2_app.d


On 64-bit multiarch systems (like Ubuntu 12.04 and Debian 7.0), it is allowed to compile and link to 32-bit.

i.e. compile GtkD2 applications to 32-bit on a 64-bit Linux system:

$ sudo apt-get install libgtkd2-dev:i386
$ dmd -m32 `pkg-config --cflags --libs gtkd2` my_gtkd2_app.d


Use soname to link against curl shared library:

$ dmd -L-l:libcurl.so.4 my_d_curl_app.d


Every doc package contains the related documentation with a system menu entry. It also contains examples if any.

contact: g.sayol at yahoo dot es