1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-23 14:42:29 +01:00
Files
wmaker/debian/rules
Rodolfo García Peñas (kix) 9fa427bc7f Debian full patch migration
* New maintainer [Closes: #632875]
  * New upstream version, now from git. [Closes: #556677]
  * New package wmaker-common (arch independent files)
  * removed the asclock diversions from the wmaker scripts
  * new package wmaker-common with the arch independent files
  * debian/patches are now DEP-3
  * debian/copyright is now DEP-5
  * Standard-Version is now 3.9.2
  * manpages moved to upstream
  * solved some problems with .la files (lintian clean)
2011-10-05 19:24:01 +01:00

245 lines
9.1 KiB
Makefile
Executable File

#!/usr/bin/make -f
# GNU Copyright 1997-2005 Marcelo Magallon <mmagallo@debian.org>
export DH_VERBOSE=1
package := wmaker
version := $(shell dpkg-parsechangelog | grep-dctrl -ne -sVersion -FVersion .)
SHELL=/bin/sh
CFLAGS = -g -Wall -DGLOBAL_DEFAULTS_SUBDIR="\\\"GNUstep/Defaults\\\""
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -DDEBUG
endif
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
HOSTSPEC := --build $(DEB_HOST_GNU_TYPE)
else
HOSTSPEC := --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
LINGUAS := $(patsubst po/%.po, %, $(wildcard po/*.po))
XLOCALE := --disable-locale
MODELOCK := --enable-modelock
XINERAMA := --enable-xinerama
# USERMENU := --enable-usermenu
# SHAPE_EXT := --disable-shape
# USE_SHM := --disable-shm
# USE_XPM := --disable-xpm
# USE_PNG := --disable-png
# USE_JPEG := --disable-jpeg
# USE_GIF := --disable-gif
# USE_TIFF := --disable-tiff
WMAKER_OPTIONS := $(XLOCALE) $(MODELOCK) $(XINERAMA) \
$(USERMENU) $(SHAPE_EXT) $(USE_SHM) \
$(USE_XPM) $(USE_PNG) $(USE_JPEG) $(USE_GIF) $(USE_TIFF) \
$(HOSTSPEC)
TOPSRCDIR := $(shell pwd)
WMAKER := wmaker
WMAKER_COMMON := wmaker-common
WMAKER_DBG := wmaker-dbg
LIBWRASTER := libwraster3
LIBWRASTERDEV := $(LIBWRASTER)-dev
LIBWINGS := libwings-dev
# Be careful with the leading / because some of these values are going
# to be hardcoded into the executables
BASEDIR := /usr
CONFDIR := /etc
BINDIR := $(BASEDIR)/bin
INCLUDEDIR := $(BASEDIR)/include
SHAREDIR := $(BASEDIR)/share
DOCDIR := $(SHAREDIR)/doc
MANDIR := $(SHAREDIR)/man
MAN1DIR := $(MANDIR)/man1
MAN8DIR := $(MANDIR)/man8
LIBDIR := $(SHAREDIR)/lib
PKGLIBDIR := $(SHAREDIR)/lib/WindowMaker
NLSDIR := $(SHAREDIR)/locale
WMCONFDIR := $(CONFDIR)/X11/WindowMaker
WMSHAREDIR := $(SHAREDIR)/WindowMaker
WMDOCDIR := $(DOCDIR)/wmaker
GNUSTEPDIR := $(LIBDIR)/GNUstep/System
GNUSTEPCONFDIR := $(CONFDIR)/GNUstep
DEFAULTSDIR := $(GNUSTEPCONFDIR)/Defaults
PIXMAPDIR := $(INCLUDEDIR)/X11/pixmaps
GNUSTEPAPPS := $(GNUSTEPDIR)/Applications
WPREFSAPPDIR := $(GNUSTEPAPPS)/WPrefs.app
WPREFSSRCDIR := $(TOPSRCDIR)/WPrefs.app
WRASTERSRCDIR := $(TOPSRCDIR)/wrlib
WINGSSRCDIR := $(TOPSRCDIR)/WINGs
DEBDIR := $(TOPSRCDIR)/debian
DEBDIR_TMP := $(DEBDIR)/tmp
WMAKER_TMP := $(DEBDIR)/$(WMAKER)
WMAKER_COMMON_TMP := $(DEBDIR)/$(WMAKER_COMMON)
WMAKER_DBG_TMP := $(DEBDIR)/$(WMAKER_DBG)
LIBWRASTER_TMP := $(DEBDIR)/$(LIBWRASTER)
LIBWRASTERDEV_TMP := $(DEBDIR)/$(LIBWRASTERDEV)
LIBWINGS_TMP := $(DEBDIR)/$(LIBWINGS)
RM := rm -f
COMMON_OPTIONS := --prefix=$(BASEDIR) \
--mandir=$(MANDIR) \
--includedir=$(INCLUDEDIR) \
--sysconfdir=$(CONFDIR) \
--datadir=$(SHAREDIR) \
--with-nlsdir=$(NLSDIR) \
--with-pixmapdir=$(PIXMAPDIR) \
--with-gnustepdir=$(GNUSTEPDIR)
install_file := install -p -o root -g root -m 0644
install_prog := install -p -o root -g root -m 0755
%:
dh $@
override_dh_auto_configure:
$(TOPSRCDIR)/autogen.sh
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
LINGUAS="$(LINGUAS)" $(TOPSRCDIR)/configure $(COMMON_OPTIONS) \
$(WMAKER_OPTIONS) CFLAGS="$(CFLAGS)"
override_dh_clean:
dh_clean
# rm the file WMRootMenu, added by WindowMaker/Defaults/Makefile
$(RM) WindowMaker/Defaults/WMRootMenu
# quilt (I do not why is not automatically)
QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2
override_dh_installmenu:
dh_installmenu -a --noscripts
# Copy extra menu files to the WMCONFIG
$(install_prog) $(DEBDIR)/appearance.menu-method \
$(WMAKER_COMMON_TMP)/etc/menu-methods/wmappearance
$(install_file) $(TOPSRCDIR)/WindowMaker/appearance.menu \
$(WMAKER_COMMON_TMP)/$(WMCONFDIR)/
$(install_file) $(TOPSRCDIR)/WindowMaker/background.menu \
$(WMAKER_COMMON_TMP)/$(WMCONFDIR)/
$(install_file) $(TOPSRCDIR)/WindowMaker/wmmacros \
$(WMAKER_COMMON_TMP)/$(WMCONFDIR)/
touch $(WMAKER_COMMON_TMP)/$(WMCONFDIR)/menu.prehook
touch $(WMAKER_COMMON_TMP)/$(WMCONFDIR)/menu.posthook
# Now, change the #wmdatadir# string to $(WMSHAREDIR)
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMCONFDIR)/wmmacros
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/wmmacros
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/plmenu
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' `find $(WMAKER_COMMON_TMP)/$(WMSHAREDIR) -name plmenu.*`
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WMRootMenu
perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/Defaults/WMRootMenu
override_dh_installdocs:
dh_installdocs -a
$(install_file) $(WINGSSRCDIR)/README \
$(LIBWINGS_TMP)/$(DOCDIR)/$(LIBWINGS)/README.WINGs
$(install_file) $(WRASTERSRCDIR)/README \
$(LIBWRASTER_TMP)/$(DOCDIR)/$(LIBWRASTER)/README.wrlib
# Why?
$(install_file) $(DEBDIR)/copyright \
$(WMAKER_COMMON_TMP)/$(DOCDIR)/$(WMAKER_COMMON)/
override_dh_installchangelogs:
dh_installchangelogs
dh_installchangelogs ChangeLog upstream
override_dh_install:
dh_install
dh_strip -a --dbg-package=$(WMAKER_DBG)
mv $(DEBDIR_TMP)/etc/WindowMaker/* $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/
rmdir $(DEBDIR_TMP)/etc/WindowMaker
# Now begin fixing stuff
$(install_file) $(DEBDIR)/wmaker-common.desktop $(WMAKER_COMMON_TMP)/usr/share/xsessions
# First, provide a wrapper to compensate for Window Maker's funny first
# start up requierements
# WMaker and WMaker debug
mv $(WMAKER_TMP)/$(BINDIR)/wmaker \
$(WMAKER_TMP)/usr/lib/WindowMaker/WindowMaker
mv $(WMAKER_DBG_TMP)/usr/lib/debug$(BINDIR)/wmaker \
$(WMAKER_DBG_TMP)/usr/lib/debug/usr/lib/WindowMaker/WindowMaker
# convertfonts and convertfonts debug
mv $(WMAKER_TMP)/$(BINDIR)/convertfonts \
$(WMAKER_TMP)/usr/lib/WindowMaker/
mv $(WMAKER_DBG_TMP)/usr/lib/debug$(BINDIR)/convertfonts \
$(WMAKER_DBG_TMP)/usr/lib/debug/usr/lib/WindowMaker/
# WPrefs
mv $(DEBDIR_TMP)/$(WPREFSAPPDIR)/WPrefs \
$(WMAKER_TMP)/usr/lib/GNUstep/System/Applications/WPrefs.app/WPrefs
$(install_prog) $(DEBDIR)/wmaker.sh $(WMAKER_COMMON_TMP)/$(BINDIR)/wmaker
# place wm-oldmenu2new under a more appropiate directory
-mv $(DEBDIR_TMP)/$(BINDIR)/wm-oldmenu2new $(WMAKER_COMMON_TMP)/$(WMDOCDIR)
# the next is stricly not necessary, because there's a symlink in place,
# but I don't want to abuse it. Some dumb program uses that path and is a
# PITA to modify it)
perl -pi -e 's:$(WPREFSAPPDIR)/WPrefs:$(BINDIR)/WPrefs:' \
$(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WMState
# Fix permissions
chmod +x $(WMAKER_COMMON_TMP)/usr/share/WindowMaker/autostart.sh
chmod +x $(WMAKER_COMMON_TMP)/usr/share/WindowMaker/exitscript.sh
# Install our transition script
$(install_prog) $(DEBDIR)/upgrade-windowmaker-defaults \
$(WMAKER_COMMON_TMP)/usr/sbin/upgrade-windowmaker-defaults
# This file qualifies as "unpatchable"
cp $(DEBDIR)/WMWindowAttributes $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/
# Need this file for start up
echo '"menu.hook"' > $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WMRootMenu
# the plethora of readmes
cp $(TOPSRCDIR)/po/README \
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.po
cp $(TOPSRCDIR)/README.definable-cursor \
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.definable-cursor
cp $(WPREFSSRCDIR)/README \
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.WPrefs
cp $(WPREFSSRCDIR)/po/README \
$(WMAKER_COMMON_TMP)/$(WMDOCDIR)/README.WPrefs.po
# Copy in the Debian theme
cp $(DEBDIR)/Debian.theme $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/Themes/Debian
uudecode -o $(WMAKER_COMMON_TMP)/$(WMSHAREDIR)/Backgrounds/debian.tiff \
$(DEBDIR)/debian.tiff.uu
# This has the new default Debian theme settings.
cp $(DEBDIR)/WindowMaker.default $(WMAKER_COMMON_TMP)/$(DEFAULTSDIR)/WindowMaker
# Fix the get-*-flags scripts
perl -pi -e '/^WCFLAGS/ && s:=.*:="-I/usr/X11R6/include":; /^WLFLAGS/ && s:=.*:="-L/usr/X11R6/lib":;' `find $(LIBWRASTERDEV_TMP) -name get-*-flags`
perl -pi -e '/^WCFLAGS/ && s:=.*:="-I/usr/X11R6/include":; /^WLFLAGS/ && s:=.*:="-L/usr/X11R6/lib":;' `find $(LIBWINGS_TMP) -name get-*-flags`
perl -pi -e '/^WLIBS/ && s:=.*:="-lwraster":' `find $(LIBWRASTERDEV_TMP) -name get-wraster-flags`
perl -pi -e '/^WLIBS/ && s:=.*:="-lWINGs -lwraster -lXft":' `find $(LIBWINGS_TMP) -name get-wings-flags`
perl -pi -e '/^WLIBS/ && s:=.*:="-lWUtil -lX11":' `find $(LIBWINGS_TMP) -name get-wutil-flags`