Documentation


D Programming Language Specifications

DMD/Phobos Documentation

Archive




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:

Note:
Packages of shared libraries ends their names with the supported dmd version number.
This allows to install several versions of the same shared library.
This fix the API/ABI breaking changes problem on every DMD release.
Packages listed below ending with "nn" are shared libraries. This "nn" must be replaced by the given version.
Examples:
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 GtkD3 development files and documentation:

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

or just install GtkD3 runtime shared library:

$ sudo apt-get install libgtkd3-nn

Installing legacy packages:

i.e. install TkD development files for dmd v2.067.1:

$ sudo apt-get install dmd-bin=2.067.1-0 libphobos2-dev=2.067.1-0 libtkd-dev=1.1.4-0.1

prevent or allow packages from being automatically upgraded:

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

display all available versions of each package:

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

pkg-config:

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

i.e. link GtkD3 applications against "libgtkd3.so" and "libphobos2.so" shared libraries:

$ dmd `pkg-config --cflags --libs gtkd3` my_gtkd3_app.d

or link GtkD3 applications against "libgtkd3.a" and "libphobos2.a" static libraries:

$ dmd `pkg-config --cflags --libs gtkd3-static` my_gtkd3_app.d

MultiArch:

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

Install "gcc-multilib" deb package.

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

$ sudo apt-get install gcc-multilib libgtkd3-dev:i386
$ dmd -m32 `pkg-config --cflags --libs gtkd3` my_gtkd3_app.d

libcurl:

Use soname to link against curl shared library:

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

Documentation:

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