Radix cross Linux 3pp sources

RcL sources – is a tree of Third Party and Radix source tarballs

343 Commits   0 Branches   0 Tags
author: kx <kx@radix.pro> 2023-04-06 10:37:20 +0300 committer: kx <kx@radix.pro> 2023-04-06 10:37:20 +0300 commit: b8d9de0a8bff1b815a7f84df279cb608fe2e962b parent: cbda8cd8fcffd037f28be2d043a05bef12db485a
Commit Summary:
X.org
Diffstat:
311 files changed, 9602 insertions, 0 deletions
diff --git a/X.org/Makefile b/X.org/Makefile
new file mode 100644
index 0000000..e869313
--- /dev/null
+++ b/X.org/Makefile
@@ -0,0 +1,34 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := app     \
+           data    \
+           doc     \
+           driver  \
+           font    \
+           lib     \
+           proto   \
+           test    \
+           util    \
+           xcb     \
+           xserver
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/X.org-X11R7.7.txt b/X.org/X.org-X11R7.7.txt
new file mode 100644
index 0000000..47c234f
--- /dev/null
+++ b/X.org/X.org-X11R7.7.txt
@@ -0,0 +1,307 @@
+
+  X.org release X11R7.7 sources:
+  =============================
+
+    app/appres/appres-1.0.6.tar.xz
+    app/beforelight/beforelight-1.0.5.tar.bz2
+    app/bitmap/bitmap-1.1.0.tar.xz
+    app/constype/constype-1.0.4.tar.bz2
+    app/editres/editres-1.0.8.tar.xz
+    app/fonttosfnt/fonttosfnt-1.2.2.tar.bz2
+    app/fslsfonts/fslsfonts-1.0.6.tar.xz
+    app/fstobdf/fstobdf-1.0.7.tar.xz
+    app/iceauth/iceauth-1.0.9.tar.xz
+    app/ico/ico-1.0.6.tar.xz
+    app/igt-gpu-tools/igt-gpu-tools-1.27.tar.xz
+    app/intel-gpu-tools/intel-gpu-tools-1.22.tar.xz
+    app/lbxproxy/lbxproxy-1.0.3.tar.bz2
+    app/listres/listres-1.0.5.tar.xz
+    app/luit/luit-1.1.1.tar.bz2
+    app/mkcomposecache/mkcomposecache-1.2.2.tar.xz
+    app/mkfontdir/mkfontdir-1.0.7.tar.bz2
+    app/mkfontscale/mkfontscale-1.2.2.tar.xz
+    app/oclock/oclock-1.0.5.tar.xz
+    app/proxymngr/proxymngr-1.0.4.tar.bz2
+    app/rendercheck/rendercheck-1.5.tar.bz2
+    app/rgb/rgb-1.1.0.tar.xz
+    app/rstart/rstart-1.0.6.tar.xz
+    app/sessreg/sessreg-1.1.3.tar.xz
+    app/setxkbmap/setxkbmap-1.3.3.tar.xz
+    app/showfont/showfont-1.0.6.tar.xz
+    app/smproxy/smproxy-1.0.7.tar.xz
+    app/transset/transset-1.0.3.tar.xz
+    app/twm/twm-1.0.12.tar.xz
+    app/viewres/viewres-1.0.7.tar.xz
+    app/xauth/xauth-1.1.2.tar.xz
+    app/xbacklight/xbacklight-1.2.3.tar.bz2
+    app/xbiff/xbiff-1.0.4.tar.bz2
+    app/xcalc/xcalc-1.1.1.tar.xz
+    app/xclipboard/xclipboard-1.1.4.tar.xz
+    app/xclock/xclock-1.1.1.tar.xz
+    app/xcm/libXcm-0.5.4.tar.xz
+    app/xcmsdb/xcmsdb-1.0.6.tar.xz
+    app/xcompmgr/xcompmgr-1.1.9.tar.xz
+    app/xconsole/xconsole-1.0.8.tar.xz
+    app/xcursorgen/xcursorgen-1.0.8.tar.xz
+    app/xdbedizzy/xdbedizzy-1.1.0.tar.bz2
+    app/xditview/xditview-1.0.6.tar.xz
+    app/xdm/xdm-1.1.14.tar.xz
+    app/xdpyinfo/xdpyinfo-1.3.3.tar.xz
+    app/xdriinfo/xdriinfo-1.0.7.tar.xz
+    app/xedit/xedit-1.2.3.tar.xz
+    app/xev/xev-1.2.5.tar.xz
+    app/xeyes/xeyes-1.2.0.tar.bz2
+    app/xf86dga/xf86dga-1.0.3.tar.bz2
+    app/xfd/xfd-1.1.4.tar.xz
+    app/xfindproxy/xfindproxy-1.0.4.tar.bz2
+    app/xfontsel/xfontsel-1.1.0.tar.xz
+    app/xfs/xfs-1.2.1.tar.xz
+    app/xfsinfo/xfsinfo-1.0.7.tar.xz
+    app/xfwp/xfwp-1.0.3.tar.bz2
+    app/xgamma/xgamma-1.0.7.tar.xz
+    app/xgc/xgc-1.0.6.tar.xz
+    app/xhost/xhost-1.0.9.tar.xz
+    app/xinit/xinit-1.4.2.tar.xz
+    app/xinput/xinput-1.6.3.tar.bz2
+    app/xisxwayland/xisxwayland-2.tar.xz
+    app/xkbcomp/xkbcomp-1.4.6.tar.xz
+    app/xkbevd/xkbevd-1.1.5.tar.xz
+    app/xkbprint/xkbprint-1.0.6.tar.xz
+    app/xkbutils/xkbutils-1.0.5.tar.xz
+    app/xkill/xkill-1.0.6.tar.xz
+    app/xload/xload-1.1.4.tar.xz
+    app/xlogo/xlogo-1.0.6.tar.xz
+    app/xlsatoms/xlsatoms-1.1.4.tar.xz
+    app/xlsclients/xlsclients-1.1.5.tar.xz
+    app/xlsfonts/xlsfonts-1.0.7.tar.xz
+    app/xmag/xmag-1.0.7.tar.xz
+    app/xman/xman-1.1.5.tar.bz2
+    app/xmessage/xmessage-1.0.6.tar.xz
+    app/xmh/xmh-1.0.4.tar.xz
+    app/xmodmap/xmodmap-1.0.11.tar.xz
+    app/xmore/xmore-1.0.3.tar.bz2
+    app/xpr/xpr-1.1.0.tar.xz
+    app/xprop/xprop-1.2.6.tar.xz
+    app/xrandr/xrandr-1.5.2.tar.xz
+    app/xrdb/xrdb-1.2.1.tar.bz2
+    app/xrefresh/xrefresh-1.0.7.tar.xz
+    app/xscope/xscope-1.4.3.tar.xz
+    app/xset/xset-1.2.5.tar.xz
+    app/xsetroot/xsetroot-1.1.3.tar.xz
+    app/xsm/xsm-1.0.5.tar.xz
+    app/xstdcmap/xstdcmap-1.0.5.tar.xz
+    app/xvidtune/xvidtune-1.0.3.tar.bz2
+    app/xvinfo/xvinfo-1.1.5.tar.xz
+    app/xwd/xwd-1.0.8.tar.bz2
+    app/xwininfo/xwininfo-1.1.5.tar.bz2
+    app/xwud/xwud-1.0.6.tar.xz
+
+    data/xbitmaps/xbitmaps-1.1.2.tar.bz2
+    data/xcursor-themes/xcursor-themes-1.0.6.tar.bz2
+    data/xkeyboard-config/xkeyboard-config-2.37.tar.xz
+
+    doc/xorg-docs/xorg-docs-1.7.2.tar.bz2
+    doc/xorg-sgml-doctools/xorg-sgml-doctools-1.12.tar.bz2
+
+    driver/xf86-input-acecad/xf86-input-acecad-1.5.0.tar.bz2
+    driver/xf86-input-aiptek/xf86-input-aiptek-1.4.1.tar.bz2
+    driver/xf86-input-evdev/xf86-input-evdev-2.10.6.tar.bz2
+    driver/xf86-input-joystick/xf86-input-joystick-1.6.4.tar.xz
+    driver/xf86-input-keyboard/xf86-input-keyboard-2.0.0.tar.xz
+    driver/xf86-input-libinput/xf86-input-libinput-1.2.1.tar.xz
+    driver/xf86-input-mouse/xf86-input-mouse-1.9.4.tar.xz
+    driver/xf86-input-penmount/xf86-input-penmount-1.5.0.tar.bz2
+    driver/xf86-input-synaptics/xf86-input-synaptics-1.9.2.tar.xz
+    driver/xf86-input-vmmouse/xf86-input-vmmouse-13.2.0.tar.xz
+    driver/xf86-input-void/xf86-input-void-1.4.2.tar.xz
+    driver/xf86-video-amdgpu/xf86-video-amdgpu-22.0.0.tar.xz
+    driver/xf86-video-apm/xf86-video-apm-1.3.0.tar.bz2
+    driver/xf86-video-ark/xf86-video-ark-0.7.5.tar.bz2
+    driver/xf86-video-ast/xf86-video-ast-1.1.6.tar.xz
+    driver/xf86-video-ati/xf86-video-ati-19.1.0.tar.bz2
+    driver/xf86-video-chips/xf86-video-chips-1.4.0.tar.bz2
+    driver/xf86-video-cirrus/xf86-video-cirrus-1.6.0.tar.xz
+    driver/xf86-video-dummy/xf86-video-dummy-0.4.0.tar.xz
+    driver/xf86-video-fbdev/xf86-video-fbdev-0.5.0.tar.bz2
+    driver/xf86-video-geode/xf86-video-geode-2.11.20.tar.bz2
+    driver/xf86-video-glide/xf86-video-glide-1.2.2.tar.bz2
+    driver/xf86-video-glint/xf86-video-glint-1.2.9.tar.bz2
+    driver/xf86-video-i128/xf86-video-i128-1.4.0.tar.bz2
+    driver/xf86-video-i740/xf86-video-i740-1.4.0.tar.bz2
+    driver/xf86-video-i810/xf86-video-i810-1.7.4.tar.bz2
+    driver/xf86-video-intel/xf86-video-intel-2.99.917.2.tar.bz2
+    driver/xf86-video-mach64/xf86-video-mach64-6.9.7.tar.xz
+    driver/xf86-video-mga/xf86-video-mga-2.0.1.tar.xz
+    driver/xf86-video-modesetting/xf86-video-modesetting-0.9.0.tar.bz2
+    driver/xf86-video-neomagic/xf86-video-neomagic-1.3.0.tar.bz2
+    driver/xf86-video-newport/xf86-video-newport-0.2.4.tar.bz2
+    driver/xf86-video-nouveau/xf86-video-nouveau-1.0.17.tar.bz2
+    driver/xf86-video-nv/xf86-video-nv-2.1.22.tar.xz
+    driver/xf86-video-omap/xf86-video-omap-0.4.5.tar.bz2
+    driver/xf86-video-openchrome/xf86-video-openchrome-0.6.0.tar.bz2
+    driver/xf86-video-r128/xf86-video-r128-6.12.1.tar.xz
+    driver/xf86-video-rendition/xf86-video-rendition-4.2.7.tar.bz2
+    driver/xf86-video-s3/xf86-video-s3-0.7.0.tar.bz2
+    driver/xf86-video-s3virge/xf86-video-s3virge-1.11.0.tar.bz2
+    driver/xf86-video-savage/xf86-video-savage-2.3.9.tar.bz2
+    driver/xf86-video-siliconmotion/xf86-video-siliconmotion-1.7.9.tar.xz
+    driver/xf86-video-sis/xf86-video-sis-0.12.0.tar.bz2
+    driver/xf86-video-sisusb/xf86-video-sisusb-0.9.7.tar.bz2
+    driver/xf86-video-suncg6/xf86-video-suncg6-1.1.3.tar.xz
+    driver/xf86-video-sunffb/xf86-video-sunffb-1.2.3.tar.xz
+    driver/xf86-video-tdfx/xf86-video-tdfx-1.5.0.tar.bz2
+    driver/xf86-video-tga/xf86-video-tga-1.2.2.tar.bz2
+    driver/xf86-video-trident/xf86-video-trident-1.3.8.tar.bz2
+    driver/xf86-video-tseng/xf86-video-tseng-1.2.5.tar.bz2
+    driver/xf86-video-v4l/xf86-video-v4l-0.3.0.tar.bz2
+    driver/xf86-video-vboxvideo/xf86-video-vboxvideo-1.0.0.tar.bz2
+    driver/xf86-video-vesa/xf86-video-vesa-2.6.0.tar.xz
+    driver/xf86-video-vmware/xf86-video-vmware-13.3.0.tar.bz2
+    driver/xf86-video-voodoo/xf86-video-voodoo-1.2.6.tar.xz
+    driver/xf86-video-wsfb/xf86-video-wsfb-0.4.0.tar.bz2
+    driver/xf86-video-xgi/xf86-video-xgi-1.6.1.tar.bz2
+    driver/xf86-video-xgixp/xf86-video-xgixp-1.8.1.tar.bz2
+
+    font/encodings/encodings-1.0.6.tar.xz
+    font/font-adobe-100dpi/font-adobe-100dpi-1.0.3.tar.bz2
+    font/font-adobe-75dpi/font-adobe-75dpi-1.0.3.tar.bz2
+    font/font-adobe-utopia-100dpi/font-adobe-utopia-100dpi-1.0.4.tar.bz2
+    font/font-adobe-utopia-75dpi/font-adobe-utopia-75dpi-1.0.4.tar.bz2
+    font/font-adobe-utopia-type1/font-adobe-utopia-type1-1.0.4.tar.bz2
+    font/font-alias/font-alias-1.0.4.tar.bz2
+    font/font-arabic-misc/font-arabic-misc-1.0.3.tar.bz2
+    font/font-bh-100dpi/font-bh-100dpi-1.0.3.tar.bz2
+    font/font-bh-75dpi/font-bh-75dpi-1.0.3.tar.bz2
+    font/font-bh-lucidatypewriter-100dpi/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2
+    font/font-bh-lucidatypewriter-75dpi/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2
+    font/font-bh-ttf/font-bh-ttf-1.0.3.tar.bz2
+    font/font-bh-type1/font-bh-type1-1.0.3.tar.bz2
+    font/font-bitstream-100dpi/font-bitstream-100dpi-1.0.3.tar.bz2
+    font/font-bitstream-75dpi/font-bitstream-75dpi-1.0.3.tar.bz2
+    font/font-bitstream-speedo/font-bitstream-speedo-1.0.2.tar.bz2
+    font/font-bitstream-type1/font-bitstream-type1-1.0.3.tar.bz2
+    font/font-cronyx-cyrillic/font-cronyx-cyrillic-1.0.3.tar.bz2
+    font/font-cursor-misc/font-cursor-misc-1.0.3.tar.bz2
+    font/font-daewoo-misc/font-daewoo-misc-1.0.3.tar.bz2
+    font/font-dec-misc/font-dec-misc-1.0.3.tar.bz2
+    font/font-ibm-type1/font-ibm-type1-1.0.3.tar.bz2
+    font/font-isas-misc/font-isas-misc-1.0.3.tar.bz2
+    font/font-jis-misc/font-jis-misc-1.0.3.tar.bz2
+    font/font-micro-misc/font-micro-misc-1.0.3.tar.bz2
+    font/font-misc-cyrillic/font-misc-cyrillic-1.0.3.tar.bz2
+    font/font-misc-ethiopic/font-misc-ethiopic-1.0.4.tar.bz2
+    font/font-misc-meltho/font-misc-meltho-1.0.3.tar.bz2
+    font/font-misc-misc/font-misc-misc-1.1.2.tar.bz2
+    font/font-mutt-misc/font-mutt-misc-1.0.3.tar.bz2
+    font/font-schumacher-misc/font-schumacher-misc-1.1.2.tar.bz2
+    font/font-screen-cyrillic/font-screen-cyrillic-1.0.4.tar.bz2
+    font/font-sony-misc/font-sony-misc-1.0.3.tar.bz2
+    font/font-sun-misc/font-sun-misc-1.0.3.tar.bz2
+    font/font-util/font-util-1.3.3.tar.xz
+    font/font-winitzki-cyrillic/font-winitzki-cyrillic-1.0.3.tar.bz2
+    font/font-xfree86-type1/font-xfree86-type1-1.0.4.tar.bz2
+
+    lib/libAppleWM/libAppleWM-1.4.1.tar.bz2
+    lib/libFS/libFS-1.0.9.tar.xz
+    lib/libICE/libICE-1.1.1.tar.xz
+    lib/libSM/libSM-1.2.4.tar.xz
+    lib/libWindowsWM/libWindowsWM-1.0.1.tar.bz2
+    lib/libX11/libX11-1.8.3.tar.xz
+    lib/libXScrnSaver/libXScrnSaver-1.2.4.tar.xz
+    lib/libXau/libXau-1.0.11.tar.xz
+    lib/libXaw/libXaw-1.0.14.tar.bz2
+    lib/libXaw3d/libXaw3d-1.6.4.tar.xz
+    lib/libXcm/libXcm-0.9.6.tar.xz
+    lib/libXcomposite/libXcomposite-0.4.6.tar.xz
+    lib/libXcursor/libXcursor-1.2.1.tar.xz
+    lib/libXdamage/libXdamage-1.1.6.tar.xz
+    lib/libXdmcp/libXdmcp-1.1.4.tar.xz
+    lib/libXevie/libXevie-1.0.3.tar.bz2
+    lib/libXext/libXext-1.3.5.tar.xz
+    lib/libXfixes/libXfixes-6.0.0.tar.bz2
+    lib/libXfont/libXfont-1.5.4.tar.bz2
+    lib/libXfont2/libXfont2-2.0.6.tar.xz
+    lib/libXfontcache/libXfontcache-1.0.5.tar.bz2
+    lib/libXft/libXft-2.3.7.tar.xz
+    lib/libXi/libXi-1.8.tar.bz2
+    lib/libXinerama/libXinerama-1.1.5.tar.xz
+    lib/libXmu/libXmu-1.1.4.tar.xz
+    lib/libXp/libXp-1.0.4.tar.xz
+    lib/libXpm/libXpm-3.5.15.tar.xz
+    lib/libXpresent/libXpresent-1.0.1.tar.xz
+    lib/libXrandr/libXrandr-1.5.3.tar.xz
+    lib/libXrender/libXrender-0.9.11.tar.xz
+    lib/libXres/libXres-1.2.2.tar.xz
+    lib/libXt/libXt-1.2.1.tar.bz2
+    lib/libXtst/libXtst-1.2.4.tar.xz
+    lib/libXv/libXv-1.0.12.tar.xz
+    lib/libXvMC/libXvMC-1.0.13.tar.xz
+    lib/libXxf86dga/libXxf86dga-1.1.6.tar.xz
+    lib/libXxf86misc/libXxf86misc-1.0.4.tar.bz2
+    lib/libXxf86vm/libXxf86vm-1.1.5.tar.xz
+    lib/libdmx/libdmx-1.1.4.tar.bz2
+    lib/libfontenc/libfontenc-1.1.7.tar.xz
+    lib/libpciaccess/libpciaccess-0.17.tar.xz
+    lib/libxkbfile/libxkbfile-1.1.2.tar.xz
+    lib/libxshmfence/libxshmfence-1.3.2.tar.xz
+    lib/pixman/pixman-0.42.2.tar.xz
+    lib/xtrans/xtrans-1.4.0.tar.bz2
+
+    proto/applewmproto/applewmproto-1.4.2.tar.bz2
+    proto/bigreqsproto/bigreqsproto-1.1.2.tar.bz2
+    proto/compositeproto/compositeproto-0.4.2.tar.bz2
+    proto/damageproto/damageproto-1.2.1.tar.bz2
+    proto/dmxproto/dmxproto-2.3.1.tar.bz2
+    proto/dri2proto/dri2proto-2.8.tar.bz2
+    proto/dri3proto/dri3proto-1.0.tar.bz2
+    proto/evieext/evieext-1.1.1.tar.bz2
+    proto/fixesproto/fixesproto-5.0.tar.bz2
+    proto/fontcacheproto/fontcacheproto-0.1.3.tar.bz2
+    proto/fontsproto/fontsproto-2.1.3.tar.bz2
+    proto/glproto/glproto-1.4.17.tar.bz2
+    proto/inputproto/inputproto-2.3.2.tar.bz2
+    proto/kbproto/kbproto-1.0.7.tar.bz2
+    proto/presentproto/presentproto-1.1.tar.bz2
+    proto/printproto/printproto-1.0.5.tar.bz2
+    proto/randrproto/randrproto-1.5.0.tar.bz2
+    proto/recordproto/recordproto-1.14.2.tar.bz2
+    proto/renderproto/renderproto-0.11.1.tar.bz2
+    proto/resourceproto/resourceproto-1.2.0.tar.bz2
+    proto/scrnsaverproto/scrnsaverproto-1.2.2.tar.bz2
+    proto/videoproto/videoproto-2.3.3.tar.bz2
+    proto/windowswmproto/windowswmproto-1.0.4.tar.bz2
+    proto/xcmiscproto/xcmiscproto-1.2.2.tar.bz2
+    proto/xextproto/xextproto-7.3.0.tar.bz2
+    proto/xf86bigfontproto/xf86bigfontproto-1.2.0.tar.bz2
+    proto/xf86dgaproto/xf86dgaproto-2.1.tar.bz2
+    proto/xf86driproto/xf86driproto-2.1.1.tar.bz2
+    proto/xf86miscproto/xf86miscproto-0.9.3.tar.bz2
+    proto/xf86vidmodeproto/xf86vidmodeproto-2.3.1.tar.bz2
+    proto/xineramaproto/xineramaproto-1.2.1.tar.bz2
+    proto/xorgproto/xorgproto-2022.2.tar.xz
+    proto/xproto/xproto-7.0.31.tar.bz2
+
+    test/x11perf/x11perf-1.6.2.tar.xz
+
+    util/bdftopcf/bdftopcf-1.1.1.tar.xz
+    util/gccmakedep/gccmakedep-1.0.3.tar.bz2
+    util/imake/imake-1.0.9.tar.xz
+    util/lndir/lndir-1.0.4.tar.xz
+    util/makedepend/makedepend-1.0.8.tar.xz
+    util/util-macros/util-macros-1.19.3.tar.bz2
+    util/xorg-cf-files/xorg-cf-files-1.0.7.tar.bz2
+
+    xcb/libpthread-stubs/libpthread-stubs-0.4.tar.bz2
+    xcb/libxcb/libxcb-1.15.tar.xz
+    xcb/xcb-proto/xcb-proto-1.15.tar.xz
+    xcb/xcb-util-cursor/xcb-util-cursor-0.1.4.tar.xz
+    xcb/xcb-util-errors/xcb-util-errors-1.0.1.tar.xz
+    xcb/xcb-util-image/xcb-util-image-0.4.1.tar.xz
+    xcb/xcb-util-keysyms/xcb-util-keysyms-0.4.1.tar.xz
+    xcb/xcb-util-renderutil/xcb-util-renderutil-0.3.10.tar.xz
+    xcb/xcb-util-wm/xcb-util-wm-0.4.2.tar.xz
+    xcb/xcb-util/xcb-util-0.4.1.tar.xz
+    xcb/xpyb/xpyb-1.3.1.tar.bz2
+
+    xserver/xorg-server/xwayland-22.1.7.tar.xz
+    xserver/xwayland/xorg-server-21.1.6.tar.xz
diff --git a/X.org/app/Makefile b/X.org/app/Makefile
new file mode 100644
index 0000000..3a8962c
--- /dev/null
+++ b/X.org/app/Makefile
@@ -0,0 +1,116 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := appres          \
+           beforelight     \
+           bitmap          \
+           constype        \
+           editres         \
+           fonttosfnt      \
+           fslsfonts       \
+           fstobdf         \
+           iceauth         \
+           ico             \
+           igt-gpu-tools   \
+           intel-gpu-tools \
+           lbxproxy        \
+           listres         \
+           luit            \
+           mkcomposecache  \
+           mkfontdir       \
+           mkfontscale     \
+           oclock          \
+           proxymngr       \
+           rendercheck     \
+           rgb             \
+           rstart          \
+           sessreg         \
+           setxkbmap       \
+           showfont        \
+           smproxy         \
+           transset        \
+           twm             \
+           viewres         \
+           xauth           \
+           xbacklight      \
+           xbiff           \
+           xcalc           \
+           xclipboard      \
+           xclock          \
+           xcm             \
+           xcmsdb          \
+           xcompmgr        \
+           xconsole        \
+           xcursorgen      \
+           xdbedizzy       \
+           xditview        \
+           xdm             \
+           xdpyinfo        \
+           xdriinfo        \
+           xedit           \
+           xev             \
+           xeyes           \
+           xf86dga         \
+           xfd             \
+           xfindproxy      \
+           xfontsel        \
+           xfs             \
+           xfsinfo         \
+           xfwp            \
+           xgamma          \
+           xgc             \
+           xhost           \
+           xinit           \
+           xinput          \
+           xisxwayland     \
+           xkbcomp         \
+           xkbevd          \
+           xkbprint        \
+           xkbutils        \
+           xkill           \
+           xload           \
+           xlogo           \
+           xlsatoms        \
+           xlsclients      \
+           xlsfonts        \
+           xmag            \
+           xman            \
+           xmessage        \
+           xmh             \
+           xmodmap         \
+           xmore           \
+           xpr             \
+           xprop           \
+           xrandr          \
+           xrdb            \
+           xrefresh        \
+           xscope          \
+           xset            \
+           xsetroot        \
+           xsm             \
+           xstdcmap        \
+           xvidtune        \
+           xvinfo          \
+           xwd             \
+           xwininfo        \
+           xwud
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/app/appres/Makefile b/X.org/app/appres/Makefile
new file mode 100644
index 0000000..4b46eb6
--- /dev/null
+++ b/X.org/app/appres/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = appres
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/beforelight/Makefile b/X.org/app/beforelight/Makefile
new file mode 100644
index 0000000..7710ce0
--- /dev/null
+++ b/X.org/app/beforelight/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.4 1.0.5
+pkgname     = beforelight
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/bitmap/Makefile b/X.org/app/bitmap/Makefile
new file mode 100644
index 0000000..2620183
--- /dev/null
+++ b/X.org/app/bitmap/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.0
+pkgname     = bitmap
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/constype/Makefile b/X.org/app/constype/Makefile
new file mode 100644
index 0000000..e525b80
--- /dev/null
+++ b/X.org/app/constype/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3 1.0.4
+pkgname     = constype
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/editres/Makefile b/X.org/app/editres/Makefile
new file mode 100644
index 0000000..38f2710
--- /dev/null
+++ b/X.org/app/editres/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.8
+pkgname     = editres
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/fonttosfnt/Makefile b/X.org/app/fonttosfnt/Makefile
new file mode 100644
index 0000000..230ad14
--- /dev/null
+++ b/X.org/app/fonttosfnt/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3 1.0.4 1.2.2
+pkgname     = fonttosfnt
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/fslsfonts/Makefile b/X.org/app/fslsfonts/Makefile
new file mode 100644
index 0000000..e15a911
--- /dev/null
+++ b/X.org/app/fslsfonts/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = fslsfonts
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/fstobdf/Makefile b/X.org/app/fstobdf/Makefile
new file mode 100644
index 0000000..575fb6a
--- /dev/null
+++ b/X.org/app/fstobdf/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = fstobdf
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/iceauth/Makefile b/X.org/app/iceauth/Makefile
new file mode 100644
index 0000000..5b1f1b5
--- /dev/null
+++ b/X.org/app/iceauth/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.9
+pkgname     = iceauth
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/ico/Makefile b/X.org/app/ico/Makefile
new file mode 100644
index 0000000..0e31898
--- /dev/null
+++ b/X.org/app/ico/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = ico
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/igt-gpu-tools/Makefile b/X.org/app/igt-gpu-tools/Makefile
new file mode 100644
index 0000000..ad3a3d5
--- /dev/null
+++ b/X.org/app/igt-gpu-tools/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.27
+pkgname     = igt-gpu-tools
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/intel-gpu-tools/Makefile b/X.org/app/intel-gpu-tools/Makefile
new file mode 100644
index 0000000..46ae8e9
--- /dev/null
+++ b/X.org/app/intel-gpu-tools/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.22
+pkgname     = intel-gpu-tools
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/lbxproxy/Makefile b/X.org/app/lbxproxy/Makefile
new file mode 100644
index 0000000..7ebdbec
--- /dev/null
+++ b/X.org/app/lbxproxy/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3
+pkgname     = lbxproxy
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/listres/Makefile b/X.org/app/listres/Makefile
new file mode 100644
index 0000000..183a391
--- /dev/null
+++ b/X.org/app/listres/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.5
+pkgname     = listres
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/luit/Makefile b/X.org/app/luit/Makefile
new file mode 100644
index 0000000..c87be5e
--- /dev/null
+++ b/X.org/app/luit/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.1
+pkgname     = luit
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/mkcomposecache/Makefile b/X.org/app/mkcomposecache/Makefile
new file mode 100644
index 0000000..5a59603
--- /dev/null
+++ b/X.org/app/mkcomposecache/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.2.2
+pkgname     = mkcomposecache
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/mkfontdir/Makefile b/X.org/app/mkfontdir/Makefile
new file mode 100644
index 0000000..bcc7572
--- /dev/null
+++ b/X.org/app/mkfontdir/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = mkfontdir
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/mkfontscale/Makefile b/X.org/app/mkfontscale/Makefile
new file mode 100644
index 0000000..5eedfc3
--- /dev/null
+++ b/X.org/app/mkfontscale/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.2.2
+pkgname     = mkfontscale
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/oclock/Makefile b/X.org/app/oclock/Makefile
new file mode 100644
index 0000000..ebfd45d
--- /dev/null
+++ b/X.org/app/oclock/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.5
+pkgname     = oclock
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/proxymngr/Makefile b/X.org/app/proxymngr/Makefile
new file mode 100644
index 0000000..d6c31e1
--- /dev/null
+++ b/X.org/app/proxymngr/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3 1.0.4
+pkgname     = proxymngr
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/rendercheck/Makefile b/X.org/app/rendercheck/Makefile
new file mode 100644
index 0000000..5fb683d
--- /dev/null
+++ b/X.org/app/rendercheck/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.4 1.5
+pkgname     = rendercheck
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/rgb/Makefile b/X.org/app/rgb/Makefile
new file mode 100644
index 0000000..6ecfcf3
--- /dev/null
+++ b/X.org/app/rgb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.0
+pkgname     = rgb
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/rstart/Makefile b/X.org/app/rstart/Makefile
new file mode 100644
index 0000000..3576871
--- /dev/null
+++ b/X.org/app/rstart/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = rstart
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/sessreg/Makefile b/X.org/app/sessreg/Makefile
new file mode 100644
index 0000000..46da3fd
--- /dev/null
+++ b/X.org/app/sessreg/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.3
+pkgname     = sessreg
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/setxkbmap/Makefile b/X.org/app/setxkbmap/Makefile
new file mode 100644
index 0000000..f318891
--- /dev/null
+++ b/X.org/app/setxkbmap/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.3.3
+pkgname     = setxkbmap
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/showfont/Makefile b/X.org/app/showfont/Makefile
new file mode 100644
index 0000000..75d812a
--- /dev/null
+++ b/X.org/app/showfont/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = showfont
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/smproxy/Makefile b/X.org/app/smproxy/Makefile
new file mode 100644
index 0000000..02a9eaf
--- /dev/null
+++ b/X.org/app/smproxy/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = smproxy
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/transset/Makefile b/X.org/app/transset/Makefile
new file mode 100644
index 0000000..b0b1e54
--- /dev/null
+++ b/X.org/app/transset/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3
+pkgname     = transset
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/twm/Makefile b/X.org/app/twm/Makefile
new file mode 100644
index 0000000..99b2053
--- /dev/null
+++ b/X.org/app/twm/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.12
+pkgname     = twm
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/viewres/Makefile b/X.org/app/viewres/Makefile
new file mode 100644
index 0000000..b023e68
--- /dev/null
+++ b/X.org/app/viewres/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = viewres
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xauth/Makefile b/X.org/app/xauth/Makefile
new file mode 100644
index 0000000..b94fda1
--- /dev/null
+++ b/X.org/app/xauth/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.2
+pkgname     = xauth
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xbacklight/Makefile b/X.org/app/xbacklight/Makefile
new file mode 100644
index 0000000..829a013
--- /dev/null
+++ b/X.org/app/xbacklight/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.2 1.2.0 1.2.1 1.2.3
+pkgname     = xbacklight
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xbiff/Makefile b/X.org/app/xbiff/Makefile
new file mode 100644
index 0000000..8607f00
--- /dev/null
+++ b/X.org/app/xbiff/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3 1.0.4
+pkgname     = xbiff
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xcalc/Makefile b/X.org/app/xcalc/Makefile
new file mode 100644
index 0000000..f3fbe34
--- /dev/null
+++ b/X.org/app/xcalc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.1
+pkgname     = xcalc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xclipboard/Makefile b/X.org/app/xclipboard/Makefile
new file mode 100644
index 0000000..3174db3
--- /dev/null
+++ b/X.org/app/xclipboard/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.4
+pkgname     = xclipboard
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xclock/Makefile b/X.org/app/xclock/Makefile
new file mode 100644
index 0000000..74229db
--- /dev/null
+++ b/X.org/app/xclock/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.1
+pkgname     = xclock
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xcm/Makefile b/X.org/app/xcm/Makefile
new file mode 100644
index 0000000..0fa77dc
--- /dev/null
+++ b/X.org/app/xcm/Makefile
@@ -0,0 +1,72 @@
+#
+# Project Home:
+# ============
+# https://github.com/oyranos-cms/libxcm
+#
+# GitHub:
+# ======
+# https://github.com/oyranos-cms/libxcm
+#
+# Clone:
+# =====
+# git clone https://github.com/oyranos-cms/libxcm.git
+#
+
+url        = https://github.com/oyranos-cms
+
+repo_name  = xcm
+pkg_name   = xcm
+
+#
+# List of tags to be extracted:
+# ============================
+#                                               hash | tag
+#            ----------------------------------------+-----
+revisions  = fc1188ac37620da90e0a4d09493185a7a9ceab9d:0.5.4
+
+git_repo   = .git_clone
+
+suffix     = tar.xz
+
+versions   = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
+
+tarballs   = $(addsuffix .$(suffix), $(addprefix $(pkg_name)-, $(versions)))
+sha1s      = $(addsuffix .sha1sum, $(tarballs))
+
+TARGETS = repository_clean
+
+all: $(TARGETS)
+
+.PHONY: downloads_clean repository_clean
+
+$(git_repo):
+	@echo -e "\n======= Clone $(repo_name).git repository =======\n"
+	@rm -rf $(repo_name)
+	@git clone $(url)/$(repo_name).git $(repo_name)
+	@touch $@
+
+$(tarballs): $(git_repo)
+	@for revision in $(revisions) ; do \
+	  hash=`echo $$revision    | cut -f 1 -d ':'` ; \
+	  version=`echo $$revision | cut -f 2 -d ':'` ; \
+	  if [ ! -f $(repo_name)-$$version.$(suffix) ]; then \
+	    echo -e "\n======= Creating '$(repo_name)-$$version.$(suffix)' snapshot =======" ; \
+	    ( cd $(repo_name) && \
+	      git archive --format=tar --prefix=$(pkg_name)-$$version/ $$hash | \
+	      xz >../$(pkg_name)-$$version.$(suffix) ) ; \
+	  fi ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+repository_clean: $(sha1s)
+	@echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
+	@rm -rf $(git_repo) $(repo_name)
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
+	@rm -rf $(git_repo) $(repo_name)
diff --git a/X.org/app/xcm/Makefile.old-releases b/X.org/app/xcm/Makefile.old-releases
new file mode 100644
index 0000000..b97f902
--- /dev/null
+++ b/X.org/app/xcm/Makefile.old-releases
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.oyranos.org/libxcm
+#
+# Downloads:
+# =========
+# https://downloads.sourceforge.net/project/oyranos/Xcm
+#
+
+url         = https://downloads.sourceforge.net/project/oyranos/Xcm
+
+versions    = 0.5.3
+pkgname     = xcm
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xcmsdb/Makefile b/X.org/app/xcmsdb/Makefile
new file mode 100644
index 0000000..e7cc12b
--- /dev/null
+++ b/X.org/app/xcmsdb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xcmsdb
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xcompmgr/Makefile b/X.org/app/xcompmgr/Makefile
new file mode 100644
index 0000000..a697b26
--- /dev/null
+++ b/X.org/app/xcompmgr/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.9
+pkgname     = xcompmgr
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xconsole/Makefile b/X.org/app/xconsole/Makefile
new file mode 100644
index 0000000..e83f7a4
--- /dev/null
+++ b/X.org/app/xconsole/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.8
+pkgname     = xconsole
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xcursorgen/Makefile b/X.org/app/xcursorgen/Makefile
new file mode 100644
index 0000000..4204a59
--- /dev/null
+++ b/X.org/app/xcursorgen/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.8
+pkgname     = xcursorgen
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xdbedizzy/Makefile b/X.org/app/xdbedizzy/Makefile
new file mode 100644
index 0000000..72818cc
--- /dev/null
+++ b/X.org/app/xdbedizzy/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.0
+pkgname     = xdbedizzy
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xditview/Makefile b/X.org/app/xditview/Makefile
new file mode 100644
index 0000000..0ef0909
--- /dev/null
+++ b/X.org/app/xditview/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xditview
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xdm/Makefile b/X.org/app/xdm/Makefile
new file mode 100644
index 0000000..fe0b0c7
--- /dev/null
+++ b/X.org/app/xdm/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.14
+pkgname     = xdm
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xdpyinfo/Makefile b/X.org/app/xdpyinfo/Makefile
new file mode 100644
index 0000000..145f284
--- /dev/null
+++ b/X.org/app/xdpyinfo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.3.3
+pkgname     = xdpyinfo
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xdriinfo/Makefile b/X.org/app/xdriinfo/Makefile
new file mode 100644
index 0000000..0eb6ba5
--- /dev/null
+++ b/X.org/app/xdriinfo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = xdriinfo
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xedit/Makefile b/X.org/app/xedit/Makefile
new file mode 100644
index 0000000..587bca2
--- /dev/null
+++ b/X.org/app/xedit/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.2.3
+pkgname     = xedit
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xev/Makefile b/X.org/app/xev/Makefile
new file mode 100644
index 0000000..a73a09d
--- /dev/null
+++ b/X.org/app/xev/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.2.5
+pkgname     = xev
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xeyes/Makefile b/X.org/app/xeyes/Makefile
new file mode 100644
index 0000000..d239897
--- /dev/null
+++ b/X.org/app/xeyes/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.1 1.2.0
+pkgname     = xeyes
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xf86dga/Makefile b/X.org/app/xf86dga/Makefile
new file mode 100644
index 0000000..2063a3c
--- /dev/null
+++ b/X.org/app/xf86dga/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3
+pkgname     = xf86dga
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xfd/Makefile b/X.org/app/xfd/Makefile
new file mode 100644
index 0000000..63eaaa2
--- /dev/null
+++ b/X.org/app/xfd/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.4
+pkgname     = xfd
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xfindproxy/Makefile b/X.org/app/xfindproxy/Makefile
new file mode 100644
index 0000000..cb33bf6
--- /dev/null
+++ b/X.org/app/xfindproxy/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3 1.0.4
+pkgname     = xfindproxy
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xfontsel/Makefile b/X.org/app/xfontsel/Makefile
new file mode 100644
index 0000000..bedf65c
--- /dev/null
+++ b/X.org/app/xfontsel/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.0
+pkgname     = xfontsel
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xfs/Makefile b/X.org/app/xfs/Makefile
new file mode 100644
index 0000000..df21c78
--- /dev/null
+++ b/X.org/app/xfs/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.2.1
+pkgname     = xfs
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xfsinfo/Makefile b/X.org/app/xfsinfo/Makefile
new file mode 100644
index 0000000..182ef43
--- /dev/null
+++ b/X.org/app/xfsinfo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = xfsinfo
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xfwp/Makefile b/X.org/app/xfwp/Makefile
new file mode 100644
index 0000000..a6a19f7
--- /dev/null
+++ b/X.org/app/xfwp/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3
+pkgname     = xfwp
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xgamma/Makefile b/X.org/app/xgamma/Makefile
new file mode 100644
index 0000000..40c22c4
--- /dev/null
+++ b/X.org/app/xgamma/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = xgamma
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xgc/Makefile b/X.org/app/xgc/Makefile
new file mode 100644
index 0000000..2090032
--- /dev/null
+++ b/X.org/app/xgc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xgc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xhost/Makefile b/X.org/app/xhost/Makefile
new file mode 100644
index 0000000..fcd8722
--- /dev/null
+++ b/X.org/app/xhost/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.9
+pkgname     = xhost
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xinit/Makefile b/X.org/app/xinit/Makefile
new file mode 100644
index 0000000..464a1f8
--- /dev/null
+++ b/X.org/app/xinit/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.4.2
+pkgname     = xinit
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xinput/Makefile b/X.org/app/xinput/Makefile
new file mode 100644
index 0000000..88aca31
--- /dev/null
+++ b/X.org/app/xinput/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.6.0 1.6.1 1.6.2 1.6.3
+pkgname     = xinput
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xisxwayland/Makefile b/X.org/app/xisxwayland/Makefile
new file mode 100644
index 0000000..798cee3
--- /dev/null
+++ b/X.org/app/xisxwayland/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 2
+pkgname     = xisxwayland
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xkbcomp/Makefile b/X.org/app/xkbcomp/Makefile
new file mode 100644
index 0000000..d3343bd
--- /dev/null
+++ b/X.org/app/xkbcomp/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.4.6
+pkgname     = xkbcomp
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xkbevd/Makefile b/X.org/app/xkbevd/Makefile
new file mode 100644
index 0000000..9edec3b
--- /dev/null
+++ b/X.org/app/xkbevd/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.5
+pkgname     = xkbevd
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xkbprint/Makefile b/X.org/app/xkbprint/Makefile
new file mode 100644
index 0000000..7031b5c
--- /dev/null
+++ b/X.org/app/xkbprint/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xkbprint
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xkbutils/Makefile b/X.org/app/xkbutils/Makefile
new file mode 100644
index 0000000..07669d3
--- /dev/null
+++ b/X.org/app/xkbutils/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.5
+pkgname     = xkbutils
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xkill/Makefile b/X.org/app/xkill/Makefile
new file mode 100644
index 0000000..ad99cc2
--- /dev/null
+++ b/X.org/app/xkill/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xkill
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xload/Makefile b/X.org/app/xload/Makefile
new file mode 100644
index 0000000..436b41e
--- /dev/null
+++ b/X.org/app/xload/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.4
+pkgname     = xload
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xlogo/Makefile b/X.org/app/xlogo/Makefile
new file mode 100644
index 0000000..b4ee666
--- /dev/null
+++ b/X.org/app/xlogo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xlogo
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xlsatoms/Makefile b/X.org/app/xlsatoms/Makefile
new file mode 100644
index 0000000..3cf1a58
--- /dev/null
+++ b/X.org/app/xlsatoms/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.4
+pkgname     = xlsatoms
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xlsclients/Makefile b/X.org/app/xlsclients/Makefile
new file mode 100644
index 0000000..9990db0
--- /dev/null
+++ b/X.org/app/xlsclients/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.5
+pkgname     = xlsclients
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xlsfonts/Makefile b/X.org/app/xlsfonts/Makefile
new file mode 100644
index 0000000..cccd75b
--- /dev/null
+++ b/X.org/app/xlsfonts/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = xlsfonts
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xmag/Makefile b/X.org/app/xmag/Makefile
new file mode 100644
index 0000000..a58dde0
--- /dev/null
+++ b/X.org/app/xmag/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = xmag
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xman/Makefile b/X.org/app/xman/Makefile
new file mode 100644
index 0000000..013683a
--- /dev/null
+++ b/X.org/app/xman/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.3 1.1.4 1.1.5
+pkgname     = xman
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xmessage/Makefile b/X.org/app/xmessage/Makefile
new file mode 100644
index 0000000..e8803ed
--- /dev/null
+++ b/X.org/app/xmessage/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xmessage
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xmh/Makefile b/X.org/app/xmh/Makefile
new file mode 100644
index 0000000..00707f0
--- /dev/null
+++ b/X.org/app/xmh/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.4
+pkgname     = xmh
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xmodmap/Makefile b/X.org/app/xmodmap/Makefile
new file mode 100644
index 0000000..b310c1a
--- /dev/null
+++ b/X.org/app/xmodmap/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.11
+pkgname     = xmodmap
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xmore/Makefile b/X.org/app/xmore/Makefile
new file mode 100644
index 0000000..c3da2b4
--- /dev/null
+++ b/X.org/app/xmore/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.2 1.0.3
+pkgname     = xmore
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xpr/Makefile b/X.org/app/xpr/Makefile
new file mode 100644
index 0000000..2b0e109
--- /dev/null
+++ b/X.org/app/xpr/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.0
+pkgname     = xpr
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xprop/Makefile b/X.org/app/xprop/Makefile
new file mode 100644
index 0000000..ed340a1
--- /dev/null
+++ b/X.org/app/xprop/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.2.6
+pkgname     = xprop
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xrandr/Makefile b/X.org/app/xrandr/Makefile
new file mode 100644
index 0000000..be20ffc
--- /dev/null
+++ b/X.org/app/xrandr/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.5.2
+pkgname     = xrandr
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xrdb/Makefile b/X.org/app/xrdb/Makefile
new file mode 100644
index 0000000..df0ab6d
--- /dev/null
+++ b/X.org/app/xrdb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.9 1.1.0 1.2.1
+pkgname     = xrdb
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xrefresh/Makefile b/X.org/app/xrefresh/Makefile
new file mode 100644
index 0000000..abbd6cb
--- /dev/null
+++ b/X.org/app/xrefresh/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.7
+pkgname     = xrefresh
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xscope/Makefile b/X.org/app/xscope/Makefile
new file mode 100644
index 0000000..6770c2d
--- /dev/null
+++ b/X.org/app/xscope/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.4.3
+pkgname     = xscope
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xset/Makefile b/X.org/app/xset/Makefile
new file mode 100644
index 0000000..6b3bf46
--- /dev/null
+++ b/X.org/app/xset/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.2.5
+pkgname     = xset
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xsetroot/Makefile b/X.org/app/xsetroot/Makefile
new file mode 100644
index 0000000..8cbfb7c
--- /dev/null
+++ b/X.org/app/xsetroot/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.3
+pkgname     = xsetroot
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xsm/Makefile b/X.org/app/xsm/Makefile
new file mode 100644
index 0000000..6d41026
--- /dev/null
+++ b/X.org/app/xsm/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.5
+pkgname     = xsm
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xstdcmap/Makefile b/X.org/app/xstdcmap/Makefile
new file mode 100644
index 0000000..7169d02
--- /dev/null
+++ b/X.org/app/xstdcmap/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.5
+pkgname     = xstdcmap
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xvidtune/Makefile b/X.org/app/xvidtune/Makefile
new file mode 100644
index 0000000..3aea080
--- /dev/null
+++ b/X.org/app/xvidtune/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.3
+pkgname     = xvidtune
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xvinfo/Makefile b/X.org/app/xvinfo/Makefile
new file mode 100644
index 0000000..2b56616
--- /dev/null
+++ b/X.org/app/xvinfo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.5
+pkgname     = xvinfo
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xwd/Makefile b/X.org/app/xwd/Makefile
new file mode 100644
index 0000000..453d1f9
--- /dev/null
+++ b/X.org/app/xwd/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.5 1.0.6 1.0.8
+pkgname     = xwd
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xwininfo/Makefile b/X.org/app/xwininfo/Makefile
new file mode 100644
index 0000000..0ad0171
--- /dev/null
+++ b/X.org/app/xwininfo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.1.2 1.1.3 1.1.5
+pkgname     = xwininfo
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/app/xwud/Makefile b/X.org/app/xwud/Makefile
new file mode 100644
index 0000000..ed61a8e
--- /dev/null
+++ b/X.org/app/xwud/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/app
+
+versions    = 1.0.6
+pkgname     = xwud
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/data/Makefile b/X.org/data/Makefile
new file mode 100644
index 0000000..921eea2
--- /dev/null
+++ b/X.org/data/Makefile
@@ -0,0 +1,26 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := xbitmaps         \
+           xcursor-themes   \
+           xkeyboard-config
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/data/xbitmaps/Makefile b/X.org/data/xbitmaps/Makefile
new file mode 100644
index 0000000..56a8f8d
--- /dev/null
+++ b/X.org/data/xbitmaps/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/data
+#
+
+url         = https://www.x.org/releases/individual/data
+
+versions    = 1.1.1 1.1.2
+pkgname     = xbitmaps
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/data/xcursor-themes/Makefile b/X.org/data/xcursor-themes/Makefile
new file mode 100644
index 0000000..3225c3e
--- /dev/null
+++ b/X.org/data/xcursor-themes/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/data
+#
+
+url         = https://www.x.org/releases/individual/data
+
+versions    = 1.0.3 1.0.4 1.0.6
+pkgname     = xcursor-themes
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/data/xkeyboard-config/Makefile b/X.org/data/xkeyboard-config/Makefile
new file mode 100644
index 0000000..5c5264f
--- /dev/null
+++ b/X.org/data/xkeyboard-config/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/data
+#
+
+url         = https://www.x.org/releases/individual/data/xkeyboard-config
+
+versions    = 2.37 2.38
+pkgname     = xkeyboard-config
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/doc/Makefile b/X.org/doc/Makefile
new file mode 100644
index 0000000..13f0792
--- /dev/null
+++ b/X.org/doc/Makefile
@@ -0,0 +1,25 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := xorg-docs          \
+           xorg-sgml-doctools
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/doc/xorg-docs/Makefile b/X.org/doc/xorg-docs/Makefile
new file mode 100644
index 0000000..be30841
--- /dev/null
+++ b/X.org/doc/xorg-docs/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/doc
+#
+
+url         = https://www.x.org/releases/individual/doc
+
+versions    = 1.7 1.7.1 1.7.2
+pkgname     = xorg-docs
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/doc/xorg-sgml-doctools/Makefile b/X.org/doc/xorg-sgml-doctools/Makefile
new file mode 100644
index 0000000..589994c
--- /dev/null
+++ b/X.org/doc/xorg-sgml-doctools/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/doc
+#
+
+url         = https://www.x.org/releases/individual/doc
+
+versions    = 1.11 1.12
+pkgname     = xorg-sgml-doctools
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/Makefile b/X.org/driver/Makefile
new file mode 100644
index 0000000..ee57823
--- /dev/null
+++ b/X.org/driver/Makefile
@@ -0,0 +1,82 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := xf86-input-acecad        \
+           xf86-input-aiptek        \
+           xf86-input-evdev         \
+           xf86-input-joystick      \
+           xf86-input-keyboard      \
+           xf86-input-libinput      \
+           xf86-input-mouse         \
+           xf86-input-penmount      \
+           xf86-input-synaptics     \
+           xf86-input-vmmouse       \
+           xf86-input-void          \
+           xf86-input-wacom         \
+           xf86-video-amdgpu        \
+           xf86-video-apm           \
+           xf86-video-ark           \
+           xf86-video-ast           \
+           xf86-video-ati           \
+           xf86-video-chips         \
+           xf86-video-cirrus        \
+           xf86-video-dummy         \
+           xf86-video-fbdev         \
+           xf86-video-geode         \
+           xf86-video-glide         \
+           xf86-video-glint         \
+           xf86-video-i128          \
+           xf86-video-i740          \
+           xf86-video-i810          \
+           xf86-video-intel         \
+           xf86-video-mach64        \
+           xf86-video-mga           \
+           xf86-video-modesetting   \
+           xf86-video-neomagic      \
+           xf86-video-newport       \
+           xf86-video-nouveau       \
+           xf86-video-nv            \
+           xf86-video-omap          \
+           xf86-video-openchrome    \
+           xf86-video-r128          \
+           xf86-video-rendition     \
+           xf86-video-s3            \
+           xf86-video-s3virge       \
+           xf86-video-savage        \
+           xf86-video-siliconmotion \
+           xf86-video-sis           \
+           xf86-video-sisusb        \
+           xf86-video-suncg6        \
+           xf86-video-sunffb        \
+           xf86-video-tdfx          \
+           xf86-video-tga           \
+           xf86-video-trident       \
+           xf86-video-tseng         \
+           xf86-video-v4l           \
+           xf86-video-vboxvideo     \
+           xf86-video-vesa          \
+           xf86-video-vmware        \
+           xf86-video-voodoo        \
+           xf86-video-wsfb          \
+           xf86-video-xgi           \
+           xf86-video-xgixp
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/driver/xf86-input-acecad/Makefile b/X.org/driver/xf86-input-acecad/Makefile
new file mode 100644
index 0000000..22cf173
--- /dev/null
+++ b/X.org/driver/xf86-input-acecad/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.5.0
+pkgname     = xf86-input-acecad
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-aiptek/Makefile b/X.org/driver/xf86-input-aiptek/Makefile
new file mode 100644
index 0000000..7feabd2
--- /dev/null
+++ b/X.org/driver/xf86-input-aiptek/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.4.1
+pkgname     = xf86-input-aiptek
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-evdev/Makefile b/X.org/driver/xf86-input-evdev/Makefile
new file mode 100644
index 0000000..203bf9c
--- /dev/null
+++ b/X.org/driver/xf86-input-evdev/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 2.8.2 2.9.0 2.9.1 2.9.2 2.10.0 2.10.1 2.10.2 2.10.6
+pkgname     = xf86-input-evdev
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-joystick/Makefile b/X.org/driver/xf86-input-joystick/Makefile
new file mode 100644
index 0000000..6d42396
--- /dev/null
+++ b/X.org/driver/xf86-input-joystick/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.6.4
+pkgname     = xf86-input-joystick
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-keyboard/Makefile b/X.org/driver/xf86-input-keyboard/Makefile
new file mode 100644
index 0000000..d7e6a7e
--- /dev/null
+++ b/X.org/driver/xf86-input-keyboard/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 2.0.0
+pkgname     = xf86-input-keyboard
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-libinput/Makefile b/X.org/driver/xf86-input-libinput/Makefile
new file mode 100644
index 0000000..9c4a5dd
--- /dev/null
+++ b/X.org/driver/xf86-input-libinput/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.1
+pkgname     = xf86-input-libinput
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-mouse/Makefile b/X.org/driver/xf86-input-mouse/Makefile
new file mode 100644
index 0000000..eef1265
--- /dev/null
+++ b/X.org/driver/xf86-input-mouse/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.9.4
+pkgname     = xf86-input-mouse
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-penmount/Makefile b/X.org/driver/xf86-input-penmount/Makefile
new file mode 100644
index 0000000..d9948c3
--- /dev/null
+++ b/X.org/driver/xf86-input-penmount/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.5.0
+pkgname     = xf86-input-penmount
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-synaptics/Makefile b/X.org/driver/xf86-input-synaptics/Makefile
new file mode 100644
index 0000000..ca92bc5
--- /dev/null
+++ b/X.org/driver/xf86-input-synaptics/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.9.2
+pkgname     = xf86-input-synaptics
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-vmmouse/Makefile b/X.org/driver/xf86-input-vmmouse/Makefile
new file mode 100644
index 0000000..9bb1caf
--- /dev/null
+++ b/X.org/driver/xf86-input-vmmouse/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 13.2.0
+pkgname     = xf86-input-vmmouse
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-void/Makefile b/X.org/driver/xf86-input-void/Makefile
new file mode 100644
index 0000000..b2c7944
--- /dev/null
+++ b/X.org/driver/xf86-input-void/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.4.2
+pkgname     = xf86-input-void
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-input-wacom/Makefile b/X.org/driver/xf86-input-wacom/Makefile
new file mode 100644
index 0000000..005fd83
--- /dev/null
+++ b/X.org/driver/xf86-input-wacom/Makefile
@@ -0,0 +1,73 @@
+#
+# Project Home:
+# ============
+#   https://github.com/linuxwacom/xf86-input-wacom
+#
+# GitHub:
+# ======
+#   git clone https://github.com/linuxwacom/xf86-input-wacom.git
+#
+
+url        = https://github.com/linuxwacom
+
+repo_name  = xf86-input-wacom
+pkg_name   = xf86-input-wacom
+
+#
+# List of tags to be extracted (git rev-list -n 1 xf86-input-wacom-1.1.0):
+# =======================================================================
+#                                               hash | tag
+#            ----------------------------------------+-----
+revisions  = f2df07587e5ff89a6c5b2246bc468211c31cf43a:1.1.0
+
+
+git_repo   = .git_clone
+
+suffix     = tar.xz
+
+versions   = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
+
+tarballs   = $(addsuffix .$(suffix), $(addprefix $(pkg_name)-, $(versions)))
+sha1s      = $(addsuffix .sha1sum, $(tarballs))
+
+TARGETS = repository_clean
+
+all: $(TARGETS)
+
+.PHONY: downloads_clean repository_clean
+
+$(git_repo):
+	@echo -e "\n======= Clone $(repo_name).git repository =======\n"
+	@rm -rf $(repo_name)
+	@git clone $(url)/$(repo_name).git $(repo_name)
+	@touch $@
+
+$(tarballs): $(git_repo)
+	@for revision in $(revisions) ; do \
+	  hash=`echo $$revision    | cut -f 1 -d ':'` ; \
+	  version=`echo $$revision | cut -f 2 -d ':'` ; \
+	  if [ ! -f $(pkg_name)-$$version.$(suffix) ]; then \
+	    echo -e "\n======= Creating '$(pkg_name)-$$version.$(suffix)' snapshot =======" ; \
+	    ( cd $(repo_name) && \
+	      git archive --format=tar --prefix=$(pkg_name)-$$version/ $$hash | \
+	      xz >../$(pkg_name)-$$version.$(suffix) ) ; \
+	  fi ; \
+	  tar xJf $(pkg_name)-$$version.$(suffix) ; \
+	  ( cd $(pkg_name)-$$version ; ./autogen.sh ; make distclean ; rm -rf autom4te.cache .github .gitignore .editorconfig *~ ) ; \
+	  tar cJf $(pkg_name)-$$version.$(suffix) $(pkg_name)-$$version ; \
+	  rm -rf $(pkg_name)-$$version ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+repository_clean: $(sha1s)
+	@echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
+	@rm -rf $(git_repo) $(repo_name)
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
+	@rm -rf $(git_repo) $(repo_name)
diff --git a/X.org/driver/xf86-video-amdgpu/Makefile b/X.org/driver/xf86-video-amdgpu/Makefile
new file mode 100644
index 0000000..e59093f
--- /dev/null
+++ b/X.org/driver/xf86-video-amdgpu/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 22.0.0 23.0.0
+pkgname     = xf86-video-amdgpu
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-apm/Makefile b/X.org/driver/xf86-video-apm/Makefile
new file mode 100644
index 0000000..218bd26
--- /dev/null
+++ b/X.org/driver/xf86-video-apm/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.5 1.3.0
+pkgname     = xf86-video-apm
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-ark/Makefile b/X.org/driver/xf86-video-ark/Makefile
new file mode 100644
index 0000000..7872709
--- /dev/null
+++ b/X.org/driver/xf86-video-ark/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.7.4 0.7.5
+pkgname     = xf86-video-ark
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-ast/Makefile b/X.org/driver/xf86-video-ast/Makefile
new file mode 100644
index 0000000..83372ae
--- /dev/null
+++ b/X.org/driver/xf86-video-ast/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.1.6
+pkgname     = xf86-video-ast
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-ati/Makefile b/X.org/driver/xf86-video-ati/Makefile
new file mode 100644
index 0000000..1fc4e87
--- /dev/null
+++ b/X.org/driver/xf86-video-ati/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 6.14.4 7.2.0 7.5.0 7.6.0 7.6.1 7.7.0 19.1.0
+pkgname     = xf86-video-ati
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-chips/Makefile b/X.org/driver/xf86-video-chips/Makefile
new file mode 100644
index 0000000..a710460
--- /dev/null
+++ b/X.org/driver/xf86-video-chips/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.5 1.2.6 1.4.0
+pkgname     = xf86-video-chips
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-cirrus/Makefile b/X.org/driver/xf86-video-cirrus/Makefile
new file mode 100644
index 0000000..39170be
--- /dev/null
+++ b/X.org/driver/xf86-video-cirrus/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.6.0
+pkgname     = xf86-video-cirrus
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-dummy/Makefile b/X.org/driver/xf86-video-dummy/Makefile
new file mode 100644
index 0000000..fe2b3dc
--- /dev/null
+++ b/X.org/driver/xf86-video-dummy/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.4.0
+pkgname     = xf86-video-dummy
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-fbdev/Makefile b/X.org/driver/xf86-video-fbdev/Makefile
new file mode 100644
index 0000000..7000470
--- /dev/null
+++ b/X.org/driver/xf86-video-fbdev/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.4.2 0.4.4 0.5.0
+pkgname     = xf86-video-fbdev
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-geode/Makefile b/X.org/driver/xf86-video-geode/Makefile
new file mode 100644
index 0000000..c8f5bee
--- /dev/null
+++ b/X.org/driver/xf86-video-geode/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 2.11.13 2.11.16 2.11.17 2.11.18 2.11.20
+pkgname     = xf86-video-geode
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-glide/Makefile b/X.org/driver/xf86-video-glide/Makefile
new file mode 100644
index 0000000..ea12c97
--- /dev/null
+++ b/X.org/driver/xf86-video-glide/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.0 1.2.2
+pkgname     = xf86-video-glide
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-glint/Makefile b/X.org/driver/xf86-video-glint/Makefile
new file mode 100644
index 0000000..66215c1
--- /dev/null
+++ b/X.org/driver/xf86-video-glint/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.7 1.2.8 1.2.9
+pkgname     = xf86-video-glint
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-i128/Makefile b/X.org/driver/xf86-video-i128/Makefile
new file mode 100644
index 0000000..576c21a
--- /dev/null
+++ b/X.org/driver/xf86-video-i128/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.3.5 1.3.6 1.4.0
+pkgname     = xf86-video-i128
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-i740/Makefile b/X.org/driver/xf86-video-i740/Makefile
new file mode 100644
index 0000000..1b3ddea
--- /dev/null
+++ b/X.org/driver/xf86-video-i740/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.3.4 1.3.5 1.4.0
+pkgname     = xf86-video-i740
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-i810/Makefile b/X.org/driver/xf86-video-i810/Makefile
new file mode 100644
index 0000000..8cc212d
--- /dev/null
+++ b/X.org/driver/xf86-video-i810/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.7.4
+pkgname     = xf86-video-i810
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-intel/Makefile b/X.org/driver/xf86-video-intel/Makefile
new file mode 100644
index 0000000..40dc864
--- /dev/null
+++ b/X.org/driver/xf86-video-intel/Makefile
@@ -0,0 +1,80 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+# cGit:
+# ====
+# https://cgit.freedesktop.org/xorg/driver/xf86-video-intel
+#
+
+url        = https://anongit.freedesktop.org/git/xorg/driver
+
+repo_name  = xf86-video-intel
+
+#
+# List of tags to be extracted:
+# ============================
+#
+#                                               hash | version
+#            ----------------------------------------+-----------
+revisions  = 692c14d405bb352697b67f36a034d4963e272b66:2.99.916
+revisions += baec802b21387d04aebb10ac29e719a1800c5aa0:2.99.917
+revisions += b617f80ca5d386c1c248bab64276a9f283173a21:2.99.917.1
+revisions += 31486f40f8e8f8923ca0799aea84b58799754564:2.99.917.2
+
+git_repo   = .git_clone
+
+pkgname    = xf86-video-intel
+suffix     = tar.bz2
+
+versions   = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
+tarballs   = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s      = $(addsuffix .sha1sum, $(tarballs))
+
+TARGETS = repository_clean
+
+all: $(TARGETS)
+
+.PHONY: downloads_clean repository_clean
+
+$(git_repo):
+	@echo -e "\n======= Clone $(repo_name).git repository =======\n"
+	@rm -rf $(repo_name)
+	@git clone $(url)/$(repo_name).git $(repo_name)
+	@touch $@
+
+$(tarballs): $(git_repo)
+	@for revision in $(revisions) ; do \
+	  hash=`echo $$revision | cut -f 1 -d ':'` ; \
+	  version=`echo $$revision | cut -f 2 -d ':'` ; \
+	  if [ ! -f $(pkgname)-$$version.$(suffix) ]; then \
+	    echo -e "\n======= Creating '$(pkgname)-$$version.$(suffix)' snapshot =======" ; \
+	    ( cd $(repo_name) && \
+	      git archive --format=tar --prefix=$(pkgname)-$$version/ $$hash | \
+	      bzip2 >../$(pkgname)-$$version.$(suffix) ) ; \
+	    tar xjf $(repo_name)-$$version.$(suffix) ; \
+	    ( cd $(repo_name)-$$version ; ./autogen.sh ; make distclean ; rm -rf autom4te.cache ) ; \
+	    rm -f $(repo_name)-$$version.$(suffix) ; \
+	    tar cjf $(repo_name)-$$version.$(suffix) $(repo_name)-$$version ; \
+	    rm -rf $(repo_name)-$$version ; \
+	  fi ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+repository_clean: $(sha1s)
+	@echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
+	@rm -rf $(git_repo) $(repo_name)
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
+	@rm -rf $(git_repo) $(repo_name)
diff --git a/X.org/driver/xf86-video-intel/Makefile.outdated b/X.org/driver/xf86-video-intel/Makefile.outdated
new file mode 100644
index 0000000..693ab94
--- /dev/null
+++ b/X.org/driver/xf86-video-intel/Makefile.outdated
@@ -0,0 +1,40 @@
+#
+# Project Home:
+# ============
+# http://www.x.org/wiki
+#
+# Downloads:
+# =========
+# http://www.x.org/releases/individual/driver
+#
+# This Makefile is deprecated. We use Git repository to taking snapshots.
+#
+
+url         = http://www.x.org/releases/individual/driver
+
+versions    = 2.19.0 2.21.15 2.99.911 2.99.916 2.99.917
+pkgname     = xf86-video-intel
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-mach64/Makefile b/X.org/driver/xf86-video-mach64/Makefile
new file mode 100644
index 0000000..6ad6f5e
--- /dev/null
+++ b/X.org/driver/xf86-video-mach64/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 6.9.7
+pkgname     = xf86-video-mach64
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-mga/Makefile b/X.org/driver/xf86-video-mga/Makefile
new file mode 100644
index 0000000..8734ca1
--- /dev/null
+++ b/X.org/driver/xf86-video-mga/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 2.0.1
+pkgname     = xf86-video-mga
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-modesetting/Makefile b/X.org/driver/xf86-video-modesetting/Makefile
new file mode 100644
index 0000000..b6d78f9
--- /dev/null
+++ b/X.org/driver/xf86-video-modesetting/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.8.0 0.8.1 0.9.0
+pkgname     = xf86-video-modesetting
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-neomagic/Makefile b/X.org/driver/xf86-video-neomagic/Makefile
new file mode 100644
index 0000000..d93825b
--- /dev/null
+++ b/X.org/driver/xf86-video-neomagic/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.6 1.2.8 1.2.9 1.3.0
+pkgname     = xf86-video-neomagic
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-newport/Makefile b/X.org/driver/xf86-video-newport/Makefile
new file mode 100644
index 0000000..cd34a70
--- /dev/null
+++ b/X.org/driver/xf86-video-newport/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.2.4
+pkgname     = xf86-video-newport
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-nouveau/Makefile b/X.org/driver/xf86-video-nouveau/Makefile
new file mode 100644
index 0000000..8159a9a
--- /dev/null
+++ b/X.org/driver/xf86-video-nouveau/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.0.9 1.0.10 1.0.11 1.0.12 1.0.17
+pkgname     = xf86-video-nouveau
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-nv/Makefile b/X.org/driver/xf86-video-nv/Makefile
new file mode 100644
index 0000000..69ed627
--- /dev/null
+++ b/X.org/driver/xf86-video-nv/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 2.1.22
+pkgname     = xf86-video-nv
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-omap/Makefile b/X.org/driver/xf86-video-omap/Makefile
new file mode 100644
index 0000000..16c0900
--- /dev/null
+++ b/X.org/driver/xf86-video-omap/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.4.3 0.4.4 0.4.5
+pkgname     = xf86-video-omap
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-openchrome/Makefile b/X.org/driver/xf86-video-openchrome/Makefile
new file mode 100644
index 0000000..f9b43a1
--- /dev/null
+++ b/X.org/driver/xf86-video-openchrome/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.2.906 0.3.3 0.4.0 0.6.0
+pkgname     = xf86-video-openchrome
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-r128/Makefile b/X.org/driver/xf86-video-r128/Makefile
new file mode 100644
index 0000000..e063321
--- /dev/null
+++ b/X.org/driver/xf86-video-r128/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 6.12.1
+pkgname     = xf86-video-r128
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-rendition/Makefile b/X.org/driver/xf86-video-rendition/Makefile
new file mode 100644
index 0000000..d0b2b6d
--- /dev/null
+++ b/X.org/driver/xf86-video-rendition/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 4.2.5 4.2.6 4.2.7
+pkgname     = xf86-video-rendition
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-s3/Makefile b/X.org/driver/xf86-video-s3/Makefile
new file mode 100644
index 0000000..5b84818
--- /dev/null
+++ b/X.org/driver/xf86-video-s3/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.6.5 0.7.0
+pkgname     = xf86-video-s3
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-s3virge/Makefile b/X.org/driver/xf86-video-s3virge/Makefile
new file mode 100644
index 0000000..1708e16
--- /dev/null
+++ b/X.org/driver/xf86-video-s3virge/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.10.6 1.10.7 1.11.0
+pkgname     = xf86-video-s3virge
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-savage/Makefile b/X.org/driver/xf86-video-savage/Makefile
new file mode 100644
index 0000000..70e7cba
--- /dev/null
+++ b/X.org/driver/xf86-video-savage/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 2.3.4 2.3.7 2.3.8 2.3.9
+pkgname     = xf86-video-savage
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-siliconmotion/Makefile b/X.org/driver/xf86-video-siliconmotion/Makefile
new file mode 100644
index 0000000..2173ed8
--- /dev/null
+++ b/X.org/driver/xf86-video-siliconmotion/Makefile
@@ -0,0 +1,77 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+# Git:
+# ===
+# https://anongit.freedesktop.org/git/xorg/driver/xf86-video-siliconmotion.git
+#
+
+url         = https://anongit.freedesktop.org/git/xorg/driver
+
+repo_name   = xf86-video-siliconmotion
+
+#
+# List of tags to be extracted:
+# ============================
+#                                               hash | tag
+#            ----------------------------------------+-----
+revisions  = 70d3d3a384651e5d22840a0de8644eb8b10c5775:1.7.8
+revisions += e67f3949648c20e16ac756ae28ea4a2b4a1d0f4c:1.7.8.1
+revisions += d269962724b57e21142c9e1c6631a45a46d87b47:1.7.9
+
+git_repo   = .git_clone
+
+suffix     = tar.xz
+
+versions   = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
+
+tarballs   = $(addsuffix .$(suffix), $(addprefix $(repo_name)-, $(versions)))
+sha1s      = $(addsuffix .sha1sum, $(tarballs))
+
+TARGETS = repository_clean
+
+all: $(TARGETS)
+
+.PHONY: downloads_clean repository_clean
+
+$(git_repo):
+	@echo -e "\n======= Clone $(repo_name).git repository =======\n"
+	@rm -rf $(repo_name)
+	@git clone $(url)/$(repo_name).git $(repo_name)
+	@touch $@
+
+$(tarballs): $(git_repo)
+	@for revision in $(revisions) ; do \
+	  hash=`echo $$revision    | cut -f 1 -d ':'` ; \
+	  version=`echo $$revision | cut -f 2 -d ':'` ; \
+	  if [ ! -f $(repo_name)-$$version.$(suffix) ]; then \
+	    echo -e "\n======= Creating '$(repo_name)-$$version.$(suffix)' snapshot =======" ; \
+	    ( cd $(repo_name) && \
+	      git archive --format=tar --prefix=$(repo_name)-$$version/ $$hash | \
+	      xz >../$(repo_name)-$$version.$(suffix) ) ; \
+	  fi ; \
+	  tar xJf $(repo_name)-$$version.$(suffix) ; \
+	  ( cd $(repo_name)-$$version ; ./autogen.sh ; make distclean ; rm -rf autom4te.cache .gitignore ) ; \
+	  tar cJf $(repo_name)-$$version.$(suffix) $(repo_name)-$$version ; \
+	  rm -rf $(repo_name)-$$version ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+repository_clean: $(sha1s)
+	@echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
+	@rm -rf $(git_repo) $(repo_name)
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
+	@rm -rf $(git_repo) $(repo_name)
diff --git a/X.org/driver/xf86-video-sis/Makefile b/X.org/driver/xf86-video-sis/Makefile
new file mode 100644
index 0000000..2aae034
--- /dev/null
+++ b/X.org/driver/xf86-video-sis/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.10.4 0.10.7 0.10.8 0.12.0
+pkgname     = xf86-video-sis
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-sisusb/Makefile b/X.org/driver/xf86-video-sisusb/Makefile
new file mode 100644
index 0000000..61a78aa
--- /dev/null
+++ b/X.org/driver/xf86-video-sisusb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.9.6 0.9.7
+pkgname     = xf86-video-sisusb
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-suncg6/Makefile b/X.org/driver/xf86-video-suncg6/Makefile
new file mode 100644
index 0000000..5a5f493
--- /dev/null
+++ b/X.org/driver/xf86-video-suncg6/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.1.3
+pkgname     = xf86-video-suncg6
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-sunffb/Makefile b/X.org/driver/xf86-video-sunffb/Makefile
new file mode 100644
index 0000000..6d7fb8c
--- /dev/null
+++ b/X.org/driver/xf86-video-sunffb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.3
+pkgname     = xf86-video-sunffb
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-tdfx/Makefile b/X.org/driver/xf86-video-tdfx/Makefile
new file mode 100644
index 0000000..bdb06e9
--- /dev/null
+++ b/X.org/driver/xf86-video-tdfx/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.4.4 1.4.5 1.4.6 1.5.0
+pkgname     = xf86-video-tdfx
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-tga/Makefile b/X.org/driver/xf86-video-tga/Makefile
new file mode 100644
index 0000000..836a53f
--- /dev/null
+++ b/X.org/driver/xf86-video-tga/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.1 1.2.2
+pkgname     = xf86-video-tga
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-trident/Makefile b/X.org/driver/xf86-video-trident/Makefile
new file mode 100644
index 0000000..92c0596
--- /dev/null
+++ b/X.org/driver/xf86-video-trident/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.3.5 1.3.6 1.3.7 1.3.8
+pkgname     = xf86-video-trident
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-tseng/Makefile b/X.org/driver/xf86-video-tseng/Makefile
new file mode 100644
index 0000000..d718e63
--- /dev/null
+++ b/X.org/driver/xf86-video-tseng/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.5
+pkgname     = xf86-video-tseng
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-v4l/Makefile b/X.org/driver/xf86-video-v4l/Makefile
new file mode 100644
index 0000000..d5a7dbb
--- /dev/null
+++ b/X.org/driver/xf86-video-v4l/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.2.0 0.3.0
+pkgname     = xf86-video-v4l
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-vboxvideo/Makefile b/X.org/driver/xf86-video-vboxvideo/Makefile
new file mode 100644
index 0000000..f69ec03
--- /dev/null
+++ b/X.org/driver/xf86-video-vboxvideo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.0.0
+pkgname     = xf86-video-vboxvideo
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-vesa/Makefile b/X.org/driver/xf86-video-vesa/Makefile
new file mode 100644
index 0000000..5fe70e6
--- /dev/null
+++ b/X.org/driver/xf86-video-vesa/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 2.6.0
+pkgname     = xf86-video-vesa
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-vmware/Makefile b/X.org/driver/xf86-video-vmware/Makefile
new file mode 100644
index 0000000..3c4b86a
--- /dev/null
+++ b/X.org/driver/xf86-video-vmware/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 12.0.2 13.0.1 13.0.2 13.1.0 13.3.0
+pkgname     = xf86-video-vmware
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-voodoo/Makefile b/X.org/driver/xf86-video-voodoo/Makefile
new file mode 100644
index 0000000..a14491e
--- /dev/null
+++ b/X.org/driver/xf86-video-voodoo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.2.6
+pkgname     = xf86-video-voodoo
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-wsfb/Makefile b/X.org/driver/xf86-video-wsfb/Makefile
new file mode 100644
index 0000000..1cebe0f
--- /dev/null
+++ b/X.org/driver/xf86-video-wsfb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 0.4.0
+pkgname     = xf86-video-wsfb
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-xgi/Makefile b/X.org/driver/xf86-video-xgi/Makefile
new file mode 100644
index 0000000..b4de906
--- /dev/null
+++ b/X.org/driver/xf86-video-xgi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.6.0 1.6.1
+pkgname     = xf86-video-xgi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/driver/xf86-video-xgixp/Makefile b/X.org/driver/xf86-video-xgixp/Makefile
new file mode 100644
index 0000000..5c1e757
--- /dev/null
+++ b/X.org/driver/xf86-video-xgixp/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/driver
+#
+
+url         = https://www.x.org/releases/individual/driver
+
+versions    = 1.8.1
+pkgname     = xf86-video-xgixp
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/Makefile b/X.org/font/Makefile
new file mode 100644
index 0000000..d7d574a
--- /dev/null
+++ b/X.org/font/Makefile
@@ -0,0 +1,61 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := encodings                       \
+           font-adobe-100dpi               \
+           font-adobe-75dpi                \
+           font-adobe-utopia-100dpi        \
+           font-adobe-utopia-75dpi         \
+           font-adobe-utopia-type1         \
+           font-alias                      \
+           font-arabic-misc                \
+           font-bh-100dpi                  \
+           font-bh-75dpi                   \
+           font-bh-lucidatypewriter-100dpi \
+           font-bh-lucidatypewriter-75dpi  \
+           font-bh-ttf                     \
+           font-bh-type1                   \
+           font-bitstream-100dpi           \
+           font-bitstream-75dpi            \
+           font-bitstream-speedo           \
+           font-bitstream-type1            \
+           font-cronyx-cyrillic            \
+           font-cursor-misc                \
+           font-daewoo-misc                \
+           font-dec-misc                   \
+           font-ibm-type1                  \
+           font-isas-misc                  \
+           font-jis-misc                   \
+           font-micro-misc                 \
+           font-misc-cyrillic              \
+           font-misc-ethiopic              \
+           font-misc-meltho                \
+           font-misc-misc                  \
+           font-mutt-misc                  \
+           font-schumacher-misc            \
+           font-screen-cyrillic            \
+           font-sony-misc                  \
+           font-sun-misc                   \
+           font-util                       \
+           font-winitzki-cyrillic          \
+           font-xfree86-type1
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/font/encodings/Makefile b/X.org/font/encodings/Makefile
new file mode 100644
index 0000000..b88a882
--- /dev/null
+++ b/X.org/font/encodings/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.6
+pkgname     = encodings
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-adobe-100dpi/Makefile b/X.org/font/font-adobe-100dpi/Makefile
new file mode 100644
index 0000000..f0ab2d5
--- /dev/null
+++ b/X.org/font/font-adobe-100dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-adobe-100dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-adobe-75dpi/Makefile b/X.org/font/font-adobe-75dpi/Makefile
new file mode 100644
index 0000000..893b190
--- /dev/null
+++ b/X.org/font/font-adobe-75dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-adobe-75dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-adobe-utopia-100dpi/Makefile b/X.org/font/font-adobe-utopia-100dpi/Makefile
new file mode 100644
index 0000000..a23c8f8
--- /dev/null
+++ b/X.org/font/font-adobe-utopia-100dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.4
+pkgname     = font-adobe-utopia-100dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-adobe-utopia-75dpi/Makefile b/X.org/font/font-adobe-utopia-75dpi/Makefile
new file mode 100644
index 0000000..fa0f539
--- /dev/null
+++ b/X.org/font/font-adobe-utopia-75dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.4
+pkgname     = font-adobe-utopia-75dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-adobe-utopia-type1/Makefile b/X.org/font/font-adobe-utopia-type1/Makefile
new file mode 100644
index 0000000..985db72
--- /dev/null
+++ b/X.org/font/font-adobe-utopia-type1/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.4
+pkgname     = font-adobe-utopia-type1
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-alias/Makefile b/X.org/font/font-alias/Makefile
new file mode 100644
index 0000000..2069b84
--- /dev/null
+++ b/X.org/font/font-alias/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3 1.0.4
+pkgname     = font-alias
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-arabic-misc/Makefile b/X.org/font/font-arabic-misc/Makefile
new file mode 100644
index 0000000..1d261c4
--- /dev/null
+++ b/X.org/font/font-arabic-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-arabic-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bh-100dpi/Makefile b/X.org/font/font-bh-100dpi/Makefile
new file mode 100644
index 0000000..81a79a1
--- /dev/null
+++ b/X.org/font/font-bh-100dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bh-100dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bh-75dpi/Makefile b/X.org/font/font-bh-75dpi/Makefile
new file mode 100644
index 0000000..064bf19
--- /dev/null
+++ b/X.org/font/font-bh-75dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bh-75dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bh-lucidatypewriter-100dpi/Makefile b/X.org/font/font-bh-lucidatypewriter-100dpi/Makefile
new file mode 100644
index 0000000..c6ba3ab
--- /dev/null
+++ b/X.org/font/font-bh-lucidatypewriter-100dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bh-lucidatypewriter-100dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bh-lucidatypewriter-75dpi/Makefile b/X.org/font/font-bh-lucidatypewriter-75dpi/Makefile
new file mode 100644
index 0000000..1722235
--- /dev/null
+++ b/X.org/font/font-bh-lucidatypewriter-75dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bh-lucidatypewriter-75dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bh-ttf/Makefile b/X.org/font/font-bh-ttf/Makefile
new file mode 100644
index 0000000..028560d
--- /dev/null
+++ b/X.org/font/font-bh-ttf/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bh-ttf
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bh-type1/Makefile b/X.org/font/font-bh-type1/Makefile
new file mode 100644
index 0000000..293bb90
--- /dev/null
+++ b/X.org/font/font-bh-type1/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bh-type1
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bitstream-100dpi/Makefile b/X.org/font/font-bitstream-100dpi/Makefile
new file mode 100644
index 0000000..1079cb3
--- /dev/null
+++ b/X.org/font/font-bitstream-100dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bitstream-100dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bitstream-75dpi/Makefile b/X.org/font/font-bitstream-75dpi/Makefile
new file mode 100644
index 0000000..facf854
--- /dev/null
+++ b/X.org/font/font-bitstream-75dpi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bitstream-75dpi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bitstream-speedo/Makefile b/X.org/font/font-bitstream-speedo/Makefile
new file mode 100644
index 0000000..5460827
--- /dev/null
+++ b/X.org/font/font-bitstream-speedo/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.2
+pkgname     = font-bitstream-speedo
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-bitstream-type1/Makefile b/X.org/font/font-bitstream-type1/Makefile
new file mode 100644
index 0000000..1274669
--- /dev/null
+++ b/X.org/font/font-bitstream-type1/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-bitstream-type1
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-cronyx-cyrillic/Makefile b/X.org/font/font-cronyx-cyrillic/Makefile
new file mode 100644
index 0000000..4f629c1
--- /dev/null
+++ b/X.org/font/font-cronyx-cyrillic/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-cronyx-cyrillic
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-cursor-misc/Makefile b/X.org/font/font-cursor-misc/Makefile
new file mode 100644
index 0000000..e3f8ac6
--- /dev/null
+++ b/X.org/font/font-cursor-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-cursor-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-daewoo-misc/Makefile b/X.org/font/font-daewoo-misc/Makefile
new file mode 100644
index 0000000..79a5f18
--- /dev/null
+++ b/X.org/font/font-daewoo-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-daewoo-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-dec-misc/Makefile b/X.org/font/font-dec-misc/Makefile
new file mode 100644
index 0000000..1a8d821
--- /dev/null
+++ b/X.org/font/font-dec-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-dec-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-ibm-type1/Makefile b/X.org/font/font-ibm-type1/Makefile
new file mode 100644
index 0000000..3ecc72f
--- /dev/null
+++ b/X.org/font/font-ibm-type1/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-ibm-type1
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-isas-misc/Makefile b/X.org/font/font-isas-misc/Makefile
new file mode 100644
index 0000000..cbc7108
--- /dev/null
+++ b/X.org/font/font-isas-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-isas-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-jis-misc/Makefile b/X.org/font/font-jis-misc/Makefile
new file mode 100644
index 0000000..9674639
--- /dev/null
+++ b/X.org/font/font-jis-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-jis-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-micro-misc/Makefile b/X.org/font/font-micro-misc/Makefile
new file mode 100644
index 0000000..9e32056
--- /dev/null
+++ b/X.org/font/font-micro-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-micro-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-misc-cyrillic/Makefile b/X.org/font/font-misc-cyrillic/Makefile
new file mode 100644
index 0000000..61f5d92
--- /dev/null
+++ b/X.org/font/font-misc-cyrillic/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-misc-cyrillic
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-misc-ethiopic/Makefile b/X.org/font/font-misc-ethiopic/Makefile
new file mode 100644
index 0000000..b6c5387
--- /dev/null
+++ b/X.org/font/font-misc-ethiopic/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3 1.0.4
+pkgname     = font-misc-ethiopic
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-misc-meltho/Makefile b/X.org/font/font-misc-meltho/Makefile
new file mode 100644
index 0000000..b8ba2c9
--- /dev/null
+++ b/X.org/font/font-misc-meltho/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-misc-meltho
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-misc-misc/Makefile b/X.org/font/font-misc-misc/Makefile
new file mode 100644
index 0000000..5b49a81
--- /dev/null
+++ b/X.org/font/font-misc-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.1.2
+pkgname     = font-misc-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-mutt-misc/Makefile b/X.org/font/font-mutt-misc/Makefile
new file mode 100644
index 0000000..54b1ca6
--- /dev/null
+++ b/X.org/font/font-mutt-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-mutt-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-schumacher-misc/Makefile b/X.org/font/font-schumacher-misc/Makefile
new file mode 100644
index 0000000..9d2530e
--- /dev/null
+++ b/X.org/font/font-schumacher-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.1.2
+pkgname     = font-schumacher-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-screen-cyrillic/Makefile b/X.org/font/font-screen-cyrillic/Makefile
new file mode 100644
index 0000000..cc4e15e
--- /dev/null
+++ b/X.org/font/font-screen-cyrillic/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.4
+pkgname     = font-screen-cyrillic
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-sony-misc/Makefile b/X.org/font/font-sony-misc/Makefile
new file mode 100644
index 0000000..d4ef79f
--- /dev/null
+++ b/X.org/font/font-sony-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-sony-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-sun-misc/Makefile b/X.org/font/font-sun-misc/Makefile
new file mode 100644
index 0000000..1bdec24
--- /dev/null
+++ b/X.org/font/font-sun-misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-sun-misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-util/Makefile b/X.org/font/font-util/Makefile
new file mode 100644
index 0000000..804cb2c
--- /dev/null
+++ b/X.org/font/font-util/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.3.3
+pkgname     = font-util
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-winitzki-cyrillic/Makefile b/X.org/font/font-winitzki-cyrillic/Makefile
new file mode 100644
index 0000000..484a673
--- /dev/null
+++ b/X.org/font/font-winitzki-cyrillic/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.3
+pkgname     = font-winitzki-cyrillic
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/font/font-xfree86-type1/Makefile b/X.org/font/font-xfree86-type1/Makefile
new file mode 100644
index 0000000..f81a950
--- /dev/null
+++ b/X.org/font/font-xfree86-type1/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/font
+#
+
+url         = https://www.x.org/releases/individual/font
+
+versions    = 1.0.4
+pkgname     = font-xfree86-type1
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/Makefile b/X.org/lib/Makefile
new file mode 100644
index 0000000..dac92f0
--- /dev/null
+++ b/X.org/lib/Makefile
@@ -0,0 +1,69 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := libAppleWM    \
+           libFS         \
+           libICE        \
+           libSM         \
+           libWindowsWM  \
+           libX11        \
+           libXScrnSaver \
+           libXau        \
+           libXaw        \
+           libXaw3d      \
+           libXcm        \
+           libXcomposite \
+           libXcursor    \
+           libXdamage    \
+           libXdmcp      \
+           libXevie      \
+           libXext       \
+           libXfixes     \
+           libXfont      \
+           libXfont2     \
+           libXfontcache \
+           libXft        \
+           libXi         \
+           libXinerama   \
+           libXmu        \
+           libXp         \
+           libXpm        \
+           libXpresent   \
+           libXrandr     \
+           libXrender    \
+           libXres       \
+           libXt         \
+           libXtst       \
+           libXv         \
+           libXvMC       \
+           libXxf86dga   \
+           libXxf86misc  \
+           libXxf86vm    \
+           libdmx        \
+           libfontenc    \
+           libpciaccess  \
+           libxcvt       \
+           libxkbfile    \
+           libxshmfence  \
+           pixman        \
+           xtrans
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/lib/libAppleWM/Makefile b/X.org/lib/libAppleWM/Makefile
new file mode 100644
index 0000000..a275a35
--- /dev/null
+++ b/X.org/lib/libAppleWM/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.4.1
+pkgname     = libAppleWM
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libFS/Makefile b/X.org/lib/libFS/Makefile
new file mode 100644
index 0000000..4d676ae
--- /dev/null
+++ b/X.org/lib/libFS/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.9
+pkgname     = libFS
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libICE/Makefile b/X.org/lib/libICE/Makefile
new file mode 100644
index 0000000..f2ea60e
--- /dev/null
+++ b/X.org/lib/libICE/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.1
+pkgname     = libICE
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libSM/Makefile b/X.org/lib/libSM/Makefile
new file mode 100644
index 0000000..b48e977
--- /dev/null
+++ b/X.org/lib/libSM/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.2.4
+pkgname     = libSM
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libWindowsWM/Makefile b/X.org/lib/libWindowsWM/Makefile
new file mode 100644
index 0000000..35ba036
--- /dev/null
+++ b/X.org/lib/libWindowsWM/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.1
+pkgname     = libWindowsWM
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libX11/Makefile b/X.org/lib/libX11/Makefile
new file mode 100644
index 0000000..91773e2
--- /dev/null
+++ b/X.org/lib/libX11/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.8.3
+pkgname     = libX11
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXScrnSaver/Makefile b/X.org/lib/libXScrnSaver/Makefile
new file mode 100644
index 0000000..aa4a4ce
--- /dev/null
+++ b/X.org/lib/libXScrnSaver/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.2.4
+pkgname     = libXScrnSaver
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXau/Makefile b/X.org/lib/libXau/Makefile
new file mode 100644
index 0000000..569d414
--- /dev/null
+++ b/X.org/lib/libXau/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.11
+pkgname     = libXau
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXaw/Makefile b/X.org/lib/libXaw/Makefile
new file mode 100644
index 0000000..e21e8e5
--- /dev/null
+++ b/X.org/lib/libXaw/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.11 1.0.12 1.0.13 1.0.14
+pkgname     = libXaw
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXaw3d/Makefile b/X.org/lib/libXaw3d/Makefile
new file mode 100644
index 0000000..16c2d75
--- /dev/null
+++ b/X.org/lib/libXaw3d/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.6.4
+pkgname     = libXaw3d
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXcm/Makefile b/X.org/lib/libXcm/Makefile
new file mode 100644
index 0000000..b890510
--- /dev/null
+++ b/X.org/lib/libXcm/Makefile
@@ -0,0 +1,76 @@
+#
+# Project Home:
+# ============
+# http://www.oyranos.org/libxcm/index.html
+#
+# GitHub:
+# ======
+# git clone https://github.com/oyranos-cms/oyranos.git
+#
+# Downloads:
+# =========
+# https://github.com/oyranos-cms/oyranos/releases
+#
+# NOTE:
+# ====
+#   This is a full package contains libXcm.
+#
+
+url        = https://github.com/oyranos-cms
+
+repo_name  = libxcm
+pkg_name   = libXcm
+
+#
+# List of tags to be extracted:
+# ============================
+#                                               hash | tag
+#            ----------------------------------------+-----
+revisions  = 2530c38c841d46467ebce1b1f69d9a66fe59be90:0.5.4
+
+git_repo   = .git_clone
+
+suffix     = tar.xz
+
+versions   = $(foreach tag, $(revisions), $(shell echo $(tag) | cut -f 2 -d ':'))
+
+tarballs   = $(addsuffix .$(suffix), $(addprefix $(pkg_name)-, $(versions)))
+sha1s      = $(addsuffix .sha1sum, $(tarballs))
+
+TARGETS = repository_clean
+
+all: $(TARGETS)
+
+.PHONY: downloads_clean repository_clean
+
+$(git_repo):
+	@echo -e "\n======= Clone $(repo_name).git repository =======\n"
+	@rm -rf $(repo_name)
+	@git clone $(url)/$(repo_name).git $(repo_name)
+	@touch $@
+
+$(tarballs): $(git_repo)
+	@for revision in $(revisions) ; do \
+	  hash=`echo $$revision    | cut -f 1 -d ':'` ; \
+	  version=`echo $$revision | cut -f 2 -d ':'` ; \
+	  if [ ! -f $(repo_name)-$$version.$(suffix) ]; then \
+	    echo -e "\n======= Creating '$(repo_name)-$$version.$(suffix)' snapshot =======" ; \
+	    ( cd $(repo_name) && \
+	      git archive --format=tar --prefix=$(pkg_name)-$$version/ $$hash | \
+	      xz >../$(pkg_name)-$$version.$(suffix) ) ; \
+	  fi ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+repository_clean: $(sha1s)
+	@echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
+	@rm -rf $(git_repo) $(repo_name)
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
+	@rm -rf $(git_repo) $(repo_name)
diff --git a/X.org/lib/libXcm/Makefile.old-releases b/X.org/lib/libXcm/Makefile.old-releases
new file mode 100644
index 0000000..b3e010a
--- /dev/null
+++ b/X.org/lib/libXcm/Makefile.old-releases
@@ -0,0 +1,45 @@
+#
+# Project Home:
+# ============
+# https://www.oyranos.org/libxcm
+#
+# Downloads:
+# =========
+# https://downloads.sourceforge.net/project/oyranos/libXcm/libXcm-${MAJR_MINOR}
+#
+
+url         = https://downloads.sourceforge.net/project/oyranos/libXcm
+
+versions    = 0.4.2 0.5.2 0.5.3
+pkgname     = libXcm
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  directory= ; \
+	  vers=`echo $$tarball | sed 's/\([a-zA-Z-]*\)\([0-9][.][0-9]*\)\(\..*\)/\2/'` ; \
+	  if [ "`echo $$vers | cut -f1,2 -d'.'`" == "0.5" ] ; then \
+	    directory=libXcm-0.5 ; \
+	  else \
+	    directory=libXcm-$$vers.x ; \
+	  fi ; \
+	  wget -N $(url)/$$directory/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXcomposite/Makefile b/X.org/lib/libXcomposite/Makefile
new file mode 100644
index 0000000..61879e6
--- /dev/null
+++ b/X.org/lib/libXcomposite/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 0.4.6
+pkgname     = libXcomposite
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXcursor/Makefile b/X.org/lib/libXcursor/Makefile
new file mode 100644
index 0000000..edfd09a
--- /dev/null
+++ b/X.org/lib/libXcursor/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.2.1
+pkgname     = libXcursor
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXdamage/Makefile b/X.org/lib/libXdamage/Makefile
new file mode 100644
index 0000000..dd7e3e1
--- /dev/null
+++ b/X.org/lib/libXdamage/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.6
+pkgname     = libXdamage
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXdmcp/Makefile b/X.org/lib/libXdmcp/Makefile
new file mode 100644
index 0000000..f9451f9
--- /dev/null
+++ b/X.org/lib/libXdmcp/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.4
+pkgname     = libXdmcp
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXevie/Makefile b/X.org/lib/libXevie/Makefile
new file mode 100644
index 0000000..9357f71
--- /dev/null
+++ b/X.org/lib/libXevie/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.3
+pkgname     = libXevie
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXext/Makefile b/X.org/lib/libXext/Makefile
new file mode 100644
index 0000000..cc5417f
--- /dev/null
+++ b/X.org/lib/libXext/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.3.5
+pkgname     = libXext
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXfixes/Makefile b/X.org/lib/libXfixes/Makefile
new file mode 100644
index 0000000..8e7247a
--- /dev/null
+++ b/X.org/lib/libXfixes/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# http://www.x.org/wiki
+#
+# Downloads:
+# =========
+# http://www.x.org/releases/individual/lib
+#
+
+url         = http://www.x.org/releases/individual/lib
+
+versions    = 5.0 5.0.1 6.0.0
+pkgname     = libXfixes
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXfont/Makefile b/X.org/lib/libXfont/Makefile
new file mode 100644
index 0000000..152bfe7
--- /dev/null
+++ b/X.org/lib/libXfont/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.4.5 1.4.6 1.4.8 1.5.0 1.5.1 1.5.4
+pkgname     = libXfont
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXfont2/Makefile b/X.org/lib/libXfont2/Makefile
new file mode 100644
index 0000000..179a342
--- /dev/null
+++ b/X.org/lib/libXfont2/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 2.0.6
+pkgname     = libXfont2
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXfontcache/Makefile b/X.org/lib/libXfontcache/Makefile
new file mode 100644
index 0000000..bc53bd5
--- /dev/null
+++ b/X.org/lib/libXfontcache/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.5
+pkgname     = libXfontcache
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXft/Makefile b/X.org/lib/libXft/Makefile
new file mode 100644
index 0000000..2aaf9cc
--- /dev/null
+++ b/X.org/lib/libXft/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 2.3.7
+pkgname     = libXft
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXi/Makefile b/X.org/lib/libXi/Makefile
new file mode 100644
index 0000000..cad6b6e
--- /dev/null
+++ b/X.org/lib/libXi/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.6.1 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.8
+pkgname     = libXi
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXinerama/Makefile b/X.org/lib/libXinerama/Makefile
new file mode 100644
index 0000000..2176bed
--- /dev/null
+++ b/X.org/lib/libXinerama/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.5
+pkgname     = libXinerama
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXmu/Makefile b/X.org/lib/libXmu/Makefile
new file mode 100644
index 0000000..67d4c1d
--- /dev/null
+++ b/X.org/lib/libXmu/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.4
+pkgname     = libXmu
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXp/Makefile b/X.org/lib/libXp/Makefile
new file mode 100644
index 0000000..4991fe7
--- /dev/null
+++ b/X.org/lib/libXp/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.4
+pkgname     = libXp
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXpm/Makefile b/X.org/lib/libXpm/Makefile
new file mode 100644
index 0000000..fdcad2f
--- /dev/null
+++ b/X.org/lib/libXpm/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 3.5.15
+pkgname     = libXpm
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXpresent/Makefile b/X.org/lib/libXpresent/Makefile
new file mode 100644
index 0000000..5ca6d25
--- /dev/null
+++ b/X.org/lib/libXpresent/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.1
+pkgname     = libXpresent
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXrandr/Makefile b/X.org/lib/libXrandr/Makefile
new file mode 100644
index 0000000..1c4d33a
--- /dev/null
+++ b/X.org/lib/libXrandr/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.5.3
+pkgname     = libXrandr
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXrender/Makefile b/X.org/lib/libXrender/Makefile
new file mode 100644
index 0000000..5313440
--- /dev/null
+++ b/X.org/lib/libXrender/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 0.9.11
+pkgname     = libXrender
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXres/Makefile b/X.org/lib/libXres/Makefile
new file mode 100644
index 0000000..fae0dc6
--- /dev/null
+++ b/X.org/lib/libXres/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.2.2
+pkgname     = libXres
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXt/Makefile b/X.org/lib/libXt/Makefile
new file mode 100644
index 0000000..10e090a
--- /dev/null
+++ b/X.org/lib/libXt/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.3 1.1.4 1.1.5 1.2.1
+pkgname     = libXt
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXtst/Makefile b/X.org/lib/libXtst/Makefile
new file mode 100644
index 0000000..2f2e952
--- /dev/null
+++ b/X.org/lib/libXtst/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.2.4
+pkgname     = libXtst
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXv/Makefile b/X.org/lib/libXv/Makefile
new file mode 100644
index 0000000..ce0a2f9
--- /dev/null
+++ b/X.org/lib/libXv/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.12
+pkgname     = libXv
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXvMC/Makefile b/X.org/lib/libXvMC/Makefile
new file mode 100644
index 0000000..f07a040
--- /dev/null
+++ b/X.org/lib/libXvMC/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.13
+pkgname     = libXvMC
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXxf86dga/Makefile b/X.org/lib/libXxf86dga/Makefile
new file mode 100644
index 0000000..3478354
--- /dev/null
+++ b/X.org/lib/libXxf86dga/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.6
+pkgname     = libXxf86dga
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXxf86misc/Makefile b/X.org/lib/libXxf86misc/Makefile
new file mode 100644
index 0000000..0afbf4b
--- /dev/null
+++ b/X.org/lib/libXxf86misc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.0.3 1.0.4
+pkgname     = libXxf86misc
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libXxf86vm/Makefile b/X.org/lib/libXxf86vm/Makefile
new file mode 100644
index 0000000..5294d31
--- /dev/null
+++ b/X.org/lib/libXxf86vm/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.5
+pkgname     = libXxf86vm
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libdmx/Makefile b/X.org/lib/libdmx/Makefile
new file mode 100644
index 0000000..d51946a
--- /dev/null
+++ b/X.org/lib/libdmx/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.2 1.1.3 1.1.4
+pkgname     = libdmx
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libfontenc/Makefile b/X.org/lib/libfontenc/Makefile
new file mode 100644
index 0000000..8b4ddc8
--- /dev/null
+++ b/X.org/lib/libfontenc/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.7
+pkgname     = libfontenc
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libpciaccess/Makefile b/X.org/lib/libpciaccess/Makefile
new file mode 100644
index 0000000..6a9beb7
--- /dev/null
+++ b/X.org/lib/libpciaccess/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 0.17
+pkgname     = libpciaccess
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libxcvt/Makefile b/X.org/lib/libxcvt/Makefile
new file mode 100644
index 0000000..4a3d892
--- /dev/null
+++ b/X.org/lib/libxcvt/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 0.1.2
+pkgname     = libxcvt
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libxkbfile/Makefile b/X.org/lib/libxkbfile/Makefile
new file mode 100644
index 0000000..b559df5
--- /dev/null
+++ b/X.org/lib/libxkbfile/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.1.2
+pkgname     = libxkbfile
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/libxshmfence/Makefile b/X.org/lib/libxshmfence/Makefile
new file mode 100644
index 0000000..bf5c870
--- /dev/null
+++ b/X.org/lib/libxshmfence/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.3.2
+pkgname     = libxshmfence
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/pixman/Makefile b/X.org/lib/pixman/Makefile
new file mode 100644
index 0000000..b2c68a3
--- /dev/null
+++ b/X.org/lib/pixman/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 0.42.2
+pkgname     = pixman
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/lib/xtrans/Makefile b/X.org/lib/xtrans/Makefile
new file mode 100644
index 0000000..2b05a0d
--- /dev/null
+++ b/X.org/lib/xtrans/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/lib
+#
+
+url         = https://www.x.org/releases/individual/lib
+
+versions    = 1.2.7 1.3.0 1.3.2 1.3.4 1.3.5 1.4.0
+pkgname     = xtrans
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/Makefile b/X.org/proto/Makefile
new file mode 100644
index 0000000..fb69428
--- /dev/null
+++ b/X.org/proto/Makefile
@@ -0,0 +1,56 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := applewmproto     \
+           bigreqsproto     \
+           compositeproto   \
+           damageproto      \
+           dmxproto         \
+           dri2proto        \
+           dri3proto        \
+           evieext          \
+           fixesproto       \
+           fontcacheproto   \
+           fontsproto       \
+           glproto          \
+           inputproto       \
+           kbproto          \
+           presentproto     \
+           printproto       \
+           randrproto       \
+           recordproto      \
+           renderproto      \
+           resourceproto    \
+           scrnsaverproto   \
+           videoproto       \
+           windowswmproto   \
+           xcmiscproto      \
+           xextproto        \
+           xf86bigfontproto \
+           xf86dgaproto     \
+           xf86driproto     \
+           xf86miscproto    \
+           xf86vidmodeproto \
+           xineramaproto    \
+           xorgproto        \
+           xproto
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/proto/applewmproto/Makefile b/X.org/proto/applewmproto/Makefile
new file mode 100644
index 0000000..c044099
--- /dev/null
+++ b/X.org/proto/applewmproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.4.2
+pkgname     = applewmproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/bigreqsproto/Makefile b/X.org/proto/bigreqsproto/Makefile
new file mode 100644
index 0000000..c907378
--- /dev/null
+++ b/X.org/proto/bigreqsproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.1.2
+pkgname     = bigreqsproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/compositeproto/Makefile b/X.org/proto/compositeproto/Makefile
new file mode 100644
index 0000000..c89319f
--- /dev/null
+++ b/X.org/proto/compositeproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 0.4.2
+pkgname     = compositeproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/damageproto/Makefile b/X.org/proto/damageproto/Makefile
new file mode 100644
index 0000000..b31a5c8
--- /dev/null
+++ b/X.org/proto/damageproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.2.1
+pkgname     = damageproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/dmxproto/Makefile b/X.org/proto/dmxproto/Makefile
new file mode 100644
index 0000000..f0bd7e4
--- /dev/null
+++ b/X.org/proto/dmxproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.3.1
+pkgname     = dmxproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/dri2proto/Makefile b/X.org/proto/dri2proto/Makefile
new file mode 100644
index 0000000..9240f6f
--- /dev/null
+++ b/X.org/proto/dri2proto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.6 2.8
+pkgname     = dri2proto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/dri3proto/Makefile b/X.org/proto/dri3proto/Makefile
new file mode 100644
index 0000000..a8e2e54
--- /dev/null
+++ b/X.org/proto/dri3proto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.0
+pkgname     = dri3proto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/evieext/Makefile b/X.org/proto/evieext/Makefile
new file mode 100644
index 0000000..c1178f2
--- /dev/null
+++ b/X.org/proto/evieext/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.1.1
+pkgname     = evieext
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/fixesproto/Makefile b/X.org/proto/fixesproto/Makefile
new file mode 100644
index 0000000..bc8108f
--- /dev/null
+++ b/X.org/proto/fixesproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 5.0
+pkgname     = fixesproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/fontcacheproto/Makefile b/X.org/proto/fontcacheproto/Makefile
new file mode 100644
index 0000000..a9dafe7
--- /dev/null
+++ b/X.org/proto/fontcacheproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 0.1.3
+pkgname     = fontcacheproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/fontsproto/Makefile b/X.org/proto/fontsproto/Makefile
new file mode 100644
index 0000000..aaa0463
--- /dev/null
+++ b/X.org/proto/fontsproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.1.2 2.1.3
+pkgname     = fontsproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/glproto/Makefile b/X.org/proto/glproto/Makefile
new file mode 100644
index 0000000..b40ba4b
--- /dev/null
+++ b/X.org/proto/glproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.4.15 1.4.16 1.4.17
+pkgname     = glproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/inputproto/Makefile b/X.org/proto/inputproto/Makefile
new file mode 100644
index 0000000..606c6e4
--- /dev/null
+++ b/X.org/proto/inputproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.2 2.3 2.3.1 2.3.2
+pkgname     = inputproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/kbproto/Makefile b/X.org/proto/kbproto/Makefile
new file mode 100644
index 0000000..8bb984a
--- /dev/null
+++ b/X.org/proto/kbproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.0.6 1.0.7
+pkgname     = kbproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/presentproto/Makefile b/X.org/proto/presentproto/Makefile
new file mode 100644
index 0000000..bea13d7
--- /dev/null
+++ b/X.org/proto/presentproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.0 1.1
+pkgname     = presentproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/printproto/Makefile b/X.org/proto/printproto/Makefile
new file mode 100644
index 0000000..2126978
--- /dev/null
+++ b/X.org/proto/printproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.0.5
+pkgname     = printproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/randrproto/Makefile b/X.org/proto/randrproto/Makefile
new file mode 100644
index 0000000..a214f5c
--- /dev/null
+++ b/X.org/proto/randrproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.3.2 1.4.0 1.4.1 1.5.0
+pkgname     = randrproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/recordproto/Makefile b/X.org/proto/recordproto/Makefile
new file mode 100644
index 0000000..4eddecb
--- /dev/null
+++ b/X.org/proto/recordproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.14.2
+pkgname     = recordproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/renderproto/Makefile b/X.org/proto/renderproto/Makefile
new file mode 100644
index 0000000..b6fcc05
--- /dev/null
+++ b/X.org/proto/renderproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 0.11.1
+pkgname     = renderproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/resourceproto/Makefile b/X.org/proto/resourceproto/Makefile
new file mode 100644
index 0000000..a0586d5
--- /dev/null
+++ b/X.org/proto/resourceproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.2.0
+pkgname     = resourceproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/scrnsaverproto/Makefile b/X.org/proto/scrnsaverproto/Makefile
new file mode 100644
index 0000000..556e259
--- /dev/null
+++ b/X.org/proto/scrnsaverproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.2.2
+pkgname     = scrnsaverproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/videoproto/Makefile b/X.org/proto/videoproto/Makefile
new file mode 100644
index 0000000..8d4c86a
--- /dev/null
+++ b/X.org/proto/videoproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.3.1 2.3.2 2.3.3
+pkgname     = videoproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/windowswmproto/Makefile b/X.org/proto/windowswmproto/Makefile
new file mode 100644
index 0000000..fdab83d
--- /dev/null
+++ b/X.org/proto/windowswmproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.0.4
+pkgname     = windowswmproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xcmiscproto/Makefile b/X.org/proto/xcmiscproto/Makefile
new file mode 100644
index 0000000..507d57f
--- /dev/null
+++ b/X.org/proto/xcmiscproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.2.2
+pkgname     = xcmiscproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xextproto/Makefile b/X.org/proto/xextproto/Makefile
new file mode 100644
index 0000000..4125784
--- /dev/null
+++ b/X.org/proto/xextproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 7.2.1 7.3.0
+pkgname     = xextproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xf86bigfontproto/Makefile b/X.org/proto/xf86bigfontproto/Makefile
new file mode 100644
index 0000000..24b261b
--- /dev/null
+++ b/X.org/proto/xf86bigfontproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.2.0
+pkgname     = xf86bigfontproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xf86dgaproto/Makefile b/X.org/proto/xf86dgaproto/Makefile
new file mode 100644
index 0000000..93a2376
--- /dev/null
+++ b/X.org/proto/xf86dgaproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.1
+pkgname     = xf86dgaproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xf86driproto/Makefile b/X.org/proto/xf86driproto/Makefile
new file mode 100644
index 0000000..9b7b609
--- /dev/null
+++ b/X.org/proto/xf86driproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.1.1
+pkgname     = xf86driproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xf86miscproto/Makefile b/X.org/proto/xf86miscproto/Makefile
new file mode 100644
index 0000000..ece26a6
--- /dev/null
+++ b/X.org/proto/xf86miscproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 0.9.3
+pkgname     = xf86miscproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xf86vidmodeproto/Makefile b/X.org/proto/xf86vidmodeproto/Makefile
new file mode 100644
index 0000000..815c33d
--- /dev/null
+++ b/X.org/proto/xf86vidmodeproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2.3.1
+pkgname     = xf86vidmodeproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xineramaproto/Makefile b/X.org/proto/xineramaproto/Makefile
new file mode 100644
index 0000000..c119d6a
--- /dev/null
+++ b/X.org/proto/xineramaproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 1.2.1
+pkgname     = xineramaproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xorgproto/Makefile b/X.org/proto/xorgproto/Makefile
new file mode 100644
index 0000000..9ccc613
--- /dev/null
+++ b/X.org/proto/xorgproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 2022.2
+pkgname     = xorgproto
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/proto/xproto/Makefile b/X.org/proto/xproto/Makefile
new file mode 100644
index 0000000..d2188e3
--- /dev/null
+++ b/X.org/proto/xproto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/proto
+#
+
+url         = https://www.x.org/releases/individual/proto
+
+versions    = 7.0.23 7.0.24 7.0.25 7.0.26 7.0.27 7.0.28 7.0.29 7.0.31
+pkgname     = xproto
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/test/Makefile b/X.org/test/Makefile
new file mode 100644
index 0000000..b3cd27a
--- /dev/null
+++ b/X.org/test/Makefile
@@ -0,0 +1,24 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := x11perf
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/test/x11perf/Makefile b/X.org/test/x11perf/Makefile
new file mode 100644
index 0000000..dcf388a
--- /dev/null
+++ b/X.org/test/x11perf/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/app
+#
+
+url         = https://www.x.org/releases/individual/test
+
+versions    = 1.6.2
+pkgname     = x11perf
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/util/Makefile b/X.org/util/Makefile
new file mode 100644
index 0000000..ac7e3b0
--- /dev/null
+++ b/X.org/util/Makefile
@@ -0,0 +1,30 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := bdftopcf      \
+           gccmakedep    \
+           imake         \
+           lndir         \
+           makedepend    \
+           util-macros   \
+           xorg-cf-files
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/util/bdftopcf/Makefile b/X.org/util/bdftopcf/Makefile
new file mode 100644
index 0000000..5cc9b08
--- /dev/null
+++ b/X.org/util/bdftopcf/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/util
+#
+
+url         = https://www.x.org/releases/individual/util
+
+versions    = 1.1.1
+pkgname     = bdftopcf
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/util/gccmakedep/Makefile b/X.org/util/gccmakedep/Makefile
new file mode 100644
index 0000000..da4c374
--- /dev/null
+++ b/X.org/util/gccmakedep/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/util
+#
+
+url         = https://www.x.org/releases/individual/util
+
+versions    = 1.0.2 1.0.3
+pkgname     = gccmakedep
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/util/imake/Makefile b/X.org/util/imake/Makefile
new file mode 100644
index 0000000..97c14b1
--- /dev/null
+++ b/X.org/util/imake/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/util
+#
+
+url         = https://www.x.org/releases/individual/util
+
+versions    = 1.0.9
+pkgname     = imake
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/util/lndir/Makefile b/X.org/util/lndir/Makefile
new file mode 100644
index 0000000..68f8e11
--- /dev/null
+++ b/X.org/util/lndir/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/util
+#
+
+url         = https://www.x.org/releases/individual/util
+
+versions    = 1.0.4
+pkgname     = lndir
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/util/makedepend/Makefile b/X.org/util/makedepend/Makefile
new file mode 100644
index 0000000..446a718
--- /dev/null
+++ b/X.org/util/makedepend/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/util
+#
+
+url         = https://www.x.org/releases/individual/util
+
+versions    = 1.0.8
+pkgname     = makedepend
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/util/util-macros/Makefile b/X.org/util/util-macros/Makefile
new file mode 100644
index 0000000..efa87f4
--- /dev/null
+++ b/X.org/util/util-macros/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/util
+#
+
+url         = https://www.x.org/releases/individual/util
+
+versions    = 1.17 1.17.1 1.18.0 1.19.0 1.19.3
+pkgname     = util-macros
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/util/xorg-cf-files/Makefile b/X.org/util/xorg-cf-files/Makefile
new file mode 100644
index 0000000..79feeb8
--- /dev/null
+++ b/X.org/util/xorg-cf-files/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/util
+#
+
+url         = https://www.x.org/releases/individual/util
+
+versions    = 1.0.4 1.0.5 1.0.6 1.0.7
+pkgname     = xorg-cf-files
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/Makefile b/X.org/xcb/Makefile
new file mode 100644
index 0000000..093852d
--- /dev/null
+++ b/X.org/xcb/Makefile
@@ -0,0 +1,34 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := libpthread-stubs    \
+           libxcb              \
+           xcb-proto           \
+           xcb-util            \
+           xcb-util-cursor     \
+           xcb-util-errors     \
+           xcb-util-image      \
+           xcb-util-keysyms    \
+           xcb-util-renderutil \
+           xcb-util-wm         \
+           xpyb
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/xcb/libpthread-stubs/Makefile b/X.org/xcb/libpthread-stubs/Makefile
new file mode 100644
index 0000000..3c9f67d
--- /dev/null
+++ b/X.org/xcb/libpthread-stubs/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 0.3 0.4
+pkgname     = libpthread-stubs
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/libxcb/Makefile b/X.org/xcb/libxcb/Makefile
new file mode 100644
index 0000000..4a56880
--- /dev/null
+++ b/X.org/xcb/libxcb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 1.15
+pkgname     = libxcb
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-proto/Makefile b/X.org/xcb/xcb-proto/Makefile
new file mode 100644
index 0000000..dcb4e56
--- /dev/null
+++ b/X.org/xcb/xcb-proto/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 1.15
+pkgname     = xcb-proto
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-util-cursor/Makefile b/X.org/xcb/xcb-util-cursor/Makefile
new file mode 100644
index 0000000..efc8cf0
--- /dev/null
+++ b/X.org/xcb/xcb-util-cursor/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 0.1.4
+pkgname     = xcb-util-cursor
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-util-errors/Makefile b/X.org/xcb/xcb-util-errors/Makefile
new file mode 100644
index 0000000..0f3612d
--- /dev/null
+++ b/X.org/xcb/xcb-util-errors/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 1.0.1
+pkgname     = xcb-util-errors
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-util-image/Makefile b/X.org/xcb/xcb-util-image/Makefile
new file mode 100644
index 0000000..7e77d4a
--- /dev/null
+++ b/X.org/xcb/xcb-util-image/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 0.4.1
+pkgname     = xcb-util-image
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-util-keysyms/Makefile b/X.org/xcb/xcb-util-keysyms/Makefile
new file mode 100644
index 0000000..ba3e890
--- /dev/null
+++ b/X.org/xcb/xcb-util-keysyms/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 0.4.1
+pkgname     = xcb-util-keysyms
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-util-renderutil/Makefile b/X.org/xcb/xcb-util-renderutil/Makefile
new file mode 100644
index 0000000..04a8717
--- /dev/null
+++ b/X.org/xcb/xcb-util-renderutil/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 0.3.10
+pkgname     = xcb-util-renderutil
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-util-wm/Makefile b/X.org/xcb/xcb-util-wm/Makefile
new file mode 100644
index 0000000..6ed4ed5
--- /dev/null
+++ b/X.org/xcb/xcb-util-wm/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 0.4.2
+pkgname     = xcb-util-wm
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xcb-util/Makefile b/X.org/xcb/xcb-util/Makefile
new file mode 100644
index 0000000..597a19d
--- /dev/null
+++ b/X.org/xcb/xcb-util/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 0.4.1
+pkgname     = xcb-util
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xcb/xpyb/Makefile b/X.org/xcb/xpyb/Makefile
new file mode 100644
index 0000000..f55fd80
--- /dev/null
+++ b/X.org/xcb/xpyb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xcb
+#
+
+url         = https://www.x.org/releases/individual/xcb
+
+versions    = 1.3.1
+pkgname     = xpyb
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xserver/Makefile b/X.org/xserver/Makefile
new file mode 100644
index 0000000..b9c34e7
--- /dev/null
+++ b/X.org/xserver/Makefile
@@ -0,0 +1,25 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := xorg-server \
+           xwayland
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/X.org/xserver/xorg-server/Makefile b/X.org/xserver/xorg-server/Makefile
new file mode 100644
index 0000000..a393310
--- /dev/null
+++ b/X.org/xserver/xorg-server/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xserver
+#
+
+url         = https://www.x.org/releases/individual/xserver
+
+versions    = 1.20.14 21.1.6 21.1.7
+pkgname     = xorg-server
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/X.org/xserver/xwayland/Makefile b/X.org/xserver/xwayland/Makefile
new file mode 100644
index 0000000..fde36c0
--- /dev/null
+++ b/X.org/xserver/xwayland/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://www.x.org/wiki
+#
+# Downloads:
+# =========
+# https://www.x.org/releases/individual/xserver
+#
+
+url         = https://www.x.org/releases/individual/xserver
+
+versions    = 21.1.4 22.1.7 22.1.8
+pkgname     = xwayland
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)