From b2557476f75f408eac2a1c9d02ad07ea94c7d59e Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 01:06:02 +0100 Subject: [PATCH 1/7] quazip: Use qt instead of qt5 for refering to Qt. Qt 5 is passed via all-packages.nix, so it doesn't look too odd if you want to build against qt4 instead. Before you'd have to use something like: quazip.override { qt5 = qt4; } Now, it is: quazip.override { qt = qt4; } Signed-off-by: aszlig --- pkgs/development/libraries/quazip/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix index 9eb068bebb0..7b1e70e0eed 100644 --- a/pkgs/development/libraries/quazip/default.nix +++ b/pkgs/development/libraries/quazip/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, zip, zlib, qt5 }: +{ fetchurl, stdenv, zip, zlib, qt }: stdenv.mkDerivation rec { name = "quazip-0.7"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { installFlags = "INSTALL_ROOT=$(out)"; - buildInputs = [ zlib qt5 ]; + buildInputs = [ zlib qt ]; meta = { description = "Provides access to ZIP archives from Qt programs"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22be1d18368..1c9fa640e50 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6591,7 +6591,9 @@ let qoauth = callPackage ../development/libraries/qoauth { }; - quazip = callPackage ../development/libraries/quazip { }; + quazip = callPackage ../development/libraries/quazip { + qt = qt5; + }; qt3 = callPackage ../development/libraries/qt-3 { openglSupport = mesaSupported; From aafc04ef351aa305e3d4ecc73779f2d8fce58385 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 01:16:08 +0100 Subject: [PATCH 2/7] libechonest: Add new package, version 2.3.0. Required as a dependency of the Tomahawk music player. Tests are disabled because they require networking support. Signed-off-by: aszlig --- .../libraries/libechonest/default.nix | 20 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/libechonest/default.nix diff --git a/pkgs/development/libraries/libechonest/default.nix b/pkgs/development/libraries/libechonest/default.nix new file mode 100644 index 00000000000..42a3c5f243b --- /dev/null +++ b/pkgs/development/libraries/libechonest/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, cmake, qt4, qjson, doxygen, boost }: + +stdenv.mkDerivation rec { + name = "libechonest-${version}"; + version = "2.3.0"; + + src = fetchurl { + url = "http://files.lfranchi.com/${name}.tar.bz2"; + sha1 = "cf1b279c96f15c87c36fdeb23b569a60cdfb01db"; + }; + + buildInputs = [ cmake qt4 qjson doxygen boost ]; + enableParallelBuilding = true; + + meta = { + description = "A C++/Qt wrapper around the Echo Nest API"; + homepage = "http://projects.kde.org/projects/playground/libs/libechonest"; + license = stdenv.lib.licenses.gpl2Plus; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1c9fa640e50..9479a0b76b7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5754,6 +5754,8 @@ let libe-book = callPackage ../development/libraries/libe-book {}; + libechonest = callPackage ../development/libraries/libechonest { }; + libev = builderDefsPackage ../development/libraries/libev { }; libevent14 = callPackage ../development/libraries/libevent/1.4.nix { }; From 281a95b454d4c2f569b819cf9fc08cebe90ba834 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 01:21:09 +0100 Subject: [PATCH 3/7] qtkeychain: Add new package, version 0.4.0. Required as a dependency of the Tomahawk music player. Signed-off-by: aszlig --- .../libraries/qtkeychain/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/libraries/qtkeychain/default.nix diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix new file mode 100644 index 00000000000..7d33e95326a --- /dev/null +++ b/pkgs/development/libraries/qtkeychain/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, cmake, qt4 }: + +stdenv.mkDerivation rec { + name = "qtkeychain-${version}"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "frankosterfeld"; + repo = "qtkeychain"; + rev = "v${version}"; + sha256 = "10msaylisbwmgpwd59vr4dfgml75kji8mlfwnwq8yp29jikj5amq"; + }; + + cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=$out/share/qt/translations" ]; + + buildInputs = [ cmake qt4 ]; + + meta = { + description = "Platform-independent Qt API for storing passwords securely"; + homepage = "https://github.com/frankosterfeld/qtkeychain"; + license = stdenv.lib.licenses.BSD3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9479a0b76b7..90bc51933e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6667,6 +6667,8 @@ let qtLib = qt48.override { developerBuild = true; }; }; + qtkeychain = callPackage ../development/libraries/qtkeychain { }; + qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { }; quesoglc = callPackage ../development/libraries/quesoglc { }; From 0a271c00bebd1c004d61a1aabc3daa1b8bbbd777 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 01:22:27 +0100 Subject: [PATCH 4/7] lucenepp: Add new package, version 3.0.6. Required as a dependency of the Tomahawk music player. The latest upstream release needs to be patched quite a bit in order to build and to correctly install the header files. Other distributions seem to largely use the latest Git master version, because all those build problems have been fixed there already. In order to ensure we have version 3.0.6, we just cherry-pick the relevant patches, so as soon as the next upstream version is released we just need to drop the patches/postPatch attributes. The postPatch is needed in order to get rid of the subversion dependency, which the upstream build process tries to use for fetching gtest. We don't have networking support inside the Nix build process, so let's pass that dependency directly. Signed-off-by: aszlig --- .../libraries/lucene++/default.nix | 46 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/libraries/lucene++/default.nix diff --git a/pkgs/development/libraries/lucene++/default.nix b/pkgs/development/libraries/lucene++/default.nix new file mode 100644 index 00000000000..74c7b5e7261 --- /dev/null +++ b/pkgs/development/libraries/lucene++/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, fetchpatch, cmake, boost, gtest }: + +stdenv.mkDerivation rec { + name = "lucene++-${version}"; + version = "3.0.6"; + + src = fetchurl { + url = "https://github.com/luceneplusplus/LucenePlusPlus/" + + "archive/rel_${version}.tar.gz"; + sha256 = "068msvh05gsbfj1wwdqj698kxxfjdqy8zb6pqvail3ayjfj94w1y"; + }; + + patches = let + baseurl = "https://github.com/luceneplusplus/LucenePlusPlus"; + in [ + (fetchpatch { + url = "${baseurl}/pull/62.diff"; + sha256 = "0v314877mjb0hljg4mcqi317m1p1v27rgsgf5wdr9swix43vmhgw"; + }) + (fetchpatch { + url = "${baseurl}/commit/994f03cf736229044a168835ae7387696041658f.diff"; + sha256 = "0fcm5b87nxw062wjd7b4qrfcwsyblmcw19s64004pklj9grk30zz"; + }) + ]; + + postPatch = '' + sed -i -e '/Subversion *REQUIRED/d' \ + -e '/include.*CMakeExternal/d' \ + CMakeLists.txt + # not using -f because we want it to fail for the next release + rm CMakeExternal.txt + ''; + + cmakeFlags = [ "-DGTEST_INCLUDE_DIR=${gtest}/include" ]; + buildInputs = [ cmake boost gtest ]; + + enableParallelBuilding = true; + doCheck = true; + checkTarget = "test"; + + meta = { + description = "C++ port of the popular Java Lucene search engine"; + homepage = "https://github.com/luceneplusplus/LucenePlusPlus"; + license = with stdenv.lib.licenses; [ asl20 lgpl3Plus ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90bc51933e0..18e7455eb10 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7198,6 +7198,8 @@ let lucene = callPackage ../development/libraries/java/lucene { }; + lucenepp = callPackage ../development/libraries/lucene++ { }; + mockobjects = callPackage ../development/libraries/java/mockobjects { }; saxon = callPackage ../development/libraries/java/saxon { }; From 2856b0e66cb0c253fb5e880dd7ddc290fca9aa21 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 01:35:41 +0100 Subject: [PATCH 5/7] websocketpp: Add new package, version 0.4.0. Required as a dependency of the Tomahawk music player. Signed-off-by: aszlig --- .../libraries/websocket++/default.nix | 21 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/libraries/websocket++/default.nix diff --git a/pkgs/development/libraries/websocket++/default.nix b/pkgs/development/libraries/websocket++/default.nix new file mode 100644 index 00000000000..0db201fefcd --- /dev/null +++ b/pkgs/development/libraries/websocket++/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + name = "websocket++-${version}"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "zaphoyd"; + repo = "websocketpp"; + rev = version; + sha256 = "1n6j0dh3qpis0f7crd49a2nhxd5459h0blch408z3kwlasx2g0i5"; + }; + + buildInputs = [ cmake ]; + + meta = { + homepage = "http://www.zaphoyd.com/websocketpp/"; + description = "C++/Boost Asio based websocket client/server library"; + license = stdenv.lib.licenses.BSD3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 18e7455eb10..8a9e59ec099 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7000,6 +7000,8 @@ let enableIntrospection = false; }; + websocketpp = callPackage ../development/libraries/websocket++ { }; + wildmidi = callPackage ../development/libraries/wildmidi { }; wvstreams = callPackage ../development/libraries/wvstreams { }; From a28ba461e7bbfd3b483fbbb86eea6b640a22b4e4 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 01:37:13 +0100 Subject: [PATCH 6/7] libjreen: Add new package, version 1.2.0. Required as an optional dependency of the Tomahawk music player. Signed-off-by: aszlig --- .../libraries/libjreen/default.nix | 20 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/libjreen/default.nix diff --git a/pkgs/development/libraries/libjreen/default.nix b/pkgs/development/libraries/libjreen/default.nix new file mode 100644 index 00000000000..04e37fd14f1 --- /dev/null +++ b/pkgs/development/libraries/libjreen/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, cmake, qt4, pkgconfig, gsasl }: + +stdenv.mkDerivation rec { + name = "libjreen-${version}"; + version = "1.2.0"; + + src = fetchurl { + url = "https://qutim.org/dwnl/73/${name}.tar.bz2"; + sha256 = "14nwwk40xx8w6x7yaysgcr0lgzhs7l064f7ikp32s5y9a8mmp582"; + }; + + buildInputs = [ cmake qt4 pkgconfig gsasl ]; + enableParallelBuilding = true; + + meta = { + description = "C++ Jabber library using Qt framework"; + homepage = "https://qutim.org/jreen/"; + license = stdenv.lib.licenses.gpl2Plus; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8a9e59ec099..5694965ba12 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5925,6 +5925,8 @@ let libtool = libtool_1_5; }; + libjreen = callPackage ../development/libraries/libjreen { }; + libjson_rpc_cpp = callPackage ../development/libraries/libjson-rpc-cpp { }; libkate = callPackage ../development/libraries/libkate { }; From d31b62d2880ce71372ee7902b9ce1c4093d7e853 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 17:04:16 +0100 Subject: [PATCH 7/7] tomahawk: Add new package, version 0.8.1. Although I've not tested the Tomahawk build on Mac OS X, it *should* work on it, so I'm using platforms.all here. Telepathy and KDE support are disabled by default in order to not get in the way of users who want to use a more minimalistic window-manager-only setup. But I'm not sure whether it matters in reality, we'll see once more people are using Tomahawk. Signed-off-by: aszlig --- pkgs/applications/audio/tomahawk/default.nix | 46 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 +++ 2 files changed, 53 insertions(+) create mode 100644 pkgs/applications/audio/tomahawk/default.nix diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix new file mode 100644 index 00000000000..228940cb192 --- /dev/null +++ b/pkgs/applications/audio/tomahawk/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest +, liblastfm, lucenepp, phonon, qca2, qjson, qt4, qtkeychain, quazip, sparsehash +, taglib, websocketpp + +, enableXMPP ? true, libjreen ? null +, enableKDE ? false, kdelibs ? null +, enableTelepathy ? false, telepathy_qt ? null +}: + +assert enableXMPP -> libjreen != null; +assert enableKDE -> kdelibs != null; +assert enableTelepathy -> telepathy_qt != null; + +let + quazipQt4 = quazip.override { qt = qt4; }; +in stdenv.mkDerivation rec { + name = "tomahawk-${version}"; + version = "0.8.1"; + + src = fetchurl { + url = "http://download.tomahawk-player.org/tomahawk-0.8.1.tar.bz2"; + sha256 = "0ca6fah30a2s8nnlryav95wyzhwys1ikjfwakrqf2hb0y5aczdpw"; + }; + + cmakeFlags = [ + "-DLUCENEPP_INCLUDE_DIR=${lucenepp}/include" + "-DLUCENEPP_LIBRARY_DIR=${lucenepp}/lib" + ]; + + buildInputs = [ + cmake pkgconfig attica boost gnutls libechonest liblastfm lucenepp phonon + qca2 qjson qt4 qtkeychain quazipQt4 sparsehash taglib websocketpp + ] ++ stdenv.lib.optional enableXMPP libjreen + ++ stdenv.lib.optional enableKDE kdelibs + ++ stdenv.lib.optional enableTelepathy telepathy_qt; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A multi-source music player"; + homepage = "http://tomahawk-player.org/"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = [ maintainers.aszlig ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5694965ba12..4c629e5cf64 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10783,6 +10783,13 @@ let todo-txt-cli = callPackage ../applications/office/todo.txt-cli { }; + tomahawk = callPackage ../applications/audio/tomahawk { + inherit (pkgs.kde4) kdelibs; + enableXMPP = config.tomahawk.enableXMPP or true; + enableKDE = config.tomahawk.enableKDE or false; + enableTelepathy = config.tomahawk.enableTelepathy or false; + }; + torchat = callPackage ../applications/networking/instant-messengers/torchat { wrapPython = pythonPackages.wrapPython; };