From a0d97d5eb2ddb21af1818f74f5d5664c6aef84cd Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 28 Jun 2011 09:45:09 +0000 Subject: [PATCH] Adding OneTeam XMPP client svn path=/nixpkgs/trunk/; revision=27553 --- .../instant-messengers/oneteam/default.nix | 90 +++++++++++++++++++ .../builder-defs/builder-defs.nix | 6 +- pkgs/top-level/all-packages.nix | 2 + 3 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/networking/instant-messengers/oneteam/default.nix diff --git a/pkgs/applications/networking/instant-messengers/oneteam/default.nix b/pkgs/applications/networking/instant-messengers/oneteam/default.nix new file mode 100644 index 000000000000..37f56a638068 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/oneteam/default.nix @@ -0,0 +1,90 @@ +x@{builderDefsPackage + , fetchgit, perl, xulrunner, cmake, perlPackages, zip, unzip, pkgconfig + , pulseaudio, gtkLibs, pixman, nspr, nss, libXScrnSaver, scrnsaverproto + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + ["fetchgit" "perlPackages" "gtkLibs"]; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)) ++ [ + a.perlPackages.SubName a.gtkLibs.gtk a.gtkLibs.glib + ]; + sourceInfo = rec { + baseName="oneteam"; + version="git-head"; + name="${baseName}-${version}"; + url="git://git.process-one.net/oneteam/oneteam.git"; + rev="066cd861ea4436bbe363f032c58a746a1cac7498"; + hash="972310d6ef20db7dc749d7d935aa50889afe2004db2a07409830e09ef639f30a"; + method="fetchgit"; + }; +in +rec { + srcDrv = a.fetchgit { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + rev = sourceInfo.rev; + }; + + src=srcDrv + "/"; + + inherit (sourceInfo) name version; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["goComponents" "setVars" "fixComponents" "doCmake" + "doMakeInstall" "goBack" "buildApp" "doDeploy"]; + + fixComponents = a.fullDepEntry '' + sed -e '1i#include ' -i src/rtp/otRTPDecoder.cpp src/rtp/otRTPEncoder.cpp + '' ["minInit" "doUnpack"]; + + setVars=a.noDepEntry '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + ''; + + cmakeBuildDir="cmake-build"; + cmakeFlags=["-D XPCOM_GECKO_SDK=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"]; + + goComponents=a.fullDepEntry "cd src/components" ["doUnpack"]; + goBack=a.noDepEntry "cd ../../.."; + + buildApp=a.fullDepEntry '' + perl build.pl XULAPP 1 + '' ["addInputs"]; + + doDeploy = a.fullDepEntry '' + TARGET_DIR="$out/share/oneteam/app" + BUILD_DIR="$PWD" + ensureDir "$TARGET_DIR" + cd "$TARGET_DIR" + unzip "$BUILD_DIR/oneteam.xulapp" + ensureDir "$out/bin" + echo "#! ${a.stdenv.shell}" > "$out/bin/oneteam" + echo "\"${xulrunner}/bin/xulrunner\" \"$TARGET_DIR/application.ini\"" > "$out/bin/oneteam" + chmod a+x "$out/bin/oneteam" + ensureDir "$out/share/doc" + cp -r "$BUILD_DIR/docs" "$out/share/doc/oneteam" + '' ["defEnsureDir"]; + + meta = { + description = "An XMPP client"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + license = a.lib.licenses.gpl2; + homepage="http://oneteam.im"; + }; + passthru = { + updateInfo = { + downloadPage = "git://git.process-one.net/oneteam/oneteam.git"; + }; + }; +}) x + diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix index 279c99bd4b5a..58c439e4316e 100644 --- a/pkgs/build-support/builder-defs/builder-defs.nix +++ b/pkgs/build-support/builder-defs/builder-defs.nix @@ -396,9 +396,11 @@ let inherit (builtins) head tail trace; in cmakeRPathFlag = if (attrByPath ["cmakeSkipRpath "] true args) then " -DCMAKE_SKIP_BUILD_RPATH=ON " else ""; + cmakeBuildDir = attrByPath ["cmakeBuildDir"] "build" args; + doCmake = fullDepEntry ('' - mkdir build - cd build + mkdir ${cmakeBuildDir} + cd ${cmakeBuildDir} cmake -D CMAKE_INSTALL_PREFIX="$out" ${cmakeRPathFlag}${toString cmakeFlags} .. '') ["minInit" "addInputs" "doUnpack"]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 67e1cfd31d98..5a476b06bbcb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6745,6 +6745,8 @@ let offrss = callPackage ../applications/networking/offrss { }; + oneteam = callPackage ../applications/networking/instant-messengers/oneteam {}; + openbox = callPackage ../applications/window-managers/openbox { }; openjump = callPackage ../applications/misc/openjump { };