diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix index cc58736afa5..30e4992ff36 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix @@ -1,30 +1,58 @@ -{ stdenv, fetchFromGitHub, pidgin, glib, json_glib, mercurial, autoreconfHook } : +{ stdenv, fetchFromGitHub, fetchhg, pidgin, glib, json_glib, mercurial, autoreconfHook } : -stdenv.mkDerivation rec { - name = "purple-facebook-${version}"; - version = "2016-04-09"; + +let + pidginHg = fetchhg { + url = "https://bitbucket.org/pidgin/main"; + # take from VERSION file + rev = "c9b74a765767"; + sha256 = "07bjz87jpslsb4gdqvcwp79mkahls2mfhlmpaa5w6n4xqhahw4j3"; + }; + +in stdenv.mkDerivation rec { + name = "purple-facebook-0.9.0"; src = fetchFromGitHub { owner = "dequis"; repo = "purple-facebook"; - rev = "66ee77378d82"; - sha256 = "0kr9idl79h70lacd3cvpmzvfd6il3b5xm2fj1sj96l7bjhiw9s3y"; + rev = "v0.9.0-c9b74a765767"; + sha256 = "1f7jhmaj15p3c9s4xmfygrpav9c8wq0vilbi5cj4jysb7xgndlqv"; }; - preAutoreconf = "./autogen.sh"; + postPatch = '' + # we do all patching from update.sh in preAutoreconf + echo "#!/bin/sh" > update.sh + ''; + + preAutoreconf = '' + for FILE in $(cat MANIFEST_PIDGIN); do + install -Dm644 "${pidginHg}/$FILE" "pidgin/$FILE" || true + done + + touch $(cat MANIFEST_VOIDS) + + patchdir="$(pwd)/patches" + pushd pidgin + + for patch in $(ls -1 "$patchdir"); do + patch -p1 -i "$patchdir/$patch" + done + popd + + ./autogen.sh + ''; makeFlags = [ "PLUGIN_DIR_PURPLE=/lib/pidgin/" "DATA_ROOT_DIR_PURPLE=/share" - "DESTDIR=$(out)" ]; - postInstall = '' + installPhase = '' mkdir -p $out/lib/purple-2 cp pidgin/libpurple/protocols/facebook/.libs/*.so $out/lib/purple-2/ ''; - buildInputs = [ pidgin glib json_glib mercurial autoreconfHook]; + buildInputs = [pidgin glib json_glib mercurial autoreconfHook]; meta = with stdenv.lib; { inherit (src.meta) homepage;