Accepting request 337520 from home:scarabeus_iv:branches:X11:windowmanagers

- Sed in lower requirement on gettext to work on Leap and 13.2

- Split lang pkg and properly recommend it
- Install icewm-menu-fdo and manpage
- Properly set docdir
- Add sgmltool to generate html help pages
- Use %configure macros properly
- Cleanup with spec-cleaner
- Drop bcond for gnome as it is enabled everywhere anyway
- Drop patches that should not be needed after discussion with mmarek:
  * icewm-menu.patch
  * icewm-susemenu.patch
- Peferences file is now in src not in lib so update patch,
  also use systemd to call shutdown and reboot which should be bit more safe
  today:
  * icewm-preferences.patch

- Version bump to 1.3.11:
  * various bugfixes collected from all upstream vendors
- Remove upstreamed patches:
  * icewm-1.2.35-empty-winmenu.patch
  * icewm-1.2.35-override-config.patch
  * icewm-1.2.35-unaligned-access.patch
  * icewm-1.3.6-winoptions.patch
  * icewm-1.3.8-enable-guievents.patch
  * icewm-1.3.8-shutdown-reboot-command.patch
  * icewm-1.3.8.tar.gz
  * icewm-bg-default-at-error.patch
  * icewm-docdir.patch
  * icewm-fix-themes.patch

OBS-URL: https://build.opensuse.org/request/show/337520
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/icewm?expand=0&rev=35
This commit is contained in:
2015-10-12 18:37:14 +00:00
committed by Git OBS Bridge
parent 8d8d1a8fea
commit 5b81e6b598
18 changed files with 189 additions and 540 deletions

3
1.3.11.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a8e697e92e1697109522eb286eaa282bee10dcdb747b18bbb26d7d21a3d99588
size 930484

View File

@@ -1,19 +0,0 @@
Should be fixed in YMenu / YPopupWindow for all menus, but we need it now
for the window menu (to disable it in the installation icewm)
---
src/wmframe.cc | 2 ++
1 file changed, 2 insertions(+)
Index: src/wmframe.cc
===================================================================
--- src/wmframe.cc.orig
+++ src/wmframe.cc
@@ -2017,6 +2017,8 @@ void YFrameWindow::popupSystemMenu(YWind
{
if (fPopupActive == 0) {
updateMenu();
+ if (windowMenu()->itemCount() == 0)
+ return;
if (windowMenu()->popup(owner, forWindow, this,
x, y, flags))
fPopupActive = windowMenu();

View File

@@ -1,13 +0,0 @@
diff --git src/wmapp.cc src/wmapp.cc
index d8b0032..24fb665 100644
--- src/wmapp.cc
+++ src/wmapp.cc
@@ -1178,7 +1178,7 @@ YWMApp::YWMApp(int *argc, char ***argv, const char *displayName):
managerWindow = None;
#ifndef NO_CONFIGURE
- loadConfiguration(this, "preferences");
+ loadConfiguration(this, configFile ? configFile : "preferences");
if (themeName != 0) {
MSG(("themeName=%s", themeName));

View File

@@ -1,13 +0,0 @@
diff --git src/wmapp.cc src/wmapp.cc
index d8b0032..6a5663d 100644
--- src/wmapp.cc
+++ src/wmapp.cc
@@ -220,7 +220,7 @@ static void registerProtocols2(Window xid) {
PropModeReplace, (unsigned char *)win_proto, i);
#endif
- long pid = getpid();
+ XID pid = getpid();
const char wmname[] = "IceWM "VERSION" ("HOSTOS"/"HOSTCPU")";
#ifdef GNOME1_HINTS

View File

@@ -1,26 +0,0 @@
---
src/wmframe.cc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- icewm-1.3.6.orig/src/wmframe.cc
+++ icewm-1.3.6/src/wmframe.cc
@@ -2264,15 +2264,15 @@ void YFrameWindow::getWindowOptions(Wind
if (name != null) {
ustring klass_instance = name.append(".").append(klass);
list->mergeWindowOption(opt, klass_instance, remove);
- } else
- list->mergeWindowOption(opt, klass, remove);
+ }
+ list->mergeWindowOption(opt, klass, remove);
}
if (name != null) {
if (role != null) {
ustring name_role = name.append(".").append(role);
list->mergeWindowOption(opt, name_role, remove);
- } else
- list->mergeWindowOption(opt, name, remove);
+ }
+ list->mergeWindowOption(opt, name, remove);
}
if (role != null)
list->mergeWindowOption(opt, role, remove);

View File

@@ -1,13 +0,0 @@
diff --git src/wmapp.h src/wmapp.h
index 101992c..cbe2556 100644
--- src/wmapp.h
+++ src/wmapp.h
@@ -78,7 +78,7 @@ private:
Window managerWindow;
};
-#if 0
+#ifdef CONFIG_GUIEVENTS
extern YWMApp * wmapp;
#endif

View File

@@ -1,13 +0,0 @@
diff --git a/src/wmmgr.cc b/src/wmmgr.cc
index 4252bf6..ae1c0e5 100644
--- a/src/wmmgr.cc
+++ b/src/wmmgr.cc
@@ -697,8 +697,6 @@ void YWindowManager::handleClientMessage(const XClientMessageEvent &message) {
case ICEWM_ACTION_RESTARTWM:
case ICEWM_ACTION_WINDOWLIST:
case ICEWM_ACTION_ABOUT:
- break;
- default:
smActionListener->handleSMAction(message.data.l[1]);
break;
}

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:17588d9e0bbbb23587bc04c83da9dd94fd4da6894ecfee6d7f3ed50d780dcd18
size 905680

View File

@@ -1,18 +0,0 @@
---
src/icewmbg.cc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/src/icewmbg.cc
+++ b/src/icewmbg.cc
@@ -274,7 +274,10 @@ void DesktopBackgroundManager::changeBac
currentBackground = back;
handleBackground = true;
}
- } else if (DesktopBackgroundColor && DesktopBackgroundColor[0]) {
+ }
+
+ if (!handleBackground &&
+ DesktopBackgroundColor && DesktopBackgroundColor[0]) {
XSetWindowBackgroundPixmap(xapp->display(), desktop->handle(), 0);
XSetWindowBackground(xapp->display(), desktop->handle(), bPixel);
handleBackground = true;

View File

@@ -1,35 +0,0 @@
diff --git Makefile.in Makefile.in
index 92f76aa..54a67aa 100644
--- Makefile.in
+++ Makefile.in
@@ -119,12 +119,12 @@ install-base: base
install-docs: docs
@echo ------------------------------------------
- @rm -fr "$(DESTDIR)$(DOCDIR)/icewm-$(VERSION)"
- @$(INSTALLDIR) "$(DESTDIR)$(DOCDIR)/icewm-$(VERSION)"
+ @rm -fr "$(DESTDIR)$(DOCDIR)/icewm"
+ @$(INSTALLDIR) "$(DESTDIR)$(DOCDIR)/icewm"
@echo "Installing documentation in $(DESTDIR)$(DOCDIR)"
- @$(INSTALLLIB) $(DOCFILES) "$(DESTDIR)$(DOCDIR)/icewm-$(VERSION)"
- @$(INSTALLLIB) "$(top_srcdir)/doc/"*.sgml "$(DESTDIR)$(DOCDIR)/icewm-$(VERSION)"
- @$(INSTALLLIB) "$(top_srcdir)/doc/"*.html "$(DESTDIR)$(DOCDIR)/icewm-$(VERSION)"
+ @$(INSTALLLIB) $(DOCFILES) "$(DESTDIR)$(DOCDIR)/icewm"
+ @$(INSTALLLIB) "$(top_srcdir)/doc/"*.sgml "$(DESTDIR)$(DOCDIR)/icewm"
+ @$(INSTALLLIB) "$(top_srcdir)/doc/"*.html "$(DESTDIR)$(DOCDIR)/icewm"
@echo ------------------------------------------
install-nls: nls
diff --git src/Makefile.in src/Makefile.in
index 73f015b..46aea83 100644
--- src/Makefile.in
+++ src/Makefile.in
@@ -32,7 +32,7 @@ DEFS = @DEFS@ \
-DICEWMBGEXE='"icewmbg$(EXEEXT)"' \
-DICESMEXE='"icewm-session$(EXEEXT)"' \
-DICEHELPEXE='"icehelp$(EXEEXT)"' \
- -DICEHELPIDX='"$(DOCDIR)/icewm-$(VERSION)/icewm.html"'
+ -DICEHELPIDX='"$(DOCDIR)/icewm/icewm.html"'
CXXFLAGS = @CXXFLAGS@ $(DEBUG) $(DEFS) `pkg-config gdk-pixbuf-xlib-2.0 --cflags` \
@CORE_CFLAGS@ @IMAGE_CFLAGS@ @AUDIO_CFLAGS@ `pkg-config fontconfig --cflags`

View File

@@ -1,122 +0,0 @@
This is workaround for bnc#856931.
The "None" color is not used and causes the title to be invisible due to bug in Xserver/libgdk.
diff -ur icewm-1.3.8.orig/lib/themes/icedesert/titleAB.xpm icewm-1.3.8/lib/themes/icedesert/titleAB.xpm
--- icewm-1.3.8.orig/lib/themes/icedesert/titleAB.xpm 2014-03-03 14:04:45.087165548 +0200
+++ icewm-1.3.8/lib/themes/icedesert/titleAB.xpm 2014-03-03 14:05:27.926953675 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleAB_xpm[] = {
-"1 20 20 1",
-" c None",
+"1 20 19 1",
". c #FFFFFF",
"+ c #FDFBFA",
"@ c #FBF8F5",
diff -ur icewm-1.3.8.orig/lib/themes/icedesert/titleAT.xpm icewm-1.3.8/lib/themes/icedesert/titleAT.xpm
--- icewm-1.3.8.orig/lib/themes/icedesert/titleAT.xpm 2014-03-03 14:04:45.086165483 +0200
+++ icewm-1.3.8/lib/themes/icedesert/titleAT.xpm 2014-03-03 14:05:36.371503268 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleAT_xpm[] = {
-"1 20 20 1",
-" c None",
+"1 20 19 1",
". c #FFFFFF",
"+ c #FDFBFA",
"@ c #FBF8F5",
diff -ur icewm-1.3.8.orig/lib/themes/icedesert/titleIB.xpm icewm-1.3.8/lib/themes/icedesert/titleIB.xpm
--- icewm-1.3.8.orig/lib/themes/icedesert/titleIB.xpm 2014-03-03 14:04:45.086165483 +0200
+++ icewm-1.3.8/lib/themes/icedesert/titleIB.xpm 2014-03-03 14:05:44.591038217 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleIB_xpm[] = {
-"1 20 20 1",
-" c None",
+"1 20 19 1",
". c #FFFFFF",
"+ c #FBFBFB",
"@ c #F8F8F8",
diff -ur icewm-1.3.8.orig/lib/themes/icedesert/titleIT.xpm icewm-1.3.8/lib/themes/icedesert/titleIT.xpm
--- icewm-1.3.8.orig/lib/themes/icedesert/titleIT.xpm 2014-03-03 14:04:45.086165483 +0200
+++ icewm-1.3.8/lib/themes/icedesert/titleIT.xpm 2014-03-03 14:05:54.318671317 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleIT_xpm[] = {
-"1 20 20 1",
-" c None",
+"1 20 19 1",
". c #FFFFFF",
"+ c #FBFBFB",
"@ c #F8F8F8",
diff -ur icewm-1.3.8.orig/lib/themes/Infadel2/titleAB.xpm icewm-1.3.8/lib/themes/Infadel2/titleAB.xpm
--- icewm-1.3.8.orig/lib/themes/Infadel2/titleAB.xpm 2014-03-03 14:04:45.089165678 +0200
+++ icewm-1.3.8/lib/themes/Infadel2/titleAB.xpm 2014-03-03 14:06:37.815502206 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
+"1 17 11 1",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
diff -ur icewm-1.3.8.orig/lib/themes/Infadel2/titleAS.xpm icewm-1.3.8/lib/themes/Infadel2/titleAS.xpm
--- icewm-1.3.8.orig/lib/themes/Infadel2/titleAS.xpm 2014-03-03 14:04:45.089165678 +0200
+++ icewm-1.3.8/lib/themes/Infadel2/titleAS.xpm 2014-03-03 14:06:43.555875804 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
+"1 17 11 1",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
diff -ur icewm-1.3.8.orig/lib/themes/Infadel2/titleAT.xpm icewm-1.3.8/lib/themes/Infadel2/titleAT.xpm
--- icewm-1.3.8.orig/lib/themes/Infadel2/titleAT.xpm 2014-03-03 14:04:45.088165613 +0200
+++ icewm-1.3.8/lib/themes/Infadel2/titleAT.xpm 2014-03-03 14:06:50.628336098 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleAT_xpm[] = {
-"1 17 18 1",
-" c None",
+"1 17 17 1",
". c #868687",
"+ c #484848",
"@ c #344066",
diff -ur icewm-1.3.8.orig/lib/themes/Infadel2/titleIB.xpm icewm-1.3.8/lib/themes/Infadel2/titleIB.xpm
--- icewm-1.3.8.orig/lib/themes/Infadel2/titleIB.xpm 2014-03-03 14:04:45.089165678 +0200
+++ icewm-1.3.8/lib/themes/Infadel2/titleIB.xpm 2014-03-03 14:06:56.526719980 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
+"1 17 11 1",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
diff -ur icewm-1.3.8.orig/lib/themes/Infadel2/titleIS.xpm icewm-1.3.8/lib/themes/Infadel2/titleIS.xpm
--- icewm-1.3.8.orig/lib/themes/Infadel2/titleIS.xpm 2014-03-03 14:04:45.089165678 +0200
+++ icewm-1.3.8/lib/themes/Infadel2/titleIS.xpm 2014-03-03 14:07:03.445170251 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
+"1 17 11 1",
". c #868687",
"+ c #9A9A9B",
"@ c #AEAEAF",
diff -ur icewm-1.3.8.orig/lib/themes/Infadel2/titleIT.xpm icewm-1.3.8/lib/themes/Infadel2/titleIT.xpm
--- icewm-1.3.8.orig/lib/themes/Infadel2/titleIT.xpm 2014-03-03 14:04:45.089165678 +0200
+++ icewm-1.3.8/lib/themes/Infadel2/titleIT.xpm 2014-03-03 14:07:09.963594488 +0200
@@ -1,7 +1,6 @@
/* XPM */
static char * titleIT_xpm[] = {
-"1 17 18 1",
-" c None",
+"1 17 17 1",
". c #868686",
"+ c #484848",
"@ c #4D4D4D",

View File

@@ -1,35 +0,0 @@
diff --git src/Makefile.in src/Makefile.in
index 73f015b..3f328f9 100644
--- src/Makefile.in
+++ src/Makefile.in
@@ -203,25 +203,25 @@ clean:
%.o: %.cc
@echo " CXX " $@
- @$(CXX) $(CXXFLAGS) $(GCCDEP) -c $<
+ $(CXX) $(CXXFLAGS) $(GCCDEP) -c $<
$(BINARIES):
@echo " LD " $@
- @$(LD) -o $@ $($(@:$(EXEEXT)=)_OBJS) $(LFLAGS) $($(@:$(EXEEXT)=)_LFLAGS) $(LIBS) $($(@:$(EXEEXT)=)_LIBS)
+ $(LD) -o $@ $($(@:$(EXEEXT)=)_OBJS) $(LFLAGS) $($(@:$(EXEEXT)=)_LFLAGS) $(LIBS) $($(@:$(EXEEXT)=)_LIBS)
genpref.o: genpref.cc
@echo " HOSTCXX " $@
- @$(HOSTCXX) $(CXXFLAGS) $(GCCDEP) -c $<
+ $(HOSTCXX) $(CXXFLAGS) $(GCCDEP) -c $<
genpref$(EXEEXT):
@echo " HOSTLD " $@
- @$(HOSTLD) -o $@ $(genpref_OBJS)
+ $(HOSTLD) -o $@ $(genpref_OBJS)
################################################################################
gnome2.o: gnome2.cc
@echo " CXX " $@
- @$(CXX) $(CXXFLAGS) @GNOME2_CFLAGS@ $(GCCDEP) -c $<
+ $(CXX) $(CXXFLAGS) @GNOME2_CFLAGS@ $(GCCDEP) -c $<
################################################################################

View File

@@ -1,11 +0,0 @@
--- lib/menu.in.orig 2014-01-06 17:58:41.735307153 +0800
+++ lib/menu.in 2014-01-06 18:00:17.594661556 +0800
@@ -12,7 +12,4 @@
prog XChat xchat xchat
prog Gimp gimp gimp
separator
-menuprog Gnome folder icewm-menu-gnome2 --list @CONFIG_GNOME2_MENU_DIR@
-menuprog KDE folder icewm-menu-gnome@GNOME_VER@ --list @CONFIG_KDE_MENU_DIR@
-menufile Programs folder programs
-menufile Tool_bar folder toolbar
+menuprog SUSE folder xdg_menu --format icewm

View File

@@ -1,14 +0,0 @@
Index: src/ylocale.cc
===================================================================
--- src/ylocale.cc.orig
+++ src/ylocale.cc
@@ -47,8 +47,7 @@ YLocale::YLocale(char const * localeName
"Falling back to 'C' locale'."));
fLocaleName = setlocale(LC_ALL, "C");
}
-#warning "P1 should always use multibyte/fontset if I18N"
- multiByte = (MB_CUR_MAX > 1);
+ multiByte = true;
char const * codeset = NULL;
int const codesetItems[] = { CONFIG_NL_CODESETS };

View File

@@ -8,18 +8,20 @@ a file generated by ./src/genpref. To edit the patch:
quilt push -a
./configure <options from the spec>
make -C src genpref
./src/genpref >lib/preferences
./src/genpref >src/preferences
quilt import -p0 patches/icewm-preferences.patch
quilt push
vi lib/preferences
quilt refresh
---
lib/preferences | 12 ++++++------
src/preferences | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- lib/preferences.orig
+++ lib/preferences
@@ -509,7 +509,7 @@
Index: src/preferences
===================================================================
--- src/preferences.orig
+++ src/preferences
@@ -545,7 +545,7 @@
# NewMailCommand=""
# Command to lock display/screensaver
@@ -28,20 +30,20 @@ a file generated by ./src/genpref. To edit the patch:
# Command to run on clock
# ClockCommand="xclock -name icewm -title Clock"
@@ -533,10 +533,10 @@
@@ -569,10 +569,10 @@
# LogoutCancelCommand=""
# Command to shutdown the system
-# ShutdownCommand=""
+ShutdownCommand="dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true 2>&1 && return"
-# ShutdownCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl poweroff; } ||:""
+ShutdownCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl poweroff; } ||:""
# Command to reboot the system
-# RebootCommand=""
+RebootCommand="dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Reboot boolean:true 2>&1 && return"
-# RebootCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl reboot; } ||:""
+RebootCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl reboot; } ||:""
# Command to run on CPU status
# CPUStatusCommand="xterm -name top -title Process\ Status -e top"
@@ -1280,19 +1280,19 @@ WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4
@@ -1328,19 +1328,19 @@ WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4
#
# Display desktop background centered and not tiled

View File

@@ -1,42 +0,0 @@
diff --git a/src/wmprog.cc b/src/wmprog.cc
index 608608f..1d129a3 100644
--- a/src/wmprog.cc
+++ b/src/wmprog.cc
@@ -249,6 +249,14 @@ char *parseIncludeStatement(IApp *app, YSMListener *smActionListener, YActionLis
return p;
}
+void loadMenusProg(
+ IApp *app,
+ YSMListener *smActionListener,
+ YActionListener *wmActionListener,
+ const char *command,
+ char *const argv[],
+ ObjectContainer *container);
+
char *parseMenus(IApp *app, YSMListener *smActionListener, YActionListener *wmActionListener, char *data, ObjectContainer *container) {
char *p = data;
char word[32];
@@ -415,6 +423,22 @@ char *parseMenus(IApp *app, YSMListener *smActionListener, YActionListener *wmAc
delete[] name;
delete[] icons;
delete[] command;
+ } else if (!strcmp(word, "suseprog")) {
+ char *command;
+ YStringArray args;
+
+ p = getCommandArgs(p, &command, args);
+ if (p == 0) {
+ msg(_("Error at prog %s"), "susemenu"); return p;
+ }
+
+ MSG(("suseprog %s", command));
+
+ upath fullPath = findPath(getenv("PATH"), X_OK, command);
+ if (fullPath != null) {
+ loadMenusProg(app,smActionListener,wmActionListener,command,args.getCArray(),container);
+ }
+ delete[] command;
} else if (!strcmp(word, "menuprogreload")) {
char *name;

View File

@@ -1,3 +1,47 @@
-------------------------------------------------------------------
Fri Oct 9 20:02:31 UTC 2015 - tchvatal@suse.com
- Sed in lower requirement on gettext to work on Leap and 13.2
-------------------------------------------------------------------
Fri Oct 9 18:30:16 UTC 2015 - tchvatal@suse.com
- Split lang pkg and properly recommend it
- Install icewm-menu-fdo and manpage
- Properly set docdir
- Add sgmltool to generate html help pages
- Use %configure macros properly
- Cleanup with spec-cleaner
- Drop bcond for gnome as it is enabled everywhere anyway
- Drop patches that should not be needed after discussion with mmarek:
* icewm-menu.patch
* icewm-susemenu.patch
- Peferences file is now in src not in lib so update patch,
also use systemd to call shutdown and reboot which should be bit more safe
today:
* icewm-preferences.patch
-------------------------------------------------------------------
Fri Oct 9 14:02:32 UTC 2015 - tchvatal@suse.com
- Version bump to 1.3.11:
* various bugfixes collected from all upstream vendors
- Remove upstreamed patches:
* icewm-1.2.35-empty-winmenu.patch
* icewm-1.2.35-override-config.patch
* icewm-1.2.35-unaligned-access.patch
* icewm-1.3.6-winoptions.patch
* icewm-1.3.8-enable-guievents.patch
* icewm-1.3.8-shutdown-reboot-command.patch
* icewm-1.3.8.tar.gz
* icewm-bg-default-at-error.patch
* icewm-docdir.patch
* icewm-fix-themes.patch
* icewm-linking.patch
* icewm-multiByte.patch
- Refresh patch:
* icewm-menu.patch
-------------------------------------------------------------------
Mon Jan 12 07:39:53 UTC 2015 - tyang@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package icewm
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,61 +16,45 @@
#
# default to gnome support
%bcond_without gnome
%global lites icewm icewmhint icewmbg icesh icewm-session
Name: icewm
Version: 1.3.11
Release: 0
Summary: Window Manager with a Taskbar
License: LGPL-2.1+
Group: System/GUI/Other
Url: http://www.icewm.org/
Source0: https://github.com/bbidulock/%{name}/archive/%{version}.tar.gz
Source1: %{name}.desktop
Patch99: icewm-preferences.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gnome-desktop-devel
BuildRequires: libgnomeui-devel
BuildRequires: libtool
# Needed for documentation
BuildRequires: sgmltool
BuildRequires: update-alternatives
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gdk-pixbuf-xlib-2.0)
BuildRequires: pkgconfig(gnome-desktop-2.0)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(libgnomeui-2.0)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xrandr)
%if %{with gnome}
BuildRequires: gnome-desktop-devel
BuildRequires: libgnomeui-devel
BuildRequires: pkgconfig(gnome-desktop-2.0)
BuildRequires: pkgconfig(libgnomeui-2.0)
%endif
BuildRequires: pkgconfig(gdk-pixbuf-xlib-2.0)
%if 0%{?suse_version} >= 1030
BuildRequires: fdupes
%endif
Provides: windowmanager
Requires: desktop-data
Requires: icewm-bin
Requires: xdg-menu
# if you have the choice, prefer the big one
Recommends: icewm-default
Version: 1.3.8
Release: 0
Source: http://downloads.sourceforge.net/project/%{name}/%{name}-1.3/%{version}/%{name}-%{version}.tar.gz
Source1: %{name}.desktop
Patch1: icewm-multiByte.patch
Patch2: icewm-menu.patch
Patch3: icewm-docdir.patch
Patch4: icewm-1.2.35-override-config.patch
Patch5: icewm-1.2.35-empty-winmenu.patch
Patch6: icewm-1.2.35-unaligned-access.patch
Patch7: icewm-1.3.6-winoptions.patch
Patch8: icewm-linking.patch
Patch9: icewm-1.3.8-enable-guievents.patch
Patch10: icewm-susemenu.patch
Patch11: icewm-fix-themes.patch
Patch12: icewm-bg-default-at-error.patch
Patch13: icewm-1.3.8-shutdown-reboot-command.patch
# applied in %%build
Patch99: icewm-preferences.patch
Url: http://www.icewm.org/
Summary: Window Manager with a Taskbar
License: LGPL-2.1+
Group: System/GUI/Other
Provides: windowmanager
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -83,9 +67,10 @@ digital clock. It is fast and small.
%package default
Summary: Window Manager with a Taskbar--Default Version
Group: System/GUI/Other
Provides: icewm-bin
Requires: icewm
Requires: update-alternatives
Recommends: icewm-lang
Provides: icewm-bin
%description default
A window manager for the X Window System that can emulate the look of
@@ -97,9 +82,10 @@ digital clock. It is fast and small.
%package lite
Summary: Window Manager with a Taskbar -- lite version
Group: System/GUI/Other
Provides: icewm-bin
Requires: icewm
Requires: update-alternatives
Recommends: icewm-lang
Provides: icewm-bin
%description lite
A window manager for the X Window System that can emulate the look of
@@ -121,92 +107,81 @@ bar, window list, mailbox status, digital clock. Fast and small.
This package adds GNOME menu and sound support to icewm.
%lang_package
%prep
%setup -q
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7 -p1
%patch8
%patch9
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%define lites icewm icewmhint icewmbg icesh icewm-session
# Do not require needlessly new gettext
sed -i \
-e 's:0.19.5:0.19.1:g' \
configure.ac
%build
autoconf
export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS -fvisibility-inlines-hidden"
./configure --without-debug \
--sysconfdir=/etc \
--with-cfgdir=/etc/icewm \
--prefix=/usr \
--with-docdir=%{_docdir} \
--enable-i18n \
--disable-nls \
--disable-guievents \
--disable-winmenu \
--enable-lite \
--disable-gnome-menus
make %{?jobs:-j%jobs} V=1
autoreconf -fvi
# Build the Lite version
%configure \
--disable-silent-rules \
--with-cfgdir=%{_sysconfdir}/icewm \
--enable-i18n \
--disable-nls \
--disable-guievents \
--disable-winmenu \
--enable-lite \
--disable-menus-gnome2
make %{?_smp_mflags}
# Grab the lite content
mkdir lite
for i in %lites; do mv src/$i lite/$i-lite; done
make clean
./configure --disable-silent-rules --without-debug \
--sysconfdir=/etc \
--with-cfgdir=/etc/icewm \
--prefix=/usr \
--with-docdir=%{_docdir} \
--enable-nls \
--enable-corefonts \
--enable-guievents \
--enable-antialiasing \
--enable-gradients \
--enable-shaped-decorations \
%if %{with gnome}
--with-icesound=oss,esd \
--with-imlib \
--enable-menus-gnome2 \
%endif
--enable-i18n
make %{?jobs:-j%jobs} V=1
for i in %{lites}; do
mv src/$i lite/$i-lite
done
make %{?_smp_mflags} clean
# Configure for full deployment
%configure \
--docdir=%{_docdir}/%{name} \
--disable-silent-rules \
--with-cfgdir=%{_sysconfdir}/icewm \
--enable-i18n \
--enable-nls \
--enable-corefonts \
--enable-guievents \
--enable-antialiasing \
--enable-gradients \
--enable-shaped-decorations \
--with-icesound=oss,esd \
--with-imlib \
--enable-menus-gnome2 \
--enable-i18n
make %{?_smp_mflags}
# patch generated lib/preferences file
patch -p0 -i %{P:99}
patch -p0 -i %{PATCH99}
%install
make DESTDIR=%{buildroot} install install-docs
mkdir -p %{buildroot}/etc/icewm
make DESTDIR=%{buildroot} install %{?_smp_mflags}
mkdir -p %{buildroot}%{_sysconfdir}/icewm
for cfgfile in keys menu preferences toolbar winoptions ; do
mv %{buildroot}/usr/share/icewm/$cfgfile \
%{buildroot}/etc/icewm
mv %{buildroot}%{_datadir}/icewm/$cfgfile \
%{buildroot}%{_sysconfdir}/icewm
done
%{find_lang} icewm
%find_lang icewm
ln -s icewm.html %{buildroot}/%{_docdir}/icewm/index.html
# install the xsession desktop file
mkdir -p %{buildroot}/usr/share/xsessions
cp -f %{SOURCE1} %{buildroot}/usr/share/xsessions
%suse_update_desktop_file %{buildroot}/usr/share/xsessions/icewm.desktop
mkdir -p %{buildroot}%{_datadir}/xsessions
cp -f %{SOURCE1} %{buildroot}%{_datadir}/xsessions
%suse_update_desktop_file %{buildroot}%{_datadir}/xsessions/icewm.desktop
# link duplicate theme icons to save some space
%{?fdupes:%fdupes %buildroot/usr/share/icewm/themes/}
%{?fdupes:%fdupes %{buildroot}%{_datadir}/icewm/themes/}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
for i in %lites; do
mv lite/$i-lite %{buildroot}/usr/bin
mv %{buildroot}/usr/bin/$i %{buildroot}/usr/bin/$i-default
for i in %{lites}; do
mv lite/$i-lite %{buildroot}%{_prefix}/bin
mv %{buildroot}%{_bindir}/$i %{buildroot}%{_bindir}/$i-default
# dummy
touch %{buildroot}%{_sysconfdir}/alternatives/$i
ln -s %{_sysconfdir}/alternatives/$i %{buildroot}%_bindir/$i
ln -s %{_sysconfdir}/alternatives/$i %{buildroot}%{_bindir}/$i
done
%post lite
/usr/sbin/update-alternatives \
%{_sbindir}/update-alternatives \
--install %{_bindir}/icewm icewm %{_bindir}/icewm-lite 0 \
--slave %{_bindir}/icewmhint icewmhint %{_bindir}/icewmhint-lite \
--slave %{_bindir}/icewmbg icewmbg %{_bindir}/icewmbg-lite \
@@ -215,11 +190,11 @@ done
%preun lite
if [ "$1" = 0 ] ; then
/usr/sbin/update-alternatives --remove icewm %{_bindir}/icewm-lite
%{_sbindir}/update-alternatives --remove icewm %{_bindir}/icewm-lite
fi
%post default
/usr/sbin/update-alternatives \
%{_sbindir}/update-alternatives \
--install %{_bindir}/icewm icewm %{_bindir}/icewm-default 100 \
--slave %{_bindir}/icewmhint icewmhint %{_bindir}/icewmhint-default \
--slave %{_bindir}/icewmbg icewmbg %{_bindir}/icewmbg-default \
@@ -228,62 +203,64 @@ fi
%preun default
if [ "$1" = 0 ] ; then
/usr/sbin/update-alternatives --remove icewm %{_bindir}/icewm-default
%{_sbindir}/update-alternatives --remove icewm %{_bindir}/icewm-default
fi
%files -f icewm.lang
%files
%defattr(-,root,root)
%doc %{_docdir}/icewm
%dir /etc/icewm
%config /etc/icewm/*
/usr/share/icewm/
/usr/share/xsessions/*
%dir %{_sysconfdir}/icewm
%config %{_sysconfdir}/icewm/*
%{_datadir}/icewm/
%{_datadir}/xsessions/*
%{_mandir}/man1/icewm.1.*
%files lang -f icewm.lang
%defattr(-,root,root)
%files default
%defattr(-,root,root)
/usr/bin/icewm-default
/usr/bin/icewmhint-default
/usr/bin/icewmbg-default
/usr/bin/icehelp
/usr/bin/icesh-default
/usr/bin/icewmtray
/usr/bin/icewm-session-default
%ghost %_sysconfdir/alternatives/icewm
%ghost %_sysconfdir/alternatives/icewmhint
%ghost %_sysconfdir/alternatives/icewmbg
%ghost %_sysconfdir/alternatives/icesh
%ghost %_sysconfdir/alternatives/icewm-session
/usr/bin/icewm
/usr/bin/icewmhint
/usr/bin/icewmbg
/usr/bin/icesh
/usr/bin/icewm-session
%{_bindir}/icewm-default
%{_bindir}/icewmhint-default
%{_bindir}/icewmbg-default
%{_bindir}/icehelp
%{_bindir}/icesh-default
%{_bindir}/icewmtray
%{_bindir}/icewm-session-default
%ghost %{_sysconfdir}/alternatives/icewm
%ghost %{_sysconfdir}/alternatives/icewmhint
%ghost %{_sysconfdir}/alternatives/icewmbg
%ghost %{_sysconfdir}/alternatives/icesh
%ghost %{_sysconfdir}/alternatives/icewm-session
%{_bindir}/icewm
%{_bindir}/icewmhint
%{_bindir}/icewmbg
%{_bindir}/icesh
%{_bindir}/icewm-session
%{_bindir}/icewm-menu-fdo
%if %{with gnome}
%files gnome
%defattr(-,root,root)
/usr/bin/icewm-menu-gnome2
%endif
# make those two part of -default without gnome
/usr/bin/icesound
/usr/bin/icewm-set-gnomewm
%{_bindir}/icewm-menu-gnome2
%{_bindir}/icesound
%{_bindir}/icewm-set-gnomewm
%files lite
%defattr(-,root,root)
/usr/bin/icewm-lite
/usr/bin/icewmhint-lite
/usr/bin/icewmbg-lite
/usr/bin/icesh-lite
/usr/bin/icewm-session-lite
%ghost %_sysconfdir/alternatives/icewm
%ghost %_sysconfdir/alternatives/icewmhint
%ghost %_sysconfdir/alternatives/icewmbg
%ghost %_sysconfdir/alternatives/icesh
%ghost %_sysconfdir/alternatives/icewm-session
/usr/bin/icewm
/usr/bin/icewmhint
/usr/bin/icewmbg
/usr/bin/icesh
/usr/bin/icewm-session
%{_bindir}/icewm-lite
%{_bindir}/icewmhint-lite
%{_bindir}/icewmbg-lite
%{_bindir}/icesh-lite
%{_bindir}/icewm-session-lite
%ghost %{_sysconfdir}/alternatives/icewm
%ghost %{_sysconfdir}/alternatives/icewmhint
%ghost %{_sysconfdir}/alternatives/icewmbg
%ghost %{_sysconfdir}/alternatives/icesh
%ghost %{_sysconfdir}/alternatives/icewm-session
%{_bindir}/icewm
%{_bindir}/icewmhint
%{_bindir}/icewmbg
%{_bindir}/icesh
%{_bindir}/icewm-session
%changelog