Description

Event driven web and concurrency framework

Package Information

Version0.7.30-alpha.5 (2016-Aug-24)
Homepage http://vibed.org/
Repository https://github.com/rejectedsoftware/vibe.d
LicenseMIT
CopyrightCopyright © 2012-2016 rejectedsoftware e.K.
AuthorsSönke Ludwig, Jan Krüger, Matthias Dondorff, see github for more
Registered bySönke Ludwig
Sub packages
vibe-d:core
Basic I/O and concurrency primitives, as well as low level utility functions
vibe-d:utils
Low level utility functionality
vibe-d:data
Data format and serialization support
vibe-d:http
HTTP server and client implementation and higher level HTTP functionality
vibe-d:mail
SMTP client support
vibe-d:diet
Diet HTML template system
vibe-d:mongodb
MongoDB database client implementation
vibe-d:redis
Redis database client implementation
vibe-d:web
High level web and REST service framework
Dependencies

vibe-d:redis

vibe-d:data

vibe-d:core

vibe-d:mongodb

vibe-d:diet

vibe-d:web

vibe-d:utils

vibe-d:http

vibe-d:mail

System dependenciesOptionally libevent 2.0.x, OpenSSL 1.0.x

Installation

To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Readme

vibe.d

vibe.d is a high-performance asynchronous I/O, concurrency and web application toolkit written in D. It already contains many supplemental features such as database support to be able to offer a complete development environment. For more specialized needs, there are also many compatible DUB packages available.

Visit the website at http://vibed.org/ for more information.

Build Status

Support

Vibe.d aims to support at least the 3 latest minor releases of D. At the moment, the following compilers are supported and tested:

  • DMD 2.070.0
  • DMD 2.069.2
  • DMD 2.068.2
  • DMD 2.067.1
  • LDC 0.17.0-beta.2 (FE: 2.068.2)
  • LDC 0.16.1 (FE: 2.067.1)

Up to 0.7.27:

  • DMD 2.066
  • GDC 5.2.0
  • GDC 4.9.2
  • LDC 0.15.1

Installation

Instead of explicitly installing vibe.d, it is recommended to use DUB for building vibe.d based applications. Once DUB is installed, you can create and run a new project using the following shell commands:

dub init <name> -t vibe.d
cd <name>
dub

Similarly, you can run an example by invoking dub from any of the example project directories.

Note that on non-Windows operating systems, you also need to have libevent and OpenSSL installed - and of course a D compiler. See below for instructions.

Additional setup on Windows

Note for building on Win64

There are currently no 64-bit Windows binaries of libevent included, so you'll either need to build those yourself, or you can switch to the "win32" event driver by inserting "subConfigurations": {"vibe-d": "win32"} into the dub.json file of your project.

Additional setup on Mac using brew

If you don't have brew installed, install it according to their install instructions and install libevent.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install libevent

You can then also install DUB using brew:

brew install dub

(Note: Install brew only if you do not have macports, as they will conflict)

Install DMD using the installer on http://dlang.org/download.html.

Optionally, run ./setup-mac.sh to create a user/group pair for privilege lowering.

Additional setup on Linux (Debian/Ubuntu/Mint)

Install vibe.d's dependencies (*)

sudo apt-get install libevent-dev libssl-dev


On 32-bit linux: Install DMD-i386

sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.068.2/dmd_2.068.2-0_i386.deb"
sudo dpkg -i dmd_2.068.2-0_i386.deb


On 64-bit linux: Install DMD-amd64

sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.068.2/dmd_2.068.2-0_amd64.deb"
sudo dpkg -i dmd_2.068.2-0_amd64.deb


Optionally, run ./setup-linux.sh to create a user/group pair for privilege lowering.

(*) Note that Debian 6 (Squeeze) and older requires manual installation (see below).

Additional setup on Linux (generic)

You need to have the following dependencies installed:

Optionally, run ./setup-linux.sh to create a user/group pair for privilege lowering.

(*) Note that some Linux distributions such as Debian Squeeze or CentOS 6 may only ship libevent 1.4, in this case you will have to manually compile the latest 2.0.x version:

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar -xf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install
ldconfig

Additional setup on FreeBSD

Install the DMD compiler and vibe.d's dependencies using portupgrade or a similar mechanism:

sudo portupgrade -PN devel/libevent2 devel/pkgconf

Optionally, run ./setup-freebsd.sh to create a user/group pair for privilege lowering.

Available versions

0.8.0-beta.5 0.8.0-beta.4 0.8.0-beta.3 0.8.0-beta.2 0.8.0-beta.1 0.8.0-alpha.1 0.7.32-alpha.1 0.7.31 0.7.31-rc.3 0.7.31-rc.2 0.7.31-rc.1 0.7.31-beta.2 0.7.31-beta.1 0.7.31-alpha.1 0.7.30 0.7.30-rc.2 0.7.30-rc.1 0.7.30-beta.1 0.7.30-alpha.5 0.7.30-alpha.4 0.7.30-alpha.3 0.7.30-alpha.2 0.7.30-alpha.1 0.7.29 0.7.29-rc.1 0.7.29-beta.2 0.7.29-beta.1 0.7.29-alpha.3 0.7.29-alpha.2 0.7.29-alpha.1 0.7.28 0.7.28-alpha.1 0.7.27 0.7.27-rc.2 0.7.27-rc.1 0.7.27-beta.1 0.7.27-alpha.3 0.7.27-alpha.2 0.7.27-alpha.1 0.7.26 0.7.26-rc.3 0.7.26-rc.2 0.7.26-rc.1 0.7.26-beta.1 0.7.26-alpha.3 0.7.26-alpha.2 0.7.26-alpha.1 0.7.25 0.7.25-rc.1 0.7.25-alpha.1 0.7.24 0.7.24-rc.2 0.7.24-rc.1 0.7.24-beta.4 0.7.24-beta.3 0.7.24-beta.2 0.7.24-beta.1 0.7.23 0.7.23-rc.4 0.7.23-rc.3 0.7.23-rc.2 0.7.23-rc.1 0.7.23-beta.2 0.7.23-beta.1 0.7.22 0.7.22-rc.1 0.7.21 0.7.21-rc.4 0.7.21-rc.3 0.7.21-rc.2 0.7.21-rc.1 0.7.21-beta.4 0.7.21-beta.3 0.7.21-beta.2 0.7.21-beta.1 0.7.21-alpha.4 0.7.21-alpha.3 0.7.21-alpha.2 0.7.21-alpha.1 0.7.20 0.7.20-rc.2 0.7.20-rc.1 0.7.20-beta.3 0.7.20-beta.2 0.7.20-beta.1 0.7.20-alpha.1 0.7.19 0.7.19+openssl-1.0.1g 0.7.19-rc.4 0.7.19-rc.3 0.7.19-rc.2 0.7.19-rc.1 0.7.19-beta.4 0.7.19-beta.3 0.7.19-beta.2 0.7.19-beta.1 0.7.18 0.7.18-rc.3 0.7.18-rc.2 0.7.18-rc.1 ~master ~http2-botan-cleanup ~http2-botan ~0.7.x