forked from vitrine/wmaker
Also adding a shell script that will copy the results of a test build to a location from where it can be run.
380 lines
12 KiB
Python
380 lines
12 KiB
Python
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
|
|
|
|
py_binary(
|
|
name = "generate_files",
|
|
srcs = ["generate_files.py"],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "template_files",
|
|
srcs = glob(["*.in"]),
|
|
)
|
|
|
|
genrule(
|
|
name = "menus_generated",
|
|
srcs = [
|
|
":template_files",
|
|
],
|
|
outs = [
|
|
"share/WindowMaker/appearance.menu",
|
|
"share/WindowMaker/appearance.menu.fy",
|
|
"share/WindowMaker/appearance.menu.nl",
|
|
"share/WindowMaker/appearance.menu.sr",
|
|
"share/WindowMaker/menu",
|
|
"share/WindowMaker/menu.bg",
|
|
"share/WindowMaker/menu.fi",
|
|
"share/WindowMaker/menu.fy",
|
|
"share/WindowMaker/menu.hu",
|
|
"share/WindowMaker/menu.ko",
|
|
"share/WindowMaker/menu.nl",
|
|
"share/WindowMaker/menu.ro",
|
|
"share/WindowMaker/menu.sk",
|
|
"share/WindowMaker/menu.sr",
|
|
"share/WindowMaker/menu.zh_TW",
|
|
"share/WindowMaker/plmenu",
|
|
"share/WindowMaker/plmenu.bg",
|
|
"share/WindowMaker/plmenu.es",
|
|
"share/WindowMaker/plmenu.fi",
|
|
"share/WindowMaker/plmenu.fy",
|
|
"share/WindowMaker/plmenu.ja",
|
|
"share/WindowMaker/plmenu.ko",
|
|
"share/WindowMaker/plmenu.nl",
|
|
"share/WindowMaker/plmenu.pl",
|
|
"share/WindowMaker/plmenu.ro",
|
|
"share/WindowMaker/plmenu.sk",
|
|
"share/WindowMaker/plmenu.sr",
|
|
"share/WindowMaker/plmenu.zh_CN",
|
|
"share/WindowMaker/plmenu.zh_TW",
|
|
"share/WindowMaker/wmmacros",
|
|
],
|
|
cmd = """mkdir -p $(RULEDIR)/share/WindowMaker &&
|
|
./$(location :generate_files) \
|
|
-r '#wprefs#' '$(INSTALL_PREFIX)/bin' \
|
|
-r '#wmdatadir#' '$(INSTALL_PREFIX)/share/WindowMaker' \
|
|
-o $(RULEDIR)/share/WindowMaker \
|
|
$(SRCS)
|
|
""",
|
|
tools = [":generate_files"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "menus_nongenerated",
|
|
srcs = [
|
|
"autostart.sh",
|
|
"background.menu",
|
|
"background.menu.fy",
|
|
"background.menu.nl",
|
|
"background.menu.sr",
|
|
"exitscript.sh",
|
|
"menu.ca",
|
|
"menu.cz",
|
|
"menu.da",
|
|
"menu.de",
|
|
"menu.el",
|
|
"menu.es",
|
|
"menu.fr",
|
|
"menu.gl",
|
|
"menu.he",
|
|
"menu.hr",
|
|
"menu.it",
|
|
"menu.ja",
|
|
"menu.no",
|
|
"menu.pl",
|
|
"menu.pt",
|
|
"menu.ru",
|
|
"menu.se",
|
|
"menu.sl",
|
|
"menu.tr",
|
|
"menu.zh_CN",
|
|
"plmenu.da",
|
|
"plmenu.de",
|
|
"plmenu.fr",
|
|
"plmenu.hr",
|
|
"plmenu.it",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "populate_menus_nongenerated",
|
|
srcs = [":menus_nongenerated"],
|
|
outs = [
|
|
"share/WindowMaker/autostart.sh",
|
|
"share/WindowMaker/background.menu",
|
|
"share/WindowMaker/background.menu.fy",
|
|
"share/WindowMaker/background.menu.nl",
|
|
"share/WindowMaker/background.menu.sr",
|
|
"share/WindowMaker/exitscript.sh",
|
|
"share/WindowMaker/menu.ca",
|
|
"share/WindowMaker/menu.cz",
|
|
"share/WindowMaker/menu.da",
|
|
"share/WindowMaker/menu.de",
|
|
"share/WindowMaker/menu.el",
|
|
"share/WindowMaker/menu.es",
|
|
"share/WindowMaker/menu.fr",
|
|
"share/WindowMaker/menu.gl",
|
|
"share/WindowMaker/menu.he",
|
|
"share/WindowMaker/menu.hr",
|
|
"share/WindowMaker/menu.it",
|
|
"share/WindowMaker/menu.ja",
|
|
"share/WindowMaker/menu.no",
|
|
"share/WindowMaker/menu.pl",
|
|
"share/WindowMaker/menu.pt",
|
|
"share/WindowMaker/menu.ru",
|
|
"share/WindowMaker/menu.se",
|
|
"share/WindowMaker/menu.sl",
|
|
"share/WindowMaker/menu.tr",
|
|
"share/WindowMaker/menu.zh_CN",
|
|
"share/WindowMaker/plmenu.da",
|
|
"share/WindowMaker/plmenu.de",
|
|
"share/WindowMaker/plmenu.fr",
|
|
"share/WindowMaker/plmenu.hr",
|
|
"share/WindowMaker/plmenu.it",
|
|
],
|
|
cmd = """cp $(SRCS) $(RULEDIR)/share/WindowMaker""",
|
|
)
|
|
|
|
genrule(
|
|
name = "defaults_wm_window_attributes",
|
|
srcs = ["Defaults/WMWindowAttributes.in"],
|
|
outs = ["Defaults/WMWindowAttributes"],
|
|
# TODO: We have temporarily eliminated the @ICONEXT@ build parameter in the
|
|
# interest of simplicity. Hard-coding png like this forces us to build in
|
|
# png support at all times instead of making it optional.
|
|
cmd = """./$(location :generate_files) \
|
|
-r '#extension#' 'png' \
|
|
-o $(RULEDIR)/Defaults \
|
|
$(SRCS)
|
|
""",
|
|
tools = [":generate_files"],
|
|
)
|
|
|
|
genrule(
|
|
name = "defaults_window_maker",
|
|
srcs = ["Defaults/WindowMaker.in"],
|
|
outs = ["Defaults/WindowMaker"],
|
|
cmd = """./$(location :generate_files) \
|
|
-r '#pkgdatadir#' '$(INSTALL_PREFIX)/share/WindowMaker' \
|
|
-r '#pixmapdir#' '/usr/share/pixmaps' \
|
|
-o $(RULEDIR)/Defaults \
|
|
$(SRCS)
|
|
""",
|
|
tools = [":generate_files"],
|
|
)
|
|
|
|
genrule(
|
|
name = "defaults_wm_state",
|
|
srcs = ["Defaults/WMState.in"],
|
|
outs = ["Defaults/WMState"],
|
|
cmd = """./$(location :generate_files) \
|
|
-r '#wprefs#' '$(INSTALL_PREFIX)/bin/WPrefs' \
|
|
-o $(RULEDIR)/Defaults \
|
|
$(SRCS)
|
|
""",
|
|
tools = [":generate_files"],
|
|
)
|
|
|
|
genrule(
|
|
name = "defaults_wm_root_menu",
|
|
srcs = ["plmenu.in"],
|
|
outs = ["Defaults/WMRootMenu"],
|
|
cmd = """./$(location :generate_files) \
|
|
-r '#wprefs#' '$(INSTALL_PREFIX)/bin' \
|
|
-r '#wmdatadir#' '$(INSTALL_PREFIX)/share/WindowMaker' \
|
|
-o $(RULEDIR) \
|
|
$(SRCS) \
|
|
&& mv $(RULEDIR)/plmenu $(RULEDIR)/Defaults/WMRootMenu""",
|
|
tools = [":generate_files"],
|
|
)
|
|
|
|
copy_file(
|
|
name = "defaults_wm_global",
|
|
src = "Defaults/WMGLOBAL.in",
|
|
out = "Defaults/WMGLOBAL",
|
|
)
|
|
|
|
filegroup(
|
|
name = "defaults",
|
|
srcs = [
|
|
":defaults_wm_global",
|
|
":defaults_window_maker",
|
|
":defaults_wm_root_menu",
|
|
":defaults_wm_state",
|
|
":defaults_wm_window_attributes",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "iconsets",
|
|
srcs = [":defaults_wm_window_attributes"],
|
|
outs = ["share/WindowMaker/IconSets/Default.iconset"],
|
|
cmd = """echo '{' > $(@) && \
|
|
grep Icon $(location :defaults_wm_window_attributes) >> $(@) && \
|
|
echo '}' >> $(@)
|
|
""",
|
|
)
|
|
|
|
copy_file(
|
|
name = "backgrounds",
|
|
src = "Backgrounds/BlueImage.jpeg",
|
|
out = "share/WindowMaker/Backgrounds/BlueImage.jpeg",
|
|
)
|
|
|
|
genrule(
|
|
name = "icons",
|
|
srcs = glob([
|
|
"Icons/*.tiff",
|
|
"Icons/*.xpm",
|
|
"Icons/*.png",
|
|
]),
|
|
outs = [
|
|
"share/WindowMaker/Icons/BitchX.tiff",
|
|
"share/WindowMaker/Icons/BitchX.xpm",
|
|
"share/WindowMaker/Icons/clip.tiff",
|
|
"share/WindowMaker/Icons/clip.xpm",
|
|
"share/WindowMaker/Icons/defaultAppIcon.tiff",
|
|
"share/WindowMaker/Icons/defaultAppIcon.xpm",
|
|
"share/WindowMaker/Icons/defaultterm.tiff",
|
|
"share/WindowMaker/Icons/defaultterm.xpm",
|
|
"share/WindowMaker/Icons/Drawer.tiff",
|
|
"share/WindowMaker/Icons/Drawer.xpm",
|
|
"share/WindowMaker/Icons/draw.tiff",
|
|
"share/WindowMaker/Icons/draw.xpm",
|
|
"share/WindowMaker/Icons/Ear.png",
|
|
"share/WindowMaker/Icons/Ftp.png",
|
|
"share/WindowMaker/Icons/GNUstep3D.tiff",
|
|
"share/WindowMaker/Icons/GNUstep3D.xpm",
|
|
"share/WindowMaker/Icons/GNUstepGlow.tiff",
|
|
"share/WindowMaker/Icons/GNUstepGlow.xpm",
|
|
"share/WindowMaker/Icons/GNUstep.tiff",
|
|
"share/WindowMaker/Icons/GNUstep.xpm",
|
|
"share/WindowMaker/Icons/GNUterm.tiff",
|
|
"share/WindowMaker/Icons/GNUterm.xpm",
|
|
"share/WindowMaker/Icons/GreenWilber.png",
|
|
"share/WindowMaker/Icons/ICQ.png",
|
|
"share/WindowMaker/Icons/Jabber.png",
|
|
"share/WindowMaker/Icons/linuxterm.tiff",
|
|
"share/WindowMaker/Icons/linuxterm.xpm",
|
|
"share/WindowMaker/Icons/Magnify.tiff",
|
|
"share/WindowMaker/Icons/Magnify.xpm",
|
|
"share/WindowMaker/Icons/mixer.tiff",
|
|
"share/WindowMaker/Icons/mixer.xpm",
|
|
"share/WindowMaker/Icons/Mouth.png",
|
|
"share/WindowMaker/Icons/Mozilla.png",
|
|
"share/WindowMaker/Icons/notepad.tiff",
|
|
"share/WindowMaker/Icons/notepad.xpm",
|
|
"share/WindowMaker/Icons/pdf.tiff",
|
|
"share/WindowMaker/Icons/pdf.xpm",
|
|
"share/WindowMaker/Icons/Pencil.png",
|
|
"share/WindowMaker/Icons/Pen.png",
|
|
"share/WindowMaker/Icons/ps.tiff",
|
|
"share/WindowMaker/Icons/ps.xpm",
|
|
"share/WindowMaker/Icons/Real.png",
|
|
"share/WindowMaker/Icons/real.tiff",
|
|
"share/WindowMaker/Icons/real.xpm",
|
|
"share/WindowMaker/Icons/sgiterm.tiff",
|
|
"share/WindowMaker/Icons/sgiterm.xpm",
|
|
"share/WindowMaker/Icons/Shell.png",
|
|
"share/WindowMaker/Icons/Speaker.png",
|
|
"share/WindowMaker/Icons/staroffice2.tiff",
|
|
"share/WindowMaker/Icons/staroffice2.xpm",
|
|
"share/WindowMaker/Icons/TerminalGNUstep.tiff",
|
|
"share/WindowMaker/Icons/TerminalGNUstep.xpm",
|
|
"share/WindowMaker/Icons/TerminalLinux.tiff",
|
|
"share/WindowMaker/Icons/TerminalLinux.xpm",
|
|
"share/WindowMaker/Icons/Terminal.tiff",
|
|
"share/WindowMaker/Icons/Terminal.xpm",
|
|
"share/WindowMaker/Icons/timer.tiff",
|
|
"share/WindowMaker/Icons/timer.xpm",
|
|
"share/WindowMaker/Icons/wilber.tiff",
|
|
"share/WindowMaker/Icons/wilber.xpm",
|
|
"share/WindowMaker/Icons/Wine.png",
|
|
"share/WindowMaker/Icons/write.tiff",
|
|
"share/WindowMaker/Icons/write.xpm",
|
|
"share/WindowMaker/Icons/XChat.png",
|
|
"share/WindowMaker/Icons/xdvi.tiff",
|
|
"share/WindowMaker/Icons/xdvi.xpm",
|
|
"share/WindowMaker/Icons/xv.tiff",
|
|
"share/WindowMaker/Icons/xv.xpm",
|
|
],
|
|
cmd = """mkdir -p $(RULEDIR)/share/WindowMaker/Icons && \
|
|
cp $(SRCS) $(RULEDIR)/share/WindowMaker/Icons""",
|
|
)
|
|
|
|
genrule(
|
|
name = "pixmaps",
|
|
srcs = glob([
|
|
"Pixmaps/*.tiff",
|
|
"Pixmaps/*.xpm",
|
|
"Pixmaps/*.png",
|
|
]),
|
|
outs = [
|
|
"share/WindowMaker/Pixmaps/swback2.png",
|
|
"share/WindowMaker/Pixmaps/swback.png",
|
|
"share/WindowMaker/Pixmaps/swtile.png",
|
|
"share/WindowMaker/Pixmaps/tile.tiff",
|
|
"share/WindowMaker/Pixmaps/tile.xpm",
|
|
],
|
|
cmd = """mkdir -p $(RULEDIR)/share/WindowMaker/Pixmaps && \
|
|
cp $(SRCS) $(RULEDIR)/share/WindowMaker/Pixmaps""",
|
|
)
|
|
|
|
genrule(
|
|
name = "styles",
|
|
srcs = glob(["Styles/*.style"]),
|
|
outs = [
|
|
"share/WindowMaker/Styles/Adwaita.style",
|
|
"share/WindowMaker/Styles/Autumn.style",
|
|
"share/WindowMaker/Styles/Black.style",
|
|
"share/WindowMaker/Styles/BlackTexture.style",
|
|
"share/WindowMaker/Styles/BlueDawn.style",
|
|
"share/WindowMaker/Styles/BlueishGreen.style",
|
|
"share/WindowMaker/Styles/Blue.style",
|
|
"share/WindowMaker/Styles/Brownish.style",
|
|
"share/WindowMaker/Styles/Brown.style",
|
|
"share/WindowMaker/Styles/Chumbo.style",
|
|
"share/WindowMaker/Styles/Copper.style",
|
|
"share/WindowMaker/Styles/DarkBlue.style",
|
|
"share/WindowMaker/Styles/DarkRed.style",
|
|
"share/WindowMaker/Styles/Emerald.style",
|
|
"share/WindowMaker/Styles/Fire.style",
|
|
"share/WindowMaker/Styles/Food.style",
|
|
"share/WindowMaker/Styles/Golden.style",
|
|
"share/WindowMaker/Styles/Green.style",
|
|
"share/WindowMaker/Styles/GreyBlue.style",
|
|
"share/WindowMaker/Styles/Gtk.style",
|
|
"share/WindowMaker/Styles/Interlace.style",
|
|
"share/WindowMaker/Styles/IRednBlue.style",
|
|
"share/WindowMaker/Styles/LightBlue.style",
|
|
"share/WindowMaker/Styles/NewBlue.style",
|
|
"share/WindowMaker/Styles/NightSky.style",
|
|
"share/WindowMaker/Styles/Pastel.style",
|
|
"share/WindowMaker/Styles/Pink.style",
|
|
"share/WindowMaker/Styles/Pumpkin.style",
|
|
"share/WindowMaker/Styles/Purple.style",
|
|
"share/WindowMaker/Styles/Purplish.style",
|
|
"share/WindowMaker/Styles/RednBlue.style",
|
|
"share/WindowMaker/Styles/Red.style",
|
|
"share/WindowMaker/Styles/Spring.style",
|
|
"share/WindowMaker/Styles/Summer.style",
|
|
"share/WindowMaker/Styles/Traditional.style",
|
|
"share/WindowMaker/Styles/VioletBlue.style",
|
|
],
|
|
cmd = """mkdir -p $(RULEDIR)/share/WindowMaker/Styles && \
|
|
cp $(SRCS) $(RULEDIR)/share/WindowMaker/Styles""",
|
|
)
|
|
|
|
genrule(
|
|
name = "themes",
|
|
srcs = glob(["Themes/*.style"]),
|
|
outs = [
|
|
"share/WindowMaker/Themes/Blau.style",
|
|
"share/WindowMaker/Themes/Default.style",
|
|
"share/WindowMaker/Themes/OpenStep.style",
|
|
"share/WindowMaker/Themes/Pastel.style",
|
|
"share/WindowMaker/Themes/SteelBlueSilk.style",
|
|
],
|
|
cmd = """mkdir -p $(RULEDIR)/share/WindowMaker/Themes && \
|
|
cp $(SRCS) $(RULEDIR)/share/WindowMaker/Themes""",
|
|
)
|