From ce5653d75c29954e68c9c912e1c731306f9306fa Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 28 Aug 2013 00:39:15 +0200 Subject: [PATCH 1/7] BUILD: add --with-theme-manager configure option --- configure.ac | 18 ++++++++++++++++++ share/misc/Makefile.am | 5 +++++ src/Makefile.am | 4 ++++ src/htm/Makefile.am | 14 ++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 src/htm/Makefile.am diff --git a/configure.ac b/configure.ac index 75f885e4..6f217fcb 100644 --- a/configure.ac +++ b/configure.ac @@ -21,6 +21,7 @@ AC_PROG_CPP AM_PROG_AS AM_DISABLE_STATIC AC_PROG_LIBTOOL +AC_PATH_PROG(MDTOOL, mdtool, no) dnl ----------------------------------------------------------- dnl Language Support @@ -185,6 +186,20 @@ AC_ARG_ENABLE(minimal-flags, [AS_HELP_STRING([--enable-minimal-flags],[only add those CFLAGS that are really needed or not intrusive (default: no)])], minimalflags=$enableval, minimalflags=no) +AC_ARG_WITH(theme-manager, + [AS_HELP_STRING([--with-theme-manager],[compile theme manager (needs monodevelop, default: off)])], + theme_manager=$withval, theme_manager=no) + + + +dnl ********************************************************************* +dnl ** THEME-MANAGER **************************************************** +dnl ********************************************************************* +if test "x$theme_manager" != "xno" ; then + if test "x$MDTOOL" = "xno"; then + AC_MSG_ERROR([No "mdtool" found, you need to install monodevelop!]) + fi +fi dnl ********************************************************************* @@ -669,6 +684,7 @@ AM_CONDITIONAL(DO_FISHLIM, test "x$fishlim" = "xyes") AM_CONDITIONAL(DO_SYSINFO, test "x$sysinfo" = "xyes") AM_CONDITIONAL(USE_DBUS, test "x$dbus" = "xyes") #AM_CONDITIONAL(DO_GCONF, test "x$GCONFTOOL" != "xno") +AM_CONDITIONAL(WITH_TM, test "x$theme_manager" != "xno") dnl ********************************************************************* dnl ** SOCKS5 *********************************************************** @@ -952,6 +968,7 @@ src/common/Makefile src/common/dbus/Makefile src/fe-text/Makefile src/fe-gtk/Makefile +src/htm/Makefile src/pixmaps/Makefile plugins/Makefile plugins/python/Makefile @@ -972,6 +989,7 @@ echo HexChat $VERSION echo echo GTK+ interface ........ : $gtkfe echo Text interface ........ : $textfe +echo Theme manager ......... : $theme_manager echo echo MMX tinting ........... : $mmx echo XShm tinting .......... : $shm diff --git a/share/misc/Makefile.am b/share/misc/Makefile.am index eec37250..ded98690 100644 --- a/share/misc/Makefile.am +++ b/share/misc/Makefile.am @@ -1,3 +1,8 @@ util_DATA = hexchat.desktop utildir = $(datadir)/applications +if WITH_TM +util_DATA += htm.desktop +mime_DATA = htm-mime.xml +mimedir = $(datadir)/mime/packages +endif diff --git a/src/Makefile.am b/src/Makefile.am index 78856692..6cb77148 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -12,3 +12,7 @@ gtk_fe = fe-gtk endif SUBDIRS = pixmaps common $(gtk_fe) $(text_fe) + +if WITH_TM +SUBDIRS += htm +endif diff --git a/src/htm/Makefile.am b/src/htm/Makefile.am new file mode 100644 index 00000000..4a7c54ff --- /dev/null +++ b/src/htm/Makefile.am @@ -0,0 +1,14 @@ +MDTOOL_OPTS = --verbose + +theme_SCRIPTS = thememan.exe thememan +themedir = $(bindir) + +thememan.exe: htm-mono.csproj + $(MDTOOL) $(MDTOOL_OPTS) build $< + +thememan: + @echo "#!/bin/sh" > $@ + @echo "exec mono /usr/bin/thememan.exe \"$@\"" >> $@ + +clean-local: + rm -f thememan.exe thememan.exe.config thememan.exe.mdb thememan Main.resources From 7dea09c3714d62777ef7bdc82013af6deaa3a9db Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 28 Aug 2013 01:12:36 +0200 Subject: [PATCH 2/7] BUILD: fix quoting issue \"$@\" got malformed and interpreted by the Makefile --- src/htm/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/htm/Makefile.am b/src/htm/Makefile.am index 4a7c54ff..be564f6d 100644 --- a/src/htm/Makefile.am +++ b/src/htm/Makefile.am @@ -7,8 +7,8 @@ thememan.exe: htm-mono.csproj $(MDTOOL) $(MDTOOL_OPTS) build $< thememan: - @echo "#!/bin/sh" > $@ - @echo "exec mono /usr/bin/thememan.exe \"$@\"" >> $@ + @echo '#!/bin/sh' > $@ + @echo 'exec mono /usr/bin/thememan.exe "$$@"' >> $@ clean-local: rm -f thememan.exe thememan.exe.config thememan.exe.mdb thememan Main.resources From 8f0d6e85fdadc343fcf2b117ef922ab430c2b264 Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 28 Aug 2013 01:15:41 +0200 Subject: [PATCH 3/7] BUILD: don't hardcode the install path in the script --- src/htm/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/htm/Makefile.am b/src/htm/Makefile.am index be564f6d..5c387e36 100644 --- a/src/htm/Makefile.am +++ b/src/htm/Makefile.am @@ -8,7 +8,7 @@ thememan.exe: htm-mono.csproj thememan: @echo '#!/bin/sh' > $@ - @echo 'exec mono /usr/bin/thememan.exe "$$@"' >> $@ + @echo 'exec mono "$(bindir)/thememan.exe" "$$@"' >> $@ clean-local: rm -f thememan.exe thememan.exe.config thememan.exe.mdb thememan Main.resources From 08fd4f2dd73f198ad12a219fac91f743e3c9c6b6 Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 28 Aug 2013 02:55:08 +0200 Subject: [PATCH 4/7] BUILD: use thememan.in instead of Makefile echo --- configure.ac | 1 + src/htm/Makefile.am | 6 ++---- src/htm/thememan.in | 3 +++ 3 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 src/htm/thememan.in diff --git a/configure.ac b/configure.ac index 6f217fcb..4e47cf7e 100644 --- a/configure.ac +++ b/configure.ac @@ -969,6 +969,7 @@ src/common/dbus/Makefile src/fe-text/Makefile src/fe-gtk/Makefile src/htm/Makefile +src/htm/thememan src/pixmaps/Makefile plugins/Makefile plugins/python/Makefile diff --git a/src/htm/Makefile.am b/src/htm/Makefile.am index 5c387e36..85480402 100644 --- a/src/htm/Makefile.am +++ b/src/htm/Makefile.am @@ -6,9 +6,7 @@ themedir = $(bindir) thememan.exe: htm-mono.csproj $(MDTOOL) $(MDTOOL_OPTS) build $< -thememan: - @echo '#!/bin/sh' > $@ - @echo 'exec mono "$(bindir)/thememan.exe" "$$@"' >> $@ - clean-local: rm -f thememan.exe thememan.exe.config thememan.exe.mdb thememan Main.resources + +EXTRA_DIST = thememan.in diff --git a/src/htm/thememan.in b/src/htm/thememan.in new file mode 100644 index 00000000..f6f80df6 --- /dev/null +++ b/src/htm/thememan.in @@ -0,0 +1,3 @@ +#!/bin/sh +exec_prefix="@exec_prefix@" +exec mono "@bindir@/thememan.exe" "$@" From 9d0ea7af4b788ac20fe71574d74b64985c22d018 Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 28 Aug 2013 02:55:16 +0200 Subject: [PATCH 5/7] update gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 3b1e882b..df260d40 100644 --- a/.gitignore +++ b/.gitignore @@ -44,7 +44,11 @@ src/common/textenums.h src/common/textevents.h src/fe-gtk/hexchat src/fe-text/hexchat-text +src/htm/Main.resources src/htm/thememan.exe +src/htm/thememan.exe.config +src/htm/thememan.exe.mdb +src/htm/thememan stamp-h1 *.a *.o From 21bf0ae99800f09568a0aea5194c7ad1a113489c Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 28 Aug 2013 13:49:43 +0200 Subject: [PATCH 6/7] update desktop file --- share/misc/htm.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/misc/htm.desktop b/share/misc/htm.desktop index 535b7f4c..53cac289 100644 --- a/share/misc/htm.desktop +++ b/share/misc/htm.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Name=HexChat Theme Manager -Exec=mono /usr/bin/thememan %f +Exec=thememan %f Icon=hexchat Terminal=false Type=Application From 5d35ecfaa9eae70a14218eada1b1cf695d789f3a Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 28 Aug 2013 14:10:54 +0200 Subject: [PATCH 7/7] BUILD: update mime and desktop database --- share/misc/Makefile.am | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/share/misc/Makefile.am b/share/misc/Makefile.am index ded98690..32206a34 100644 --- a/share/misc/Makefile.am +++ b/share/misc/Makefile.am @@ -5,4 +5,15 @@ if WITH_TM util_DATA += htm.desktop mime_DATA = htm-mime.xml mimedir = $(datadir)/mime/packages + +UPDATE_MIME_DATABASE = update-mime-database "$(datadir)/mime" || : +UPDATE_DESKTOP_DATABASE = update-desktop-database -q "$(datadir)/applications" || : + +install-data-hook: + $(UPDATE_MIME_DATABASE); + $(UPDATE_DESKTOP_DATABASE); + +uninstall-hook: + $(UPDATE_MIME_DATABASE); + $(UPDATE_DESKTOP_DATABASE); endif