diff options
author | Nikolay Amiantov <ab@fmap.me> | 2014-10-18 12:22:37 +0400 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2014-10-23 13:03:23 +0200 |
commit | 2feaa0278a7cb6168faf3774c7e38cb0dd4a1777 (patch) | |
tree | 9e392883f3c68f13ba2cdda11278303e81734fcd /pkgs/applications/networking | |
parent | 3b133beb7a20ceb30f6088265217e3482d4063bb (diff) | |
download | nixlib-2feaa0278a7cb6168faf3774c7e38cb0dd4a1777.tar nixlib-2feaa0278a7cb6168faf3774c7e38cb0dd4a1777.tar.gz nixlib-2feaa0278a7cb6168faf3774c7e38cb0dd4a1777.tar.bz2 nixlib-2feaa0278a7cb6168faf3774c7e38cb0dd4a1777.tar.lz nixlib-2feaa0278a7cb6168faf3774c7e38cb0dd4a1777.tar.xz nixlib-2feaa0278a7cb6168faf3774c7e38cb0dd4a1777.tar.zst nixlib-2feaa0278a7cb6168faf3774c7e38cb0dd4a1777.zip |
pidgin: add wrapper (close #4577, fixes #992)
Diffstat (limited to 'pkgs/applications/networking')
3 files changed, 44 insertions, 2 deletions
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch b/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch new file mode 100644 index 000000000000..b0758777186a --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch @@ -0,0 +1,20 @@ +diff --git a/libpurple/plugin.c b/libpurple/plugin.c +index 4f2b402..fda9add 100644 +--- a/libpurple/plugin.c ++++ b/libpurple/plugin.c +@@ -1181,8 +1181,15 @@ purple_plugins_get_handle(void) { + void + purple_plugins_init(void) { + void *handle = purple_plugins_get_handle(); ++ gchar **paths, **p; + + purple_plugins_add_search_path(LIBDIR); ++ paths = g_strsplit(g_getenv("PURPLE_PLUGIN_PATH"), ":", -1); ++ if (paths) { ++ for (p = paths; *p; ++p) ++ if (**p) purple_plugins_add_search_path(*p); ++ } ++ g_strfreev(paths); + + purple_signal_register(handle, "plugin-load", + purple_marshal_VOID__POINTER, diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 814a191c457a..12323bfe2978 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -21,7 +21,8 @@ } : stdenv.mkDerivation rec { - name = "pidgin-2.10.9"; + majorVersion = "2"; + name = "pidgin-${majorVersion}.10.9"; src = fetchurl { url = "mirror://sourceforge/pidgin/${name}.tar.bz2"; sha256 = "06gka47myl9f5x0flkq74ml75akkf28rx9sl8pm3wqkzazc2wdnw"; @@ -46,7 +47,7 @@ stdenv.mkDerivation rec { pkgconfig gtk perl perlXMLParser gettext ]; - patches = [./pidgin-makefile.patch ]; + patches = [./pidgin-makefile.patch ./add-search-path.patch ]; configureFlags="--with-nspr-includes=${nspr}/include/nspr --with-nspr-libs=${nspr}/lib --with-nss-includes=${nss}/include/nss --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include --disable-meanwhile --disable-nm --disable-tcl" + (lib.optionalString (gnutls != null) " --enable-gnutls=yes --enable-nss=no") diff --git a/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix new file mode 100644 index 000000000000..a10eb6864cca --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix @@ -0,0 +1,21 @@ +{ stdenv, buildEnv, pidgin, makeWrapper, plugins }: + +let drv = buildEnv { + name = "${pidgin.name}-with-plugins"; + + paths = [ pidgin ] ++ plugins; + + postBuild = '' + # TODO: This could be avoided if buildEnv could be forced to create all directories + if [ -L $out/bin ]; then + rm $out/bin + mkdir $out/bin + for i in ${pidgin}/bin/*; do + ln -s $i $out/bin + done + fi + wrapProgram $out/bin/pidgin \ + --suffix-each PURPLE_PLUGIN_PATH ':' "$out/lib/purple-${pidgin.majorVersion} $out/lib/pidgin" + ''; + }; +in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; }) \ No newline at end of file |