diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix new file mode 100644 index 00000000000..bd934b6cf73 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, automake, autoconf, pkgconfig, glib, openssl, expat +, ncurses, libotr, curl, libstrophe + +, autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null +, notifySupport ? false, libnotify ? null, gdk_pixbuf ? null +}: + +assert autoAwaySupport -> libXScrnSaver != null && libX11 != null; +assert notifySupport -> libnotify != null && gdk_pixbuf != null; + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "profanity-${version}"; + version = "0.4.5"; + + src = fetchurl { + url = "http://www.profanity.im/profanity-${version}.tar.gz"; + sha256 = "0qzwqxcxf695z3gf94psd2x619vlp4hkkjmkrpsla1ns0f6v6dkl"; + }; + + buildInputs = [ + automake autoconf pkgconfig + glib openssl expat ncurses libotr curl libstrophe + ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ] + ++ optionals notifySupport [ libnotify gdk_pixbuf ]; + + preConfigure = "sh bootstrap.sh"; + + meta = { + description = "A console based XMPP client"; + longDescription = '' + Profanity is a console based XMPP client written in C using ncurses and + libstrophe, inspired by Irssi. + ''; + homepage = http://profanity.im/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.devhell ]; + }; +} diff --git a/pkgs/development/libraries/libstrophe/default.nix b/pkgs/development/libraries/libstrophe/default.nix new file mode 100644 index 00000000000..b4757831899 --- /dev/null +++ b/pkgs/development/libraries/libstrophe/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, automake, autoconf, libtool, openssl, expat, pkgconfig, check }: + +stdenv.mkDerivation rec { + name = "libstrophe-${version}"; + version = "0.8.7"; + + src = fetchFromGitHub { + owner = "strophe"; + repo = "libstrophe"; + rev = version; + sha256 = "1iic8xbcxh21dzns8m9kkz0cj5f3ppn414gnhyh4y2wcjsz6hp8l"; + }; + + buildInputs = [ automake autoconf openssl expat libtool pkgconfig check ]; + + dontDisableStatic = true; + + preConfigure = "mkdir m4 && sh bootstrap.sh"; + + doCheck = true; + + meta = { + description = "A simple, lightweight C library for writing XMPP clients"; + longDescription = '' + libstrophe is a lightweight XMPP client library written in C. It has + minimal dependencies and is configurable for various environments. It + runs well on both Linux, Unix, and Windows based platforms. + ''; + homepage = http://strophe.im/libstrophe/; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.devhell ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 468bc0839f1..c3b45fbc821 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6232,6 +6232,8 @@ let libstartup_notification = callPackage ../development/libraries/startup-notification { }; + libstrophe = callPackage ../development/libraries/libstrophe { }; + libspatialindex = callPackage ../development/libraries/libspatialindex { }; libspatialite = callPackage ../development/libraries/libspatialite { }; @@ -10715,6 +10717,11 @@ let # And I don't want to rewrite all rules procmail = callPackage ../applications/misc/procmail { }; + profanity = callPackage ../applications/networking/instant-messengers/profanity { + notifySupport = config.profanity.notifySupport or true; + autoAwaySupport = config.profanity.autoAwaySupport or true; + }; + pstree = callPackage ../applications/misc/pstree { }; pulseview = callPackage ../applications/science/electronics/pulseview { };