Ticket #811 (closed patch: fixed)

Opened 3 years ago

Last modified 3 years ago

add nullprpl protocol plugin

Reported by: ryanb Owned by: rlaager
Milestone: 2.0.2 Component: libpurple
Version: 2.0 Keywords: nullprpl, null, protocol, mockprpl, nullclient
Cc:

Description

this was originally filed in sourceforge. rlaager requested it, so i'm cc'ing him.

this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols directory. for more info nullprpl, see its web page.

the patch is pretty straightforward. it adds the nullprpl subdir, the autoconf/automake changes for building it, and a ChangeLog entry. it's C90. it was generated with mtn diff.

Attachments

pidgin_nullprpl.patch (52.0 kB) - added by ryanb 3 years ago.
pidgin_nullprpl.2.patch (53.8 kB) - added by ryanb 3 years ago.
pidgin_nullprpl.3.patch (54.0 kB) - added by ryanb 3 years ago.

Change History

Changed 3 years ago by ryanb

  Changed 3 years ago by rlaager

  • cc rlaager removed
  • owner set to rlaager

I thought you had updated this for Pidgin? The patch has Gaim all over it.

follow-up: ↓ 3   Changed 3 years ago by rlaager

Also, this stuff is NOT valid C89: + .send_raw = NULL,

That's C99, which is not cool.

in reply to: ↑ 2   Changed 3 years ago by ryanb

sorry, you're right, that was an old version. the C99ism does need to be fixed, though, along with some other things.

unfortunately, i'm working on a new platform right now, ubuntu (dapper), and automake is unhappy. i'm seeing this error when i run autogen.sh. any ideas, or links? search didn't turn much up.

laptop:~/shared/pidgin-mtn> ./autogen.sh
...
pidgin/plugins/cap/Makefile.am:18: variable `SQLITE3_LIBS' not defined
libpurple/gconf/Makefile.am:9: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
automake: libpurple/Makefile.am: warning: automake does not support libpurple_client_la_LDFLAGS being defined conditionally
automake: libpurple/tests/Makefile.am: not supported: source file `$(top_builddir)/libpurple/util.h' is in subdirectory

this is with autoconf 2.59 and automake 1.4:

laptop:~/shared/pidgin-mtn> dpkg -l \*auto\*
...
ii  autoconf       2.59a-7        automatic configure script builder
ii  automake1.4    1.4-p6-9       A tool for generating GNU Standards-complian
ii  automake1.7    1.7.9-7        A tool for generating GNU Standards-complian
ii  automake1.9    1.9.6-1        A tool for generating GNU Standards-complian
ii  autotools-dev  20050803.1     Update infrastructure for config.{guess,sub}
laptop:~/shared/pidgin-mtn> automake --version
automake (GNU automake) 1.4-p6
...

  Changed 3 years ago by sadrul

I use automake 1.6.3. Try using the same or better. (You can probably use 'update-alternatives --config automake' to use one of the higher versions installed.)

  Changed 3 years ago by ryanb

thanks! i switched to automake 1.7, which worked. however, configure now immediately complains when it's run:

configure: error: cannot find sources () in . or ..

any ideas? it runs under /bin/sh, which is symlinked to /bin/bash. feel free to point me toward resources on this, if there are any.

  Changed 3 years ago by rlaager

I have no idea. Have you tried doing a fresh checkout and re-running autogen.sh?

  Changed 3 years ago by ryanb

yeah. good idea, but i get the same error. :/ i'll emailed devel.

  Changed 3 years ago by ryanb

ok, let's try again. i'm attaching a somewhat happier, gaim- and C99-free patch.

Changed 3 years ago by ryanb

  Changed 3 years ago by sadrul

I can confirm that this compiles fine here. It also works OK here with finch and pidgin.

  Changed 3 years ago by rlaager

I've done a quick read of the patch. It looks good, with just a few minor issues.

 	268	  if (full) 
 	269	    purple_notify_user_info_add_pair(info, _("Tooltip style"), _("full")); 
 	270	  else 
 	271	    purple_notify_user_info_add_pair(info, _("Tooltip style:"), _("short")); 

I'm sure you meant the strings to be the same, but they're not. Thinking about the translators, is this really necessary? I understand the example you're trying to provide, but you do use full later on. I think we can probably remove it.

You have at least one link to http://snarfed.org/space/pidgin+null+protocol+plugin, which doesn't exist.

Also, we use stuff like this at the tops of files, rather than a specific copyright line with a name. I could just change this when I commit this, but I would prefer your okay first.

 * purple
 *
 * Purple is the legal property of its developers, whose names are too numerous
 * to list here.  Please refer to the COPYRIGHT file distributed with this
 * source distribution.

Finally, you're using assert(). If anything, I think you would want g_assert(), as I don't know how portable assert() is. That said, we don't use assert() in general. g_return_if_fail(), et al. allow for the program to carry on, rather than aborting right away. Glib also allows for an environment variable to be set to force things to abort() right away, so you can get those benefits when debugging, if desired.

  Changed 3 years ago by ryanb

thanks! those changes all make sense to me. i'm uploading a new version of the patch that includes them.

i removed all of the links to the snarfed.org page, except for the homepage field in the PurplePluginInfo?. for now, i'll redirect to the existing page for the old gaim plugin. once this patch is committed, i'll rename that page and update it to point to the pidgin source as nullprpl's official home.

Changed 3 years ago by ryanb

  Changed 3 years ago by ryanbarrett@…

  • status changed from new to closed
  • resolution set to fixed
  • milestone set to 2.0.2

(In [17c1e71f633d40fd14e46c08a17a500605d793c8]) this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols directory

Closes #811

  Changed 3 years ago by ryanb

richard, you posted to the sourceforge tracker on 10/24, worried that this patch had been lost. it looks like it went in a while ago, and it's been included in the source tarballs since 2.0.2...but if there's something i'm missing, please let me know!

  Changed 3 years ago by rlaager

Wow, I'm dumb. I guess I forgot about that. Thanks again!

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!