d-apt - APT repository for D

D Programming Language Specifications




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 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

pkg-config:

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

MultiArch:

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

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