diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b4dffd --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +icewm-1.2.37.tar.gz +/clearlooks.tgz +/icewm-1.3.8.tar.gz +/clearlooks-v3.tgz +/clearlooks-v3.1.tgz diff --git a/dead.package b/dead.package deleted file mode 100644 index 47c3edc..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -icewm fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=1675139 diff --git a/fribidi.build.patch b/fribidi.build.patch new file mode 100644 index 0000000..95daf4d --- /dev/null +++ b/fribidi.build.patch @@ -0,0 +1,11 @@ +diff -ru icewm-1.3.8.orig/src/yfontxft.cc icewm-1.3.8/src/yfontxft.cc +--- icewm-1.3.8.orig/src/yfontxft.cc 2018-02-28 12:58:52.902747832 +0000 ++++ icewm-1.3.8/src/yfontxft.cc 2018-02-28 12:59:26.693183099 +0000 +@@ -9,6 +9,7 @@ + #include + + #ifdef CONFIG_FRIBIDI ++ #undef HAVE_CONFIG_H + #include + #endif + diff --git a/icewm-1.3.7-dso.patch b/icewm-1.3.7-dso.patch new file mode 100644 index 0000000..55100d5 --- /dev/null +++ b/icewm-1.3.7-dso.patch @@ -0,0 +1,10 @@ +--- configure.in.old 2011-11-23 15:44:52.121654867 +0200 ++++ configure.in 2011-11-23 15:47:09.514411391 +0200 +@@ -494,6 +494,7 @@ + AC_DEFINE(CONFIG_COREFONTS, 1, [Define to enable X11 core conts.]) + features="${features} corefonts" + fi ++ CORE_LIBS="${CORE_LIBS} -lfontconfig" + + dnl ============================================================= GUI Events === + dnl diff --git a/icewm-1.3.7-menuiconsize.patch b/icewm-1.3.7-menuiconsize.patch new file mode 100644 index 0000000..d051d5b --- /dev/null +++ b/icewm-1.3.7-menuiconsize.patch @@ -0,0 +1,73 @@ +diff -Naur icewm-1.3.7.bak/src/yicon.cc icewm-1.3.7/src/yicon.cc +--- icewm-1.3.7.bak/src/yicon.cc 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/yicon.cc 2011-11-07 19:41:52.841910531 +0100 +@@ -270,6 +270,10 @@ + iconCache.getItem(0)->removeFromCache(); + } + ++int YIcon::menuSize() { ++ return menuIconSize; ++} ++ + int YIcon::smallSize() { + return smallIconSize; + } +diff -Naur icewm-1.3.7.bak/src/yicon.h icewm-1.3.7/src/yicon.h +--- icewm-1.3.7.bak/src/yicon.h 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/yicon.h 2011-11-07 19:41:28.555296033 +0100 +@@ -25,6 +25,7 @@ + bool isCached() { return fCached; } + void setCached(bool cached) { fCached = cached; } + ++ static int menuSize(); + static int smallSize(); + static int largeSize(); + static int hugeSize(); +diff -Naur icewm-1.3.7.bak/src/ymenu.cc icewm-1.3.7/src/ymenu.cc +--- icewm-1.3.7.bak/src/ymenu.cc 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/ymenu.cc 2011-11-07 19:42:40.498474049 +0100 +@@ -153,8 +153,8 @@ + + #ifndef LITE + if (getItem(selItem)->getIcon() != null && +- YIcon::smallSize() > h) +- h = YIcon::smallSize(); ++ YIcon::menuSize() > h) ++ h = YIcon::menuSize(); + #endif + + if (x <= int(width() - h - 4)) +@@ -1023,8 +1023,8 @@ + mitem->getIcon()->draw(g, + l + 1 + delta, t + delta + top + pad + + (eh - top - pad * 2 - bottom - +- YIcon::smallSize()) / 2, +- YIcon::smallSize()); ++ YIcon::menuSize()) / 2, ++ YIcon::menuSize()); + #endif + } + +diff -Naur icewm-1.3.7.bak/src/ymenuitem.cc icewm-1.3.7/src/ymenuitem.cc +--- icewm-1.3.7.bak/src/ymenuitem.cc 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/ymenuitem.cc 2011-11-07 19:50:04.458316916 +0100 +@@ -86,8 +86,8 @@ + int ih = fontHeight; + + #ifndef LITE +- if (YIcon::smallSize() > ih) +- ih = YIcon::smallSize(); ++ if (YIcon::menuSize() > ih) ++ ih = YIcon::menuSize(); + #endif + + if (wmLook == lookWarp4 || wmLook == lookWin95) { +@@ -123,7 +123,7 @@ + return 0; + #else + ref icon = getIcon(); +- return icon != null ? YIcon::smallSize(): 0; ++ return icon != null ? YIcon::menuSize(): 0; + #endif + } + diff --git a/icewm-1.3.8-deprecated.patch b/icewm-1.3.8-deprecated.patch new file mode 100644 index 0000000..fd65d73 --- /dev/null +++ b/icewm-1.3.8-deprecated.patch @@ -0,0 +1,11 @@ +--- src/base.h.old 2013-12-16 10:42:42.980667132 +0200 ++++ src/base.h 2013-12-16 10:42:48.676676499 +0200 +@@ -1,7 +1,7 @@ + #ifndef __BASE_H + #define __BASE_H + +-#if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3 ++#if ( __GNUC__ == 4 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3 + #define _icewm_deprecated __attribute__((deprecated)) + #else + #define _icewm_deprecated diff --git a/icewm-1.3.8-fribidi.patch b/icewm-1.3.8-fribidi.patch new file mode 100644 index 0000000..414eaa5 --- /dev/null +++ b/icewm-1.3.8-fribidi.patch @@ -0,0 +1,85 @@ +--- src/yfontxft.cc.old 2009-09-25 00:07:51.000000000 +0300 ++++ src/yfontxft.cc 2009-09-25 00:18:09.000000000 +0300 +@@ -6,6 +6,11 @@ + #include "ypaint.h" + #include "yxapp.h" + #include "intl.h" ++#include ++ ++#ifdef CONFIG_FRIBIDI ++ #include ++#endif + + /******************************************************************************/ + +@@ -68,10 +73,45 @@ + char_t * str, size_t len) + { + XftColor *c = *g.color(); ++ ++#ifdef CONFIG_FRIBIDI ++ ++#define STATIS_STRING_SIZE 256 ++ ++ // Based around upstream (1.3.2) patch with some optimization ++ // on my end. (reduce unnecessary memory allocation) ++ // - Gilboa ++ ++ char_t static_str[STATIS_STRING_SIZE]; ++ char_t *vis_str = static_str; ++ ++ if (len >= STATIS_STRING_SIZE) ++ { ++ vis_str = new char_t[len+1]; ++ if (!vis_str) ++ return; ++ } ++ ++ FriBidiCharType pbase_dir = FRIBIDI_TYPE_N; ++ fribidi_log2vis(str, len, &pbase_dir, //input ++ vis_str, // output ++ NULL, NULL, NULL // "statistics" that we don't need ++ ); ++ str = vis_str; ++#endif ++ + XftDrawString(g.handleXft(), c, font, + x - g.xorigin(), + y - g.yorigin(), + str, len); ++ ++#ifdef CONFIG_FRIBIDI ++ ++ if (vis_str != static_str) ++ delete[] str; ++ ++#endif ++ + } + + static void textExtents(XftFont * font, char_t * str, size_t len, +--- configure.in.old 2013-12-16 11:25:17.668872153 +0200 ++++ configure.in 2013-12-16 11:38:49.789208871 +0200 +@@ -307,6 +307,22 @@ + features="${features} i18n" + fi + ++dnl =================================================== Right to left support === ++dnl ++AC_ARG_ENABLE(fribidi, ++[ --disable-fribidi Disable right to left support]) ++ ++if test "$enable_fribidi" != "no" && test "$enable_i18n" != "no"; then ++ AC_CHECK_LIB(fribidi, fribidi_log2vis, ++ [ AC_DEFINE(CONFIG_FRIBIDI,1, [Define to enable fribidi support]) ++ FRIBIDI_CFLAGS=`pkg-config fribidi --cflags` ++ CORE_CFLAGS="${CORE_CFLAGS} -I/usr/include/fribidi" ++ FRIBIDI_LIBS=`pkg-config fribidi --libs` ++ CORE_LIBS="${CORE_LIBS} ${FRIBIDI_LIBS}" ], ++ [ AC_MSG_ERROR("fribidi library must be installed") ]) ++fi ++ ++ + dnl ============================================================ NLS Support === + dnl + AC_ARG_ENABLE(nls, diff --git a/icewm-1.3.8-menu.patch b/icewm-1.3.8-menu.patch new file mode 100644 index 0000000..85b2259 --- /dev/null +++ b/icewm-1.3.8-menu.patch @@ -0,0 +1,23 @@ +--- lib/menu.in.old 2013-11-17 18:54:39.000000000 +0200 ++++ lib/menu.in 2013-12-16 10:21:16.175549044 +0200 +@@ -4,15 +4,9 @@ + # since modifications to this file will be discarded when you + # (re)install icewm. + # +-prog xterm xterm xterm +-prog rxvt xterm rxvt -bg black -cr green -fg white -C -fn 9x15 -sl 500 +-prog fte fte fte +-prog NEdit nedit nedit +-prog Mozilla mozilla mozilla +-prog XChat xchat xchat +-prog Gimp gimp gimp ++prog xterm /usr/share/icons/gnome/16x16/apps/terminal.png xterm ++prog "Web browser" /usr/share/icons/gnome/16x16/apps/web-browser.png xdg-open about:blank + 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 ++prog "Rebuild program menu" /usr/share/icons/gnome/16x16/actions/edit-find-replace.png /usr/share/icewm/startup ++separator ++menufile Programs folder programs.autogen diff --git a/icewm-1.3.8-narrowingfix.patch b/icewm-1.3.8-narrowingfix.patch new file mode 100644 index 0000000..a06a46c --- /dev/null +++ b/icewm-1.3.8-narrowingfix.patch @@ -0,0 +1,21 @@ +diff -up icewm-1.3.8/src/icesh.cc.narrowingfix icewm-1.3.8/src/icesh.cc +--- icewm-1.3.8/src/icesh.cc.narrowingfix 2017-01-03 15:53:33.537699919 -0500 ++++ icewm-1.3.8/src/icesh.cc 2017-01-03 15:53:52.717596858 -0500 +@@ -245,7 +245,7 @@ Symbol trayOptionIdentifiers[] = { + }; + + SymbolTable layers = { +- layerIdentifiers, 0, WinLayerCount - 1, WinLayerInvalid ++ layerIdentifiers, 0, WinLayerCount - 1, (long)WinLayerInvalid + }; + + SymbolTable states = { +@@ -257,7 +257,7 @@ SymbolTable hints = { + }; + + SymbolTable trayOptions = { +- trayOptionIdentifiers, 0, WinTrayOptionCount - 1, WinTrayInvalid ++ trayOptionIdentifiers, 0, WinTrayOptionCount - 1, (long)WinTrayInvalid + }; + + /******************************************************************************/ diff --git a/icewm-1.3.8.tar.gz b/icewm-1.3.8.tar.gz new file mode 100644 index 0000000..c4cff6d Binary files /dev/null and b/icewm-1.3.8.tar.gz differ diff --git a/icewm-defaults.patch b/icewm-defaults.patch new file mode 100644 index 0000000..72e5410 --- /dev/null +++ b/icewm-defaults.patch @@ -0,0 +1,13 @@ +--- src/default.h.old 2011-11-23 18:04:22.429626938 +0200 ++++ src/default.h 2011-11-23 18:04:38.416824083 +0200 +@@ -161,8 +161,8 @@ + #endif + + XSV(const char *, mailBoxPath, 0) +-XSV(const char *, mailCommand, "xterm -name pine -title PINE -e pine") +-XSV(const char *, mailClassHint, "pine.XTerm") ++XSV(const char *, mailCommand, "xterm -name alpine -title ALPINE -e alpine") ++XSV(const char *, mailClassHint, "alpine.XTerm") + XSV(const char *, newMailCommand, 0) + XSV(const char *, lockCommand, 0) + XSV(const char *, clockCommand, "xclock -name icewm -title Clock") diff --git a/icewm-keys.patch b/icewm-keys.patch new file mode 100644 index 0000000..7e136bb --- /dev/null +++ b/icewm-keys.patch @@ -0,0 +1,43 @@ +--- icewm-1.2.30/lib/keys.in.old 2007-01-18 13:55:20.000000000 +0200 ++++ icewm-1.2.30/lib/keys.in 2007-01-18 16:07:07.000000000 +0200 +@@ -9,28 +9,21 @@ + # You'll have to omit XK_ prefixs and to replace XF86XK_ prefixes by + # XF86. Valid modifiers are Alt, Ctrl, Shift, Meta, Super and Hyper. + # +-key "Alt+Ctrl+t" xterm +-key "Alt+Ctrl+f" fte +-key "Alt+Ctrl+e" nedit +-key "Alt+Ctrl+g" gimp +-key "Alt+Ctrl+n" netscape -noraise -remote openBrowser +-key "Alt+Ctrl+b" netscape -noraise -remote openBookmarks +-key "Alt+Ctrl+m" netscape -noraise -remote openURL(mailto:,new-window) ++key "Alt+Ctrl+t" xterm ++key "Alt+Ctrl+b" xdg-open about:blank ++key "Alt+Ctrl+s" xdg-open http://www.google.com + +-key "Alt+Ctrl+KP_Divide" aumix -v -5 # lower volume +-key "Alt+Ctrl+KP_Multiply" aumix -v +5 # raise volume ++key "Super+KP_Subtract" amixer sset PCM 5%- ++key "Super+KP_Add" amixer sset PCM 5%+ + + # "Multimedia key" bindings for XFree86. Gather the keycodes of your + # advanced function keys by watching the output of the xev command whilest + # pressing those keys and map those symbols by using xmodmap. + +-key "XF86Standby" killall -QUIT icewm +-key "XF86AudioLowerVolume" aumix -v -5 +-key "XF86AudioRaiseVolume" aumix -v +5 +-key "XF86AudioMute" aumix -v 0 +-key "XF86AudioPlay" cdplay play 1 +-key "XF86AudioStop" cdplay stop +-key "XF86HomePage" netscape -noraise -remote openHomepage +-key "XF86Mail" netscape -noraise -remote openURL(mailto:,new-window) +-key "XF86Search" netscape -noraise -remote openURL(http://www.google.com/) +-key "XF86Eject" eject ++key "XF86Standby" killall -QUIT icewm ++key "XF86AudioLowerVolume" amixer sset PCM 5%- ++key "XF86AudioRaiseVolume" amixer sset PCM 5%+ ++key "XF86AudioMute" amixer sset PCM 0% ++key "XF86HomePage" xdg-open about:blank ++key "XF86Search" xdg-open http://www.google.com ++key "XF86Eject" eject diff --git a/icewm-startup b/icewm-startup new file mode 100644 index 0000000..69c692a --- /dev/null +++ b/icewm-startup @@ -0,0 +1,4 @@ +#!/bin/sh +[ ! -d ~/.icewm ] && mkdir ~/.icewm +icewm-xdg-menu --entire-menu --with-theme-paths --icon-size 16 --theme gnome > ~/.icewm/programs.autogen + diff --git a/icewm-toolbar.patch b/icewm-toolbar.patch new file mode 100644 index 0000000..a6f0f15 --- /dev/null +++ b/icewm-toolbar.patch @@ -0,0 +1,12 @@ +--- icewm-1.2.30/lib/toolbar.in.old 2007-01-18 18:51:55.000000000 +0200 ++++ icewm-1.3.7/lib/toolbar.in 2012-06-10 09:36:00.000000000 +0200 +@@ -4,6 +4,6 @@ + # since modifications to this file will be discarded when you + # (re)install icewm. + # +-prog XTerm xterm xterm +-prog FTE fte fte +-prog Netscape netscape netscape ++prog xterm /usr/share/icons/gnome/16x16/apps/terminal.png xterm ++prog "Web browser" /usr/share/icons/gnome/16x16/apps/web-browser.png xdg-open about:blank ++ diff --git a/icewm-xdg-menu b/icewm-xdg-menu new file mode 100644 index 0000000..103df3c --- /dev/null +++ b/icewm-xdg-menu @@ -0,0 +1,128 @@ +#!/usr/bin/python +""" +This script generates FreeDesktop application menu for IceWM window manager. + +Written by Konstantin Korikov , put in the public domain + +Requires pyxdg http://cvs.freedesktop.org/cgi-bin/viewcvs.cgi/pyxdg/ + +USAGE EXAMPLE + +Add to $HOME/.icewm/menu this line: + + menuprog Applications - icewm-xdg-menu + +and restart IceWM. +""" + +import sys +import locale +import getopt +import re +import xdg.Menu +import xdg.DesktopEntry +import xdg.IconTheme +import xdg.Config + +version = "0.3" + +def print_usage(exit_code = 1): + print """Usage: %s [options] +Options: + --locale=locale set output languege and encoding + --root-folder folder folder to generate (for example: /Games) + --terminal command set terminal emulator command (default: xterm -e %%s) + --default-folder-icon icon icon for folders that not provide Icon option + --default-entry-icon icon icon for entries that not provide Icon option + --with-theme-paths convert icon base names to icon absolute paths + using icon theme + --entire-menu print entire menu + --icon-size set default icon size + --theme theme set icon theme + --help print this help and exit + --version print version and exit +""" % sys.argv[0] + sys.exit(exit_code) + +def print_version(): + print "%s version %s" % ( + os.path.basename(sys.argv[0]), version) + sys.exit(0) + +root_folder = "" +terminal = "xterm -e %s" +default_folder_icon = "folder" +default_entry_icon = "-" +entire_menu = False +with_theme_paths = False +icon_size = 16 + +exec_clean1_re = re.compile(r'%[a-zA-Z]') +exec_clean2_re = re.compile(r'%%') +encoding = None +locale_str = None + +def find_icon(entry): + icon = entry.getIcon() + if icon and with_theme_paths: + icon = xdg.IconTheme.getIconPath(icon, icon_size) or icon + return icon + +def process_menu(menu): + for entry in menu.getEntries(): + if isinstance(entry, xdg.Menu.Menu): + name = entry.getName() or entry.DesktopFileID + icon = find_icon(entry) or default_folder_icon + + if entire_menu: + print ("menu \"%s\" \"%s\" {" % (name, icon)).encode(encoding) + process_menu(entry) + print "}".encode(encoding) + else: + print (("menuprog \"%s\" \"%s\" %s" % (name, icon, sys.argv[0])) + + (" --root-folder \"%s\"" % entry.getPath(org=True)) + + (" --terminal \"%s\"" % terminal) + + (" --default-folder-icon \"%s\"" % default_folder_icon) + + (" --default-entry-icon \"%s\"" % default_entry_icon) + + (" --theme \"%s\"" % xdg.Config.icon_theme) + + (" --icon-size \"%d\"" % icon_size) + + (with_theme_paths and " --with-theme-paths" or "")).encode(encoding), + if locale_str: + print (" --locale \"%s\"" % locale_str).encode(encoding), + print + elif isinstance(entry, xdg.Menu.MenuEntry): + de = entry.DesktopEntry + name = de.getName() or entry.DesktopFileID + icon = find_icon(de) or default_entry_icon + execute = exec_clean2_re.sub('%', exec_clean1_re.sub('', de.getExec())) + if de.getTerminal(): execute = terminal % execute + print ("prog \"%s\" \"%s\" %s" % (name, icon, execute)).encode(encoding) + +try: opts, args = getopt.getopt(sys.argv[1:], "", + ("help", "version", "locale=", + "root-folder=", "terminal=", "default-folder-icon=", + "default-entry-icon=", "entire-menu", "theme=", "with-theme-paths", + "icon-size=")) +except getopt.GetoptError: print_usage() + +locale.setlocale(locale.LC_ALL, "") + +for o, v in opts: + if o == "--locale": + locale_str = v + locale.setlocale(locale.LC_ALL, locale_str) + if o == "--root-folder": root_folder = v + elif o == "--terminal": terminal = v + elif o == "--default-folder-icon": default_folder_icon = v + elif o == "--default-entry-icon": default_entry_icon = v + elif o == "--entire-menu" : entire_menu = True + elif o == "--with-theme-paths" : with_theme_paths = True + elif o == "--icon-size": icon_size = int(v) + elif o == "--theme" : xdg.Config.setIconTheme(v) + elif o in ("-h", "-?", "--help"): print_usage(0) + elif o in ("-v", "--version"): print_version() + +encoding = locale.getlocale()[1] or 'UTF-8' +menu = xdg.Menu.parse() +if root_folder: menu = menu.getMenu(root_folder) +process_menu(menu) diff --git a/icewm.desktop b/icewm.desktop new file mode 100644 index 0000000..8cde392 --- /dev/null +++ b/icewm.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Icewm +Comment=Simple and fast window manger +Exec=icewm-session +Terminal=False +TryExec=icewm + +[Window Manager] +SessionManaged=true +# vi: encoding=utf-8 diff --git a/icewm.spec b/icewm.spec new file mode 100644 index 0000000..198388c --- /dev/null +++ b/icewm.spec @@ -0,0 +1,428 @@ +Name: icewm +Version: 1.3.8 +Release: 18%{?dist} +Summary: Light and configurable window manager +License: LGPLv2+ +URL: http://www.icewm.org +Source0: http://heanet.dl.sourceforge.net/sourceforge/%{name}/%{name}-%{version}.tar.gz +Source1: http://lostclus.linux.kiev.ua/scripts/icewm-xdg-menu +Source2: icewm.desktop +Source3: icewm-startup +# Fedora logo files have been moved to fedora-release +Source4: clearlooks-v3.1.tgz + +BuildRequires: gcc-c++ +BuildRequires: giflib-devel +BuildRequires: libXinerama-devel +BuildRequires: imlib-devel +BuildRequires: xorg-x11-proto-devel +BuildRequires: libXinerama-devel +BuildRequires: libXft-devel +BuildRequires: libICE-devel +BuildRequires: gettext +BuildRequires: fribidi-devel +BuildRequires: libgnomeui-devel +BuildRequires: gnome-vfs2-devel +BuildRequires: popt-devel +BuildRequires: autoconf +BuildRequires: automake +%if 0%{?fedora} +BuildRequires: gnome-desktop-devel +BuildRequires: gdk-pixbuf2-xlib-devel +%endif + +Requires: gnome-icon-theme +Requires: alsa-utils +Requires: xdg-utils +Requires: xterm + +Patch1: icewm-1.3.8-menu.patch +Patch2: icewm-toolbar.patch +Patch3: icewm-keys.patch +Patch4: icewm-1.3.8-fribidi.patch +Patch5: icewm-1.3.7-dso.patch +Patch6: icewm-defaults.patch +Patch7: icewm-1.3.7-menuiconsize.patch +Patch8: icewm-1.3.8-deprecated.patch +Patch9: icewm-1.3.8-narrowingfix.patch +Patch10: fribidi.build.patch + + +%description +IceWM is a window manager for the X Window System (freedesktop, XFree86). +The goal of IceWM is speed, simplicity, and not getting in the user's way. + +%if 0%{?fedora} +%package gnome +Summary: GNOME menu support for IceWM window manager +Requires: gnome-menus +Requires: icewm = %{version}-%{release} + + +%description gnome +IceWM-gnome adds gnome-menu support for the IceWM window manager. +%endif + + +%package xdgmenu +BuildArch: noarch +License: Public Domain +Summary: Automatically generate the main IceWM menu +Requires: pyxdg +Requires: icewm = %{version}-%{release} + + +%description xdgmenu +IceWM-xdgmenu generates static IceWM menu files from the existing +freedesktop.org .desktop files. Files are re-generated each time the +user logs-in. + + +%package clearlooks +BuildArch: noarch +Summary: Clearlooks like theme for IceWM +Requires: ImageMagick +Requires: icewm = %{version}-%{release} +Requires: system-logos >= 26.0.0 + + +%description clearlooks +An IceWM theme that mimics the GNOME ClearLooks theme used by +older Fedora releases and RHEL. + + +%prep +%setup -q +%patch1 -p0 -b .menu +%patch2 -p1 -b .toolbar +%patch3 -p1 -b .keys +%patch4 -p0 -b .fribidi +%patch5 -p0 -b .dso +%patch6 -p0 -b .defaults +%patch7 -p1 -b .menuiconsize +%patch8 -p0 -b .deprecated +%patch9 -p1 -b .narrowingfix +%patch10 -p1 -b .fribidi.build.patch + +%build +autoreconf -vif +%configure --prefix=/usr \ + --enable-gradients \ + --enable-antialiasing \ + --enable-i18n \ +%if 0%{?fedora} + --enable-menus-gnome2 \ +%endif + --with-cfgdir=%{_sysconfdir}/icewm +make %{?_smp_mflags} + + +%install +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" + +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1 +install -p -m 644 doc/icewm.1.man $RPM_BUILD_ROOT/%{_mandir}/man1/icewm.1 + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{_bindir} +install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT/%{_bindir} + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icewm/ +install -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/icewm/startup + +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/xsessions/ +install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/xsessions/ + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icewm/themes +tar -C $RPM_BUILD_ROOT%{_datadir}/icewm/themes -xzf %{SOURCE4} + +echo "Theme=\"clearlooks/default.theme\"" > $RPM_BUILD_ROOT%{_datadir}/icewm/theme + +%find_lang %{name} + + +%post clearlooks +[ -d /usr/share/icewm/themes/clearlooks ] && [ -x /usr/bin/convert ] && \ + [ -f /usr/share/icons/hicolor/24x24/apps/fedora-logo-icon.png ] && \ + convert /usr/share/icons/hicolor/24x24/apps/fedora-logo-icon.png \ + /usr/share/icewm/themes/clearlooks/taskbar/linux.xpm || echo -n + + +%files -f %{name}.lang +%doc AUTHORS BUGS CHANGES COPYING README README.wm-session TODO doc/*.html +%exclude %{_datadir}/icewm/startup +%exclude %{_datadir}/icewm/themes/clearlooks +%{_datadir}/icewm +%{_datadir}/xsessions/icewm.desktop +%{_mandir}/man1/icewm.1* +%{_bindir}/icewm-set-gnomewm +%{_bindir}/icewmbg +%{_bindir}/icehelp +%{_bindir}/icesh +%{_bindir}/icewm +%{_bindir}/icewm-session +%{_bindir}/icewmhint +%{_bindir}/icewmtray + + +%if 0%{?fedora} +%files gnome +%{_bindir}/icewm-menu-gnome2 +%endif + + +%files xdgmenu +%{_bindir}/icewm-xdg-menu* +%{_datadir}/icewm/startup + + +%files clearlooks +%{_datadir}/icewm/themes/clearlooks-2px +%{_datadir}/icewm/themes/clearlooks +%{_datadir}/icewm/theme + + +%changelog +* Thu Jul 25 2019 Fedora Release Engineering - 1.3.8-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.3.8-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.3.8-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.3.8-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.3.8-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.3.8-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.3.8-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 3 2017 Tom Callaway - 1.3.8-11 +- move fedora logos out + +* Thu Feb 04 2016 Fedora Release Engineering - 1.3.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Dec 10 2015 Peter Robinson 1.3.8-9 +- Require agnostic system-logos + +* Mon Dec 7 2015 Peter Robinson 1.3.8-8 +- Add Fedora conditionals to enable single Fedora/EPEL spec + +* Wed Jun 17 2015 Fedora Release Engineering - 1.3.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 1.3.8-6 +- Rebuilt for GCC 5 C++11 ABI change + +* Fri Mar 20 2015 Richard Hughes - 1.3.8-5 +- Rebuilt for gdk-pixbuf2-xlib split + +* Sat Aug 16 2014 Fedora Release Engineering - 1.3.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Jun 16 2014 Peter Robinson 1.3.8-3 +- Fix FTBFS on new architectures (aarch64/ppc64le) +- Cleanup and modernise spec + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Dec 16 2013 Gilboa Davara - 1.3.8-1 +- 1.3.38. +- Clearlooks_v3: clearlooks_2px added. Should solve #981758 and #960663. + +* Sat Aug 03 2013 Fedora Release Engineering - 1.3.7-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sun Jun 09 2013 Gilboa Davara - 1.3.7-9 +- Fix #925574 by calling autoconf. (Temporary solution, pending upsteam fix). + +* Thu Feb 14 2013 Fedora Release Engineering - 1.3.7-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Nov 6 2012 Gilboa Davara - 1.3.7-7 +- Updated clearlooks package (#811331). +- (Blunder alert) Finally pushes gnome-icon-theme change to stable. + +* Thu Jul 19 2012 Fedora Release Engineering - 1.3.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jun 10 2012 Gilboa Davara - 1.3.7-5 +- Bluecurve is still used for menu generation. +- "Rebuild program menu" menu entry added. + +* Sun Jun 10 2012 Gilboa Davara - 1.3.7-4 +- Emacs replaced fixes (BZ #805939, Ported Debian fix). +- Use gnome-icon-theme instead of bluecurve (BZ #811335). +- Gcc 4.7 compile fix. +- spec cleanup. + +* Sun Mar 4 2012 Gilboa Davara - 1.3.7-3 +- Fix missing bluecurve-icon-theme in EL-6. +- Start menu icon should now be generated correctly on both Fedora and EPEL. + +* Fri Jan 13 2012 Fedora Release Engineering - 1.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Nov 11 2011 Gilboa Davara - 1.3.7-1 +- Switch to 1.3.7 tree. +- Fixes bugs: #694532, #689804, #696291, #694622, #716218, #754124. +- Add Marcus Moeller's menu icon size and wmclient patches. +- Missing license information for icewm-xdg-menu. + +* Wed Feb 09 2011 Fedora Release Engineering - 1.2.37-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 22 2010 Gilboa Davara - 1.2.37-7 +- Fix missing backspace. +- Fix duplicate clearlooks theme. (#545268) + +* Fri Jan 22 2010 Rahul Sundaram - 1.2.37-6 +- Rebuild for libgnome-desktop soname bump +- Fix mixed use of tabs and spaces + +* Thu Sep 24 2009 Gilboa Davara - 1.2.37-5 +- Patch in missing fribidi support. (#515134) + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.37-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 15 2009 Gilboa Davara - 1.2.37-1 +- 1.2.37. +- Fix missing directory ownership. (#483346) + +* Tue Feb 24 2009 Fedora Release Engineering - 1.2.36-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Jan 6 2009 Caolán McNamara - 1.2.36-3 +- pkg-config --cflags gnome-desktop-2.0 doesn't implicitly include + libgnomeui-2.0 anymore, so add it in explicitly + +* Mon Jan 5 2009 Gilboa Davara - 1.2.36-2 +- Missing BR libgnomeui-devel. (devel) +- Missing BR gnome-vfs2-devel. (devel) + +* Thu Jan 24 2008 - 1.2.35-3 +- Fix broken -devel BR (truetype). + +* Sat Jan 19 2008 - 1.2.35-2 +- Disable xorg-x11-fonts-truetype in -devel. + +* Mon Jan 14 2008 - 1.2.35-1 +- 1.2.35. +- Missing BR: xorg-x11-fonts-truetype. (#351811) + +* Tue Oct 09 2007 - 1.2.32-5 +- EL-5 support. +- Missing BR - libgif-devel. +- Devel: Replace redhat-artwork with bluecurve-icon-theme. + +* Sun Sep 02 2007 - 1.2.32-4 +- Fix mangled if/else. (Again...) + +* Sat Sep 01 2007 - 1.2.32-3 +- Fix missing BR: libXinerama-devel. +- Fix broken source file. + +* Mon Aug 27 2007 - 1.2.32-2 +- Fix bad %%{_fedora} if/else. + +* Sun Aug 26 2007 - 1.2.32-1 +- Fixed license tag. +- Fixed F8 BR - popt-devel. +- Remove APMstatus fix. +- 1.2.32 + +* Mon Apr 09 2007 - 1.2.30-13 +- APMStatus crash fix. (Icewm #1696182) + +* Sat Feb 10 2007 - 1.2.30-12 +- Add missing dot in the -gnome sub-package description. +- Replace REQ icewm (in both -gnome and -xdgmenu) with icewm-x.x.x. +- Fix -xdgmenu file list and %%install section. +- Preserve the source time-stamp. + +* Sun Feb 04 2007 - 1.2.30-11 +- Remove .Xdefaults fix from startup. (reported upstream). +- Replace buildroot with RPM_BUILD_ROOT. + +* Sun Jan 28 2007 - 1.2.30-10 +- Missing REQ: icewm (both -gnome and -xdgmenu) +- Updated menu.in patch. +- Updated startup script. (-xdgmenu) +- Updated icewm-xdg-menu script. (-xdgmenu) + +* Thu Jan 25 2007 - 1.2.30-9 +- Remove redundant icewm-xdg-menu* %%file entry. +- Change sub-package name to xdgmenu. +- Move icewm-xdg-menu to xdgmenu sub-package. +- Removed the icewm-generate-menu script. + +* Sat Jan 20 2007 - 1.2.30-8 +- Fix source1 URL. (2nd is a winner) +- Fix -gnome summery. +- New sub-package: icewm-xdg-menu +- ALPHA: icewm-generate-menu script added to use icewm-xdg-menu to generate static menus. + +* Sat Jan 20 2007 - 1.2.30-7 +- Fix source1 URL. +- Fix xdg-menu* owner. +- Replace default terminal icon to reduce dep-chain. +- Fix icewm-gnome description. +- Replace install with %%{_install} +- Push -gnome's BR to main package. +- Change hard-coded sysconf path. + +* Thu Jan 18 2007 - 1.2.30-6 +- Change license back to LGPL. +- Change summery. +- New sub-package: -gnome. (GNOME menu support.) +- Missing REQ: xterm. +- Missing REQ: htmlview. +- Remove redundant %%_sysconf section. +- Remove redundant redhat-xxx icons. +- New REQ: redhat-artwork. (icons) +- Better man pages handling. +- Customize keys to better match fedora. +- New REQ: eject. (keys) +- New REQ: alsautils. (keys) + +* Wed Jan 17 2007 - 1.2.30-5 +- Fix Source0 URL. +- Replace cp with install. +- Do not gzip the man page, just copy it. +- Use htmlview instead of firefox. +- Use BlueCurve icons instead of the mozilla ones. +- Re-fix lang support. +- Return the default configuration files to %%_datadir +- Add gdm session support. +- Remove gnome-menus from default menu - replace it with pyxdg/icewm-xdg-menu. + +* Tue Jan 16 2007 - 1.2.30-4 +- Fix man page name. +- Remove missing menu items. +- Convert GNOME-menu patch to configure.in patch. +- Push default configuration into /etc/icewm +- Remove the default KDE support. (At least for now) +- Require firefox (default browser in Fedora). +- Add missing firefox icon. (No source - manual convert) +- Add missing gnome-menus. (required for GNOME2 menus) +- Fix missing gettext BR. +- Fix missing lang support. + +* Sat Jan 13 2007 - 1.2.30-3 +- Fix wrong license. (Was LGPL, should be GPL.) + +* Thu Jan 11 2007 - 1.2.30-2 +- Manually add missing man page. + +* Thu Jan 11 2007 - 1.2.30-1 +- Initial release. + diff --git a/sources b/sources new file mode 100644 index 0000000..f6ddb65 --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (icewm-1.3.8.tar.gz) = ce9bf3e736a2f3fad4bbf731647b4e4ad0168cd2c4af66b1c43beef9ceeee39d14909714d2fc73ab13f6c285a74dfe31fffc9677ae8bd2d1077716cd6d6afb72 +SHA512 (clearlooks-v3.1.tgz) = 38a7bd9e5e2b6cdbbfa0688d1fab7f8c113769fb5a5afb05bee3983d27d84a4de8daa3d1b19ec1b84fd61409a3dc4844dc9bc2637c5ea995b5f5fa6591f48593