From cf36549fde8f9abcbfaec53c4f5892e5abb43af1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Wed, 14 Jun 2017 00:03:01 +0200 Subject: [PATCH 01/25] Remove Makefiles --- Makefile.am | 62 ---------------------- autogen.sh | 35 ------------- configure.ac | 86 ------------------------------- data/Makefile.am | 33 ------------ data/pixmaps/Makefile.am | 5 -- gajim/Makefile.am | 20 ------- gajim/data/Makefile.am | 19 ------- gajim/data/activities/Makefile.am | 4 -- gajim/data/emoticons/Makefile.am | 7 --- gajim/data/gui/Makefile.am | 7 --- gajim/data/iconsets/Makefile.am | 10 ---- gajim/data/moods/Makefile.am | 4 -- icons/Makefile.am | 7 --- m4/acinclude.m4 | 49 ------------------ m4/nls.m4 | 31 ----------- m4/python.m4 | 62 ---------------------- plugins/Makefile.am | 15 ------ 17 files changed, 456 deletions(-) delete mode 100644 Makefile.am delete mode 100755 autogen.sh delete mode 100644 configure.ac delete mode 100644 data/Makefile.am delete mode 100644 data/pixmaps/Makefile.am delete mode 100644 gajim/Makefile.am delete mode 100644 gajim/data/Makefile.am delete mode 100644 gajim/data/activities/Makefile.am delete mode 100644 gajim/data/emoticons/Makefile.am delete mode 100644 gajim/data/gui/Makefile.am delete mode 100644 gajim/data/iconsets/Makefile.am delete mode 100644 gajim/data/moods/Makefile.am delete mode 100644 icons/Makefile.am delete mode 100644 m4/acinclude.m4 delete mode 100644 m4/nls.m4 delete mode 100644 m4/python.m4 delete mode 100644 plugins/Makefile.am diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 75faf5a70..000000000 --- a/Makefile.am +++ /dev/null @@ -1,62 +0,0 @@ -SUBDIRS = gajim data po icons plugins - -ACLOCAL_AMFLAGS = -I m4 - -bin_SCRIPTS = scripts/gajim scripts/gajim-history-manager scripts/gajim-remote - -EXTRA_DIST = \ - autogen.sh \ - intltool-extract.in \ - intltool-merge.in \ - intltool-update.in \ - win \ - scripts/gajim.in \ - scripts/gajim-history-manager.in \ - scripts/gajim-remote.in - -DISTCLEANFILES = \ - intltool-extract \ - intltool-merge \ - intltool-update \ - scripts/gajim \ - scripts/gajim-remote \ - scripts/gajim-history-manager - -MAINTAINERCLEANFILES = \ - configure \ - Makefile.in \ - intltool-extract.in \ - intltool-update.in \ - intltool-merge.in \ - ltmain.sh \ - missing \ - mkinstalldirs \ - install-sh \ - compile \ - depcomp \ - config.guess \ - config.log \ - config.sub \ - config.status \ - aclocal.m4 \ - libtool \ - po/POTFILES.in \ - m4/intltool.m4 - -MAINTAINERCLEANDIRS = \ - autom4te.cache \ - build \ - dist - - -test: - ${PYTHON} test/runtests.py -.PHONY: test - -test_nogui: - ${PYTHON} test/runtests.py -n -.PHONY: test_nogui - -doc: - epydoc --config=doc/epydoc.conf -.PHONY: doc diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index 776f47d7b..000000000 --- a/autogen.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash - AM_ARGS="--add-missing --gnu --copy -Wno-portability" - CONF_ARGS="" - - echo "[encoding: UTF-8]" > po/POTFILES.in \ - && for p in `ls gajim/data/gui/*.ui`; do echo "[type: gettext/glade]$p" >> \ - po/POTFILES.in; done \ - && ls -1 data/org.gajim.Gajim.appdata.xml.in data/org.gajim.Gajim.desktop.in.in data/gajim-remote.desktop.in.in \ - gajim/*.py gajim/common/*.py gajim/command_system/*.py gajim/command_system/implementation/*.py gajim/common/zeroconf/*.py gajim/plugins/*.py | grep -v ipython_view.py >> \ - po/POTFILES.in \ - && echo -e "data/org.gajim.Gajim.desktop.in\ndata/gajim-remote.desktop.in\ngajim/ipython_view.py" > po/POTFILES.skip || exit 1 - if [ $(find plugins/ -name '*.py' | wc -l) -gt 0 ];then - ls -1 plugins/*/*.py plugins/*/*.ui >> po/POTFILES.skip - fi - if test -z `which pkg-config 2>/dev/null`;then - echo "***Error: pkg-config not found***" - echo "See README.html for build requirements." - exit 1 - fi - - which glibtoolize >/dev/null 2>&1 && LIBTOOLIZE="glibtoolize" || LIBTOOLIZE="libtoolize" - - mkdir -p config - - if [ "$NO_AUTOTOOLS_RUN" ]; then - exit 0 - fi - - intltoolize --force --automake \ - && aclocal -I ./m4 \ - && $LIBTOOLIZE --copy --force --automake \ - && autoheader \ - && autoconf \ - && automake ${AM_ARGS} \ - && ./configure ${CONF_ARGS} $@ diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 03ec71a9d..000000000 --- a/configure.ac +++ /dev/null @@ -1,86 +0,0 @@ -AC_INIT([Gajim - A Jabber Instant Messager], - m4_esyscmd_s([python -c "import os;os.chdir('gajim');from common import defs; print(defs.version)"]),[https://dev.gajim.org/gajim/gajim],[gajim]) -AC_PREREQ([2.59]) - -AC_CONFIG_HEADER(config.h) -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_MACRO_DIR([m4]) - -AM_INIT_AUTOMAKE([1.9 tar-pax]) -AM_MAINTAINER_MODE - -IT_PROG_INTLTOOL([0.35.0]) -PKG_PROG_PKG_CONFIG([0.19]) - -AM_DISABLE_STATIC -AC_ENABLE_SHARED(yes) -AC_ENABLE_STATIC(no) - -AC_ISC_POSIX -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_MAKE_SET -AC_PROG_LIBTOOL -AC_C_CONST -AC_CHECK_HEADERS([libintl.h]) -AC_PATH_X - - -GETTEXT_PACKAGE=gajim -AC_SUBST([GETTEXT_PACKAGE]) -AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"], [Gettext package]) -AM_GLIB_GNU_GETTEXT -AM_NLS - - -ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" -AC_SUBST(ACLOCAL_AMFLAGS) - -AM_PATH_PYTHON([3.5]) - -AC_SUBST([gajim_srcdir], [\${pkgpythondir}]) -AC_SUBST([gajim_pluginsdir], [\${datadir}/\${PACKAGE}/plugins]) - -AS_AC_EXPAND(PY_SITEDIR, "${pythondir}") -AS_AC_EXPAND(GAJIM_SRCDIR, "${gajim_srcdir}") -AS_AC_EXPAND(PKGDATADIR, "${datadir}/${PACKAGE}") -AS_AC_EXPAND(DOCDIR, "${docdir}") -AS_AC_EXPAND(LOCALEDIR, "${localedir}") -AS_AC_EXPAND(GAJIM_PLUGINSDIR, "${gajim_pluginsdir}") - -AC_SUBST(VERSION) -AC_SUBST(PACKAGE) - -AC_CONFIG_FILES([ - Makefile - data/Makefile - gajim/data/Makefile - gajim/data/gui/Makefile - gajim/data/emoticons/Makefile - data/pixmaps/Makefile - gajim/data/iconsets/Makefile - gajim/data/moods/Makefile - gajim/data/activities/Makefile - icons/Makefile - data/org.gajim.Gajim.appdata.xml - data/org.gajim.Gajim.desktop.in - data/gajim-remote.desktop.in - data/defs.py - gajim/Makefile - scripts/gajim - scripts/gajim-history-manager - scripts/gajim-remote - po/Makefile.in - plugins/Makefile -]) -AC_OUTPUT -echo " -***************************** - Installation: - Prefix ........... ${prefix} - Python modules ... ${GAJIM_SRCDIR} - Plugins .. ....... ${GAJIM_PLUGINSDIR} - Documentation .... ${DOCDIR} - Others ........... ${PKGDATADIR} -*****************************" - diff --git a/data/Makefile.am b/data/Makefile.am deleted file mode 100644 index 3b02d6d18..000000000 --- a/data/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -SUBDIRS = pixmaps -@INTLTOOL_DESKTOP_RULE@ - -appstreamdir = $(datadir)/metainfo/ -appstream_in_files = org.gajim.Gajim.appdata.xml.in -appstream_DATA = $(appstream_in_files:.xml.in=.xml) -@INTLTOOL_XML_RULE@ - -desktopdir = $(datadir)/applications -desktop_in_files = org.gajim.Gajim.desktop.in.in gajim-remote.desktop.in.in -desktop_DATA = $(desktop_in_files:.desktop.in.in=.desktop) - -installdefsdir = $(gajim_srcdir)/common -installdefs_DATA = defs.py - - -man_MANS = gajim.1 gajim-remote.1 gajim-history-manager.1 - - -EXTRA_DIST = $(appstream_in_files) \ - $(desktop_in_files) \ - $(man_MANS) \ - defs.py.in - - -DISTCLEANFILES = $(desktop_DATA) \ - $(installdefs_DATA) - -CLEANFILES = $(appstream_DATA) \ - org.gajim.Gajim.desktop \ - gajim-remote.desktop - -MAINTAINERCLEANFILES = Makefile.in diff --git a/data/pixmaps/Makefile.am b/data/pixmaps/Makefile.am deleted file mode 100644 index a7eadc116..000000000 --- a/data/pixmaps/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -pixmapsdir = $(pkgdatadir)/data/pixmaps -nobase_dist_pixmaps_DATA = \ - $(srcdir)/gajim.ico - -MAINTAINERCLEANFILES = Makefile.in diff --git a/gajim/Makefile.am b/gajim/Makefile.am deleted file mode 100644 index c9bfb66bb..000000000 --- a/gajim/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -SUBDIRS = data - -INCLUDES = \ - $(PYTHON_INCLUDES) -export MACOSX_DEPLOYMENT_TARGET=10.4 - -gajimsrcdir = $(gajim_srcdir) -nobase_dist_gajimsrc_PYTHON = \ - $(srcdir)/*.py \ - $(srcdir)/common/*.py \ - $(srcdir)/common/protocol/*.py \ - $(srcdir)/common/zeroconf/*.py \ - $(srcdir)/command_system/*.py \ - $(srcdir)/command_system/implementation/*.py \ - $(srcdir)/plugins/*.py - -dist-hook: - rm -f $(distdir)/ipython_view.py - -MAINTAINERCLEANFILES = Makefile.in diff --git a/gajim/data/Makefile.am b/gajim/data/Makefile.am deleted file mode 100644 index bee085790..000000000 --- a/gajim/data/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -SUBDIRS = gui emoticons iconsets moods activities -@INTLTOOL_DESKTOP_RULE@ - -soundsdir = $(gajim_srcdir)/data/sounds -sounds_DATA = $(srcdir)/sounds/*.wav - -styledir = $(gajim_srcdir)/data/style -style_DATA = $(srcdir)/style/*.css - -otherdir = $(gajim_srcdir)/data/other -other_DATA = other/servers.xml other/dh4096.pem -# other/cacert.pem is used only on Windows. On Unix platforms -# use CA certificates installed in /etc/ssl/certs - -EXTRA_DIST = $(sounds_DATA) \ - $(style_DATA) \ - $(other_DATA) - -MAINTAINERCLEANFILES = Makefile.in diff --git a/gajim/data/activities/Makefile.am b/gajim/data/activities/Makefile.am deleted file mode 100644 index 12f725a6b..000000000 --- a/gajim/data/activities/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -activitiesdir = $(gajim_srcdir)/data/activities -nobase_dist_activities_DATA = $(srcdir)/*/*/* - -MAINTAINERCLEANFILES = Makefile.in diff --git a/gajim/data/emoticons/Makefile.am b/gajim/data/emoticons/Makefile.am deleted file mode 100644 index 417267dd6..000000000 --- a/gajim/data/emoticons/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -emoticonsdir = $(gajim_srcdir)/data/emoticons -nobase_dist_emoticons_DATA = \ - $(srcdir)/*/*.png \ - $(srcdir)/*/LICENSE \ - $(srcdir)/*/emoticons_theme.py - -MAINTAINERCLEANFILES = Makefile.in diff --git a/gajim/data/gui/Makefile.am b/gajim/data/gui/Makefile.am deleted file mode 100644 index a0908cec3..000000000 --- a/gajim/data/gui/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -guidir = $(gajim_srcdir)/data/gui -gui_DATA = $(srcdir)/*.ui -EXTRA_DIST = $(gui_DATA) - -DISTCLEANFILES = *.h - -MAINTAINERCLEANFILES = Makefile.in diff --git a/gajim/data/iconsets/Makefile.am b/gajim/data/iconsets/Makefile.am deleted file mode 100644 index a938009f1..000000000 --- a/gajim/data/iconsets/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -iconsetdir = $(gajim_srcdir)/data/iconsets -nobase_dist_iconset_DATA = \ - $(srcdir)/*/16x16/* \ - $(srcdir)/*/32x32/* \ - $(srcdir)/*/48x48/* \ - $(srcdir)/transports/*/16x16/* \ - $(srcdir)/transports/*/32x32/* \ - $(srcdir)/transports/*/48x48/* - -MAINTAINERCLEANFILES = Makefile.in diff --git a/gajim/data/moods/Makefile.am b/gajim/data/moods/Makefile.am deleted file mode 100644 index 2e579b47d..000000000 --- a/gajim/data/moods/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -moodsdir = $(gajim_srcdir)/data/moods -nobase_dist_moods_DATA = $(srcdir)/*/* - -MAINTAINERCLEANFILES = Makefile.in diff --git a/icons/Makefile.am b/icons/Makefile.am deleted file mode 100644 index 2c6fcec2e..000000000 --- a/icons/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -iconsdir = $(pkgdatadir)/icons -nobase_dist_icons_DATA = $(srcdir)/*/*/*/* - -systemiconsdir = $(datadir)/icons -nobase_dist_systemicons_DATA = $(srcdir)/*/*/*/org.gajim.Gajim.* - -MAINTAINERCLEANFILES = Makefile.in diff --git a/m4/acinclude.m4 b/m4/acinclude.m4 deleted file mode 100644 index deebd2bf8..000000000 --- a/m4/acinclude.m4 +++ /dev/null @@ -1,49 +0,0 @@ -dnl as-ac-expand.m4 0.2.0 -*- autoconf -*- -dnl autostars m4 macro for expanding directories using configure's prefix - -dnl (C) 2003, 2004, 2005 Thomas Vander Stichele - -dnl Copying and distribution of this file, with or without modification, -dnl are permitted in any medium without royalty provided the copyright -dnl notice and this notice are preserved. - -dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) - -dnl example: -dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) -dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local - -AC_DEFUN([AS_AC_EXPAND], -[ - EXP_VAR=[$1] - FROM_VAR=[$2] - - dnl first expand prefix and exec_prefix if necessary - prefix_save=$prefix - exec_prefix_save=$exec_prefix - - dnl if no prefix given, then use /usr/local, the default prefix - if test "x$prefix" = "xNONE"; then - prefix="$ac_default_prefix" - fi - dnl if no exec_prefix given, then use prefix - if test "x$exec_prefix" = "xNONE"; then - exec_prefix=$prefix - fi - - full_var="$FROM_VAR" - dnl loop until it doesn't change anymore - while true; do - new_full_var="`eval echo $full_var`" - if test "x$new_full_var" = "x$full_var"; then break; fi - full_var=$new_full_var - done - - dnl clean up - full_var=$new_full_var - AC_SUBST([$1], "$full_var") - - dnl restore prefix and exec_prefix - prefix=$prefix_save - exec_prefix=$exec_prefix_save -]) diff --git a/m4/nls.m4 b/m4/nls.m4 deleted file mode 100644 index 7967cc2f9..000000000 --- a/m4/nls.m4 +++ /dev/null @@ -1,31 +0,0 @@ -# nls.m4 serial 3 (gettext-0.15) -dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ(2.50) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) -]) diff --git a/m4/python.m4 b/m4/python.m4 deleted file mode 100644 index 533d2f883..000000000 --- a/m4/python.m4 +++ /dev/null @@ -1,62 +0,0 @@ -## this one is commonly used with AM_PATH_PYTHONDIR ... -dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) -dnl Check if a module containing a given symbol is visible to python. -AC_DEFUN([AM_CHECK_PYMOD], -[AC_REQUIRE([AM_PATH_PYTHON]) -py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` -AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1) -AC_CACHE_VAL(py_cv_mod_$py_mod_var, [ -ifelse([$2],[], [prog=" -import sys -try: - import $1 -except ImportError: - sys.exit(1) -except: - sys.exit(0) -sys.exit(0)"], [prog=" -import $1 -$1.$2"]) -if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC - then - eval "py_cv_mod_$py_mod_var=yes" - else - eval "py_cv_mod_$py_mod_var=no" - fi -]) -py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"` -if test "x$py_val" != xno; then - AC_MSG_RESULT(yes) - ifelse([$3], [],, [$3 -])dnl -else - AC_MSG_RESULT(no) - ifelse([$4], [],, [$4 -])dnl -fi -]) - -dnl a macro to check for ability to create python extensions -dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) -dnl function also defines PYTHON_INCLUDES -AC_DEFUN([AM_CHECK_PYTHON_HEADERS], -[AC_REQUIRE([AM_PATH_PYTHON]) -AC_MSG_CHECKING(for headers required to compile python extensions) -dnl deduce PYTHON_INCLUDES -py_prefix=`$PYTHON -c "import sys; print(sys.prefix)"` -py_exec_prefix=`$PYTHON -c "import sys; print(sys.exec_prefix)"` -PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" -if test "$py_prefix" != "$py_exec_prefix"; then - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" -fi -AC_SUBST(PYTHON_INCLUDES) -dnl check if the headers exist: -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" -AC_TRY_CPP([#include ],dnl -[AC_MSG_RESULT(found) -$1],dnl -[AC_MSG_RESULT(not found) -$2]) -CPPFLAGS="$save_CPPFLAGS" -]) diff --git a/plugins/Makefile.am b/plugins/Makefile.am deleted file mode 100644 index 1676b2828..000000000 --- a/plugins/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -INCLUDES = \ - $(PYTHON_INCLUDES) - -gajimpluginsdir = $(gajim_pluginsdir) - -dist_gajimplugins_PYTHON = - -pluginsdirs = ${sort ${dir ${wildcard ${srcdir}/*/ ${srcdir}/*/*/}}} - -pluginsfiles = $(wildcard ${p}/*.py ${p}/manifest.ini ${p}/*.ui ${p}/*.png ${p}/*.pem) - -nobase_gajimplugins_DATA = $(foreach p, ${pluginsdirs}, $(pluginsfiles)) - - -MAINTAINERCLEANFILES = Makefile.in From ad600f5193b5937a4232cf437e5cd7cb5b7aef89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Thu, 20 Jul 2017 00:37:41 +0200 Subject: [PATCH 02/25] Move data required to run gajim into gajim directory --- .../icons}/hicolor/16x16/actions/document-send.png | Bin .../hicolor/16x16/actions/gajim-cam_active.png | Bin .../hicolor/16x16/actions/gajim-cam_inactive.png | Bin .../hicolor/16x16/actions/gajim-kbd_input.png | Bin .../hicolor/16x16/actions/gajim-mic_active.png | Bin .../hicolor/16x16/actions/gajim-mic_inactive.png | Bin .../hicolor/16x16/status/applications-internet.png | Bin .../hicolor/16x16/status/audio-mic-volume-high.png | Bin .../hicolor/16x16/status/audio-mic-volume-low.png | Bin .../16x16/status/audio-mic-volume-medium.png | Bin .../hicolor/16x16/status/audio-mic-volume-muted.png | Bin .../channel-secure-croped-symbolic.symbolic.png | Bin .../icons}/hicolor/16x16/status/gajim-plugins.png | Bin .../icons}/hicolor/16x16/status/security-high.png | Bin .../icons}/hicolor/16x16/status/security-low.png | Bin .../hicolor/32x32/categories/gajim-agent-aim.png | Bin .../32x32/categories/gajim-agent-bytestreams.png | Bin .../32x32/categories/gajim-agent-conference.png | Bin .../hicolor/32x32/categories/gajim-agent-disc.png | Bin .../32x32/categories/gajim-agent-facebook.png | Bin .../32x32/categories/gajim-agent-gadu-gadu.png | Bin .../32x32/categories/gajim-agent-http-ws.png | Bin .../hicolor/32x32/categories/gajim-agent-icq.png | Bin .../hicolor/32x32/categories/gajim-agent-irc.png | Bin .../hicolor/32x32/categories/gajim-agent-jabber.png | Bin .../hicolor/32x32/categories/gajim-agent-jud.png | Bin .../hicolor/32x32/categories/gajim-agent-mail.png | Bin .../hicolor/32x32/categories/gajim-agent-mrim.png | Bin .../hicolor/32x32/categories/gajim-agent-msn.png | Bin .../hicolor/32x32/categories/gajim-agent-pubsub.png | Bin .../hicolor/32x32/categories/gajim-agent-rss.png | Bin .../hicolor/32x32/categories/gajim-agent-sip.png | Bin .../hicolor/32x32/categories/gajim-agent-sms.png | Bin .../hicolor/32x32/categories/gajim-agent-tv.png | Bin .../32x32/categories/gajim-agent-twitter.png | Bin .../32x32/categories/gajim-agent-weather.png | Bin .../hicolor/32x32/categories/gajim-agent-yahoo.png | Bin .../32x32/mimetypes/application-certificate.png | Bin .../icons}/hicolor/32x32/status/security-high.png | Bin .../icons}/hicolor/32x32/status/security-low.png | Bin .../hicolor/48x48/status/gajim-chat_msg_recv.png | Bin .../hicolor/48x48/status/gajim-connection_lost.png | Bin .../icons}/hicolor/48x48/status/gajim-ft_done.png | Bin .../icons}/hicolor/48x48/status/gajim-ft_error.png | Bin .../hicolor/48x48/status/gajim-ft_request.png | Bin .../hicolor/48x48/status/gajim-ft_stopped.png | Bin .../hicolor/48x48/status/gajim-gc_invitation.png | Bin .../hicolor/48x48/status/gajim-new_email_recv.png | Bin .../hicolor/48x48/status/gajim-priv_msg_recv.png | Bin .../hicolor/48x48/status/gajim-single_msg_recv.png | Bin .../48x48/status/gajim-subscription_request.png | Bin .../hicolor/48x48/status/gajim-unsubscribed.png | Bin 52 files changed, 0 insertions(+), 0 deletions(-) rename {icons => gajim/data/icons}/hicolor/16x16/actions/document-send.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/actions/gajim-cam_active.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/actions/gajim-cam_inactive.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/actions/gajim-kbd_input.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/actions/gajim-mic_active.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/actions/gajim-mic_inactive.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/applications-internet.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/audio-mic-volume-high.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/audio-mic-volume-low.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/audio-mic-volume-medium.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/audio-mic-volume-muted.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/channel-secure-croped-symbolic.symbolic.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/gajim-plugins.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/security-high.png (100%) rename {icons => gajim/data/icons}/hicolor/16x16/status/security-low.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-aim.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-bytestreams.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-conference.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-disc.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-facebook.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-gadu-gadu.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-http-ws.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-icq.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-irc.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-jabber.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-jud.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-mail.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-mrim.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-msn.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-pubsub.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-rss.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-sip.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-sms.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-tv.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-twitter.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-weather.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/categories/gajim-agent-yahoo.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/mimetypes/application-certificate.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/status/security-high.png (100%) rename {icons => gajim/data/icons}/hicolor/32x32/status/security-low.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-chat_msg_recv.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-connection_lost.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-ft_done.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-ft_error.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-ft_request.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-ft_stopped.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-gc_invitation.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-new_email_recv.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-priv_msg_recv.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-single_msg_recv.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-subscription_request.png (100%) rename {icons => gajim/data/icons}/hicolor/48x48/status/gajim-unsubscribed.png (100%) diff --git a/icons/hicolor/16x16/actions/document-send.png b/gajim/data/icons/hicolor/16x16/actions/document-send.png similarity index 100% rename from icons/hicolor/16x16/actions/document-send.png rename to gajim/data/icons/hicolor/16x16/actions/document-send.png diff --git a/icons/hicolor/16x16/actions/gajim-cam_active.png b/gajim/data/icons/hicolor/16x16/actions/gajim-cam_active.png similarity index 100% rename from icons/hicolor/16x16/actions/gajim-cam_active.png rename to gajim/data/icons/hicolor/16x16/actions/gajim-cam_active.png diff --git a/icons/hicolor/16x16/actions/gajim-cam_inactive.png b/gajim/data/icons/hicolor/16x16/actions/gajim-cam_inactive.png similarity index 100% rename from icons/hicolor/16x16/actions/gajim-cam_inactive.png rename to gajim/data/icons/hicolor/16x16/actions/gajim-cam_inactive.png diff --git a/icons/hicolor/16x16/actions/gajim-kbd_input.png b/gajim/data/icons/hicolor/16x16/actions/gajim-kbd_input.png similarity index 100% rename from icons/hicolor/16x16/actions/gajim-kbd_input.png rename to gajim/data/icons/hicolor/16x16/actions/gajim-kbd_input.png diff --git a/icons/hicolor/16x16/actions/gajim-mic_active.png b/gajim/data/icons/hicolor/16x16/actions/gajim-mic_active.png similarity index 100% rename from icons/hicolor/16x16/actions/gajim-mic_active.png rename to gajim/data/icons/hicolor/16x16/actions/gajim-mic_active.png diff --git a/icons/hicolor/16x16/actions/gajim-mic_inactive.png b/gajim/data/icons/hicolor/16x16/actions/gajim-mic_inactive.png similarity index 100% rename from icons/hicolor/16x16/actions/gajim-mic_inactive.png rename to gajim/data/icons/hicolor/16x16/actions/gajim-mic_inactive.png diff --git a/icons/hicolor/16x16/status/applications-internet.png b/gajim/data/icons/hicolor/16x16/status/applications-internet.png similarity index 100% rename from icons/hicolor/16x16/status/applications-internet.png rename to gajim/data/icons/hicolor/16x16/status/applications-internet.png diff --git a/icons/hicolor/16x16/status/audio-mic-volume-high.png b/gajim/data/icons/hicolor/16x16/status/audio-mic-volume-high.png similarity index 100% rename from icons/hicolor/16x16/status/audio-mic-volume-high.png rename to gajim/data/icons/hicolor/16x16/status/audio-mic-volume-high.png diff --git a/icons/hicolor/16x16/status/audio-mic-volume-low.png b/gajim/data/icons/hicolor/16x16/status/audio-mic-volume-low.png similarity index 100% rename from icons/hicolor/16x16/status/audio-mic-volume-low.png rename to gajim/data/icons/hicolor/16x16/status/audio-mic-volume-low.png diff --git a/icons/hicolor/16x16/status/audio-mic-volume-medium.png b/gajim/data/icons/hicolor/16x16/status/audio-mic-volume-medium.png similarity index 100% rename from icons/hicolor/16x16/status/audio-mic-volume-medium.png rename to gajim/data/icons/hicolor/16x16/status/audio-mic-volume-medium.png diff --git a/icons/hicolor/16x16/status/audio-mic-volume-muted.png b/gajim/data/icons/hicolor/16x16/status/audio-mic-volume-muted.png similarity index 100% rename from icons/hicolor/16x16/status/audio-mic-volume-muted.png rename to gajim/data/icons/hicolor/16x16/status/audio-mic-volume-muted.png diff --git a/icons/hicolor/16x16/status/channel-secure-croped-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/status/channel-secure-croped-symbolic.symbolic.png similarity index 100% rename from icons/hicolor/16x16/status/channel-secure-croped-symbolic.symbolic.png rename to gajim/data/icons/hicolor/16x16/status/channel-secure-croped-symbolic.symbolic.png diff --git a/icons/hicolor/16x16/status/gajim-plugins.png b/gajim/data/icons/hicolor/16x16/status/gajim-plugins.png similarity index 100% rename from icons/hicolor/16x16/status/gajim-plugins.png rename to gajim/data/icons/hicolor/16x16/status/gajim-plugins.png diff --git a/icons/hicolor/16x16/status/security-high.png b/gajim/data/icons/hicolor/16x16/status/security-high.png similarity index 100% rename from icons/hicolor/16x16/status/security-high.png rename to gajim/data/icons/hicolor/16x16/status/security-high.png diff --git a/icons/hicolor/16x16/status/security-low.png b/gajim/data/icons/hicolor/16x16/status/security-low.png similarity index 100% rename from icons/hicolor/16x16/status/security-low.png rename to gajim/data/icons/hicolor/16x16/status/security-low.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-aim.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-aim.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-aim.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-aim.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-bytestreams.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-bytestreams.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-bytestreams.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-bytestreams.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-conference.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-conference.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-conference.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-conference.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-disc.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-disc.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-disc.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-disc.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-facebook.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-facebook.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-facebook.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-facebook.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-http-ws.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-http-ws.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-http-ws.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-http-ws.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-icq.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-icq.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-icq.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-icq.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-irc.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-irc.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-irc.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-irc.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-jabber.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-jabber.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-jabber.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-jabber.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-jud.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-jud.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-jud.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-jud.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-mail.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-mail.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-mail.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-mail.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-mrim.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-mrim.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-mrim.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-mrim.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-msn.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-msn.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-msn.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-msn.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-pubsub.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-pubsub.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-pubsub.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-pubsub.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-rss.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-rss.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-rss.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-rss.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-sip.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-sip.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-sip.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-sip.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-sms.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-sms.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-sms.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-sms.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-tv.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-tv.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-tv.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-tv.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-twitter.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-twitter.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-twitter.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-twitter.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-weather.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-weather.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-weather.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-weather.png diff --git a/icons/hicolor/32x32/categories/gajim-agent-yahoo.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-yahoo.png similarity index 100% rename from icons/hicolor/32x32/categories/gajim-agent-yahoo.png rename to gajim/data/icons/hicolor/32x32/categories/gajim-agent-yahoo.png diff --git a/icons/hicolor/32x32/mimetypes/application-certificate.png b/gajim/data/icons/hicolor/32x32/mimetypes/application-certificate.png similarity index 100% rename from icons/hicolor/32x32/mimetypes/application-certificate.png rename to gajim/data/icons/hicolor/32x32/mimetypes/application-certificate.png diff --git a/icons/hicolor/32x32/status/security-high.png b/gajim/data/icons/hicolor/32x32/status/security-high.png similarity index 100% rename from icons/hicolor/32x32/status/security-high.png rename to gajim/data/icons/hicolor/32x32/status/security-high.png diff --git a/icons/hicolor/32x32/status/security-low.png b/gajim/data/icons/hicolor/32x32/status/security-low.png similarity index 100% rename from icons/hicolor/32x32/status/security-low.png rename to gajim/data/icons/hicolor/32x32/status/security-low.png diff --git a/icons/hicolor/48x48/status/gajim-chat_msg_recv.png b/gajim/data/icons/hicolor/48x48/status/gajim-chat_msg_recv.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-chat_msg_recv.png rename to gajim/data/icons/hicolor/48x48/status/gajim-chat_msg_recv.png diff --git a/icons/hicolor/48x48/status/gajim-connection_lost.png b/gajim/data/icons/hicolor/48x48/status/gajim-connection_lost.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-connection_lost.png rename to gajim/data/icons/hicolor/48x48/status/gajim-connection_lost.png diff --git a/icons/hicolor/48x48/status/gajim-ft_done.png b/gajim/data/icons/hicolor/48x48/status/gajim-ft_done.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-ft_done.png rename to gajim/data/icons/hicolor/48x48/status/gajim-ft_done.png diff --git a/icons/hicolor/48x48/status/gajim-ft_error.png b/gajim/data/icons/hicolor/48x48/status/gajim-ft_error.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-ft_error.png rename to gajim/data/icons/hicolor/48x48/status/gajim-ft_error.png diff --git a/icons/hicolor/48x48/status/gajim-ft_request.png b/gajim/data/icons/hicolor/48x48/status/gajim-ft_request.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-ft_request.png rename to gajim/data/icons/hicolor/48x48/status/gajim-ft_request.png diff --git a/icons/hicolor/48x48/status/gajim-ft_stopped.png b/gajim/data/icons/hicolor/48x48/status/gajim-ft_stopped.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-ft_stopped.png rename to gajim/data/icons/hicolor/48x48/status/gajim-ft_stopped.png diff --git a/icons/hicolor/48x48/status/gajim-gc_invitation.png b/gajim/data/icons/hicolor/48x48/status/gajim-gc_invitation.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-gc_invitation.png rename to gajim/data/icons/hicolor/48x48/status/gajim-gc_invitation.png diff --git a/icons/hicolor/48x48/status/gajim-new_email_recv.png b/gajim/data/icons/hicolor/48x48/status/gajim-new_email_recv.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-new_email_recv.png rename to gajim/data/icons/hicolor/48x48/status/gajim-new_email_recv.png diff --git a/icons/hicolor/48x48/status/gajim-priv_msg_recv.png b/gajim/data/icons/hicolor/48x48/status/gajim-priv_msg_recv.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-priv_msg_recv.png rename to gajim/data/icons/hicolor/48x48/status/gajim-priv_msg_recv.png diff --git a/icons/hicolor/48x48/status/gajim-single_msg_recv.png b/gajim/data/icons/hicolor/48x48/status/gajim-single_msg_recv.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-single_msg_recv.png rename to gajim/data/icons/hicolor/48x48/status/gajim-single_msg_recv.png diff --git a/icons/hicolor/48x48/status/gajim-subscription_request.png b/gajim/data/icons/hicolor/48x48/status/gajim-subscription_request.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-subscription_request.png rename to gajim/data/icons/hicolor/48x48/status/gajim-subscription_request.png diff --git a/icons/hicolor/48x48/status/gajim-unsubscribed.png b/gajim/data/icons/hicolor/48x48/status/gajim-unsubscribed.png similarity index 100% rename from icons/hicolor/48x48/status/gajim-unsubscribed.png rename to gajim/data/icons/hicolor/48x48/status/gajim-unsubscribed.png From 3ba58716d038faa9a2ae96179c1cb05f15dbe004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Wed, 14 Jun 2017 00:05:04 +0200 Subject: [PATCH 03/25] Use setup.py to install gajim --- ....desktop.in.in => gajim-remote.desktop.in} | 0 ...sktop.in.in => org.gajim.Gajim.desktop.in} | 0 setup.py | 200 ++++++++++++++++++ 3 files changed, 200 insertions(+) rename data/{gajim-remote.desktop.in.in => gajim-remote.desktop.in} (100%) rename data/{org.gajim.Gajim.desktop.in.in => org.gajim.Gajim.desktop.in} (100%) create mode 100644 setup.py diff --git a/data/gajim-remote.desktop.in.in b/data/gajim-remote.desktop.in similarity index 100% rename from data/gajim-remote.desktop.in.in rename to data/gajim-remote.desktop.in diff --git a/data/org.gajim.Gajim.desktop.in.in b/data/org.gajim.Gajim.desktop.in similarity index 100% rename from data/org.gajim.Gajim.desktop.in.in rename to data/org.gajim.Gajim.desktop.in diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..9a774deb4 --- /dev/null +++ b/setup.py @@ -0,0 +1,200 @@ +#!/usr/bin/env python3 + +import os +import sys + +if sys.version_info[0] < 3: + sys.exit('Tried to install with Python 2, gajim only supports Python 3.') + +import codecs + +from setuptools import setup, find_packages +# from distutils.core import setup +from distutils import log +from distutils.command.build import build as _build +#from distutils.command.install import install as _install +#from setuptools.command.build_py import build_py as _build # build_dir is unknown +from distutils.util import convert_path, newer + +import gajim + +pos = [x for x in os.listdir('po') if x[-3:] == ".po"] +ALL_LINGUAS = sorted([os.path.split(x)[-1][:-3] for x in pos]) + +def build_trans(build_cmd): + ''' + Translate the language files into gajim.mo + ''' + data_files = build_cmd.distribution.data_files + for lang in ALL_LINGUAS: + po_file = os.path.join('po', lang + '.po') + mo_file = os.path.join(build_cmd.build_base, 'mo', lang, 'LC_MESSAGES', + 'gajim.mo') + mo_file_unix = (build_cmd.build_base + '/mo/' + lang + + '/LC_MESSAGES/gajim.mo') + mo_dir = os.path.dirname(mo_file) + if not(os.path.isdir(mo_dir) or os.path.islink(mo_dir)): + os.makedirs(mo_dir) + + if newer(po_file, mo_file): + cmd = 'msgfmt %s -o %s' % (po_file, mo_file) + if os.system(cmd) != 0: + os.remove(mo_file) + msg = 'ERROR: Building language translation files failed.' + ask = msg + '\n Continue building y/n [n] ' + reply = input(ask) + if reply in ['n', 'N']: + raise SystemExit(msg) + log.info('Compiling %s >> %s', po_file, mo_file) + + #linux specific piece: + target = 'share/locale/' + lang + '/LC_MESSAGES' + data_files.append((target, [mo_file_unix])) + +def build_man(build_cmd): + ''' + Compresses Gajim manual files + ''' + data_files = build_cmd.distribution.data_files + for man in ['gajim.1', 'gajim-history-manager.1', 'gajim-remote.1']: + filename = os.path.join('data', man) + newdir = os.path.join(build_cmd.build_base, 'man') + if not(os.path.isdir(newdir) or os.path.islink(newdir)): + os.makedirs(newdir) + + import gzip + man_file_gz = os.path.join(newdir, man + '.gz') + if os.path.exists(man_file_gz): + if newer(filename, man_file_gz): + os.remove(man_file_gz) + else: + filename = False + + if filename: + #Binary io, so open is OK + with open(filename, 'rb') as f_in,\ + gzip.open(man_file_gz, 'wb') as f_out: + f_out.writelines(f_in) + log.info('Compiling %s >> %s', filename, man_file_gz) + + src = build_cmd.build_base + '/man' + '/' + man + '.gz' + target = 'share/man/man1' + data_files.append((target, [src])) + +def build_intl(build_cmd): + ''' + Merge translation files into desktop and mime files + ''' + data_files = build_cmd.distribution.data_files + base = build_cmd.build_base + + merge_files = (('data/org.gajim.Gajim.desktop', 'share/applications', '-d'), + ('data/gajim-remote.desktop', 'share/applications', '-d'), + ('data/org.gajim.Gajim.appdata.xml', 'share/metainfo', '-x')) + + for filename, target, option in merge_files: + filenamelocal = convert_path(filename) + newfile = os.path.join(base, filenamelocal) + newdir = os.path.dirname(newfile) + if not(os.path.isdir(newdir) or os.path.islink(newdir)): + os.makedirs(newdir) + merge(filenamelocal + '.in', newfile, option) + data_files.append((target, [base + '/' + filename])) + +def substitute_variables(filename_in, filename_out, subst_vars): + ''' + Substitute variables in a file. + ''' + f_in = codecs.open(filename_in, encoding='utf-8') + f_out = codecs.open(filename_out, encoding='utf-8', mode='w') + for line in f_in: + for variable, substitution in subst_vars: + line = line.replace(variable, substitution) + f_out.write(line) + f_in.close() + f_out.close() + + +def merge(in_file, out_file, option, po_dir='po', cache=True): + ''' + Run the intltool-merge command. + ''' + option += ' -u' + if cache: + cache_file = os.path.join('po', '.intltool-merge-cache') + option += ' -c ' + cache_file + + if (not os.path.exists(out_file) and os.path.exists(in_file)): + if sys.platform == 'win32': + cmd = (('set LC_ALL=C && perl -S intltool-merge %(opt)s %(po_dir)s %(in_file)s ' + '%(out_file)s') % + {'opt' : option, + 'po_dir' : po_dir, + 'in_file' : in_file, + 'out_file' : out_file}) + else: + cmd = (('LC_ALL=C intltool-merge %(opt)s %(po_dir)s %(in_file)s ' + '%(out_file)s') % + {'opt' : option, + 'po_dir' : po_dir, + 'in_file' : in_file, + 'out_file' : out_file}) + if os.system(cmd) != 0: + msg = ('ERROR: %s was not merged into the translation files!\n' % + out_file) + raise SystemExit(msg) + log.info('Compiling %s >> %s', in_file, out_file) + + +class build(_build): + def run(self): + build_trans(self) + if not sys.platform == 'win32': + build_man(self) + build_intl(self) + _build.run(self) + + +package_data_emoticons = ['data/emoticons/*/emoticons_theme.py', + 'data/emoticons/*/*.png', + 'data/emoticons/*/LICENSE'] +package_data_gui = ['data/gui/*.ui'] +package_data_icons = ['data/icons/hicolor/*/*/*.png'] +package_data_iconsets = ['data/iconsets/*/*/*.png'] +package_data_style = ['data/style/gajim.css'] +package_data = (package_data_emoticons + + package_data_gui + + package_data_icons + + package_data_iconsets + + package_data_style) + + +# only install subdirectories of data +data_files_app_icon = [ + ("share/icons/hicolor/64x64/apps", ["icons/hicolor/64x64/apps/org.gajim.Gajim.png"]), + ("share/icons/hicolor/128x128/apps", ["icons/hicolor/128x128/apps/org.gajim.Gajim.png"]), + ("share/icons/hicolor/scalable/apps", ["icons/hicolor/scalable/apps/org.gajim.Gajim.svg"]) + ] + +data_files = data_files_app_icon + + +setup( + name = "gajim", + description = 'TODO', + version=gajim.__version__, + url = 'https://gajim.org', + cmdclass = { + 'build': build, # if setuptools use "'build_py': build" + }, + # TODO fix tests + # TODO configure_file defs.py.in + # TODO #install plugins + scripts = [ + 'scripts/gajim', + 'scripts/gajim-history-manager', + 'scripts/gajim-remote' ], + packages = find_packages(), + package_data = {'gajim': package_data}, + data_files = data_files, +) From 624bee755c7f59a99ba05d888fe9d6fc2e91f852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Thu, 20 Jul 2017 00:43:06 +0200 Subject: [PATCH 04/25] fix file lookup location and other issues --- .gitignore | 1 - data/defs.py.in | 9 ---- gajim/__init__.py | 1 + gajim/common/config.py | 5 ++- gajim/common/configpaths.py | 4 +- gajim/common/defs.py | 44 ------------------- gajim/common/i18n.py | 5 +-- gajim/dialogs.py | 1 - gajim/gajim.py | 4 +- gajim/gtkgui_helpers.py | 3 +- scripts/{gajim.in => gajim} | 2 - ...story-manager.in => gajim-history-manager} | 2 - scripts/{gajim-remote.in => gajim-remote} | 2 - setup.py | 38 +++++++--------- 14 files changed, 27 insertions(+), 94 deletions(-) delete mode 100644 data/defs.py.in delete mode 100644 gajim/common/defs.py rename scripts/{gajim.in => gajim} (97%) rename scripts/{gajim-history-manager.in => gajim-history-manager} (97%) rename scripts/{gajim-remote.in => gajim-remote} (96%) diff --git a/.gitignore b/.gitignore index a9245fcd7..b5734cbb2 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ syntax: glob *.pyo *~ autom4te.cache -data/defs.py data/org.gajim.Gajim.appdata.xml data/org.gajim.Gajim.desktop libtool diff --git a/data/defs.py.in b/data/defs.py.in deleted file mode 100644 index 10d7de3b4..000000000 --- a/data/defs.py.in +++ /dev/null @@ -1,9 +0,0 @@ -# this file is automatically generate by configure -# do not edit it! -docdir = "@DOCDIR@" - -basedir = "@PKGDATADIR@" - -version = "@VERSION@" - -localedir = "@LOCALEDIR@" diff --git a/gajim/__init__.py b/gajim/__init__.py index e69de29bb..bac41ffe7 100644 --- a/gajim/__init__.py +++ b/gajim/__init__.py @@ -0,0 +1 @@ +__version__ = "0.16.11" diff --git a/gajim/common/config.py b/gajim/common/config.py index 11217ac2e..e99777b7d 100644 --- a/gajim/common/config.py +++ b/gajim/common/config.py @@ -33,10 +33,11 @@ import re -from gajim.common import defs from gi.repository import GLib from enum import IntEnum, unique +import gajim + @unique class Option(IntEnum): TYPE = 0 @@ -188,7 +189,7 @@ class Config: 'send_on_ctrl_enter': [opt_bool, False, _('Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ Client default behaviour).')], 'last_roster_visible': [opt_bool, True], 'key_up_lines': [opt_int, 25, _('How many lines to store for Ctrl+KeyUP.')], - 'version': [ opt_str, defs.version ], # which version created the config + 'version': [ opt_str, gajim.__version__ ], # which version created the config 'search_engine': [opt_str, 'https://www.google.com/search?&q=%s&sourceid=gajim'], 'dictionary_url': [opt_str, 'WIKTIONARY', _("Either custom url with %%s in it where %%s is the word/phrase or 'WIKTIONARY' which means use wiktionary.")], 'always_english_wikipedia': [opt_bool, False], diff --git a/gajim/common/configpaths.py b/gajim/common/configpaths.py index e0245f2cb..22eceeba5 100644 --- a/gajim/common/configpaths.py +++ b/gajim/common/configpaths.py @@ -25,7 +25,6 @@ import os import sys import tempfile -from gajim.common import defs from enum import Enum, unique @unique @@ -102,8 +101,7 @@ class ConfigPaths: basedir = pkg_resources.resource_filename("gajim", ".") self.add('DATA', None, os.path.join(basedir, 'data')) self.add('GUI', None, os.path.join(basedir, 'data', 'gui')) - basedir = os.environ.get('GAJIM_BASEDIR', defs.basedir) - self.add('ICONS', None, os.path.join(basedir, 'icons')) + self.add('ICONS', None, os.path.join(basedir, 'data', 'icons')) self.add('HOME', None, os.path.expanduser('~')) self.add('PLUGINS_BASE', None, os.path.join(basedir, 'plugins')) diff --git a/gajim/common/defs.py b/gajim/common/defs.py deleted file mode 100644 index b9da9534e..000000000 --- a/gajim/common/defs.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding:utf-8 -*- -## src/common/defs.py -## -## Copyright (C) 2006 Nikos Kouremenos -## Copyright (C) 2006-2014 Yann Leboulanger -## Copyright (C) 2006-2008 Jean-Marie Traissard -## Copyright (C) 2007 Brendan Taylor -## Tomasz Melcer -## Copyright (C) 2008 Jonathan Schleifer -## -## This file is part of Gajim. -## -## Gajim 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; version 3 only. -## -## Gajim 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 Gajim. If not, see . -## - -import subprocess -import sys -import os.path - -docdir = '../' -basedir = './' -localedir = '../po' -version = '0.16.11' - -try: - node = subprocess.Popen('git rev-parse --short=12 HEAD', shell=True, - stdout=subprocess.PIPE).communicate()[0] - if node: - version += '-' + node.decode('utf-8').strip() -except Exception: - pass - -for base in ('.', 'common'): - sys.path.append(os.path.join(base, '.libs')) diff --git a/gajim/common/i18n.py b/gajim/common/i18n.py index b2368496e..8ff8f9f19 100644 --- a/gajim/common/i18n.py +++ b/gajim/common/i18n.py @@ -24,7 +24,6 @@ import locale import gettext import os -from gajim.common import defs import unicodedata # May be changed after GTK is imported @@ -47,7 +46,6 @@ def paragraph_direction_mark(text): return '\u200E' APP = 'gajim' -DIR = defs.localedir # set '' so each part of the locale that should be modified is set # according to the environment variables @@ -64,7 +62,8 @@ if os.name == 'nt': if lang: os.environ['LANG'] = lang -gettext.install(APP, DIR) +#gettext.install(APP, defs.localedir) +gettext.install(APP) if gettext._translations: _translation = list(gettext._translations.values())[0] else: diff --git a/gajim/dialogs.py b/gajim/dialogs.py index 3d7c2f1c7..385de5a1d 100644 --- a/gajim/dialogs.py +++ b/gajim/dialogs.py @@ -43,7 +43,6 @@ from gajim import vcard from gajim import conversation_textview from gajim import dataforms_widget -from gajim.common import defs from random import randrange from gajim.common import pep from gajim.common import ged diff --git a/gajim/gajim.py b/gajim/gajim.py index bc2f75e93..ddaa8e7b3 100644 --- a/gajim/gajim.py +++ b/gajim/gajim.py @@ -252,8 +252,8 @@ class GajimApplication(Gtk.Application): if options.contains('config-path'): self.config_path = options.lookup_value('config-path').get_string() if options.contains('version'): - from gajim.common.defs import version - print(version) + from gajim import __version__ + print(__version__) return 0 if options.contains('quiet'): logging_helpers.set_quiet() diff --git a/gajim/gtkgui_helpers.py b/gajim/gtkgui_helpers.py index 6bd46111e..47f0bad86 100644 --- a/gajim/gtkgui_helpers.py +++ b/gajim/gtkgui_helpers.py @@ -119,9 +119,8 @@ def get_image_button(icon_name, tooltip, toggle=False): button.set_tooltip_text(_(tooltip)) return button -GUI_DIR = os.path.join(app.DATA_DIR, 'gui') def get_gtk_builder(file_name, widget=None): - file_path = os.path.join(GUI_DIR, file_name) + file_path = os.path.join(configpaths.get('GUI'), file_name) builder = Gtk.Builder() builder.set_translation_domain(i18n.APP) if widget: diff --git a/scripts/gajim.in b/scripts/gajim similarity index 97% rename from scripts/gajim.in rename to scripts/gajim index 187c59b7c..f2af444c5 100644 --- a/scripts/gajim.in +++ b/scripts/gajim @@ -27,8 +27,6 @@ if sys.platform != 'win32': if os.geteuid() == 0: sys.exit("You must not launch gajim as root, it is insecure.") -sys.path.append("@PY_SITEDIR@") - import gajim.gajim as g g.GajimApplication().run(sys.argv) diff --git a/scripts/gajim-history-manager.in b/scripts/gajim-history-manager similarity index 97% rename from scripts/gajim-history-manager.in rename to scripts/gajim-history-manager index 761adf75e..2466a70c3 100644 --- a/scripts/gajim-history-manager.in +++ b/scripts/gajim-history-manager @@ -27,8 +27,6 @@ if sys.platform != 'win32': if os.geteuid() == 0: sys.exit("You must not launch gajim as root, it is insecure.") -sys.path.append("@PY_SITEDIR@") - import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk diff --git a/scripts/gajim-remote.in b/scripts/gajim-remote similarity index 96% rename from scripts/gajim-remote.in rename to scripts/gajim-remote index c9d88efd1..81ce64ace 100644 --- a/scripts/gajim-remote.in +++ b/scripts/gajim-remote @@ -26,8 +26,6 @@ import sys if os.geteuid() == 0: sys.exit("You must not launch gajim as root, it is insecure.") -sys.path.append("@PY_SITEDIR@") - import gajim.gajim_remote as g g.GajimRemote() diff --git a/setup.py b/setup.py index 9a774deb4..a140e8973 100644 --- a/setup.py +++ b/setup.py @@ -9,17 +9,15 @@ if sys.version_info[0] < 3: import codecs from setuptools import setup, find_packages -# from distutils.core import setup +from setuptools.command.build_py import build_py as _build from distutils import log -from distutils.command.build import build as _build -#from distutils.command.install import install as _install -#from setuptools.command.build_py import build_py as _build # build_dir is unknown from distutils.util import convert_path, newer import gajim pos = [x for x in os.listdir('po') if x[-3:] == ".po"] ALL_LINGUAS = sorted([os.path.split(x)[-1][:-3] for x in pos]) +cwd = os.path.dirname(os.path.realpath(__file__)) def build_trans(build_cmd): ''' @@ -28,12 +26,9 @@ def build_trans(build_cmd): data_files = build_cmd.distribution.data_files for lang in ALL_LINGUAS: po_file = os.path.join('po', lang + '.po') - mo_file = os.path.join(build_cmd.build_base, 'mo', lang, 'LC_MESSAGES', - 'gajim.mo') - mo_file_unix = (build_cmd.build_base + '/mo/' + lang + - '/LC_MESSAGES/gajim.mo') + mo_file = os.path.join(cwd, 'mo', lang, 'LC_MESSAGES', 'gajim.mo') mo_dir = os.path.dirname(mo_file) - if not(os.path.isdir(mo_dir) or os.path.islink(mo_dir)): + if not (os.path.isdir(mo_dir) or os.path.islink(mo_dir)): os.makedirs(mo_dir) if newer(po_file, mo_file): @@ -49,17 +44,17 @@ def build_trans(build_cmd): #linux specific piece: target = 'share/locale/' + lang + '/LC_MESSAGES' - data_files.append((target, [mo_file_unix])) + data_files.append((target, [mo_file])) def build_man(build_cmd): ''' - Compresses Gajim manual files + Compress Gajim manual files ''' data_files = build_cmd.distribution.data_files for man in ['gajim.1', 'gajim-history-manager.1', 'gajim-remote.1']: filename = os.path.join('data', man) - newdir = os.path.join(build_cmd.build_base, 'man') - if not(os.path.isdir(newdir) or os.path.islink(newdir)): + newdir = os.path.join(cwd, 'man') + if not (os.path.isdir(newdir) or os.path.islink(newdir)): os.makedirs(newdir) import gzip @@ -77,7 +72,7 @@ def build_man(build_cmd): f_out.writelines(f_in) log.info('Compiling %s >> %s', filename, man_file_gz) - src = build_cmd.build_base + '/man' + '/' + man + '.gz' + src = cwd + '/man' + '/' + man + '.gz' target = 'share/man/man1' data_files.append((target, [src])) @@ -86,7 +81,7 @@ def build_intl(build_cmd): Merge translation files into desktop and mime files ''' data_files = build_cmd.distribution.data_files - base = build_cmd.build_base + base = cwd merge_files = (('data/org.gajim.Gajim.desktop', 'share/applications', '-d'), ('data/gajim-remote.desktop', 'share/applications', '-d'), @@ -149,7 +144,7 @@ def merge(in_file, out_file, option, po_dir='po', cache=True): class build(_build): def run(self): build_trans(self) - if not sys.platform == 'win32': + if sys.platform != 'win32': build_man(self) build_intl(self) _build.run(self) @@ -178,18 +173,14 @@ data_files_app_icon = [ data_files = data_files_app_icon - setup( name = "gajim", description = 'TODO', version=gajim.__version__, url = 'https://gajim.org', cmdclass = { - 'build': build, # if setuptools use "'build_py': build" + 'build_py': build, }, - # TODO fix tests - # TODO configure_file defs.py.in - # TODO #install plugins scripts = [ 'scripts/gajim', 'scripts/gajim-history-manager', @@ -197,4 +188,9 @@ setup( packages = find_packages(), package_data = {'gajim': package_data}, data_files = data_files, + install_requires=[ + 'dbus-python', + 'nbxmpp', + 'pyOpenSSL' + ], ) From 789b73fd951f7c2e37a6607aefd244eb6e4c68be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Sun, 3 Sep 2017 00:26:08 +0200 Subject: [PATCH 05/25] Install jabber server list --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index a140e8973..094eb54da 100644 --- a/setup.py +++ b/setup.py @@ -156,11 +156,13 @@ package_data_emoticons = ['data/emoticons/*/emoticons_theme.py', package_data_gui = ['data/gui/*.ui'] package_data_icons = ['data/icons/hicolor/*/*/*.png'] package_data_iconsets = ['data/iconsets/*/*/*.png'] +package_data_other = ['data/other/servers.xml'] package_data_style = ['data/style/gajim.css'] package_data = (package_data_emoticons + package_data_gui + package_data_icons + package_data_iconsets + + package_data_other + package_data_style) From f1b009dc0ce2b50f45ec17284699d62e12752ac0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Mon, 4 Sep 2017 22:29:22 +0200 Subject: [PATCH 06/25] Fix CI test execution --- .gitlab-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9eba27b63..9dab67c69 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,8 +9,7 @@ stages: run-test: stage: test script: - - ./autogen.sh - - make test_nogui + - test/runtests.py -n run-pylint: stage: test From a2ac23d15becc40f6deb1b02dd195935c6d6c41b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Tue, 5 Sep 2017 00:11:21 +0200 Subject: [PATCH 07/25] Add MANIFEST.in --- .gitignore | 2 ++ MANIFEST.in | 3 +++ 2 files changed, 5 insertions(+) create mode 100644 MANIFEST.in diff --git a/.gitignore b/.gitignore index b5734cbb2..6ce9ba0db 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ syntax: regexp ^config\.* ^config\/ ^scripts\/gajim.* + +!MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..23bb08eaf --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,3 @@ +include COPYING +recursive-include po *.po +recursive-include data *.1 *.in From c3b1c1dd6abcd097a798ae86d6c20deeb7debdc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Tue, 5 Sep 2017 00:12:50 +0200 Subject: [PATCH 08/25] Add author and license information to setup.py --- setup.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/setup.py b/setup.py index 094eb54da..e9b7ee1e8 100644 --- a/setup.py +++ b/setup.py @@ -179,7 +179,13 @@ setup( name = "gajim", description = 'TODO', version=gajim.__version__, + author = "Philipp Hörist, Yann Leboulanger", + author_email = "gajim-devel@gajim.org", url = 'https://gajim.org', + license = 'GPL v3 or greater', + classifiers = [ + 'Programming Language :: Python :: 3', + ], cmdclass = { 'build_py': build, }, From 996607d65670838f93367dab5c2cf739467fa014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Tue, 5 Sep 2017 00:16:09 +0200 Subject: [PATCH 09/25] CI: Update package script --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9dab67c69..a4ac6e168 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,8 +19,8 @@ run-pylint: run-build: stage: build script: - - ./autogen.sh - - make dist + - python3 setup.py sdist + - cd dist - export FN="gajim-default-"$(date +%F)".tar" - mv gajim-*.tar.gz $FN.gz - mkdir tmp_add_plugins @@ -29,6 +29,7 @@ run-build: - tar xzf $FN.gz - rm $FN.gz - export GF=$(find . -maxdepth 1 -type d -name 'gajim-*') + - mkdir -p $GF/plugins/ - cd $GF/plugins/ - curl -O https://ftp.gajim.org/plugins_1/plugin_installer.zip - unzip plugin_installer.zip From 343811c2f679112207dd5a21d67f76287e1405c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Tue, 5 Sep 2017 23:41:15 +0200 Subject: [PATCH 10/25] Cover plugins in setup.py --- .gitlab-ci.yml | 5 ++--- MANIFEST.in | 1 + setup.py | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a4ac6e168..0ec6e97c8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,12 +29,11 @@ run-build: - tar xzf $FN.gz - rm $FN.gz - export GF=$(find . -maxdepth 1 -type d -name 'gajim-*') - - mkdir -p $GF/plugins/ - - cd $GF/plugins/ + - cd $GF/gajim/plugins/ - curl -O https://ftp.gajim.org/plugins_1/plugin_installer.zip - unzip plugin_installer.zip - rm plugin_installer.zip - - cd ../.. + - cd ../../.. - tar czf ../$FN.gz gajim-* - cd .. - rm -rf tmp_add_plugins diff --git a/MANIFEST.in b/MANIFEST.in index 23bb08eaf..d47f8bf79 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,4 @@ include COPYING recursive-include po *.po recursive-include data *.1 *.in +recursive-exclude * *.pyc diff --git a/setup.py b/setup.py index e9b7ee1e8..f21dc988b 100644 --- a/setup.py +++ b/setup.py @@ -157,12 +157,14 @@ package_data_gui = ['data/gui/*.ui'] package_data_icons = ['data/icons/hicolor/*/*/*.png'] package_data_iconsets = ['data/iconsets/*/*/*.png'] package_data_other = ['data/other/servers.xml'] +package_data_plugin = ['plugins/*/*'] package_data_style = ['data/style/gajim.css'] package_data = (package_data_emoticons + package_data_gui + package_data_icons + package_data_iconsets + package_data_other + + package_data_plugin + package_data_style) From 5375965f875dbe3d4ddf7674af899454baa1068c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Wed, 6 Sep 2017 23:15:13 +0200 Subject: [PATCH 11/25] Don't hard code python path in scripts to support virtualenv --- launch.py | 2 +- scripts/gajim | 2 +- scripts/gajim-history-manager | 2 +- scripts/gajim-remote | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/launch.py b/launch.py index d7a031d93..68e4680e0 100755 --- a/launch.py +++ b/launch.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -OO +#!/usr/bin/env python3 import os import sys diff --git a/scripts/gajim b/scripts/gajim index f2af444c5..47f28512e 100644 --- a/scripts/gajim +++ b/scripts/gajim @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -OO +#!/usr/bin/env python3 ## ## Copyright (C) 2005 Yann Le Boulanger ## Copyright (C) 2006 Dimitur Kirov diff --git a/scripts/gajim-history-manager b/scripts/gajim-history-manager index 2466a70c3..cbf3cb4fc 100644 --- a/scripts/gajim-history-manager +++ b/scripts/gajim-history-manager @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -OO +#!/usr/bin/env python3 ## ## Copyright (C) 2005 Yann Le Boulanger ## Copyright (C) 2006 Dimitur Kirov diff --git a/scripts/gajim-remote b/scripts/gajim-remote index 81ce64ace..624596878 100644 --- a/scripts/gajim-remote +++ b/scripts/gajim-remote @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -OO +#!/usr/bin/env python3 ## ## Copyright (C) 2005 Yann Le Boulanger ## Copyright (C) 2006 Dimitur Kirov From 77014f09c6b270ddd49786545578a4b8cccf513d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Thu, 7 Sep 2017 23:24:43 +0200 Subject: [PATCH 12/25] Add dev version number support --- gajim/__init__.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gajim/__init__.py b/gajim/__init__.py index bac41ffe7..47d4db6a1 100644 --- a/gajim/__init__.py +++ b/gajim/__init__.py @@ -1 +1,12 @@ +import subprocess + __version__ = "0.16.11" + +try: + node = subprocess.Popen('git rev-parse --short=12 HEAD', shell=True, + stdout=subprocess.PIPE).communicate()[0] + if node: + __version__ += '-' + node.decode('utf-8').strip() +except Exception: + pass + From 06102e7d972c8e4fbfa2388afc30f944cf3051e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Fri, 8 Sep 2017 00:41:30 +0200 Subject: [PATCH 13/25] Linux: fix translation issue --- gajim/common/i18n.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gajim/common/i18n.py b/gajim/common/i18n.py index 8ff8f9f19..dec167547 100644 --- a/gajim/common/i18n.py +++ b/gajim/common/i18n.py @@ -62,8 +62,23 @@ if os.name == 'nt': if lang: os.environ['LANG'] = lang -#gettext.install(APP, defs.localedir) -gettext.install(APP) + localedir = "../po" +else: + # try to find domain in localedir + path = gettext.find(APP) + if path: + # extract localedir from localedir/language/LC_MESSAGES/domain.mo + path, tail = os.path.split(path) + path, tail = os.path.split(path) + localedir, tail = os.path.split(path) + else: # fallback to user locale + base = os.getenv('XDG_DATA_HOME') + if base is None or base[0] != '/': + base = os.path.expanduser('~/.local/share') + localedir = os.path.join(base, "locale") + locale.bindtextdomain(APP, localedir) +gettext.install(APP, localedir) + if gettext._translations: _translation = list(gettext._translations.values())[0] else: From 7751c3e72260b69ea7aa3a62f9b1799a7a000125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Fri, 8 Sep 2017 23:32:19 +0200 Subject: [PATCH 14/25] setup.py: remove intltool dependency --- data/gajim-remote.desktop.in | 4 ++-- data/org.gajim.Gajim.desktop.in | 8 ++++---- setup.py | 35 +++++++++++---------------------- 3 files changed, 17 insertions(+), 30 deletions(-) diff --git a/data/gajim-remote.desktop.in b/data/gajim-remote.desktop.in index 3efd0b5f4..0949e682b 100644 --- a/data/gajim-remote.desktop.in +++ b/data/gajim-remote.desktop.in @@ -1,7 +1,7 @@ [Desktop Entry] Categories=Network;InstantMessaging;RemoteAccess;ConsoleOnly; -_Name=Open URI using Gajim -_Keywords=chat;messaging;im;jabber;xmpp;bonjour;voip; +Name=Open URI using Gajim +Keywords=chat;messaging;im;jabber;xmpp;bonjour;voip; Version=1.0 Exec=gajim-remote handle_uri %u TryExec=gajim-remote diff --git a/data/org.gajim.Gajim.desktop.in b/data/org.gajim.Gajim.desktop.in index b8a5c0e08..5562ab970 100644 --- a/data/org.gajim.Gajim.desktop.in +++ b/data/org.gajim.Gajim.desktop.in @@ -1,9 +1,9 @@ [Desktop Entry] Categories=Network;InstantMessaging;GTK;GNOME; -_Name=Gajim -_GenericName=Jabber IM Client -_Comment=A GTK+ Jabber client -_Keywords=chat;messaging;im;xmpp;bonjour;voip; +Name=Gajim +GenericName=Jabber IM Client +Comment=A GTK+ Jabber client +Keywords=chat;messaging;im;xmpp;bonjour;voip; Version=1.0 Exec=gajim Icon=org.gajim.Gajim diff --git a/setup.py b/setup.py index f21dc988b..2956a2653 100644 --- a/setup.py +++ b/setup.py @@ -83,9 +83,9 @@ def build_intl(build_cmd): data_files = build_cmd.distribution.data_files base = cwd - merge_files = (('data/org.gajim.Gajim.desktop', 'share/applications', '-d'), - ('data/gajim-remote.desktop', 'share/applications', '-d'), - ('data/org.gajim.Gajim.appdata.xml', 'share/metainfo', '-x')) + merge_files = (('data/org.gajim.Gajim.desktop', 'share/applications', '--desktop'), + ('data/gajim-remote.desktop', 'share/applications', '--desktop'), + ('data/org.gajim.Gajim.appdata.xml', 'share/metainfo', '--xml')) for filename, target, option in merge_files: filenamelocal = convert_path(filename) @@ -110,30 +110,17 @@ def substitute_variables(filename_in, filename_out, subst_vars): f_out.close() -def merge(in_file, out_file, option, po_dir='po', cache=True): +def merge(in_file, out_file, option, po_dir='po'): ''' - Run the intltool-merge command. + Run the msgfmt command. ''' - option += ' -u' - if cache: - cache_file = os.path.join('po', '.intltool-merge-cache') - option += ' -c ' + cache_file - if (not os.path.exists(out_file) and os.path.exists(in_file)): - if sys.platform == 'win32': - cmd = (('set LC_ALL=C && perl -S intltool-merge %(opt)s %(po_dir)s %(in_file)s ' - '%(out_file)s') % - {'opt' : option, - 'po_dir' : po_dir, - 'in_file' : in_file, - 'out_file' : out_file}) - else: - cmd = (('LC_ALL=C intltool-merge %(opt)s %(po_dir)s %(in_file)s ' - '%(out_file)s') % - {'opt' : option, - 'po_dir' : po_dir, - 'in_file' : in_file, - 'out_file' : out_file}) + cmd = (('msgfmt %(opt)s -d %(po_dir)s --template %(in_file)s ' + '-o %(out_file)s') % + {'opt' : option, + 'po_dir' : po_dir, + 'in_file' : in_file, + 'out_file' : out_file}) if os.system(cmd) != 0: msg = ('ERROR: %s was not merged into the translation files!\n' % out_file) From 03955a68cf2aef3c816ca75bf03656351b3eb09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Fri, 8 Sep 2017 23:37:45 +0200 Subject: [PATCH 15/25] setup.py: add description --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 2956a2653..d94e08e62 100644 --- a/setup.py +++ b/setup.py @@ -166,7 +166,7 @@ data_files = data_files_app_icon setup( name = "gajim", - description = 'TODO', + description = 'A GTK+ Jabber client', version=gajim.__version__, author = "Philipp Hörist, Yann Leboulanger", author_email = "gajim-devel@gajim.org", From 30424b364a121c4a215704432b8bf36320032a64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Thu, 14 Sep 2017 23:28:41 +0200 Subject: [PATCH 16/25] Move ipython_view to gajim.dev and exclude it from tarball --- gajim/{ => dev}/ipython_view.py | 0 gajim/gui_interface.py | 2 +- setup.py | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename gajim/{ => dev}/ipython_view.py (100%) diff --git a/gajim/ipython_view.py b/gajim/dev/ipython_view.py similarity index 100% rename from gajim/ipython_view.py rename to gajim/dev/ipython_view.py diff --git a/gajim/gui_interface.py b/gajim/gui_interface.py index d73d9d08c..3366898c1 100644 --- a/gajim/gui_interface.py +++ b/gajim/gui_interface.py @@ -2515,7 +2515,7 @@ class Interface: @staticmethod def create_ipython_window(): try: - from gajim.ipython_view import IPythonView + from gajim.dev.ipython_view import IPythonView except ImportError: print('ipython_view not found') return diff --git a/setup.py b/setup.py index d94e08e62..9d98bdc71 100644 --- a/setup.py +++ b/setup.py @@ -182,7 +182,7 @@ setup( 'scripts/gajim', 'scripts/gajim-history-manager', 'scripts/gajim-remote' ], - packages = find_packages(), + packages = find_packages(exclude=["gajim.dev"]), package_data = {'gajim': package_data}, data_files = data_files, install_requires=[ From 6bcd4751aa0dedaae4cbbcd471e76db7c4a599a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Thu, 14 Sep 2017 23:34:31 +0200 Subject: [PATCH 17/25] setup.py: fix license --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9d98bdc71..5ad136def 100644 --- a/setup.py +++ b/setup.py @@ -171,7 +171,7 @@ setup( author = "Philipp Hörist, Yann Leboulanger", author_email = "gajim-devel@gajim.org", url = 'https://gajim.org', - license = 'GPL v3 or greater', + license = 'GPL v3', classifiers = [ 'Programming Language :: Python :: 3', ], From 7ca5a1e8cc8c4255d52a1cdf4bb7aeec36171de4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Thu, 14 Sep 2017 23:55:18 +0200 Subject: [PATCH 18/25] setup.py: include activities, moods and sounds --- setup.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 5ad136def..5cb9a1ff6 100644 --- a/setup.py +++ b/setup.py @@ -137,22 +137,28 @@ class build(_build): _build.run(self) +package_data_activities = ['data/activities/*/*/*.png'] package_data_emoticons = ['data/emoticons/*/emoticons_theme.py', 'data/emoticons/*/*.png', 'data/emoticons/*/LICENSE'] package_data_gui = ['data/gui/*.ui'] package_data_icons = ['data/icons/hicolor/*/*/*.png'] package_data_iconsets = ['data/iconsets/*/*/*.png'] +package_data_moods = ['data/moods/*/*.png'] package_data_other = ['data/other/servers.xml'] -package_data_plugin = ['plugins/*/*'] +package_data_sounds = ['data/sounds/*.wav'] package_data_style = ['data/style/gajim.css'] -package_data = (package_data_emoticons +package_plugins_data = ['plugins/*/*'] +package_data = (package_data_activities + + package_data_emoticons + package_data_gui + package_data_icons + package_data_iconsets + + package_data_moods + package_data_other - + package_data_plugin - + package_data_style) + + package_data_sounds + + package_data_style + + package_plugins_data) # only install subdirectories of data From 9ef942469a9f45551265e7413c070b6823550ec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Fri, 15 Sep 2017 22:51:18 +0200 Subject: [PATCH 19/25] Package test, but don't install it --- MANIFEST.in | 1 + setup.py | 7 ++++--- test/__init__.py | 0 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 test/__init__.py diff --git a/MANIFEST.in b/MANIFEST.in index d47f8bf79..3b0af23b2 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,5 @@ include COPYING recursive-include po *.po recursive-include data *.1 *.in +recursive-include test *.py recursive-exclude * *.pyc diff --git a/setup.py b/setup.py index 5cb9a1ff6..0dc931a80 100644 --- a/setup.py +++ b/setup.py @@ -173,7 +173,7 @@ data_files = data_files_app_icon setup( name = "gajim", description = 'A GTK+ Jabber client', - version=gajim.__version__, + version = gajim.__version__, author = "Philipp Hörist, Yann Leboulanger", author_email = "gajim-devel@gajim.org", url = 'https://gajim.org', @@ -188,12 +188,13 @@ setup( 'scripts/gajim', 'scripts/gajim-history-manager', 'scripts/gajim-remote' ], - packages = find_packages(exclude=["gajim.dev"]), + packages = find_packages(exclude=["gajim.dev", "test*"]), package_data = {'gajim': package_data}, data_files = data_files, - install_requires=[ + install_requires = [ 'dbus-python', 'nbxmpp', 'pyOpenSSL' ], + test_suite = 'test' ) diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 000000000..e69de29bb From 9950228dca3ab0169d82780c9888a941136a3a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Sat, 16 Sep 2017 00:21:49 +0200 Subject: [PATCH 20/25] setup.py: add test and test_nogui --- .gitlab-ci.yml | 2 +- setup.py | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0ec6e97c8..eba492fb0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,7 @@ stages: run-test: stage: test script: - - test/runtests.py -n + - python3 setup.py test_nogui run-pylint: stage: test diff --git a/setup.py b/setup.py index 0dc931a80..8341facae 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,7 @@ if sys.version_info[0] < 3: import codecs from setuptools import setup, find_packages +from setuptools import Command from setuptools.command.build_py import build_py as _build from distutils import log from distutils.util import convert_path, newer @@ -137,6 +138,26 @@ class build(_build): _build.run(self) +class test(Command): + description = "Run all tests" + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + os.system("./test/runtests.py") + +class test_nogui(test): + description = "Run tests without GUI" + + def run(self): + os.system("./test/runtests.py -n") + + package_data_activities = ['data/activities/*/*/*.png'] package_data_emoticons = ['data/emoticons/*/emoticons_theme.py', 'data/emoticons/*/*.png', @@ -183,6 +204,8 @@ setup( ], cmdclass = { 'build_py': build, + 'test': test, + 'test_nogui': test_nogui, }, scripts = [ 'scripts/gajim', @@ -196,5 +219,4 @@ setup( 'nbxmpp', 'pyOpenSSL' ], - test_suite = 'test' ) From 864e572584e31275e9d1327982868c7ce2b26f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Mon, 18 Sep 2017 21:07:50 +0200 Subject: [PATCH 21/25] setup.py: install missing files --- .../hicolor/128x128/apps/org.gajim.Gajim.png | Bin .../hicolor/64x64/apps/org.gajim.Gajim.png | Bin {icons => gajim/data/icons}/hicolor/index.theme | 0 .../hicolor/scalable/apps/org.gajim.Gajim.svg | 0 setup.py | 15 +++++++++------ 5 files changed, 9 insertions(+), 6 deletions(-) rename {icons => gajim/data/icons}/hicolor/128x128/apps/org.gajim.Gajim.png (100%) rename {icons => gajim/data/icons}/hicolor/64x64/apps/org.gajim.Gajim.png (100%) rename {icons => gajim/data/icons}/hicolor/index.theme (100%) rename {icons => gajim/data/icons}/hicolor/scalable/apps/org.gajim.Gajim.svg (100%) mode change 100644 => 100755 setup.py diff --git a/icons/hicolor/128x128/apps/org.gajim.Gajim.png b/gajim/data/icons/hicolor/128x128/apps/org.gajim.Gajim.png similarity index 100% rename from icons/hicolor/128x128/apps/org.gajim.Gajim.png rename to gajim/data/icons/hicolor/128x128/apps/org.gajim.Gajim.png diff --git a/icons/hicolor/64x64/apps/org.gajim.Gajim.png b/gajim/data/icons/hicolor/64x64/apps/org.gajim.Gajim.png similarity index 100% rename from icons/hicolor/64x64/apps/org.gajim.Gajim.png rename to gajim/data/icons/hicolor/64x64/apps/org.gajim.Gajim.png diff --git a/icons/hicolor/index.theme b/gajim/data/icons/hicolor/index.theme similarity index 100% rename from icons/hicolor/index.theme rename to gajim/data/icons/hicolor/index.theme diff --git a/icons/hicolor/scalable/apps/org.gajim.Gajim.svg b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg similarity index 100% rename from icons/hicolor/scalable/apps/org.gajim.Gajim.svg rename to gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 index 8341facae..b61d1d38f --- a/setup.py +++ b/setup.py @@ -163,10 +163,13 @@ package_data_emoticons = ['data/emoticons/*/emoticons_theme.py', 'data/emoticons/*/*.png', 'data/emoticons/*/LICENSE'] package_data_gui = ['data/gui/*.ui'] -package_data_icons = ['data/icons/hicolor/*/*/*.png'] -package_data_iconsets = ['data/iconsets/*/*/*.png'] +package_data_icons = ['data/icons/hicolor/*/*/*.png', + 'data/icons/hicolor/*/*/*.svg'] +package_data_iconsets = ['data/iconsets/*/*/*.gif', + 'data/iconsets/*/*/*.png', + 'data/iconsets/transports/*/*/*.png'] package_data_moods = ['data/moods/*/*.png'] -package_data_other = ['data/other/servers.xml'] +package_data_other = ['data/other/*'] package_data_sounds = ['data/sounds/*.wav'] package_data_style = ['data/style/gajim.css'] package_plugins_data = ['plugins/*/*'] @@ -184,9 +187,9 @@ package_data = (package_data_activities # only install subdirectories of data data_files_app_icon = [ - ("share/icons/hicolor/64x64/apps", ["icons/hicolor/64x64/apps/org.gajim.Gajim.png"]), - ("share/icons/hicolor/128x128/apps", ["icons/hicolor/128x128/apps/org.gajim.Gajim.png"]), - ("share/icons/hicolor/scalable/apps", ["icons/hicolor/scalable/apps/org.gajim.Gajim.svg"]) + ("share/icons/hicolor/64x64/apps", ["gajim/data/icons/hicolor/64x64/apps/org.gajim.Gajim.png"]), + ("share/icons/hicolor/128x128/apps", ["gajim/data/icons/hicolor/128x128/apps/org.gajim.Gajim.png"]), + ("share/icons/hicolor/scalable/apps", ["gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg"]) ] data_files = data_files_app_icon From 3e80707eee5196b0cd0f4d22660df08e093ca0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Mon, 18 Sep 2017 23:48:54 +0200 Subject: [PATCH 22/25] setup.py: add update_po command --- .gitignore | 1 + setup.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) mode change 100755 => 100644 setup.py diff --git a/.gitignore b/.gitignore index 6ce9ba0db..37612787b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ data/org.gajim.Gajim.appdata.xml data/org.gajim.Gajim.desktop libtool po/.intltool-merge-cache +po/gajim.pot po/POTFILES po/stamp-it stamp-h1 diff --git a/setup.py b/setup.py old mode 100755 new mode 100644 index b61d1d38f..4d3238beb --- a/setup.py +++ b/setup.py @@ -20,6 +20,35 @@ pos = [x for x in os.listdir('po') if x[-3:] == ".po"] ALL_LINGUAS = sorted([os.path.split(x)[-1][:-3] for x in pos]) cwd = os.path.dirname(os.path.realpath(__file__)) + +def update_trans(): + ''' + Update translation files + ''' + template = os.path.join('po', 'gajim.pot') + files = [os.path.join(root, f) for root, d, files in os.walk('gajim') for f in files if os.path.isfile( + os.path.join(root, f)) and (f.endswith('.py') or f.endswith('.ui'))] + files.append(os.path.join("data", "gajim-remote.desktop.in")) + files.append(os.path.join("data", "org.gajim.Gajim.desktop.in")) + files.append(os.path.join("data", "org.gajim.Gajim.appdata.xml.in")) + cmd = 'xgettext --from-code=utf-8 -o %s %s' % ( + template, " ".join(files)) + if os.system(cmd) != 0: + msg = "ERROR: %s could not be created!\n" % template + raise SystemExit(msg) + + for lang in ALL_LINGUAS: + po_file = os.path.join('po', lang + '.po') + cmd = 'msgmerge -U %s %s' % (po_file, template) + if os.system(cmd) != 0: + msg = 'ERROR: Updating language translation file failed.' + ask = msg + '\n Continue updating y/n [n] ' + reply = input(ask) + if reply in ['n', 'N']: + raise SystemExit(msg) + log.info('Updating %s', po_file) + + def build_trans(build_cmd): ''' Translate the language files into gajim.mo @@ -157,6 +186,19 @@ class test_nogui(test): def run(self): os.system("./test/runtests.py -n") +class update_po(Command): + description = "Update po files" + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + update_trans() + package_data_activities = ['data/activities/*/*/*.png'] package_data_emoticons = ['data/emoticons/*/emoticons_theme.py', @@ -209,6 +251,7 @@ setup( 'build_py': build, 'test': test, 'test_nogui': test_nogui, + 'update_po': update_po, }, scripts = [ 'scripts/gajim', From 289c67fd8a590e65f335135a3a09f9ba6b00887a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Mon, 18 Sep 2017 23:59:12 +0200 Subject: [PATCH 23/25] setup.py: always regenerate *.desktop and *.appdata.xml otherwise we might ship outdated files --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4d3238beb..32621c8b8 100644 --- a/setup.py +++ b/setup.py @@ -144,7 +144,7 @@ def merge(in_file, out_file, option, po_dir='po'): ''' Run the msgfmt command. ''' - if (not os.path.exists(out_file) and os.path.exists(in_file)): + if os.path.exists(in_file): cmd = (('msgfmt %(opt)s -d %(po_dir)s --template %(in_file)s ' '-o %(out_file)s') % {'opt' : option, From af89d7cfa6e3f87d89fdeaa184a13f5706b63036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Tue, 19 Sep 2017 00:00:00 +0200 Subject: [PATCH 24/25] autopep8 setup.py --- setup.py | 72 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 32 deletions(-) mode change 100644 => 100755 setup.py diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 index 32621c8b8..220112d58 --- a/setup.py +++ b/setup.py @@ -72,10 +72,11 @@ def build_trans(build_cmd): raise SystemExit(msg) log.info('Compiling %s >> %s', po_file, mo_file) - #linux specific piece: + # linux specific piece: target = 'share/locale/' + lang + '/LC_MESSAGES' data_files.append((target, [mo_file])) + def build_man(build_cmd): ''' Compress Gajim manual files @@ -96,16 +97,17 @@ def build_man(build_cmd): filename = False if filename: - #Binary io, so open is OK + # Binary io, so open is OK with open(filename, 'rb') as f_in,\ gzip.open(man_file_gz, 'wb') as f_out: f_out.writelines(f_in) log.info('Compiling %s >> %s', filename, man_file_gz) - src = cwd + '/man' + '/' + man + '.gz' + src = cwd + '/man' + '/' + man + '.gz' target = 'share/man/man1' data_files.append((target, [src])) + def build_intl(build_cmd): ''' Merge translation files into desktop and mime files @@ -126,6 +128,7 @@ def build_intl(build_cmd): merge(filenamelocal + '.in', newfile, option) data_files.append((target, [base + '/' + filename])) + def substitute_variables(filename_in, filename_out, subst_vars): ''' Substitute variables in a file. @@ -146,14 +149,14 @@ def merge(in_file, out_file, option, po_dir='po'): ''' if os.path.exists(in_file): cmd = (('msgfmt %(opt)s -d %(po_dir)s --template %(in_file)s ' - '-o %(out_file)s') % - {'opt' : option, - 'po_dir' : po_dir, - 'in_file' : in_file, - 'out_file' : out_file}) + '-o %(out_file)s') % + {'opt': option, + 'po_dir': po_dir, + 'in_file': in_file, + 'out_file': out_file}) if os.system(cmd) != 0: msg = ('ERROR: %s was not merged into the translation files!\n' % - out_file) + out_file) raise SystemExit(msg) log.info('Compiling %s >> %s', in_file, out_file) @@ -180,12 +183,14 @@ class test(Command): def run(self): os.system("./test/runtests.py") + class test_nogui(test): description = "Run tests without GUI" def run(self): os.system("./test/runtests.py -n") + class update_po(Command): description = "Update po files" user_options = [] @@ -229,40 +234,43 @@ package_data = (package_data_activities # only install subdirectories of data data_files_app_icon = [ - ("share/icons/hicolor/64x64/apps", ["gajim/data/icons/hicolor/64x64/apps/org.gajim.Gajim.png"]), - ("share/icons/hicolor/128x128/apps", ["gajim/data/icons/hicolor/128x128/apps/org.gajim.Gajim.png"]), - ("share/icons/hicolor/scalable/apps", ["gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg"]) - ] + ("share/icons/hicolor/64x64/apps", + ["gajim/data/icons/hicolor/64x64/apps/org.gajim.Gajim.png"]), + ("share/icons/hicolor/128x128/apps", + ["gajim/data/icons/hicolor/128x128/apps/org.gajim.Gajim.png"]), + ("share/icons/hicolor/scalable/apps", + ["gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg"]) +] data_files = data_files_app_icon setup( - name = "gajim", - description = 'A GTK+ Jabber client', - version = gajim.__version__, - author = "Philipp Hörist, Yann Leboulanger", - author_email = "gajim-devel@gajim.org", - url = 'https://gajim.org', - license = 'GPL v3', - classifiers = [ + name="gajim", + description='A GTK+ Jabber client', + version=gajim.__version__, + author="Philipp Hörist, Yann Leboulanger", + author_email="gajim-devel@gajim.org", + url='https://gajim.org', + license='GPL v3', + classifiers=[ 'Programming Language :: Python :: 3', ], - cmdclass = { + cmdclass={ 'build_py': build, 'test': test, 'test_nogui': test_nogui, 'update_po': update_po, }, - scripts = [ + scripts=[ 'scripts/gajim', 'scripts/gajim-history-manager', - 'scripts/gajim-remote' ], - packages = find_packages(exclude=["gajim.dev", "test*"]), - package_data = {'gajim': package_data}, - data_files = data_files, - install_requires = [ - 'dbus-python', - 'nbxmpp', - 'pyOpenSSL' - ], + 'scripts/gajim-remote'], + packages=find_packages(exclude=["gajim.dev", "test*"]), + package_data={'gajim': package_data}, + data_files=data_files, + install_requires=[ + 'dbus-python', + 'nbxmpp', + 'pyOpenSSL' + ], ) From 5819f7e439c18b7533d748b019c3e54b4c244971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Fri, 22 Sep 2017 21:34:06 +0200 Subject: [PATCH 25/25] setup.py: move plugins directory to data directory --- .gitlab-ci.yml | 5 +++-- gajim/common/configpaths.py | 2 +- setup.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eba492fb0..53de81757 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,11 +29,12 @@ run-build: - tar xzf $FN.gz - rm $FN.gz - export GF=$(find . -maxdepth 1 -type d -name 'gajim-*') - - cd $GF/gajim/plugins/ + - mkdir -p $GF/gajim/data/plugins/ + - cd $GF/gajim/data/plugins/ - curl -O https://ftp.gajim.org/plugins_1/plugin_installer.zip - unzip plugin_installer.zip - rm plugin_installer.zip - - cd ../../.. + - cd ../../../.. - tar czf ../$FN.gz gajim-* - cd .. - rm -rf tmp_add_plugins diff --git a/gajim/common/configpaths.py b/gajim/common/configpaths.py index 22eceeba5..7a8c2c780 100644 --- a/gajim/common/configpaths.py +++ b/gajim/common/configpaths.py @@ -103,7 +103,7 @@ class ConfigPaths: self.add('GUI', None, os.path.join(basedir, 'data', 'gui')) self.add('ICONS', None, os.path.join(basedir, 'data', 'icons')) self.add('HOME', None, os.path.expanduser('~')) - self.add('PLUGINS_BASE', None, os.path.join(basedir, 'plugins')) + self.add('PLUGINS_BASE', None, os.path.join(basedir, 'data', 'plugins')) def add(self, name, type_, path): self.paths[name] = (type_, path) diff --git a/setup.py b/setup.py index 220112d58..030bb77e2 100755 --- a/setup.py +++ b/setup.py @@ -219,7 +219,7 @@ package_data_moods = ['data/moods/*/*.png'] package_data_other = ['data/other/*'] package_data_sounds = ['data/sounds/*.wav'] package_data_style = ['data/style/gajim.css'] -package_plugins_data = ['plugins/*/*'] +package_plugins_data = ['data/plugins/*/*'] package_data = (package_data_activities + package_data_emoticons + package_data_gui