From 52f22e7630c6716fbd9695988bdb7f176a32e311 Mon Sep 17 00:00:00 2001 From: neaveru Date: Sun, 7 Feb 2010 17:25:27 +0000 Subject: [PATCH] Merging installer branch r314 to 318. Added icon, changed makefile, and created nsi --- COPYING | 339 ++++++++++++++++++++++++++++++++++++++++++++ Makefile | 4 + data/prpltwtr16.png | Bin 0 -> 4506 bytes data/prpltwtr22.png | Bin 0 -> 5774 bytes data/prpltwtr48.png | Bin 0 -> 13849 bytes twitter.c | 3 +- twitter.nsi | 98 +++++++++++++ 7 files changed, 442 insertions(+), 2 deletions(-) create mode 100644 COPYING create mode 100755 data/prpltwtr16.png create mode 100755 data/prpltwtr22.png create mode 100755 data/prpltwtr48.png create mode 100644 twitter.nsi diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/Makefile b/Makefile index f97e62d..98c054a 100644 --- a/Makefile +++ b/Makefile @@ -61,6 +61,10 @@ install: $(TARGETS) for dir in $(SUBDIRS); do \ make -C "$$dir" $@ || exit 1; \ done + for dir in 16 22 48; do \ + (install -m 0755 -d $(PURPLE_PROTOCOL_PIXMAP_DIR)/$$dir && \ + install -m 0644 data/prpltwtr$$dir.png $(PURPLE_PROTOCOL_PIXMAP_DIR)/$$dir/prpltwtr.png ) \ + done uninstall: rm -f $(PURPLE_PLUGIN_DIR)/libpurple-twitter-protocol$(PLUGIN_SUFFIX) diff --git a/data/prpltwtr16.png b/data/prpltwtr16.png new file mode 100755 index 0000000000000000000000000000000000000000..c789cc476817a825f0b6bcebaf914f71015cc3f5 GIT binary patch literal 4506 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 M07*qoM6N<$g8Jd>fdBvi literal 0 HcmV?d00001 diff --git a/data/prpltwtr48.png b/data/prpltwtr48.png new file mode 100755 index 0000000000000000000000000000000000000000..51b1175050dc390b172e72ca16010a1ac818824d GIT binary patch literal 13849 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%0A<+K%{jU_fu^2y!~n6x%NF1S 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 bj{f%mMw{}##*rrl00000NkvXXu0mjfqTdbT literal 0 HcmV?d00001 diff --git a/twitter.c b/twitter.c index 94ab1fb..c5a2df2 100644 --- a/twitter.c +++ b/twitter.c @@ -604,8 +604,7 @@ static void twitter_get_rate_limit_status_cb(TwitterRequestor *r, xmlnode *node, */ static const char *twitter_list_icon(PurpleAccount *account, PurpleBuddy *buddy) { - /* shamelessly steal (er, borrow) the meanwhile protocol icon. it's cute! */ - return "meanwhile"; + return "prpltwtr"; } static char *twitter_status_text(PurpleBuddy *buddy) { diff --git a/twitter.nsi b/twitter.nsi new file mode 100644 index 0000000..4a1ae2a --- /dev/null +++ b/twitter.nsi @@ -0,0 +1,98 @@ +; Script based on the facebook-chat nsi file + + +SetCompress off + +; todo: SetBrandingImage +; HM NIS Edit Wizard helper defines +!define PRODUCT_NAME "prpltwtr" +!define PRODUCT_VERSION "0.40" +!define PRODUCT_PUBLISHER "Neaveru" +!define PRODUCT_WEB_SITE "http://code.google.com/p/libpurple-twitter-protocol/" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +; MUI 1.67 compatible ------ +!include "MUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; Welcome page +!insertmacro MUI_PAGE_WELCOME +; License page +!insertmacro MUI_PAGE_LICENSE "COPYING" +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +!define MUI_FINISHPAGE_RUN +!define MUI_FINISHPAGE_RUN_TEXT "Run Pidgin" +!define MUI_FINISHPAGE_RUN_FUNCTION "RunPidgin" +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +;!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "${PRODUCT_NAME}.exe" + +Var "PidginDir" + +ShowInstDetails show +ShowUnInstDetails show + +Section "MainSection" SEC01 + ;Check for pidgin installation + Call GetPidginInstPath + + SetOverwrite try + + SetOutPath "$PidginDir\pixmaps\pidgin" + File "/oname=protocols\16\prpltwtr.png" "data\prpltwtr16.png" + File "/oname=protocols\22\prpltwtr.png" "data\prpltwtr22.png" + File "/oname=protocols\48\prpltwtr.png" "data\prpltwtr48.png" + + ;SetOutPath "$PidginDir\ca-certs" + ;File "login.facebook.com.pem" + + SetOverwrite try + copy: + ClearErrors + Delete "$PidginDir\plugins\libpurple-twitter-protocol.dll" + IfErrors dllbusy + SetOutPath "$PidginDir\plugins" + File "libpurple-twitter-protocol.dll" + Goto after_copy + dllbusy: + MessageBox MB_RETRYCANCEL "libpurple-twitter-protocol.dll is busy. Please close Pidgin (including tray icon) and try again" IDCANCEL cancel + Goto copy + cancel: + Abort "Installation of prpltwtr aborted" + after_copy: + + ;SetOutPath "$PidginDir" + ;File "libjson-glib-1.0.dll" + +SectionEnd + +Function GetPidginInstPath + Push $0 + ReadRegStr $0 HKLM "Software\pidgin" "" + IfFileExists "$0\pidgin.exe" cont + ReadRegStr $0 HKCU "Software\pidgin" "" + IfFileExists "$0\pidgin.exe" cont + MessageBox MB_OK|MB_ICONINFORMATION "Failed to find Pidgin installation." + Abort "Failed to find Pidgin installation. Please install Pidgin first." + cont: + StrCpy $PidginDir $0 +FunctionEnd + +Function RunPidgin + ExecShell "" "$PidginDir\pidgin.exe" +FunctionEnd