From 01d56e29257fa73252e90fe045d610b8ffd4ea9e Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 28 Dec 2013 11:25:35 +0100 Subject: [PATCH 01/22] xorg-server: update to 1.15.0 (wip). --- srcpkgs/xorg-server/template | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/srcpkgs/xorg-server/template b/srcpkgs/xorg-server/template index ab4b6837ece..9a706d8c458 100644 --- a/srcpkgs/xorg-server/template +++ b/srcpkgs/xorg-server/template @@ -1,6 +1,6 @@ # Template build file for 'xorg-server'. pkgname=xorg-server -version=1.14.5 +version=1.15.0 revision=1 build_style=gnu-configure configure_args="--enable-ipv6 --enable-xcsecurity --enable-record @@ -17,12 +17,13 @@ maintainer="Juan RP " homepage="http://xorg.freedesktop.org" license="MIT/X11, BSD" distfiles="${XORG_SITE}/xserver/${pkgname}-${version}.tar.bz2" -checksum=8d0f06bf1416487a5170318477088826a8d737d4a201e996b2dc1ecff47461d1 +checksum=613b2f2e7ee2a06d2f8e862c836dc70d319c52f1537749e027398f40086aabb8 hostmakedepends="pkg-config perl flex" -makedepends="libfl-devel damageproto inputproto>=2.2 glproto>=1.4.15 xproto>=7.0.22 +makedepends="libfl-devel damageproto inputproto>=2.2 glproto>=1.4.17 xproto>=7.0.25 dri2proto>=2.1 xf86driproto randrproto videoproto compositeproto scrnsaverproto - resourceproto>=1.2.0 xineramaproto xcmiscproto bigreqsproto libudev-devel>=183 + resourceproto>=1.2.0 xineramaproto xcmiscproto bigreqsproto dri3proto presentproto + libxshmfence-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel libudev-devel>=183 openssl-devel libX11-devel libXext-devel libdmx-devel libpciaccess-devel libXfont-devel libXmu-devel libXrender-devel libXfixes-devel libXi-devel libXaw-devel libdrm-devel libXtst-devel libXres-devel libxkbui-devel @@ -84,12 +85,12 @@ xorg-server-xvfb_package() { } xorg-server-devel_package() { - depends="libudev-devel dri2proto>=2.1 glproto xf86driproto randrproto + depends="libudev-devel dri2proto>=2.1 dri3proto presentproto glproto xf86driproto randrproto videoproto compositeproto scrnsaverproto resourceproto xineramaproto libdmx-devel libXext-devel libX11-devel libpciaccess-devel libXfont-devel libXau-devel pixman-devel libXdmcp-devel libXmu-devel libXrender-devel libXfixes-devel libXi-devel libXaw-devel libXt-devel libXpm-devel - libdrm-devel>=2.4.34" + libxshmfence-devel libdrm-devel>=2.4.34" if [ "$build_option_opengl" ]; then depends+=" MesaLib-devel" fi @@ -103,7 +104,7 @@ xorg-server-devel_package() { xorg-server_package() { # See hw/xfree86/common/xf86Module.h. Only care for the major version. - provides="xserver-abi-extension-7_1 xserver-abi-input-19_1 xserver-abi-video-14_1" + provides="xserver-abi-extension-8_1 xserver-abi-input-20_1 xserver-abi-video-15_1" depends="xkeyboard-config" pkg_install() { vmove all From 01c977c451b12a4df375c30496497601ac909d36 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 28 Dec 2013 11:37:26 +0100 Subject: [PATCH 02/22] xf86-video-intel: update to 2.99.906 for xorg-server-1.15. --- srcpkgs/xf86-video-intel/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/xf86-video-intel/template b/srcpkgs/xf86-video-intel/template index 41a74a80bd0..0c682a5e5d5 100644 --- a/srcpkgs/xf86-video-intel/template +++ b/srcpkgs/xf86-video-intel/template @@ -1,18 +1,18 @@ # Template build file for 'xf86-video-intel'. pkgname=xf86-video-intel -version=2.21.15 +version=2.99.906 revision=1 build_style=gnu-configure configure_args="--with-default-accel=sna --enable-kms-only --enable-sna" makedepends="pkg-config dri2proto>=2.6 libudev-devel>=183 libdrm-devel libpciaccess-devel libXext-devel libXfixes-devel libXv-devel libXvMC-devel - xcb-util-devel>=0.3.9 MesaLib-devel xorg-server-devel>=1.14" + xcb-util-devel>=0.3.9 MesaLib-devel xorg-server-devel>=1.15<1.16" short_desc="Xorg DDX Intel video driver" maintainer="Juan RP " homepage="http://xorg.freedesktop.org/" license="MIT" distfiles="${XORG_SITE}/driver/$pkgname-$version.tar.bz2" -checksum=7d5a140f82a72fd1cbc8a664d66c3d4eca47ee240ca4927b8a98d7af6f65d6fc +checksum=2d9343ce0257f82612ab6cb4a18ebfdcb2bc76a226d8442b2f7f210cc4f63cd6 only_for_archs="i686 x86_64" @@ -21,7 +21,7 @@ post_install() { } xf86-video-intel_package() { - depends="xserver-abi-video>=14_1 mesa-intel-dri" + depends="xserver-abi-video>=15_1 mesa-intel-dri" pkg_install() { vmove all } From 04040d0f7c350ce59bd5d9fc89b8e083a0549fa5 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:11:52 +0100 Subject: [PATCH 03/22] xf86-input-evdev: rebuild for xorg-server-1.15. --- srcpkgs/xf86-input-evdev/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/xf86-input-evdev/template b/srcpkgs/xf86-input-evdev/template index ee2ec8b2581..429caaf5287 100644 --- a/srcpkgs/xf86-input-evdev/template +++ b/srcpkgs/xf86-input-evdev/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-input-evdev'. pkgname=xf86-input-evdev version=2.8.2 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="xorg-server-devel>=1.14 mtdev-devel" +makedepends="xorg-server-devel>=1.15<1.16 mtdev-devel" short_desc="Xorg event device input driver" maintainer="Juan RP " homepage="http://xorg.freedesktop.org/" @@ -13,7 +13,7 @@ distfiles="${XORG_SITE}/driver/$pkgname-$version.tar.bz2" checksum=750461749a83bdee7771592aa5c0db5e267b18d847078a4b8622f55b04797eb3 xf86-input-evdev-devel_package() { - depends="xorg-server-devel ${sourcepkg}>=${version}" + depends="xorg-server-devel ${sourcepkg}>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/include @@ -22,7 +22,7 @@ xf86-input-evdev-devel_package() { } xf86-input-evdev_package() { - depends="xserver-abi-input-19_1" + depends="xserver-abi-input-20_1" pkg_install() { vmove all } From eb0d138947ab527a7c03179e347347bae67e95b6 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:12:44 +0100 Subject: [PATCH 04/22] xf86-input-joystick: rebuild for xorg-server-1.15. --- srcpkgs/xf86-input-joystick/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-input-joystick/template b/srcpkgs/xf86-input-joystick/template index 2bb3a5991da..13ac5ba9602 100644 --- a/srcpkgs/xf86-input-joystick/template +++ b/srcpkgs/xf86-input-joystick/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-input-joystick'. pkgname=xf86-input-joystick version=1.6.2 -revision=3 +revision=4 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="xorg-server-devel>=1.14" +makedepends="xorg-server-devel>=1.15<1.16" short_desc="Joystick Input driver for Xorg" maintainer="Juan RP " homepage="http://xorg.freedesktop.org/" @@ -25,7 +25,7 @@ xf86-input-joystick-devel_package() { } xf86-input-joystick_package() { - depends="xserver-abi-input-19_1" + depends="xserver-abi-input-20_1" pkg_install() { vmove all } From 3cb4b2da69a8aa463e809e68745c062bb1ec5405 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:13:24 +0100 Subject: [PATCH 05/22] xf86-input-synaptics: rebuild for xorg-server-1.15. --- srcpkgs/xf86-input-synaptics/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-input-synaptics/template b/srcpkgs/xf86-input-synaptics/template index 7d5b1cd37ed..8df8328cc81 100644 --- a/srcpkgs/xf86-input-synaptics/template +++ b/srcpkgs/xf86-input-synaptics/template @@ -1,11 +1,11 @@ # Template build file for 'xf86-input-synaptics'. pkgname=xf86-input-synaptics version=1.7.2 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config" makedepends="libX11-devel libXtst-devel mtdev-devel - pixman-devel libpciaccess-devel xorg-server-devel>=1.14" + pixman-devel libpciaccess-devel xorg-server-devel>=1.15<1.16" short_desc="Xorg synaptics touchpad input driver" maintainer="Juan RP " homepage="http://www.x.org/" @@ -22,7 +22,7 @@ xf86-input-synaptics-devel_package() { } xf86-input-synaptics_package() { - depends="xserver-abi-input-19_1" + depends="xserver-abi-input-20_1" pkg_install() { vmove all } From dc0cb6979173ed1426a2d98d4be14ab6e3652df4 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:13:58 +0100 Subject: [PATCH 06/22] xf86-input-vmmouse: rebuild for xorg-server-1.15. --- srcpkgs/xf86-input-vmmouse/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-input-vmmouse/template b/srcpkgs/xf86-input-vmmouse/template index 5035b319c9f..7e905ddb4c8 100644 --- a/srcpkgs/xf86-input-vmmouse/template +++ b/srcpkgs/xf86-input-vmmouse/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-input-vmmouse'. pkgname=xf86-input-vmmouse version=13.0.0 -revision=2 +revision=3 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="xorg-server-devel>=1.14" +makedepends="xorg-server-devel>=1.15<1.16" short_desc="Xorg VMware virtual mouse input driver" maintainer="Juan RP " homepage="http://xorg.freedesktop.org" @@ -18,7 +18,7 @@ post_install() { } xf86-input-vmmouse_package() { - depends="xserver-abi-input-19_1" + depends="xserver-abi-input-20_1" pkg_install() { vmove all } From 5c63f69cc170503947d1904d2ebb85419d5dfd4f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:14:33 +0100 Subject: [PATCH 07/22] xf86-input-wacom: rebuild for xorg-server-1.15. --- srcpkgs/xf86-input-wacom/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-input-wacom/template b/srcpkgs/xf86-input-wacom/template index 76e6ebf2bcd..faa573902ff 100644 --- a/srcpkgs/xf86-input-wacom/template +++ b/srcpkgs/xf86-input-wacom/template @@ -1,11 +1,11 @@ # Template build file for 'xf86-input-wacom'. pkgname=xf86-input-wacom version=0.23.0 -revision=1 +revision=2 build_style=gnu-configure configure_args="--with-xorg-conf-dir=/etc/X11/xorg.conf.d" hostmakedepends="pkg-config" -makedepends="xorg-server-devel>=1.14 libXrandr-devel libXinerama-devel libXi-devel" +makedepends="xorg-server-devel>=1.15<1.16 libXrandr-devel libXinerama-devel libXi-devel" short_desc="Xorg Wacom tablet input driver" maintainer="Juan RP " homepage="http://xorg.freedesktop.org" @@ -26,7 +26,7 @@ xf86-input-wacom-devel_package() { } xf86-input-wacom_package() { - depends="xserver-abi-input-19_1" + depends="xserver-abi-input-20_1" pkg_install() { vmove all } From bcfe72c7a5f9182fa67496db5dcd69b9cac85cc6 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:15:39 +0100 Subject: [PATCH 08/22] glamor-egl: rebuild for xorg-server-1.15. --- srcpkgs/glamor-egl/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/glamor-egl/template b/srcpkgs/glamor-egl/template index 15ab5c56a98..77a26263343 100644 --- a/srcpkgs/glamor-egl/template +++ b/srcpkgs/glamor-egl/template @@ -1,10 +1,10 @@ # Template build file for 'glamor-egl'. pkgname=glamor-egl version=0.5.1 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="automake libtool pkg-config xorg-util-macros" -makedepends="libdrm-devel MesaLib-devel xorg-server-devel>=1.14<1.15" +makedepends="libdrm-devel MesaLib-devel xorg-server-devel>=1.15<1.16" short_desc="OpenGL based 2D rendering acceleration library" maintainer="Juan RP " homepage="http://www.freedesktop.org/wiki/Software/Glamor/" @@ -29,7 +29,7 @@ glamor-egl-devel_package() { } glamor-egl_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From af712cfac93084ae956117b447e043bab82eb5fc Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:16:24 +0100 Subject: [PATCH 09/22] xf86-video-ati: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-ati/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-ati/template b/srcpkgs/xf86-video-ati/template index 9d6621bb0ab..5157a5e22f3 100644 --- a/srcpkgs/xf86-video-ati/template +++ b/srcpkgs/xf86-video-ati/template @@ -1,13 +1,13 @@ # Template build file for 'xf86-video-ati'. pkgname=xf86-video-ati version=7.2.0 -revision=2 +revision=3 build_style=gnu-configure configure_args="--enable-glamor" hostmakedepends="pkg-config" makedepends="xf86driproto libudev-devel>=183 libpciaccess-devel libdrm-devel pixman-devel MesaLib-devel>=9.0.2 glamor-egl-devel - xorg-server-devel>=1.14" + xorg-server-devel>=1.15<1.16" short_desc="Xorg ATI Radeon video driver" maintainer="Juan RP " homepage="http://xorg.freedesktop.org" @@ -17,7 +17,7 @@ checksum=f30f5efdc8d7d18d06eda7ef2f91a8b7290f1cfbf6ff26362cd47ab8969daec4 xf86-video-ati_package() { replaces="xf86-video-ati>=0" - depends="xserver-abi-video-14_1 mesa-ati-dri" + depends="xserver-abi-video-15_1 mesa-ati-dri" pkg_install() { vmove all } From a013869c5a1604c13c1c092937c957f15f1c4dc2 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:17:01 +0100 Subject: [PATCH 10/22] xf86-video-cirrus: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-cirrus/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-cirrus/template b/srcpkgs/xf86-video-cirrus/template index 9d9f0e18598..c83a429d916 100644 --- a/srcpkgs/xf86-video-cirrus/template +++ b/srcpkgs/xf86-video-cirrus/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-video-cirrus'. pkgname=xf86-video-cirrus version=1.5.2 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="xorg-server-devel>=1.14" +makedepends="xorg-server-devel>=1.15<1.16" short_desc="Xorg Cirrus Logic video driver" homepage="http://xorg.freedesktop.org" license="MIT" @@ -13,7 +13,7 @@ distfiles="${XORG_SITE}/driver/${pkgname}-${version}.tar.bz2" checksum=3361e1a65d9b84c464752fd612bdf6087622c6dd204121715366a170e5c3ccd7 xf86-video-cirrus_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From c7922b30e5e2fa8536a3a056610c1e128a695e65 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:17:38 +0100 Subject: [PATCH 11/22] xf86-video-fbdev: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-fbdev/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-fbdev/template b/srcpkgs/xf86-video-fbdev/template index 1c3e401d794..3fee7cbc2ab 100644 --- a/srcpkgs/xf86-video-fbdev/template +++ b/srcpkgs/xf86-video-fbdev/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-video-fbdev'. pkgname=xf86-video-fbdev version=0.4.4 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="xorg-server-devel>=1.14" +makedepends="xorg-server-devel>=1.15<1.16" short_desc="Xorg framebuffer video driver" homepage="http://xorg.freedesktop.org" license="MIT" @@ -17,7 +17,7 @@ if [ "$CROSS_BUILD" ]; then fi xf86-video-fbdev_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From df3c6f21edd3d631490e191207d0ae049518e9a9 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:19:06 +0100 Subject: [PATCH 12/22] xf86-video-fbturbo-git: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-fbturbo-git/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/xf86-video-fbturbo-git/template b/srcpkgs/xf86-video-fbturbo-git/template index 82b0c4d05aa..126d6212839 100644 --- a/srcpkgs/xf86-video-fbturbo-git/template +++ b/srcpkgs/xf86-video-fbturbo-git/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-video-fbturbo-git'. pkgname=xf86-video-fbturbo-git version=20131218 -revision=1 +revision=2 build_style=gnu-configure -hostmakedepends="automake libtool pkg-config xorg-util-macros xorg-server-devel" -makedepends="libXrandr-devel xorg-server-devel>=1.14" +hostmakedepends="automake libtool pkg-config xorg-util-macros xorg-server-devel>=1.15<1.16" +makedepends="libXrandr-devel xorg-server-devel>=1.15<1.16" short_desc="Xorg DDX driver for Allwinner A10/A13 and other ARM devices" homepage="http://github.com/ssvb/xf86-video-fbturbo" license="MIT, GPL" @@ -22,7 +22,7 @@ pre_configure() { } xf86-video-fbturbo-git_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From 2148bb10892f9d669eda1a237dd194e052bd9b80 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:19:26 +0100 Subject: [PATCH 13/22] xf86-video-geode: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-geode/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-geode/template b/srcpkgs/xf86-video-geode/template index d826892ae43..d2f7dda08ea 100644 --- a/srcpkgs/xf86-video-geode/template +++ b/srcpkgs/xf86-video-geode/template @@ -1,7 +1,7 @@ # Template build file for 'xf86-video-geode'. pkgname=xf86-video-geode version=2.11.14 -revision=3 +revision=4 build_style=gnu-configure short_desc="Xorg AMD Geode GX/LX video driver" maintainer="Juan RP " @@ -12,10 +12,10 @@ checksum=4c750b46c932934faa008919922f5ac8a572afcfe265ac8d7c203b8167a0cfcc # This is x86 specific. only_for_archs=i686 -makedepends="pkg-config libXv-devel libXrandr-devel xorg-server-devel>=1.14" +makedepends="pkg-config libXv-devel libXrandr-devel xorg-server-devel>=1.15<1.16" xf86-video-geode_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From 68d354fcc87c4eddb00b53552c70c92e815d8488 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:19:48 +0100 Subject: [PATCH 14/22] xf86-video-modesetting: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-modesetting/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-modesetting/template b/srcpkgs/xf86-video-modesetting/template index 98d52710e03..ff8bd838679 100644 --- a/srcpkgs/xf86-video-modesetting/template +++ b/srcpkgs/xf86-video-modesetting/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-video-modesetting'. pkgname=xf86-video-modesetting version=0.8.1 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="libdrm-devel>=2.4.37 xorg-server-devel>=1.14" +makedepends="libdrm-devel>=2.4.37 xorg-server-devel>=1.15<1.16" short_desc="X.org generic modesetting video driver" maintainer="Juan RP " homepage="http://xorg.freedesktop.org/" @@ -13,7 +13,7 @@ distfiles="${XORG_SITE}/driver/${pkgname}-${version}.tar.bz2" checksum=3ba8d8d7cb679497abc6486e2e843f8ea1582d830a27448ed4c90413e58312ca xf86-video-modesetting_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From 9bd5480209292b0122e6779e71f081b9ca9309c4 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:20:24 +0100 Subject: [PATCH 15/22] xf86-video-nouveau: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-nouveau/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-nouveau/template b/srcpkgs/xf86-video-nouveau/template index 71fe79952c5..dfc03b350f2 100644 --- a/srcpkgs/xf86-video-nouveau/template +++ b/srcpkgs/xf86-video-nouveau/template @@ -1,10 +1,10 @@ # Template build file for 'xf86-video-nouveau'. pkgname=xf86-video-nouveau version=1.0.10 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="libudev-devel>=183 libdrm-devel xorg-server-devel>=1.14" +makedepends="libudev-devel>=183 libdrm-devel xorg-server-devel>=1.15<1.16" short_desc="Xorg opensource NVIDIA video driver" maintainer="Juan RP " homepage="http://nouveau.freedesktop.org/wiki/" @@ -13,7 +13,7 @@ distfiles="http://xorg.freedesktop.org/archive/individual/driver/${pkgname}-${ve checksum=c1bab3160bae96d485fc93a048d19775398aa85b407bac53020675f7e995db9d xf86-video-nouveau_package() { - depends="xserver-abi-video-14_1 mesa-nouveau-dri" + depends="xserver-abi-video-15_1 mesa-nouveau-dri" pkg_install() { vmove all } From 353653290f8edb36e81e42aa4232385a6ed4196d Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:20:54 +0100 Subject: [PATCH 16/22] xf86-video-openchrome: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-openchrome/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-openchrome/template b/srcpkgs/xf86-video-openchrome/template index 38ba061efb0..1e882c23407 100644 --- a/srcpkgs/xf86-video-openchrome/template +++ b/srcpkgs/xf86-video-openchrome/template @@ -1,12 +1,12 @@ # Template build file for 'xf86-video-openchrome'. pkgname=xf86-video-openchrome version=0.3.1 -revision=3 +revision=4 only_for_archs=i686 build_style=gnu-configure hostmakedepends="pkg-config" makedepends="libdrm-devel libX11-devel libXext-devel libXv-devel libXvMC-devel - MesaLib-devel xorg-server-devel>=1.14" + MesaLib-devel xorg-server-devel>=1.15<1.16" short_desc="Xorg VIA Unichromes video driver" homepage="http://xorg.freedesktop.org" license="MIT" @@ -15,7 +15,7 @@ distfiles="${XORG_SITE}/driver/${pkgname}-${version}.tar.bz2" checksum=eb459a86e20fa090577315a0d9964bf3f94abc5241c5408453f326eaf8915ce7 xf86-video-openchrome_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From 2575ef8e80e3462810d2a01e27f2cd019fc44da0 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:21:25 +0100 Subject: [PATCH 17/22] xf86-video-sisusb: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-sisusb/template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-sisusb/template b/srcpkgs/xf86-video-sisusb/template index 1b6ac6b3eef..8db23c75b16 100644 --- a/srcpkgs/xf86-video-sisusb/template +++ b/srcpkgs/xf86-video-sisusb/template @@ -1,9 +1,10 @@ # Template build file for 'xf86-video-sisusb'. pkgname=xf86-video-sisusb version=0.9.6 -revision=3 +revision=4 build_style=gnu-configure -makedepends="pkg-config xorg-server-devel>=1.14" +hostmakedepends="pkg-config" +makedepends="xorg-server-devel>=1.15<1.16" short_desc="Xorg SiS USB video driver" homepage="http://xorg.freedesktop.org/" license="Custom" @@ -16,7 +17,7 @@ long_desc=" that are connected via a Net2280-based USB dongle for the Xorg X11 server." xf86-video-sisusb_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From 2e1f2b7c3d375a74df0142f85fc90c799f7d45ea Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:22:02 +0100 Subject: [PATCH 18/22] xf86-video-vesa: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-vesa/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-vesa/template b/srcpkgs/xf86-video-vesa/template index d50252743bd..a4d8a592e0f 100644 --- a/srcpkgs/xf86-video-vesa/template +++ b/srcpkgs/xf86-video-vesa/template @@ -2,10 +2,10 @@ pkgname=xf86-video-vesa version="2:2.3.3" wrksrc="${pkgname}-${version#*:}" -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config" -makedepends="xorg-server-devel>=1.14" +makedepends="xorg-server-devel>=1.15<1.16" short_desc="Xorg VESA video driver" homepage="http://xorg.freedesktop.org" license="MIT" @@ -18,7 +18,7 @@ if [ "$CROSS_BUILD" ]; then fi xf86-video-vesa_package() { - depends="xserver-abi-video-14_1" + depends="xserver-abi-video-15_1" pkg_install() { vmove all } From 85559bc948b495db45a42731617310f320540195 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:22:32 +0100 Subject: [PATCH 19/22] xf86-video-vmware: rebuild for xorg-server-1.15. --- srcpkgs/xf86-video-vmware/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xf86-video-vmware/template b/srcpkgs/xf86-video-vmware/template index cd3c32be87e..a0ef9dadccd 100644 --- a/srcpkgs/xf86-video-vmware/template +++ b/srcpkgs/xf86-video-vmware/template @@ -1,12 +1,12 @@ # Template build file for 'xf86-video-vmware'. pkgname=xf86-video-vmware version=13.0.1 -revision=3 +revision=4 only_for_archs="i686 x86_64" build_style=gnu-configure configure_args="--enable-vmwarectrl-client" hostmakedepends="automake libtool pkg-config xorg-util-macros" -makedepends="libdrm-devel MesaLib-devel>=10.0.0_2 xorg-server-devel>=1.14" +makedepends="libdrm-devel MesaLib-devel>=10.0.0_2 xorg-server-devel>=1.15<1.16" short_desc="Modular Xorg VMware virtual video driver" maintainer="Juan RP " homepage="http://xorg.freedesktop.org" @@ -19,7 +19,7 @@ pre_configure() { } xf86-video-vmware_package() { - depends="xserver-abi-video-14_1 mesa-vmwgfx-dri" + depends="xserver-abi-video-15_1 mesa-vmwgfx-dri" pkg_install() { vmove all } From 365868ccdce11276d826b1da2eaedc4bbf48c31b Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:25:43 +0100 Subject: [PATCH 20/22] xf86-video-vmware: update patch for xorg-server-1.15. --- ...bea5fc32eacb7bf42639efbd45dcd43e7ab5.patch | 179 -- .../patches/xatracker-v2-fixes.patch | 1583 +++++++++++++++++ srcpkgs/xf86-video-vmware/template | 1 + 3 files changed, 1584 insertions(+), 179 deletions(-) delete mode 100644 srcpkgs/xf86-video-vmware/patches/0945bea5fc32eacb7bf42639efbd45dcd43e7ab5.patch create mode 100644 srcpkgs/xf86-video-vmware/patches/xatracker-v2-fixes.patch diff --git a/srcpkgs/xf86-video-vmware/patches/0945bea5fc32eacb7bf42639efbd45dcd43e7ab5.patch b/srcpkgs/xf86-video-vmware/patches/0945bea5fc32eacb7bf42639efbd45dcd43e7ab5.patch deleted file mode 100644 index 91304d64f9b..00000000000 --- a/srcpkgs/xf86-video-vmware/patches/0945bea5fc32eacb7bf42639efbd45dcd43e7ab5.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 0945bea5fc32eacb7bf42639efbd45dcd43e7ab5 Mon Sep 17 00:00:00 2001 -From: Rob Clark -Date: Mon, 10 Jun 2013 17:31:31 +0000 -Subject: vmwgfx: update for XA API changes - -Signed-off-by: Rob Clark -Signed-off-by: Jakob Bornecrantz -Reviewed-by: Jakob Bornecrantz -Tested-by: Jakob Bornecrantz ---- -diff --git a/configure.ac b/configure.ac -index 0631bcc..dccfb27 100644 ---- configure.ac -+++ configure.ac -@@ -118,7 +118,7 @@ if test x$BUILD_VMWGFX = xyes; then - PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no]) - fi - if test x$BUILD_VMWGFX = xyes; then -- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],[],[BUILD_VMWGFX=no]) -+ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no]) - fi - - DRIVER_NAME=vmware -diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c -index 7de0772..2f007f0 100644 ---- vmwgfx/vmwgfx_dri2.c -+++ vmwgfx/vmwgfx_dri2.c -@@ -201,7 +201,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for - } - - private->srf = srf; -- if (xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0) -+ if (xa_surface_handle(srf, xa_handle_type_shared, -+ &buffer->name, &buffer->pitch) != 0) - return FALSE; - - buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8; -@@ -222,7 +223,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer) - struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap); - - if (--private->refcount == 0 && srf) { -- xa_surface_destroy(srf); -+ xa_surface_unref(srf); - } - - /* -diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c -index 7863ba2..3002285 100644 ---- vmwgfx/vmwgfx_driver.c -+++ vmwgfx/vmwgfx_driver.c -@@ -617,7 +617,8 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd, - return FALSE; - } - -- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) { -+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared, -+ &handle, &dummy) != 0) { - LogMessage(X_ERROR, "Could not get present surface handle.\n"); - return FALSE; - } -diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c -index 63df3a1..ed3c1ee 100644 ---- vmwgfx/vmwgfx_saa.c -+++ vmwgfx/vmwgfx_saa.c -@@ -140,7 +140,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix) - vpix->malloc = NULL; - } - if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) { -- xa_surface_destroy(vpix->hw); -+ xa_surface_unref(vpix->hw); - vpix->hw = NULL; - } - if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) { -@@ -286,7 +286,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa, - if (vpix->gmr && vsaa->can_optimize_dma) { - uint32_t handle, dummy; - -- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) -+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared, -+ &handle, &dummy) != 0) - goto out_err; - if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle, - to_hw) != 0) -@@ -305,6 +306,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa, - (int) to_hw, - (struct xa_box *) REGION_RECTS(reg), - REGION_NUM_RECTS(reg)); -+ if (to_hw) -+ xa_context_flush(vsaa->xa_ctx); - if (vpix->gmr) - vmwgfx_dmabuf_unmap(vpix->gmr); - if (ret) -@@ -441,7 +444,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa, - &spix->dirty_hw)) - return FALSE; - -- xa_surface_destroy(vpix->hw); -+ xa_surface_unref(vpix->hw); - vpix->hw = NULL; - - /* -@@ -683,7 +686,8 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa, - - (void) pScreen; - if (src_vpix == dst_vpix || !src_vpix->hw || -- xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0) -+ xa_surface_handle(src_vpix->hw, xa_handle_type_shared, -+ &vsaa->src_handle, &dummy) != 0) - return FALSE; - - REGION_NULL(pScreen, &vsaa->present_region); -@@ -784,7 +788,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa, - return TRUE; - - out_no_damage: -- xa_surface_destroy(hw); -+ xa_surface_unref(hw); - return FALSE; - } - -@@ -929,6 +933,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver, - - if (!vmwgfx_hw_validate(src_pixmap, src_reg)) { - xa_copy_done(vsaa->xa_ctx); -+ xa_context_flush(vsaa->xa_ctx); - return FALSE; - } - -@@ -1029,6 +1034,7 @@ vmwgfx_copy_done(struct saa_driver *driver) - return; - } - xa_copy_done(vsaa->xa_ctx); -+ xa_context_flush(vsaa->xa_ctx); - } - - static Bool -@@ -1175,6 +1181,7 @@ vmwgfx_composite_done(struct saa_driver *driver) - struct vmwgfx_saa *vsaa = to_vmwgfx_saa(driver); - - xa_composite_done(vsaa->xa_ctx); -+ xa_context_flush(vsaa->xa_ctx); - } - - static void -@@ -1436,7 +1443,8 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry) - */ - if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL)) - goto out_err; -- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) -+ if (xa_surface_handle(vpix->hw, xa_handle_type_shared, -+ &handle, &dummy) != 0) - goto out_err; - depth = xa_format_depth(xa_surface_format(vpix->hw)); - -diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c -index 449266b..2971ed7 100644 ---- vmwgfx/vmwgfx_tex_video.c -+++ vmwgfx/vmwgfx_tex_video.c -@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown) - - for (i=0; i<3; ++i) { - if (priv->yuv[i]) { -- xa_surface_destroy(priv->yuv[i]); -+ xa_surface_unref(priv->yuv[i]); - priv->yuv[i] = NULL; - } - for (j=0; j<2; ++j) { -@@ -539,7 +539,8 @@ copy_packed_data(ScrnInfoPtr pScrn, - REGION_RESET(pScrn->pScreen, ®, &box); - } - -- if (xa_surface_handle(srf, &handle, &stride) != 0) { -+ if (xa_surface_handle(srf, xa_handle_type_shared, -+ &handle, &stride) != 0) { - ret = BadAlloc; - break; - } --- -cgit v0.9.0.2-2-gbebe diff --git a/srcpkgs/xf86-video-vmware/patches/xatracker-v2-fixes.patch b/srcpkgs/xf86-video-vmware/patches/xatracker-v2-fixes.patch new file mode 100644 index 00000000000..9b8ed54a59b --- /dev/null +++ b/srcpkgs/xf86-video-vmware/patches/xatracker-v2-fixes.patch @@ -0,0 +1,1583 @@ +From 0945bea5fc32eacb7bf42639efbd45dcd43e7ab5 Mon Sep 17 00:00:00 2001 +From: Rob Clark +Date: Mon, 10 Jun 2013 13:31:31 -0400 +Subject: [PATCH 01/11] vmwgfx: update for XA API changes + +Signed-off-by: Rob Clark +Signed-off-by: Jakob Bornecrantz +Reviewed-by: Jakob Bornecrantz +Tested-by: Jakob Bornecrantz +--- + configure.ac | 2 +- + vmwgfx/vmwgfx_dri2.c | 5 +++-- + vmwgfx/vmwgfx_driver.c | 3 ++- + vmwgfx/vmwgfx_saa.c | 20 ++++++++++++++------ + vmwgfx/vmwgfx_tex_video.c | 5 +++-- + 5 files changed, 23 insertions(+), 12 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0631bcc..dccfb27 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -118,7 +118,7 @@ if test x$BUILD_VMWGFX = xyes; then + PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no]) + fi + if test x$BUILD_VMWGFX = xyes; then +- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0],[],[BUILD_VMWGFX=no]) ++ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no]) + fi + + DRIVER_NAME=vmware +diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c +index 7de0772..2f007f0 100644 +--- a/vmwgfx/vmwgfx_dri2.c ++++ b/vmwgfx/vmwgfx_dri2.c +@@ -201,7 +201,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for + } + + private->srf = srf; +- if (xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0) ++ if (xa_surface_handle(srf, xa_handle_type_shared, ++ &buffer->name, &buffer->pitch) != 0) + return FALSE; + + buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8; +@@ -222,7 +223,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer) + struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap); + + if (--private->refcount == 0 && srf) { +- xa_surface_destroy(srf); ++ xa_surface_unref(srf); + } + + /* +diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c +index 7863ba2..3002285 100644 +--- a/vmwgfx/vmwgfx_driver.c ++++ b/vmwgfx/vmwgfx_driver.c +@@ -617,7 +617,8 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd, + return FALSE; + } + +- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) { ++ if (xa_surface_handle(vpix->hw, xa_handle_type_shared, ++ &handle, &dummy) != 0) { + LogMessage(X_ERROR, "Could not get present surface handle.\n"); + return FALSE; + } +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index 63df3a1..ed3c1ee 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -140,7 +140,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix) + vpix->malloc = NULL; + } + if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) { +- xa_surface_destroy(vpix->hw); ++ xa_surface_unref(vpix->hw); + vpix->hw = NULL; + } + if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) { +@@ -286,7 +286,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa, + if (vpix->gmr && vsaa->can_optimize_dma) { + uint32_t handle, dummy; + +- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) ++ if (xa_surface_handle(vpix->hw, xa_handle_type_shared, ++ &handle, &dummy) != 0) + goto out_err; + if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle, + to_hw) != 0) +@@ -305,6 +306,8 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa, + (int) to_hw, + (struct xa_box *) REGION_RECTS(reg), + REGION_NUM_RECTS(reg)); ++ if (to_hw) ++ xa_context_flush(vsaa->xa_ctx); + if (vpix->gmr) + vmwgfx_dmabuf_unmap(vpix->gmr); + if (ret) +@@ -441,7 +444,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa, + &spix->dirty_hw)) + return FALSE; + +- xa_surface_destroy(vpix->hw); ++ xa_surface_unref(vpix->hw); + vpix->hw = NULL; + + /* +@@ -683,7 +686,8 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa, + + (void) pScreen; + if (src_vpix == dst_vpix || !src_vpix->hw || +- xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0) ++ xa_surface_handle(src_vpix->hw, xa_handle_type_shared, ++ &vsaa->src_handle, &dummy) != 0) + return FALSE; + + REGION_NULL(pScreen, &vsaa->present_region); +@@ -784,7 +788,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa, + return TRUE; + + out_no_damage: +- xa_surface_destroy(hw); ++ xa_surface_unref(hw); + return FALSE; + } + +@@ -929,6 +933,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver, + + if (!vmwgfx_hw_validate(src_pixmap, src_reg)) { + xa_copy_done(vsaa->xa_ctx); ++ xa_context_flush(vsaa->xa_ctx); + return FALSE; + } + +@@ -1029,6 +1034,7 @@ vmwgfx_copy_done(struct saa_driver *driver) + return; + } + xa_copy_done(vsaa->xa_ctx); ++ xa_context_flush(vsaa->xa_ctx); + } + + static Bool +@@ -1175,6 +1181,7 @@ vmwgfx_composite_done(struct saa_driver *driver) + struct vmwgfx_saa *vsaa = to_vmwgfx_saa(driver); + + xa_composite_done(vsaa->xa_ctx); ++ xa_context_flush(vsaa->xa_ctx); + } + + static void +@@ -1436,7 +1443,8 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry) + */ + if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL)) + goto out_err; +- if (xa_surface_handle(vpix->hw, &handle, &dummy) != 0) ++ if (xa_surface_handle(vpix->hw, xa_handle_type_shared, ++ &handle, &dummy) != 0) + goto out_err; + depth = xa_format_depth(xa_surface_format(vpix->hw)); + +diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c +index 449266b..2971ed7 100644 +--- a/vmwgfx/vmwgfx_tex_video.c ++++ b/vmwgfx/vmwgfx_tex_video.c +@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown) + + for (i=0; i<3; ++i) { + if (priv->yuv[i]) { +- xa_surface_destroy(priv->yuv[i]); ++ xa_surface_unref(priv->yuv[i]); + priv->yuv[i] = NULL; + } + for (j=0; j<2; ++j) { +@@ -539,7 +539,8 @@ copy_packed_data(ScrnInfoPtr pScrn, + REGION_RESET(pScrn->pScreen, ®, &box); + } + +- if (xa_surface_handle(srf, &handle, &stride) != 0) { ++ if (xa_surface_handle(srf, xa_handle_type_shared, ++ &handle, &stride) != 0) { + ret = BadAlloc; + break; + } +-- +1.8.5.1 + + +From 835ce4698f916ba080f4132988fd4caf898e0b1e Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Thu, 26 Sep 2013 01:25:33 -0700 +Subject: [PATCH 02/11] vmwgfx: Avoid HW operations when not master + +Note that for DRI2, a dri2_copy_region becomes a NOP when not master. +Additionally, all dri2 operations that lead to a potential kernel +access will return FALSE. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +--- + vmwgfx/vmwgfx_dri2.c | 13 +++++++++++++ + vmwgfx/vmwgfx_driver.c | 3 +++ + vmwgfx/vmwgfx_saa.c | 44 +++++++++++++++++++++++++++++++++++++++++++- + vmwgfx/vmwgfx_saa.h | 8 ++++++++ + vmwgfx/vmwgfx_saa_priv.h | 2 ++ + vmwgfx/vmwgfx_xa_surface.c | 6 ++++++ + 6 files changed, 75 insertions(+), 1 deletion(-) + +diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c +index 2f007f0..57f2d9d 100644 +--- a/vmwgfx/vmwgfx_dri2.c ++++ b/vmwgfx/vmwgfx_dri2.c +@@ -138,6 +138,8 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for + return TRUE; + case DRI2BufferStencil: + case DRI2BufferDepthStencil: ++ if (!pScrn->vtSema) ++ return FALSE; + + depth = (format) ? vmwgfx_zs_format_to_depth(format) : 32; + +@@ -155,6 +157,9 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for + + break; + case DRI2BufferDepth: ++ if (!pScrn->vtSema) ++ return FALSE; ++ + depth = (format) ? vmwgfx_z_format_to_depth(format) : + pDraw->bitsPerPixel; + +@@ -291,6 +296,14 @@ dri2_copy_region(DrawablePtr pDraw, RegionPtr pRegion, + DrawablePtr dst_draw; + RegionPtr myClip; + GCPtr gc; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); ++ ++ /* ++ * This is a fragile protection against HW operations when not master. ++ * Needs to be blocked higher up in the dri2 code. ++ */ ++ if (!pScrn->vtSema) ++ return; + + /* + * In driCreateBuffers we dewrap windows into the +diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c +index 3002285..eeaea4b 100644 +--- a/vmwgfx/vmwgfx_driver.c ++++ b/vmwgfx/vmwgfx_driver.c +@@ -1116,6 +1116,7 @@ drv_leave_vt(VT_FUNC_ARGS_DECL) + + vmwgfx_cursor_bypass(ms->fd, 0, 0); + vmwgfx_disable_scanout(pScrn); ++ vmwgfx_saa_drop_master(pScrn->pScreen); + + if (drmDropMaster(ms->fd)) + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, +@@ -1136,6 +1137,8 @@ drv_enter_vt(VT_FUNC_ARGS_DECL) + if (!drv_set_master(pScrn)) + return FALSE; + ++ vmwgfx_saa_set_master(pScrn->pScreen); ++ + if (!xf86SetDesiredModes(pScrn)) + return FALSE; + +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index ed3c1ee..5534ca3 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -423,6 +423,7 @@ vmwgfx_create_pixmap(struct saa_driver *driver, struct saa_pixmap *spix, + + WSBMINITLISTHEAD(&vpix->sync_x_head); + WSBMINITLISTHEAD(&vpix->scanout_list); ++ WSBMINITLISTHEAD(&vpix->pixmap_list); + + return TRUE; + } +@@ -499,6 +500,7 @@ vmwgfx_destroy_pixmap(struct saa_driver *driver, PixmapPtr pixmap) + */ + + vmwgfx_pixmap_remove_present(vpix); ++ WSBMLISTDELINIT(&vpix->pixmap_list); + WSBMLISTDELINIT(&vpix->sync_x_head); + + if (vpix->hw_is_dri2_fronts) +@@ -627,6 +629,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth, + int bpp, int devkind, void *pixdata) + { + struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap); ++ ScreenPtr pScreen = pixmap->drawable.pScreen; ++ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen)); + unsigned int old_height; + unsigned int old_width; + unsigned int old_pitch; +@@ -670,6 +674,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth, + + vmwgfx_pix_resize(pixmap, old_pitch, old_height, old_width); + vmwgfx_pixmap_free_storage(vpix); ++ WSBMLISTADDTAIL(&vpix->pixmap_list, &vsaa->pixmaps); ++ + return TRUE; + + out_no_modify: +@@ -860,7 +866,7 @@ vmwgfx_copy_prepare(struct saa_driver *driver, + Bool has_valid_hw; + + if (!vsaa->xat || !SAA_PM_IS_SOLID(&dst_pixmap->drawable, plane_mask) || +- alu != GXcopy) ++ alu != GXcopy || !vsaa->is_master) + return FALSE; + + src_vpix = vmwgfx_saa_pixmap(src_pixmap); +@@ -1057,6 +1063,9 @@ vmwgfx_composite_prepare(struct saa_driver *driver, CARD8 op, + RegionRec empty; + struct xa_composite *xa_comp; + ++ if (!vsaa->is_master) ++ return FALSE; ++ + REGION_NULL(pScreen, &empty); + + /* +@@ -1367,7 +1376,9 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat, + vsaa->use_present_opt = direct_presents; + vsaa->only_hw_presents = only_hw_presents; + vsaa->rendercheck = rendercheck; ++ vsaa->is_master = TRUE; + WSBMINITLISTHEAD(&vsaa->sync_x_list); ++ WSBMINITLISTHEAD(&vsaa->pixmaps); + + vsaa->driver = vmwgfx_saa_driver; + vsaa->vcomp = vmwgfx_alloc_composite(); +@@ -1518,3 +1529,34 @@ vmwgfx_scanout_unref(struct vmwgfx_screen_entry *entry) + entry->pixmap = NULL; + pixmap->drawable.pScreen->DestroyPixmap(pixmap); + } ++ ++void ++vmwgfx_saa_set_master(ScreenPtr pScreen) ++{ ++ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen)); ++ ++ vsaa->is_master = TRUE; ++} ++ ++void ++vmwgfx_saa_drop_master(ScreenPtr pScreen) ++{ ++ struct vmwgfx_saa *vsaa = to_vmwgfx_saa(saa_get_driver(pScreen)); ++ struct _WsbmListHead *list; ++ struct vmwgfx_saa_pixmap *vpix; ++ struct saa_pixmap *spix; ++ ++ WSBMLISTFOREACH(list, &vsaa->pixmaps) { ++ vpix = WSBMLISTENTRY(list, struct vmwgfx_saa_pixmap, pixmap_list); ++ spix = &vpix->base; ++ ++ if (!vpix->hw) ++ continue; ++ ++ (void) vmwgfx_download_from_hw(&vsaa->driver, spix->pixmap, ++ &spix->dirty_hw); ++ REGION_EMPTY(draw->pScreen, &spix->dirty_hw); ++ } ++ ++ vsaa->is_master = FALSE; ++} +diff --git a/vmwgfx/vmwgfx_saa.h b/vmwgfx/vmwgfx_saa.h +index bb8ec96..d8aa3d3 100644 +--- a/vmwgfx/vmwgfx_saa.h ++++ b/vmwgfx/vmwgfx_saa.h +@@ -54,6 +54,7 @@ struct vmwgfx_saa_pixmap { + int hw_is_dri2_fronts; + struct _WsbmListHead sync_x_head; + struct _WsbmListHead scanout_list; ++ struct _WsbmListHead pixmap_list; + + uint32_t xa_flags; + uint32_t staging_add_flags; +@@ -107,4 +108,11 @@ Bool + vmwgfx_hw_accel_validate(PixmapPtr pixmap, unsigned int depth, + uint32_t add_flags, uint32_t remove_flags, + RegionPtr region); ++ ++void ++vmwgfx_saa_set_master(ScreenPtr pScreen); ++ ++void ++vmwgfx_saa_drop_master(ScreenPtr pScreen); ++ + #endif +diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h +index 5f46dee..16583b0 100644 +--- a/vmwgfx/vmwgfx_saa_priv.h ++++ b/vmwgfx/vmwgfx_saa_priv.h +@@ -54,8 +54,10 @@ struct vmwgfx_saa { + Bool use_present_opt; + Bool only_hw_presents; + Bool rendercheck; ++ Bool is_master; + void (*present_flush) (ScreenPtr pScreen); + struct _WsbmListHead sync_x_list; ++ struct _WsbmListHead pixmaps; + struct vmwgfx_composite *vcomp; + }; + +diff --git a/vmwgfx/vmwgfx_xa_surface.c b/vmwgfx/vmwgfx_xa_surface.c +index 8b30e45..2f23c57 100644 +--- a/vmwgfx/vmwgfx_xa_surface.c ++++ b/vmwgfx/vmwgfx_xa_surface.c +@@ -362,6 +362,12 @@ vmwgfx_hw_accel_validate(PixmapPtr pixmap, unsigned int depth, + Bool + vmwgfx_hw_dri2_validate(PixmapPtr pixmap, unsigned int depth) + { ++ struct vmwgfx_saa *vsaa = ++ to_vmwgfx_saa(saa_get_driver(pixmap->drawable.pScreen)); ++ ++ if (!vsaa->is_master) ++ return FALSE; ++ + return (vmwgfx_hw_dri2_stage(pixmap, depth) && + vmwgfx_hw_commit(pixmap) && + vmwgfx_hw_validate(pixmap, NULL)); +-- +1.8.5.1 + + +From 7192acf9f0bf8e7176ab0b803b861a858623f709 Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Wed, 19 Sep 2012 20:36:57 +0200 +Subject: [PATCH 03/11] vmwgfx: Implement textured video completely on top of + XA. + +Remove device-specific hacks. This may increase resource usage a little +on old hardware revisions, but we don't need separate code paths on +different hardware revisions. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Zack Rusin +--- + vmwgfx/vmwgfx_tex_video.c | 109 ++++++---------------------------------------- + 1 file changed, 14 insertions(+), 95 deletions(-) + +diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c +index 2971ed7..a0a4f4a 100644 +--- a/vmwgfx/vmwgfx_tex_video.c ++++ b/vmwgfx/vmwgfx_tex_video.c +@@ -111,8 +111,7 @@ struct xorg_xv_port_priv { + int hue; + + int current_set; +- struct vmwgfx_dmabuf *bounce[2][3]; +- struct xa_surface *yuv[3]; ++ struct xa_surface *yuv[2][3]; + + int drm_fd; + +@@ -198,14 +197,10 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown) + priv->fence = NULL; + + for (i=0; i<3; ++i) { +- if (priv->yuv[i]) { +- xa_surface_unref(priv->yuv[i]); +- priv->yuv[i] = NULL; +- } + for (j=0; j<2; ++j) { +- if (priv->bounce[j][i]) { +- vmwgfx_dmabuf_destroy(priv->bounce[j][i]); +- priv->bounce[0][i] = NULL; ++ if (priv->yuv[i]) { ++ xa_surface_unref(priv->yuv[j][i]); ++ priv->yuv[j][i] = NULL; + } + } + } +@@ -297,11 +292,9 @@ static int + check_yuv_surfaces(struct xorg_xv_port_priv *priv, int id, + int width, int height) + { +- struct xa_surface **yuv = priv->yuv; +- struct vmwgfx_dmabuf **bounce = priv->bounce[priv->current_set]; ++ struct xa_surface **yuv = priv->yuv[priv->current_set]; + int ret = 0; + int i; +- size_t size; + + for (i=0; i<3; ++i) { + +@@ -334,19 +327,6 @@ check_yuv_surfaces(struct xorg_xv_port_priv *priv, int id, + if (ret || !yuv[i]) + return BadAlloc; + +- size = width * height; +- +- if (bounce[i] && (bounce[i]->size < size || +- bounce[i]->size > 2*size)) { +- vmwgfx_dmabuf_destroy(bounce[i]); +- bounce[i] = NULL; +- } +- +- if (!bounce[i]) { +- bounce[i] = vmwgfx_dmabuf_alloc(priv->drm_fd, size); +- if (!bounce[i]) +- return BadAlloc; +- } + } + return Success; + } +@@ -413,28 +393,20 @@ copy_packed_data(ScrnInfoPtr pScrn, + unsigned short w, unsigned short h) + { + int i; +- struct vmwgfx_dmabuf **bounce = port->bounce[port->current_set]; ++ struct xa_surface **yuv = port->yuv[port->current_set]; + char *ymap, *vmap, *umap; + unsigned char y1, y2, u, v; + int yidx, uidx, vidx; + int y_array_size = w * h; + int ret = BadAlloc; + +- /* +- * Here, we could use xa_surface_[map|unmap], but given the size of +- * the yuv textures, that could stress the xa tracker dma buffer pool, +- * particularaly with multiple videos rendering simultaneously. +- * +- * Instead, cheat and allocate vmwgfx dma buffers directly. +- */ +- +- ymap = (char *)vmwgfx_dmabuf_map(bounce[0]); ++ ymap = xa_surface_map(port->r, yuv[0], XA_MAP_WRITE); + if (!ymap) + return BadAlloc; +- umap = (char *)vmwgfx_dmabuf_map(bounce[1]); ++ umap = xa_surface_map(port->r, yuv[1], XA_MAP_WRITE); + if (!umap) + goto out_no_umap; +- vmap = (char *)vmwgfx_dmabuf_map(bounce[2]); ++ vmap = xa_surface_map(port->r, yuv[2], XA_MAP_WRITE); + if (!vmap) + goto out_no_vmap; + +@@ -493,65 +465,11 @@ copy_packed_data(ScrnInfoPtr pScrn, + } + + ret = Success; +- vmwgfx_dmabuf_unmap(bounce[2]); ++ xa_surface_unmap(yuv[2]); + out_no_vmap: +- vmwgfx_dmabuf_unmap(bounce[1]); ++ xa_surface_unmap(yuv[1]); + out_no_umap: +- vmwgfx_dmabuf_unmap(bounce[0]); +- +- if (ret == Success) { +- struct xa_surface *srf; +- struct vmwgfx_dmabuf *buf; +- uint32_t handle; +- unsigned int stride; +- BoxRec box; +- RegionRec reg; +- +- box.x1 = 0; +- box.x2 = w; +- box.y1 = 0; +- box.y2 = h; +- +- REGION_INIT(pScrn->pScreen, ®, &box, 1); +- +- for (i=0; i<3; ++i) { +- srf = port->yuv[i]; +- buf = bounce[i]; +- +- if (i == 1) { +- switch(id) { +- case FOURCC_YV12: +- h /= 2; +- /* Fall through */ +- case FOURCC_YUY2: +- case FOURCC_UYVY: +- w /= 2; +- break; +- default: +- break; +- } +- +- box.x1 = 0; +- box.x2 = w; +- box.y1 = 0; +- box.y2 = h; +- +- REGION_RESET(pScrn->pScreen, ®, &box); +- } +- +- if (xa_surface_handle(srf, xa_handle_type_shared, +- &handle, &stride) != 0) { +- ret = BadAlloc; +- break; +- } +- +- if (vmwgfx_dma(0, 0, ®, buf, w, handle, 1) != 0) { +- ret = BadAlloc; +- break; +- } +- } +- REGION_UNINIT(pScrn->pScreen, ®); +- } ++ xa_surface_unmap(yuv[0]); + + return ret; + } +@@ -610,7 +528,8 @@ display_video(ScreenPtr pScreen, struct xorg_xv_port_priv *pPriv, int id, + (struct xa_box *)REGION_RECTS(dstRegion), + REGION_NUM_RECTS(dstRegion), + pPriv->cm, +- vpix->hw, pPriv->yuv); ++ vpix->hw, ++ pPriv->yuv[pPriv->current_set ]); + + saa_pixmap_dirty(pPixmap, TRUE, dstRegion); + DamageRegionProcessPending(&pPixmap->drawable); +-- +1.8.5.1 + + +From 45b2457516a9db4bd1d60fbb24a1efbe2d9dd932 Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Wed, 19 Sep 2012 21:50:40 +0200 +Subject: [PATCH 04/11] vmwgfx: Get rid of device-specific DMA code + +It's rarely used and things seem to work well enough on top of XA. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Zack Rusin +--- + vmwgfx/vmwgfx_drmi.c | 103 ----------------------------------------------- + vmwgfx/vmwgfx_drmi.h | 5 --- + vmwgfx/vmwgfx_saa.c | 53 ++++++++++++------------ + vmwgfx/vmwgfx_saa_priv.h | 1 - + 4 files changed, 26 insertions(+), 136 deletions(-) + +diff --git a/vmwgfx/vmwgfx_drmi.c b/vmwgfx/vmwgfx_drmi.c +index 496a16b..1e23f4a 100644 +--- a/vmwgfx/vmwgfx_drmi.c ++++ b/vmwgfx/vmwgfx_drmi.c +@@ -284,109 +284,6 @@ vmwgfx_dmabuf_destroy(struct vmwgfx_dmabuf *buf) + } + + int +-vmwgfx_dma(unsigned int host_x, unsigned int host_y, +- RegionPtr region, struct vmwgfx_dmabuf *buf, +- uint32_t buf_pitch, uint32_t surface_handle, int to_surface) +-{ +- BoxPtr clips = REGION_RECTS(region); +- unsigned int num_clips = REGION_NUM_RECTS(region); +- struct drm_vmw_execbuf_arg arg; +- struct drm_vmw_fence_rep rep; +- int ret; +- unsigned int size; +- unsigned i; +- SVGA3dCopyBox *cb; +- SVGA3dCmdSurfaceDMASuffix *suffix; +- SVGA3dCmdSurfaceDMA *body; +- struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf); +- +- struct { +- SVGA3dCmdHeader header; +- SVGA3dCmdSurfaceDMA body; +- SVGA3dCopyBox cb; +- } *cmd; +- +- if (num_clips == 0) +- return 0; +- +- size = sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cb) + +- sizeof(*suffix); +- cmd = malloc(size); +- if (!cmd) +- return -1; +- +- cmd->header.id = SVGA_3D_CMD_SURFACE_DMA; +- cmd->header.size = sizeof(cmd->body) + num_clips * sizeof(cmd->cb) + +- sizeof(*suffix); +- cb = &cmd->cb; +- +- suffix = (SVGA3dCmdSurfaceDMASuffix *) &cb[num_clips]; +- suffix->suffixSize = sizeof(*suffix); +- suffix->maximumOffset = (uint32_t) -1; +- suffix->flags.discard = 0; +- suffix->flags.unsynchronized = 0; +- suffix->flags.reserved = 0; +- +- body = &cmd->body; +- body->guest.ptr.gmrId = buf->gmr_id; +- body->guest.ptr.offset = buf->gmr_offset; +- body->guest.pitch = buf_pitch; +- body->host.sid = surface_handle; +- body->host.face = 0; +- body->host.mipmap = 0; +- +- body->transfer = (to_surface ? SVGA3D_WRITE_HOST_VRAM : +- SVGA3D_READ_HOST_VRAM); +- +- +- for (i=0; i < num_clips; i++, cb++, clips++) { +- cb->x = (uint16_t) clips->x1 + host_x; +- cb->y = (uint16_t) clips->y1 + host_y; +- cb->z = 0; +- cb->srcx = (uint16_t) clips->x1; +- cb->srcy = (uint16_t) clips->y1; +- cb->srcz = 0; +- cb->w = (uint16_t) (clips->x2 - clips->x1); +- cb->h = (uint16_t) (clips->y2 - clips->y1); +- cb->d = 1; +-#if 0 +- LogMessage(X_INFO, "DMA! x: %u y: %u srcx: %u srcy: %u w: %u h: %u %s\n", +- cb->x, cb->y, cb->srcx, cb->srcy, cb->w, cb->h, +- to_surface ? "to" : "from"); +-#endif +- +- } +- +- memset(&arg, 0, sizeof(arg)); +- memset(&rep, 0, sizeof(rep)); +- +- rep.error = -EFAULT; +- arg.fence_rep = ((to_surface) ? 0UL : (unsigned long)&rep); +- arg.commands = (unsigned long)cmd; +- arg.command_size = size; +- arg.throttle_us = 0; +- arg.version = DRM_VMW_EXECBUF_VERSION; +- +- ret = drmCommandWrite(ibuf->drm_fd, DRM_VMW_EXECBUF, &arg, sizeof(arg)); +- if (ret) { +- LogMessage(X_ERROR, "DMA error %s.\n", strerror(-ret)); +- } +- +- free(cmd); +- +- if (rep.error == 0) { +- ret = vmwgfx_fence_wait(ibuf->drm_fd, rep.handle, TRUE); +- if (ret) { +- LogMessage(X_ERROR, "DMA from host fence wait error %s.\n", +- strerror(-ret)); +- vmwgfx_fence_unref(ibuf->drm_fd, rep.handle); +- } +- } +- +- return 0; +-} +- +-int + vmwgfx_get_param(int drm_fd, uint32_t param, uint64_t *out) + { + struct drm_vmw_getparam_arg gp_arg; +diff --git a/vmwgfx/vmwgfx_drmi.h b/vmwgfx/vmwgfx_drmi.h +index 2435009..fff728a 100644 +--- a/vmwgfx/vmwgfx_drmi.h ++++ b/vmwgfx/vmwgfx_drmi.h +@@ -60,11 +60,6 @@ extern void + vmwgfx_dmabuf_unmap(struct vmwgfx_dmabuf *buf); + + extern int +-vmwgfx_dma(unsigned int host_x, unsigned int host_y, +- RegionPtr region, struct vmwgfx_dmabuf *buf, +- uint32_t buf_pitch, uint32_t surface_handle, int to_surface); +- +-extern int + vmwgfx_num_streams(int drm_fd, uint32_t *ntot, uint32_t *nfree); + + extern int +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index 5534ca3..fd80682 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -279,40 +279,40 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa, + Bool to_hw) + { + struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap); ++ void *data = vpix->malloc; ++ int ret; + + if (!vpix->hw || (!vpix->gmr && !vpix->malloc)) + return TRUE; + +- if (vpix->gmr && vsaa->can_optimize_dma) { +- uint32_t handle, dummy; + +- if (xa_surface_handle(vpix->hw, xa_handle_type_shared, +- &handle, &dummy) != 0) +- goto out_err; +- if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle, +- to_hw) != 0) ++ if (vpix->gmr) { ++ data = vmwgfx_dmabuf_map(vpix->gmr); ++ if (!data) + goto out_err; +- } else { +- void *data = vpix->malloc; +- int ret; ++ } + +- if (vpix->gmr) { +- data = vmwgfx_dmabuf_map(vpix->gmr); +- if (!data) +- goto out_err; +- } ++ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind, ++ (int) to_hw, ++ (struct xa_box *) REGION_RECTS(reg), ++ REGION_NUM_RECTS(reg)); ++ if (vpix->gmr) ++ vmwgfx_dmabuf_unmap(vpix->gmr); ++ ++ if (ret) ++ goto out_err; ++ ++ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind, ++ (int) to_hw, ++ (struct xa_box *) REGION_RECTS(reg), ++ REGION_NUM_RECTS(reg)); ++ if (to_hw) ++ xa_context_flush(vsaa->xa_ctx); ++ if (vpix->gmr) ++ vmwgfx_dmabuf_unmap(vpix->gmr); ++ if (ret) ++ goto out_err; + +- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind, +- (int) to_hw, +- (struct xa_box *) REGION_RECTS(reg), +- REGION_NUM_RECTS(reg)); +- if (to_hw) +- xa_context_flush(vsaa->xa_ctx); +- if (vpix->gmr) +- vmwgfx_dmabuf_unmap(vpix->gmr); +- if (ret) +- goto out_err; +- } + return TRUE; + out_err: + LogMessage(X_ERROR, "DMA %s surface failed.\n", +@@ -1372,7 +1372,6 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat, + vsaa->xa_ctx = xa_context_default(xat); + vsaa->drm_fd = drm_fd; + vsaa->present_flush = present_flush; +- vsaa->can_optimize_dma = FALSE; + vsaa->use_present_opt = direct_presents; + vsaa->only_hw_presents = only_hw_presents; + vsaa->rendercheck = rendercheck; +diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h +index 16583b0..f5f45ba 100644 +--- a/vmwgfx/vmwgfx_saa_priv.h ++++ b/vmwgfx/vmwgfx_saa_priv.h +@@ -50,7 +50,6 @@ struct vmwgfx_saa { + int ydiff; + RegionRec present_region; + uint32_t src_handle; +- Bool can_optimize_dma; + Bool use_present_opt; + Bool only_hw_presents; + Bool rendercheck; +-- +1.8.5.1 + + +From e26dec8f5278df74a102493bf6d2d8444dab5d6d Mon Sep 17 00:00:00 2001 +From: Gaetan Nadon +Date: Mon, 28 Oct 2013 18:21:29 -0400 +Subject: [PATCH 05/11] vmwgfx: handle changes of DamageUnregister API in + 1.14.99.2 + +Fix is inspired from the intel driver. + +Reviewed-by: Jakob Bornecrantz +Signed-off-by: Gaetan Nadon +Signed-off-by: Jakob Bornecrantz +--- + vmwgfx/vmwgfx_saa.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index fd80682..346e7f4 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -26,6 +26,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -76,7 +77,12 @@ vmwgfx_pixmap_remove_damage(PixmapPtr pixmap) + if (!spix->damage || vpix->hw || vpix->gmr || vpix->malloc) + return; + ++#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0) ++ DamageUnregister(spix->damage); ++#else + DamageUnregister(&pixmap->drawable, spix->damage); ++#endif ++ + DamageDestroy(spix->damage); + spix->damage = NULL; + } +-- +1.8.5.1 + + +From 7ac45326eccbf3bea9a4a8f95b9662a36ab58eb0 Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Thu, 28 Nov 2013 02:02:20 -0800 +Subject: [PATCH 06/11] vmwgfx: Fix some compilation warnings and indentations + +Most of the compilation warnings we're seeing are due to bad xorg headers, +but fix the ones we can fix in the driver. Some indentation fixes as well. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +--- + src/vmware_bootstrap.c | 2 -- + src/vmwarevideo.c | 4 ++-- + vmwgfx/vmwgfx_driver.c | 1 - + vmwgfx/vmwgfx_output.c | 2 +- + vmwgfx/vmwgfx_overlay.c | 4 ++-- + vmwgfx/vmwgfx_tex_video.c | 26 +++++++++++++------------- + 6 files changed, 18 insertions(+), 21 deletions(-) + +diff --git a/src/vmware_bootstrap.c b/src/vmware_bootstrap.c +index ea5be19..bb58325 100644 +--- a/src/vmware_bootstrap.c ++++ b/src/vmware_bootstrap.c +@@ -256,7 +256,6 @@ VMwarePciProbe (DriverPtr drv, + intptr_t match_data) + { + ScrnInfoPtr scrn = NULL; +- EntityInfoPtr entity; + + scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VMWAREPciChipsets, + NULL, NULL, NULL, NULL, NULL); +@@ -267,7 +266,6 @@ VMwarePciProbe (DriverPtr drv, + scrn->Probe = NULL; + } + +- entity = xf86GetEntityInfo(entity_num); + switch (DEVICE_ID(device)) { + case PCI_DEVICE_ID_VMWARE_SVGA2: + case PCI_DEVICE_ID_VMWARE_SVGA: +diff --git a/src/vmwarevideo.c b/src/vmwarevideo.c +index 745c71f..8d7d171 100644 +--- a/src/vmwarevideo.c ++++ b/src/vmwarevideo.c +@@ -82,7 +82,7 @@ + #define VMWARE_VID_MAX_HEIGHT 2048 + + #define VMWARE_VID_NUM_ENCODINGS 1 +-static XF86VideoEncodingRec vmwareVideoEncodings[] = ++static const XF86VideoEncodingRec vmwareVideoEncodings[] = + { + { + 0, +@@ -108,7 +108,7 @@ static XF86ImageRec vmwareVideoImages[] = + }; + + #define VMWARE_VID_NUM_ATTRIBUTES 2 +-static XF86AttributeRec vmwareVideoAttributes[] = ++static const XF86AttributeRec vmwareVideoAttributes[] = + { + { + XvGettable | XvSettable, +diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c +index eeaea4b..bfc07f8 100644 +--- a/vmwgfx/vmwgfx_driver.c ++++ b/vmwgfx/vmwgfx_driver.c +@@ -658,7 +658,6 @@ void xorg_flush(ScreenPtr pScreen) + if (crtc->enabled) { + pixmap = crtc_get_scanout(crtc); + if (pixmap) { +- unsigned int j; + + /* + * Remove duplicates. +diff --git a/vmwgfx/vmwgfx_output.c b/vmwgfx/vmwgfx_output.c +index 4f52f1d..f9e4263 100644 +--- a/vmwgfx/vmwgfx_output.c ++++ b/vmwgfx/vmwgfx_output.c +@@ -60,7 +60,7 @@ struct output_private + Bool is_implicit; + }; + +-static char *output_enum_list[] = { ++static const char *output_enum_list[] = { + "Unknown", + "VGA", + "DVI", +diff --git a/vmwgfx/vmwgfx_overlay.c b/vmwgfx/vmwgfx_overlay.c +index 6624a10..986dd06 100644 +--- a/vmwgfx/vmwgfx_overlay.c ++++ b/vmwgfx/vmwgfx_overlay.c +@@ -84,7 +84,7 @@ typedef uint8_t uint8; + #define VMWARE_VID_MAX_HEIGHT 2048 + + #define VMWARE_VID_NUM_ENCODINGS 1 +-static XF86VideoEncodingRec vmwareVideoEncodings[] = ++static const XF86VideoEncodingRec vmwareVideoEncodings[] = + { + { + 0, +@@ -110,7 +110,7 @@ static XF86ImageRec vmwareVideoImages[] = + }; + + #define VMWARE_VID_NUM_ATTRIBUTES 2 +-static XF86AttributeRec vmwareVideoAttributes[] = ++static const XF86AttributeRec vmwareVideoAttributes[] = + { + { + XvGettable | XvSettable, +diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c +index a0a4f4a..3ba40ef 100644 +--- a/vmwgfx/vmwgfx_tex_video.c ++++ b/vmwgfx/vmwgfx_tex_video.c +@@ -70,11 +70,11 @@ static const float bt_709[] = { + static Atom xvBrightness, xvContrast, xvSaturation, xvHue; + + #define NUM_TEXTURED_ATTRIBUTES 4 +-static XF86AttributeRec TexturedAttributes[NUM_TEXTURED_ATTRIBUTES] = { +- {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"}, +- {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"}, +- {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"}, +- {XvSettable | XvGettable, -1000, 1000, "XV_HUE"} ++static const XF86AttributeRec TexturedAttributes[NUM_TEXTURED_ATTRIBUTES] = { ++ {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"}, ++ {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"}, ++ {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"}, ++ {XvSettable | XvGettable, -1000, 1000, "XV_HUE"} + }; + + #define NUM_FORMATS 3 +@@ -82,7 +82,7 @@ static XF86VideoFormatRec Formats[NUM_FORMATS] = { + {15, TrueColor}, {16, TrueColor}, {24, TrueColor} + }; + +-static XF86VideoEncodingRec DummyEncoding[1] = { ++static const XF86VideoEncodingRec DummyEncoding[1] = { + { + 0, + "XV_IMAGE", +@@ -416,16 +416,16 @@ copy_packed_data(ScrnInfoPtr pScrn, + switch (id) { + case FOURCC_YV12: { + int pitches[3], offsets[3]; +- unsigned char *y, *u, *v; ++ unsigned char *yp, *up, *vp; + query_image_attributes(pScrn, FOURCC_YV12, + &w, &h, pitches, offsets); + +- y = buf + offsets[0]; +- v = buf + offsets[1]; +- u = buf + offsets[2]; +- memcpy(ymap, y, w*h); +- memcpy(vmap, v, w*h/4); +- memcpy(umap, u, w*h/4); ++ yp = buf + offsets[0]; ++ vp = buf + offsets[1]; ++ up = buf + offsets[2]; ++ memcpy(ymap, yp, w*h); ++ memcpy(vmap, vp, w*h/4); ++ memcpy(umap, up, w*h/4); + break; + } + case FOURCC_UYVY: +-- +1.8.5.1 + + +From a40cbd7b4fa19219849b4b0a48f07538772c3e22 Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Thu, 5 Dec 2013 02:58:47 -0800 +Subject: [PATCH 07/11] vmwgfx: Support also XA version 1 v2 + +We need to support also XA version 1, since we want to be backwards +compatible with older mesa releases. +Unfortunately, the intended way of detecting XA major version at +compile-time was broken on mesa 10 so we need a workaround that tests +for XA version 2 at config time. + +v2: Update the test for XA version 2. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +--- + configure.ac | 10 +++++++++- + vmwgfx/vmwgfx_dri2.c | 5 ++--- + vmwgfx/vmwgfx_driver.c | 3 +-- + vmwgfx/vmwgfx_saa.c | 12 +++++------- + vmwgfx/vmwgfx_saa.h | 12 ++++++++++++ + vmwgfx/vmwgfx_tex_video.c | 2 +- + 6 files changed, 30 insertions(+), 14 deletions(-) + +diff --git a/configure.ac b/configure.ac +index dccfb27..123356c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -118,7 +118,15 @@ if test x$BUILD_VMWGFX = xyes; then + PKG_CHECK_MODULES([LIBDRM], [libdrm],[],[BUILD_VMWGFX=no]) + fi + if test x$BUILD_VMWGFX = xyes; then +- PKG_CHECK_MODULES([XATRACKER], [xatracker >= 2.0.0],[],[BUILD_VMWGFX=no]) ++# ++# Early versions of mesa 10 forgot to bump the XA major version number in ++# the xa_tracker.h header ++# ++ PKG_CHECK_MODULES([XATRACKER], [xatracker >= 0.4.0], ++ [PKG_CHECK_EXISTS([xatracker = 2.0.0], ++ [AC_DEFINE([HAVE_XA_2], 1, ++ [Has version 2 of XA])])], ++ [],[BUILD_VMWGFX=no]) + fi + + DRIVER_NAME=vmware +diff --git a/vmwgfx/vmwgfx_dri2.c b/vmwgfx/vmwgfx_dri2.c +index 57f2d9d..4c74a6b 100644 +--- a/vmwgfx/vmwgfx_dri2.c ++++ b/vmwgfx/vmwgfx_dri2.c +@@ -206,8 +206,7 @@ dri2_do_create_buffer(DrawablePtr pDraw, DRI2Buffer2Ptr buffer, unsigned int for + } + + private->srf = srf; +- if (xa_surface_handle(srf, xa_handle_type_shared, +- &buffer->name, &buffer->pitch) != 0) ++ if (_xa_surface_handle(srf, &buffer->name, &buffer->pitch) != 0) + return FALSE; + + buffer->cpp = xa_format_depth(xa_surface_format(srf)) / 8; +@@ -228,7 +227,7 @@ dri2_do_destroy_buffer(DrawablePtr pDraw, DRI2BufferPtr buffer) + struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(private->pPixmap); + + if (--private->refcount == 0 && srf) { +- xa_surface_unref(srf); ++ xa_surface_destroy(srf); + } + + /* +diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c +index bfc07f8..6301c29 100644 +--- a/vmwgfx/vmwgfx_driver.c ++++ b/vmwgfx/vmwgfx_driver.c +@@ -617,8 +617,7 @@ vmwgfx_scanout_present(ScreenPtr pScreen, int drm_fd, + return FALSE; + } + +- if (xa_surface_handle(vpix->hw, xa_handle_type_shared, +- &handle, &dummy) != 0) { ++ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0) { + LogMessage(X_ERROR, "Could not get present surface handle.\n"); + return FALSE; + } +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index 346e7f4..1459933 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -146,7 +146,7 @@ vmwgfx_pixmap_free_storage(struct vmwgfx_saa_pixmap *vpix) + vpix->malloc = NULL; + } + if (!(vpix->backing & VMWGFX_PIX_SURFACE) && vpix->hw) { +- xa_surface_unref(vpix->hw); ++ xa_surface_destroy(vpix->hw); + vpix->hw = NULL; + } + if (!(vpix->backing & VMWGFX_PIX_GMR) && vpix->gmr) { +@@ -451,7 +451,7 @@ vmwgfx_hw_kill(struct vmwgfx_saa *vsaa, + &spix->dirty_hw)) + return FALSE; + +- xa_surface_unref(vpix->hw); ++ xa_surface_destroy(vpix->hw); + vpix->hw = NULL; + + /* +@@ -698,8 +698,7 @@ vmwgfx_present_prepare(struct vmwgfx_saa *vsaa, + + (void) pScreen; + if (src_vpix == dst_vpix || !src_vpix->hw || +- xa_surface_handle(src_vpix->hw, xa_handle_type_shared, +- &vsaa->src_handle, &dummy) != 0) ++ _xa_surface_handle(src_vpix->hw, &vsaa->src_handle, &dummy) != 0) + return FALSE; + + REGION_NULL(pScreen, &vsaa->present_region); +@@ -800,7 +799,7 @@ vmwgfx_create_hw(struct vmwgfx_saa *vsaa, + return TRUE; + + out_no_damage: +- xa_surface_unref(hw); ++ xa_surface_destroy(hw); + return FALSE; + } + +@@ -1459,8 +1458,7 @@ vmwgfx_scanout_ref(struct vmwgfx_screen_entry *entry) + */ + if (!vmwgfx_hw_accel_validate(pixmap, 0, XA_FLAG_SCANOUT, 0, NULL)) + goto out_err; +- if (xa_surface_handle(vpix->hw, xa_handle_type_shared, +- &handle, &dummy) != 0) ++ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0) + goto out_err; + depth = xa_format_depth(xa_surface_format(vpix->hw)); + +diff --git a/vmwgfx/vmwgfx_saa.h b/vmwgfx/vmwgfx_saa.h +index d8aa3d3..5e1f40c 100644 +--- a/vmwgfx/vmwgfx_saa.h ++++ b/vmwgfx/vmwgfx_saa.h +@@ -115,4 +115,16 @@ vmwgfx_saa_set_master(ScreenPtr pScreen); + void + vmwgfx_saa_drop_master(ScreenPtr pScreen); + ++#if (XA_TRACKER_VERSION_MAJOR <= 1) && !defined(HAVE_XA_2) ++ ++#define _xa_surface_handle(_a, _b, _c) xa_surface_handle(_a, _b, _c) ++#define xa_context_flush(_a) ++ ++#else ++ ++#define xa_surface_destroy(_a) xa_surface_unref(_a) ++#define _xa_surface_handle(_a, _b, _c) \ ++ xa_surface_handle(_a, xa_handle_type_shared, _b, _c) ++ ++#endif /* (XA_TRACKER_VERSION_MAJOR <= 1) */ + #endif +diff --git a/vmwgfx/vmwgfx_tex_video.c b/vmwgfx/vmwgfx_tex_video.c +index 3ba40ef..9fd8f22 100644 +--- a/vmwgfx/vmwgfx_tex_video.c ++++ b/vmwgfx/vmwgfx_tex_video.c +@@ -199,7 +199,7 @@ stop_video(ScrnInfoPtr pScrn, pointer data, Bool shutdown) + for (i=0; i<3; ++i) { + for (j=0; j<2; ++j) { + if (priv->yuv[i]) { +- xa_surface_unref(priv->yuv[j][i]); ++ xa_surface_destroy(priv->yuv[j][i]); + priv->yuv[j][i] = NULL; + } + } +-- +1.8.5.1 + + +From c36cbcefb8526944141eb431e1e736dc4485a36e Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Mon, 9 Dec 2013 00:19:55 -0800 +Subject: [PATCH 08/11] vmwgfx: Remove stray 1 + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +--- + vmwgfx/vmwgfx_saa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index 1459933..28819c1 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -1230,7 +1230,7 @@ vmwgfx_operation_complete(struct saa_driver *driver, + */ + + if (vpix->hw && vpix->hw_is_dri2_fronts) { +- if (1 && pScrn->vtSema && ++ if (pScrn->vtSema && + vmwgfx_upload_to_hw(driver, pixmap, &spix->dirty_shadow)) { + + REGION_EMPTY(vsaa->pScreen, &spix->dirty_shadow); +-- +1.8.5.1 + + +From 4af6062ce281a7f4aaa50985fe757e9569208ee1 Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Wed, 11 Dec 2013 04:59:49 -0800 +Subject: [PATCH 09/11] Revert "vmwgfx: Get rid of device-specific DMA code" + +This reverts commit 45b2457516a9db4bd1d60fbb24a1efbe2d9dd932. + +Reverting this because using direct DMA for shared pixmaps should +boost performance. It should be usable both in a composited environment +and when running hosted. Need to retest the DMA flaws I saw before disabling +this code. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +--- + vmwgfx/vmwgfx_drmi.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++ + vmwgfx/vmwgfx_drmi.h | 5 +++ + vmwgfx/vmwgfx_saa.c | 53 ++++++++++++------------ + vmwgfx/vmwgfx_saa_priv.h | 1 + + 4 files changed, 136 insertions(+), 26 deletions(-) + +diff --git a/vmwgfx/vmwgfx_drmi.c b/vmwgfx/vmwgfx_drmi.c +index 1e23f4a..496a16b 100644 +--- a/vmwgfx/vmwgfx_drmi.c ++++ b/vmwgfx/vmwgfx_drmi.c +@@ -284,6 +284,109 @@ vmwgfx_dmabuf_destroy(struct vmwgfx_dmabuf *buf) + } + + int ++vmwgfx_dma(unsigned int host_x, unsigned int host_y, ++ RegionPtr region, struct vmwgfx_dmabuf *buf, ++ uint32_t buf_pitch, uint32_t surface_handle, int to_surface) ++{ ++ BoxPtr clips = REGION_RECTS(region); ++ unsigned int num_clips = REGION_NUM_RECTS(region); ++ struct drm_vmw_execbuf_arg arg; ++ struct drm_vmw_fence_rep rep; ++ int ret; ++ unsigned int size; ++ unsigned i; ++ SVGA3dCopyBox *cb; ++ SVGA3dCmdSurfaceDMASuffix *suffix; ++ SVGA3dCmdSurfaceDMA *body; ++ struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf); ++ ++ struct { ++ SVGA3dCmdHeader header; ++ SVGA3dCmdSurfaceDMA body; ++ SVGA3dCopyBox cb; ++ } *cmd; ++ ++ if (num_clips == 0) ++ return 0; ++ ++ size = sizeof(*cmd) + (num_clips - 1) * sizeof(cmd->cb) + ++ sizeof(*suffix); ++ cmd = malloc(size); ++ if (!cmd) ++ return -1; ++ ++ cmd->header.id = SVGA_3D_CMD_SURFACE_DMA; ++ cmd->header.size = sizeof(cmd->body) + num_clips * sizeof(cmd->cb) + ++ sizeof(*suffix); ++ cb = &cmd->cb; ++ ++ suffix = (SVGA3dCmdSurfaceDMASuffix *) &cb[num_clips]; ++ suffix->suffixSize = sizeof(*suffix); ++ suffix->maximumOffset = (uint32_t) -1; ++ suffix->flags.discard = 0; ++ suffix->flags.unsynchronized = 0; ++ suffix->flags.reserved = 0; ++ ++ body = &cmd->body; ++ body->guest.ptr.gmrId = buf->gmr_id; ++ body->guest.ptr.offset = buf->gmr_offset; ++ body->guest.pitch = buf_pitch; ++ body->host.sid = surface_handle; ++ body->host.face = 0; ++ body->host.mipmap = 0; ++ ++ body->transfer = (to_surface ? SVGA3D_WRITE_HOST_VRAM : ++ SVGA3D_READ_HOST_VRAM); ++ ++ ++ for (i=0; i < num_clips; i++, cb++, clips++) { ++ cb->x = (uint16_t) clips->x1 + host_x; ++ cb->y = (uint16_t) clips->y1 + host_y; ++ cb->z = 0; ++ cb->srcx = (uint16_t) clips->x1; ++ cb->srcy = (uint16_t) clips->y1; ++ cb->srcz = 0; ++ cb->w = (uint16_t) (clips->x2 - clips->x1); ++ cb->h = (uint16_t) (clips->y2 - clips->y1); ++ cb->d = 1; ++#if 0 ++ LogMessage(X_INFO, "DMA! x: %u y: %u srcx: %u srcy: %u w: %u h: %u %s\n", ++ cb->x, cb->y, cb->srcx, cb->srcy, cb->w, cb->h, ++ to_surface ? "to" : "from"); ++#endif ++ ++ } ++ ++ memset(&arg, 0, sizeof(arg)); ++ memset(&rep, 0, sizeof(rep)); ++ ++ rep.error = -EFAULT; ++ arg.fence_rep = ((to_surface) ? 0UL : (unsigned long)&rep); ++ arg.commands = (unsigned long)cmd; ++ arg.command_size = size; ++ arg.throttle_us = 0; ++ arg.version = DRM_VMW_EXECBUF_VERSION; ++ ++ ret = drmCommandWrite(ibuf->drm_fd, DRM_VMW_EXECBUF, &arg, sizeof(arg)); ++ if (ret) { ++ LogMessage(X_ERROR, "DMA error %s.\n", strerror(-ret)); ++ } ++ ++ free(cmd); ++ ++ if (rep.error == 0) { ++ ret = vmwgfx_fence_wait(ibuf->drm_fd, rep.handle, TRUE); ++ if (ret) { ++ LogMessage(X_ERROR, "DMA from host fence wait error %s.\n", ++ strerror(-ret)); ++ vmwgfx_fence_unref(ibuf->drm_fd, rep.handle); ++ } ++ } ++ ++ return 0; ++} ++ ++int + vmwgfx_get_param(int drm_fd, uint32_t param, uint64_t *out) + { + struct drm_vmw_getparam_arg gp_arg; +diff --git a/vmwgfx/vmwgfx_drmi.h b/vmwgfx/vmwgfx_drmi.h +index fff728a..2435009 100644 +--- a/vmwgfx/vmwgfx_drmi.h ++++ b/vmwgfx/vmwgfx_drmi.h +@@ -60,6 +60,11 @@ extern void + vmwgfx_dmabuf_unmap(struct vmwgfx_dmabuf *buf); + + extern int ++vmwgfx_dma(unsigned int host_x, unsigned int host_y, ++ RegionPtr region, struct vmwgfx_dmabuf *buf, ++ uint32_t buf_pitch, uint32_t surface_handle, int to_surface); ++ ++extern int + vmwgfx_num_streams(int drm_fd, uint32_t *ntot, uint32_t *nfree); + + extern int +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index 28819c1..96275a5 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -285,40 +285,40 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa, + Bool to_hw) + { + struct vmwgfx_saa_pixmap *vpix = vmwgfx_saa_pixmap(pixmap); +- void *data = vpix->malloc; +- int ret; + + if (!vpix->hw || (!vpix->gmr && !vpix->malloc)) + return TRUE; + ++ if (vpix->gmr && vsaa->can_optimize_dma) { ++ uint32_t handle, dummy; + +- if (vpix->gmr) { +- data = vmwgfx_dmabuf_map(vpix->gmr); +- if (!data) ++ if (xa_surface_handle(vpix->hw, xa_handle_type_shared, ++ &handle, &dummy) != 0) + goto out_err; +- } +- +- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind, +- (int) to_hw, +- (struct xa_box *) REGION_RECTS(reg), +- REGION_NUM_RECTS(reg)); +- if (vpix->gmr) +- vmwgfx_dmabuf_unmap(vpix->gmr); +- +- if (ret) +- goto out_err; ++ if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle, ++ to_hw) != 0) ++ goto out_err; ++ } else { ++ void *data = vpix->malloc; ++ int ret; + +- ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind, +- (int) to_hw, +- (struct xa_box *) REGION_RECTS(reg), +- REGION_NUM_RECTS(reg)); +- if (to_hw) +- xa_context_flush(vsaa->xa_ctx); +- if (vpix->gmr) +- vmwgfx_dmabuf_unmap(vpix->gmr); +- if (ret) +- goto out_err; ++ if (vpix->gmr) { ++ data = vmwgfx_dmabuf_map(vpix->gmr); ++ if (!data) ++ goto out_err; ++ } + ++ ret = xa_surface_dma(vsaa->xa_ctx, vpix->hw, data, pixmap->devKind, ++ (int) to_hw, ++ (struct xa_box *) REGION_RECTS(reg), ++ REGION_NUM_RECTS(reg)); ++ if (to_hw) ++ xa_context_flush(vsaa->xa_ctx); ++ if (vpix->gmr) ++ vmwgfx_dmabuf_unmap(vpix->gmr); ++ if (ret) ++ goto out_err; ++ } + return TRUE; + out_err: + LogMessage(X_ERROR, "DMA %s surface failed.\n", +@@ -1377,6 +1377,7 @@ vmwgfx_saa_init(ScreenPtr pScreen, int drm_fd, struct xa_tracker *xat, + vsaa->xa_ctx = xa_context_default(xat); + vsaa->drm_fd = drm_fd; + vsaa->present_flush = present_flush; ++ vsaa->can_optimize_dma = FALSE; + vsaa->use_present_opt = direct_presents; + vsaa->only_hw_presents = only_hw_presents; + vsaa->rendercheck = rendercheck; +diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h +index f5f45ba..16583b0 100644 +--- a/vmwgfx/vmwgfx_saa_priv.h ++++ b/vmwgfx/vmwgfx_saa_priv.h +@@ -50,6 +50,7 @@ struct vmwgfx_saa { + int ydiff; + RegionRec present_region; + uint32_t src_handle; ++ Bool can_optimize_dma; + Bool use_present_opt; + Bool only_hw_presents; + Bool rendercheck; +-- +1.8.5.1 + + +From 93228f3dd3355a25583d22dbb96791678b93be3e Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Wed, 11 Dec 2013 06:54:02 -0800 +Subject: [PATCH 10/11] vmwgfx: Really allow XA version 2. + +When XA starts to correctly advertise version 2, we didn't allow it. +Fix this. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +--- + vmwgfx/vmwgfx_driver.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c +index 6301c29..4e28097 100644 +--- a/vmwgfx/vmwgfx_driver.c ++++ b/vmwgfx/vmwgfx_driver.c +@@ -79,7 +79,7 @@ typedef uint8_t uint8; + + #define XA_VERSION_MINOR_REQUIRED 0 + #define XA_VERSION_MAJOR_REQUIRED 1 +-#define XA_VERSION_MAJOR_COMPAT 1 ++#define XA_VERSION_MAJOR_COMPAT 2 + + #define DRM_VERSION_MAJOR_REQUIRED 2 + #define DRM_VERSION_MINOR_REQUIRED 3 +-- +1.8.5.1 + + +From f45a551e9b70ccec8f92df02747d4e2af299cf8c Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Mon, 16 Dec 2013 10:38:21 +0100 +Subject: [PATCH 11/11] vmwgfx: Fix compile breakage on XA version 1. + +A recent revert brought back code that assumed XA version 2. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: trivial +--- + vmwgfx/vmwgfx_saa.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index 96275a5..e76bd09 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -292,8 +292,7 @@ vmwgfx_saa_dma(struct vmwgfx_saa *vsaa, + if (vpix->gmr && vsaa->can_optimize_dma) { + uint32_t handle, dummy; + +- if (xa_surface_handle(vpix->hw, xa_handle_type_shared, +- &handle, &dummy) != 0) ++ if (_xa_surface_handle(vpix->hw, &handle, &dummy) != 0) + goto out_err; + if (vmwgfx_dma(0, 0, reg, vpix->gmr, pixmap->devKind, handle, + to_hw) != 0) +-- +1.8.5.1 + diff --git a/srcpkgs/xf86-video-vmware/template b/srcpkgs/xf86-video-vmware/template index a0ef9dadccd..0588f40c8e0 100644 --- a/srcpkgs/xf86-video-vmware/template +++ b/srcpkgs/xf86-video-vmware/template @@ -2,6 +2,7 @@ pkgname=xf86-video-vmware version=13.0.1 revision=4 +patch_args="-Np1" only_for_archs="i686 x86_64" build_style=gnu-configure configure_args="--enable-vmwarectrl-client" From c28097ca289923db6cd9bb524bcdfe08fa44ce00 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 29 Dec 2013 10:31:58 +0100 Subject: [PATCH 21/22] virtualbox-ose: rebuild for xorg-server-1.15. --- srcpkgs/virtualbox-ose/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/virtualbox-ose/template b/srcpkgs/virtualbox-ose/template index ff32c72a67d..7e81194e3d8 100644 --- a/srcpkgs/virtualbox-ose/template +++ b/srcpkgs/virtualbox-ose/template @@ -2,7 +2,7 @@ pkgname=virtualbox-ose _vbox_distver=4.3.6 version=${_vbox_distver} -revision=1 +revision=2 wrksrc="VirtualBox-${version}" patch_args="-Np1" short_desc="General-purpose full virtualizer for x86 hardware" @@ -18,7 +18,7 @@ hostmakedepends="which perl pkg-config dev86 yasm acpica-utils" makedepends="openssl-devel libcurl-devel libpng-devel>=1.6 libvpx-devel alsa-lib-devel pulseaudio-devel SDL-devel qt-devel libXcursor-devel libXinerama-devel libXcomposite-devel libIDL-devel libglib-devel - pam-devel python-devel libxslt-devel libcap-devel xorg-server-devel>=1.14 + pam-devel python-devel libxslt-devel libcap-devel xorg-server-devel>=1.15<1.16 device-mapper-devel docbook-xsl" if [ "$XBPS_MACHINE" = "x86_64" ]; then @@ -130,7 +130,7 @@ virtualbox-ose-dkms_package() { virtualbox-ose-guest_package() { systemd_services="vboxservice.service on" - depends="xserver-abi-video-14_1 virtualbox-ose-guest-dkms-${version}_${revision}" + depends="xserver-abi-video-15_1 virtualbox-ose-guest-dkms-${version}_${revision}" short_desc+=" - guest utilities" pkg_install() { From 957c991dccd7db9e1874d8dcb907c20025091877 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 2 Feb 2014 09:34:38 +0100 Subject: [PATCH 22/22] Merged master branch. --- COPYING | 45 +- common/build_style/README | 12 + common/build_style/cmake.sh | 45 + common/build_style/configure.sh | 24 + common/build_style/gnu-configure.sh | 33 + common/build_style/gnu-makefile.sh | 20 + common/build_style/meta.sh | 13 + common/build_style/perl-ModuleBuild.sh | 32 + common/build_style/perl-module.sh | 64 + common/build_style/python-module.sh | 36 + common/build_style/waf.sh | 16 + common/build_style/waf3.sh | 16 + common/cross-profiles/README | 14 + common/cross-profiles/armv6hf-musl.sh | 8 + common/cross-profiles/armv6hf.sh | 8 + common/cross-profiles/armv7.sh | 8 + common/cross-profiles/config.sub | 1762 ++++++++ common/cross-profiles/i686-musl.sh | 8 + common/cross-profiles/i686.sh | 8 + common/cross-profiles/mips.sh | 8 + common/cross-profiles/mipsel.sh | 8 + common/cross-profiles/musl-gnulibfix | 179 + common/cross-profiles/x86_64-musl.sh | 8 + common/environment/0000-REQUIREMENTS.sh | 16 + common/environment/0001-bootstrap.sh | 6 + common/environment/0001-configure-args.sh | 6 + common/environment/0002-cross.sh | 11 + common/{vars.sh => environment/0003-misc.sh} | 0 common/environment/README | 11 + common/global-defs.sh | 23 - common/helpers/README | 25 + common/helpers/replace-interpreter.sh | 41 + common/shlibs | 22 +- doc/manual.txt | 435 +- srcpkgs/2bwm-git/template | 6 - srcpkgs/GConf/template | 14 +- srcpkgs/Ice/template | 6 - srcpkgs/LuaJIT/template | 6 - srcpkgs/MesaLib/template | 12 +- srcpkgs/ModemManager/template | 10 +- srcpkgs/MoinMoin/template | 12 +- srcpkgs/NetworkManager/files/tmpfilesd | 3 + srcpkgs/NetworkManager/template | 48 +- srcpkgs/ORBit2/template | 6 - srcpkgs/Pyrex/template | 10 +- srcpkgs/SDL/template | 15 +- srcpkgs/SDL2/template | 23 +- srcpkgs/SDL_image/template | 10 +- srcpkgs/SDL_mixer/template | 20 +- srcpkgs/SDL_net/template | 16 +- srcpkgs/SDL_sound/template | 23 +- srcpkgs/SDL_ttf/template | 20 +- srcpkgs/Thunar/template | 8 +- srcpkgs/Twisted/template | 10 +- srcpkgs/VirtualGL/template | 19 +- srcpkgs/WindowMaker/template | 47 +- srcpkgs/a10disp/template | 26 + srcpkgs/a2jmidid/template | 6 - srcpkgs/aalib/template | 6 - srcpkgs/abGate/template | 8 +- srcpkgs/abcde/template | 15 + srcpkgs/abiword/template | 10 +- srcpkgs/abook/template | 13 +- srcpkgs/accountsservice/template | 12 +- srcpkgs/acct/template | 6 - srcpkgs/acl/template | 9 +- srcpkgs/acpi/template | 12 +- srcpkgs/acpica-utils/template | 28 +- srcpkgs/acpid/template | 10 +- srcpkgs/acr/template | 15 +- srcpkgs/adobe-flash-plugin/template | 11 +- srcpkgs/adobe-flash-plugin11.1/template | 15 +- srcpkgs/agar/template | 6 - srcpkgs/agg/template | 6 - srcpkgs/akonadi/template | 18 +- .../allegro4/patches/mesa10-uncompat.patch | 22 + srcpkgs/allegro4/template | 16 +- srcpkgs/alsa-lib/template | 6 - srcpkgs/alsa-plugins/template | 6 - srcpkgs/alsa-utils/template | 12 +- srcpkgs/anjuta/template | 8 +- srcpkgs/ansible/template | 12 +- srcpkgs/apache-mpm-event/template | 13 +- srcpkgs/apache-mpm-worker/template | 13 +- srcpkgs/apache/template | 44 +- srcpkgs/apg/template | 6 - srcpkgs/apr-util/template | 6 - srcpkgs/apr/template | 6 - srcpkgs/aqemu/template | 8 +- srcpkgs/aria2/template | 8 +- srcpkgs/arm-mem-git/template | 6 - srcpkgs/artwiz-fonts/template | 14 +- srcpkgs/asciidoc/template | 60 +- srcpkgs/aspell-en/template | 8 +- srcpkgs/aspell/template | 8 +- srcpkgs/astyle/template | 19 + srcpkgs/at-spi2-atk/template | 8 +- srcpkgs/at-spi2-core/template | 8 +- srcpkgs/atf/template | 12 +- srcpkgs/atk/template | 6 - srcpkgs/atkmm/template | 10 +- srcpkgs/atop/template | 9 +- srcpkgs/attica/template | 6 - srcpkgs/attr/template | 9 +- srcpkgs/aubio/template | 6 - srcpkgs/audacious-plugins/template | 12 +- srcpkgs/audacious/template | 26 +- srcpkgs/autoconf/template | 10 +- srcpkgs/autoconf213/template | 10 +- srcpkgs/autogen/template | 6 - srcpkgs/automake/template | 16 +- srcpkgs/automoc4/template | 8 - srcpkgs/avahi-discover/template | 19 +- srcpkgs/avahi/template | 22 +- srcpkgs/awesome/template | 11 +- srcpkgs/awoken-icons/template | 13 +- srcpkgs/b43-fwcutter/template | 13 +- srcpkgs/babl/template | 8 +- srcpkgs/backintime/template | 13 +- srcpkgs/balsa/template | 8 +- srcpkgs/baobab/template | 10 +- srcpkgs/bar-git/template | 14 +- srcpkgs/base-chroot/template | 13 +- srcpkgs/base-directories/template | 5 +- srcpkgs/base-files/template | 42 +- srcpkgs/base-system-busybox/template | 31 +- srcpkgs/base-system/template | 30 +- srcpkgs/base-voidstrap/template | 17 +- srcpkgs/bash-completion/template | 10 +- srcpkgs/bash/template | 10 +- srcpkgs/bbswitch/template | 12 +- srcpkgs/bc/template | 6 - srcpkgs/bdftopcf/template | 6 - srcpkgs/beets/template | 12 +- srcpkgs/bigreqsproto/template | 12 +- srcpkgs/bijiben/template | 8 +- srcpkgs/bin86/template | 8 - srcpkgs/bind/template | 71 +- srcpkgs/binutils/template | 14 +- srcpkgs/bison/template | 8 +- srcpkgs/bitcoin/template | 24 +- srcpkgs/bleachbit/template | 12 +- srcpkgs/bluefish/template | 16 +- srcpkgs/blueman/template | 12 +- srcpkgs/bluez/template | 19 +- srcpkgs/bokken/template | 12 +- srcpkgs/boost/template | 6 - srcpkgs/bootchart/template | 6 - srcpkgs/boxfs/template | 7 - srcpkgs/brasero/template | 8 +- srcpkgs/bridge-utils/template | 6 - srcpkgs/bsdbuild/template | 10 +- srcpkgs/bspwm-git/template | 16 +- srcpkgs/btrfs-progs/template | 6 - srcpkgs/buildbot-slave/template | 15 +- srcpkgs/buildbot/template | 13 +- srcpkgs/bumblebee/template | 31 +- srcpkgs/busybox/template | 6 - srcpkgs/bwidget/template | 12 +- srcpkgs/bzip2/template | 8 +- srcpkgs/bzr/template | 10 +- srcpkgs/bzrtools/template | 14 +- srcpkgs/c-ares/template | 6 - srcpkgs/ca-certificates/template | 13 +- srcpkgs/cabextract/template | 8 - srcpkgs/cairo-dock-plugins/template | 8 +- srcpkgs/cairo-dock/template | 8 +- srcpkgs/cairo/template | 8 +- srcpkgs/cairomm/template | 8 +- srcpkgs/calf/template | 8 +- srcpkgs/cantarell-fonts/template | 10 +- srcpkgs/caribou/template | 10 +- .../files/arch_3.13_kernel_acpi_node.patch | 13 + .../files/lano1106_fglrx-13.8_proc.patch | 50 + .../files/lano1106_fglrx_intel_iommu.patch | 11 + .../files/lano1106_kcl_agp_13_4.patch | 90 + .../files/looks_like_amd_forgot_this.patch | 17 + srcpkgs/catalyst/template | 51 +- srcpkgs/ccache/template | 6 - srcpkgs/cclive/template | 8 +- srcpkgs/cd-discid/template | 11 + srcpkgs/cdparanoia/template | 6 - srcpkgs/cdrtools/template | 8 +- srcpkgs/celt/template | 6 - srcpkgs/celt051/template | 6 - srcpkgs/cgminer/template | 15 +- srcpkgs/cheese/template | 18 +- srcpkgs/cherokee/template | 26 +- srcpkgs/chicken/template | 6 - srcpkgs/chromaprint/template | 6 - srcpkgs/chromium-bsu/template | 8 +- srcpkgs/chromium/template | 48 +- srcpkgs/chrony/files/chrony.conf | 4 +- srcpkgs/chrony/template | 24 +- srcpkgs/chroot-bash/template | 24 +- .../patches/disable-man.patch | 20 + srcpkgs/chroot-coreutils/template | 28 +- srcpkgs/chroot-diffutils/template | 18 +- srcpkgs/chroot-distcc/template | 32 +- srcpkgs/chroot-fakeroot/patches/musl.patch | 24 + srcpkgs/chroot-fakeroot/template | 23 +- srcpkgs/chroot-findutils/template | 30 +- srcpkgs/chroot-gawk/template | 10 +- srcpkgs/chroot-gcc/files | 1 - .../files/gcc-4.7.0-cloog-0.17.patch | 23 + .../chroot-gcc/files/gcc-4.7.1-ppl-1.0.patch | 11 + srcpkgs/chroot-gcc/files/gcc-4.7.3-musl.diff | 739 +++ srcpkgs/chroot-gcc/template | 122 +- srcpkgs/chroot-gettext/template | 20 +- srcpkgs/chroot-git/template | 32 +- srcpkgs/chroot-grep/template | 35 +- srcpkgs/chroot-gzip/template | 31 +- srcpkgs/chroot-m4/template | 27 +- srcpkgs/chroot-make/template | 10 +- srcpkgs/chroot-patch/template | 18 +- srcpkgs/chroot-sed/template | 31 +- srcpkgs/chroot-tar/template | 22 +- srcpkgs/chroot-texinfo/template | 24 +- srcpkgs/chroot-util-linux/patches | 1 + srcpkgs/chroot-util-linux/template | 27 +- srcpkgs/chrpath/template | 6 - srcpkgs/cifs-utils/template | 6 - srcpkgs/cinnamon-control-center/template | 8 +- srcpkgs/cinnamon-desktop/template | 13 +- srcpkgs/cinnamon-screensaver/template | 10 +- srcpkgs/cinnamon-session/template | 8 +- srcpkgs/cinnamon-settings-daemon/template | 8 +- srcpkgs/cinnamon-translations/template | 15 +- srcpkgs/cinnamon/template | 8 +- srcpkgs/cjs/template | 8 +- srcpkgs/clipgrab/template | 8 +- srcpkgs/cloog/template | 8 +- srcpkgs/clucene/template | 6 - srcpkgs/clutter-gst/template | 16 +- srcpkgs/clutter-gtk/template | 6 - srcpkgs/clutter/patches/evdev-0.6.patch | 34 + srcpkgs/clutter/template | 21 +- srcpkgs/cmake-gui/template | 24 +- srcpkgs/cmake/template | 6 - srcpkgs/cmus/template | 23 +- srcpkgs/cntlm/template | 8 +- srcpkgs/cogl/template | 14 +- srcpkgs/colord-gtk/template | 8 +- srcpkgs/colord/template | 51 +- srcpkgs/compositeproto/template | 11 +- srcpkgs/compton-git/template | 13 +- srcpkgs/confuse/template | 6 - srcpkgs/conky-cli/template | 22 +- srcpkgs/conky/template | 11 +- srcpkgs/connman-ui-git/template | 6 - srcpkgs/connman/template | 18 +- srcpkgs/containers/template | 6 - srcpkgs/coreutils/template | 10 +- srcpkgs/cpio/template | 6 - .../cppcheck/patches/Makefile-db2man.patch | 23 - srcpkgs/cppcheck/template | 21 +- srcpkgs/cproto/template | 6 - srcpkgs/cpufrequtils/template | 6 - srcpkgs/cpuminer/template | 6 - srcpkgs/cracklib/template | 6 - srcpkgs/cronie/template | 28 +- .../files/glibc-2.18-make-4.patch | 45 + srcpkgs/cross-arm-linux-gnueabihf/template | 98 +- srcpkgs/cross-arm-linux-gnueabihf7-libc | 1 + .../files/glibc-2.18-make-4.patch | 45 + srcpkgs/cross-arm-linux-gnueabihf7/template | 291 ++ .../files/binutils-2.22-musl.diff | 18 - srcpkgs/cross-arm-linux-musleabi/template | 134 +- .../files/binutils-2.22-musl.diff | 18 - .../files/gcc-4.7.2-musl.diff | 464 -- .../files/gcc-4.7.3-musl.diff | 739 +++ srcpkgs/cross-i686-linux-musl/template | 161 +- .../files/glibc-2.18-make-4.patch | 45 + srcpkgs/cross-i686-pc-linux-gnu/template | 99 +- .../files/glibc-2.18-make-4.patch | 45 + .../cross-mips-softfloat-linux-gnu/template | 122 +- .../files/glibc-2.18-make-4.patch | 45 + .../cross-mipsel-softfloat-linux-gnu/template | 122 +- srcpkgs/cross-vpkg-dummy/template | 39 +- srcpkgs/cross-x86_64-linux-musl-libc | 1 + .../files/gcc-4.7.3-musl.diff | 739 +++ srcpkgs/cross-x86_64-linux-musl/template | 235 + srcpkgs/crypto++/template | 6 - srcpkgs/cryptsetup/template | 6 - srcpkgs/ctags/template | 15 + srcpkgs/cubieboard2-base/INSTALL | 6 + srcpkgs/cubieboard2-base/template | 22 + srcpkgs/cubieboard2-kernel-headers | 1 + srcpkgs/cubieboard2-kernel/files/config | 3668 +++++++++++++++ srcpkgs/cubieboard2-kernel/template | 172 + .../files/cubieboard2.bootcmd | 5 + .../cubieboard2-uboot/files/cubieboard2.fex | 975 ++++ srcpkgs/cubieboard2-uboot/template | 34 + srcpkgs/cups-filters/template | 12 +- srcpkgs/cups/template | 38 +- srcpkgs/curl/template | 16 +- srcpkgs/curlftpfs/template | 6 - srcpkgs/cvs/template | 8 +- srcpkgs/cvs2svn/template | 10 +- srcpkgs/cwm-git/template | 16 +- srcpkgs/cyrus-sasl/template | 10 +- srcpkgs/damageproto/template | 13 +- srcpkgs/darkice/template | 9 +- srcpkgs/dash/template | 10 +- srcpkgs/db/template | 6 - srcpkgs/dbus-glib/template | 6 - srcpkgs/dbus-python/template | 61 +- srcpkgs/dbus-python3 | 1 - srcpkgs/dbus-python3/template | 22 + srcpkgs/dbus-sharp/template | 10 +- srcpkgs/dbus/INSTALL | 2 - srcpkgs/dbus/files/systemd-user-session.patch | 183 - srcpkgs/dbus/template | 110 +- srcpkgs/dconf/template | 6 - srcpkgs/dcron/template | 16 +- srcpkgs/ddrescue/template | 6 - srcpkgs/deadbeef/template | 19 +- srcpkgs/deheader/template | 16 +- srcpkgs/dejavu-fonts-ttf/template | 12 +- srcpkgs/desktop-file-utils/template | 6 - srcpkgs/desmume/patches/glx_3Demu.cpp.patch | 16 + srcpkgs/desmume/template | 23 +- srcpkgs/dev86/template | 10 +- srcpkgs/devhelp/template | 6 - srcpkgs/dfc-git/template | 16 + srcpkgs/dgen-sdl/template | 6 - srcpkgs/dhcpcd-dbus/template | 12 +- srcpkgs/dhcpcd-gtk/template | 8 +- srcpkgs/dhcpcd/files/dhcpcd@.service | 2 +- srcpkgs/dhcpcd/template | 20 +- srcpkgs/dialog/template | 18 +- srcpkgs/diffutils/template | 8 +- srcpkgs/distcc/template | 17 +- srcpkgs/djmount/template | 6 - srcpkgs/djvulibre/template | 7 - srcpkgs/dkms/template | 12 +- srcpkgs/dmd/template | 8 +- srcpkgs/dmenu/template | 6 - srcpkgs/dmidecode/template | 6 - srcpkgs/dmraid/template | 10 +- srcpkgs/dmxproto/template | 12 +- srcpkgs/dnsmasq/template | 10 +- srcpkgs/docbook-dsssl/template | 12 +- srcpkgs/docbook-xml/template | 42 +- srcpkgs/docbook-xsl/template | 12 +- srcpkgs/docbook/template | 42 +- srcpkgs/docbook2x/template | 14 +- srcpkgs/dolphin-emu/template | 8 +- srcpkgs/dosbox/template | 5 - .../dosfstools-loff_and_BLOCK_SIZE.patch | 31 + srcpkgs/dosfstools/template | 14 +- srcpkgs/dotconf/template | 10 +- srcpkgs/dovecot/template | 66 +- srcpkgs/doxygen/template | 6 - srcpkgs/dracut/template | 22 +- srcpkgs/dri2proto/template | 10 +- srcpkgs/dri3proto/template | 8 +- srcpkgs/dropbear/files/dropbear.service | 10 + srcpkgs/dropbear/template | 19 + srcpkgs/dssi-vst/template | 10 +- srcpkgs/dssi/template | 10 +- srcpkgs/dtach/template | 6 - srcpkgs/dumpet/template | 11 +- srcpkgs/duplicity/template | 14 +- srcpkgs/dvtm/template | 29 +- srcpkgs/dwm/template | 6 - srcpkgs/dzen2/template | 6 - srcpkgs/e2fsprogs/template | 16 +- srcpkgs/eclipse-ecj/template | 10 +- srcpkgs/econnman/template | 10 +- srcpkgs/ecryptfs-utils/template | 6 - srcpkgs/ed/template | 20 +- srcpkgs/efibootmgr/template | 6 - srcpkgs/efl/template | 26 +- srcpkgs/eigen2/template | 10 +- srcpkgs/elementary/template | 12 +- srcpkgs/elfutils/template | 6 - srcpkgs/elinks/template | 6 - srcpkgs/emacs/template | 6 - srcpkgs/emotion_generic_players/template | 14 +- srcpkgs/empathy/template | 8 +- srcpkgs/enca/template | 6 - srcpkgs/encfs/template | 6 - srcpkgs/enchant/template | 6 - srcpkgs/encodings/template | 10 +- srcpkgs/enlightenment/template | 20 +- srcpkgs/enscript/template | 13 +- srcpkgs/enventor/template | 8 +- srcpkgs/envypn-font/template | 12 +- srcpkgs/eog/template | 9 +- srcpkgs/epdfview/template | 8 +- srcpkgs/epiphany/template | 10 +- srcpkgs/epson-inkjet-printer-escpr/template | 6 - srcpkgs/ethtool/patches/stdint.patch | 25 + srcpkgs/ethtool/template | 10 +- srcpkgs/ettercap/template | 8 +- srcpkgs/eudev-libgudev | 1 + srcpkgs/eudev-libgudev-devel | 1 + srcpkgs/eudev-libudev | 1 + srcpkgs/eudev-libudev-devel | 1 + srcpkgs/eudev/template | 90 + srcpkgs/evas_generic_loaders/template | 10 +- srcpkgs/evieext/template | 11 +- srcpkgs/evilwm/template | 17 +- srcpkgs/evince/template | 8 +- srcpkgs/evolution-data-server/template | 8 +- srcpkgs/evolution/template | 8 +- srcpkgs/exempi/template | 6 - srcpkgs/exfat-utils/template | 17 +- srcpkgs/exiftool/template | 14 +- srcpkgs/exiv2/template | 8 +- srcpkgs/exo/template | 13 +- srcpkgs/expat/template | 10 +- srcpkgs/exquisite/template | 6 - srcpkgs/extundelete/template | 6 - srcpkgs/eyeD3/template | 12 +- srcpkgs/f2fs-tools/template | 6 - srcpkgs/faac/template | 16 +- srcpkgs/faad2/template | 6 - srcpkgs/fakechroot/template | 14 +- srcpkgs/farstream/template | 12 +- srcpkgs/fbset/template | 8 +- srcpkgs/fdupes/template | 6 - srcpkgs/feh/template | 10 +- srcpkgs/fetchmail/template | 8 +- srcpkgs/ffmpeg/template | 24 +- srcpkgs/fftw/template | 6 - srcpkgs/file-roller/template | 8 +- srcpkgs/file/template | 8 +- srcpkgs/filezilla/template | 8 +- srcpkgs/firefox-i18n/template | 14 +- srcpkgs/firefox/template | 8 +- srcpkgs/fish-shell/template | 8 +- srcpkgs/fixesproto/template | 13 +- srcpkgs/flac/template | 6 - srcpkgs/flashrom/template | 6 - srcpkgs/flex/template | 9 +- srcpkgs/flowcanvas/template | 6 - srcpkgs/fltk/template | 6 - srcpkgs/fluidsynth/template | 6 - srcpkgs/fluxbox/template | 23 +- srcpkgs/folks/template | 8 +- srcpkgs/font-adobe-100dpi/template | 21 +- srcpkgs/font-adobe-75dpi/template | 23 +- srcpkgs/font-adobe-utopia-100dpi/template | 19 +- srcpkgs/font-adobe-utopia-75dpi/template | 19 +- srcpkgs/font-adobe-utopia-type1/template | 19 +- srcpkgs/font-alias/template | 15 +- srcpkgs/font-bh-100dpi/template | 23 +- srcpkgs/font-bh-75dpi/template | 23 +- .../font-bh-lucidatypewriter-100dpi/template | 20 +- .../font-bh-lucidatypewriter-75dpi/template | 22 +- srcpkgs/font-bh-ttf/template | 23 +- srcpkgs/font-bh-type1/template | 23 +- srcpkgs/font-bitstream-100dpi/template | 23 +- srcpkgs/font-bitstream-75dpi/template | 23 +- srcpkgs/font-bitstream-speedo/template | 17 +- srcpkgs/font-bitstream-type1/template | 21 +- srcpkgs/font-cursor-misc/template | 21 +- srcpkgs/font-daewoo-misc/template | 20 +- srcpkgs/font-dec-misc/template | 22 +- srcpkgs/font-ibm-type1/template | 20 +- srcpkgs/font-isas-misc/template | 19 +- srcpkgs/font-misc-misc/template | 19 +- srcpkgs/font-mutt-misc/template | 19 +- srcpkgs/font-sony-misc/template | 19 +- srcpkgs/font-unifont-bdf/template | 14 +- srcpkgs/font-util/template | 16 +- srcpkgs/fontcacheproto/template | 15 +- srcpkgs/fontconfig/template | 8 +- srcpkgs/fontsproto/template | 15 +- srcpkgs/foobillard++/template | 8 +- srcpkgs/foomatic-db-engine/template | 14 +- srcpkgs/foomatic-db-nonfree/template | 8 +- srcpkgs/foomatic-db/template | 8 +- srcpkgs/foomatic-filters/template | 10 +- srcpkgs/foremost/template | 9 +- srcpkgs/fossil/template | 6 - srcpkgs/fox/template | 6 - srcpkgs/freealut/template | 19 +- srcpkgs/freefont-ttf/template | 12 +- srcpkgs/freerdp-devel | 1 + srcpkgs/freerdp/patches/ffmpeg2.0.patch | 75 + srcpkgs/freerdp/patches/patch_numblock.patch | 11 + srcpkgs/freerdp/template | 35 + srcpkgs/freetype/template | 6 - srcpkgs/fribidi/template | 6 - srcpkgs/fs-uae/template | 8 +- srcpkgs/fs-utils/template | 6 - srcpkgs/fsarchiver/template | 6 - srcpkgs/ftgl/template | 6 - srcpkgs/ftjam/template | 8 - srcpkgs/fuse-archivemount/template | 6 - srcpkgs/fuse-exfat/template | 17 +- srcpkgs/fuse-sshfs/template | 16 + srcpkgs/fuse/patches/fuse-headers.patch | 13 + srcpkgs/fuse/patches/fuse-lock.patch | 20 + srcpkgs/fuse/patches/fuse-paths.patch | 20 + srcpkgs/fuse/template | 24 +- srcpkgs/gajim/template | 17 +- srcpkgs/garcon/template | 8 +- srcpkgs/gawk/template | 8 +- srcpkgs/gc/template | 22 +- srcpkgs/gcc/files/gcc-4.7.3-musl.diff | 739 +++ .../gcc/patches/gcc-4.7.0-cloog-0.17.patch | 4 +- srcpkgs/gcc/patches/gcc-4.7.1-ppl-1.0.patch | 4 +- srcpkgs/gcc/template | 66 +- srcpkgs/gcr/template | 10 +- srcpkgs/gd/template | 6 - .../patches/gdb-76-linux-low-threaddb.patch | 32 + srcpkgs/gdb/patches/gdb-76-pid_t.patch | 10 + srcpkgs/gdb/patches/gdb-amd64-debugreg.patch | 64 + srcpkgs/gdb/patches/gdb-arm-gentmap.patch | 10 + srcpkgs/gdb/patches/gdb-linux_nat.patch | 30 + srcpkgs/gdb/patches/gdb-threaddb.patch | 36 + srcpkgs/gdb/template | 15 +- srcpkgs/gdbm/template | 19 +- srcpkgs/gdk-pixbuf/template | 15 +- srcpkgs/gdl/template | 6 - srcpkgs/gdm/template | 34 +- srcpkgs/geany/template | 12 +- srcpkgs/geary/template | 23 +- srcpkgs/gedit/template | 8 +- srcpkgs/geeqie/template | 8 +- srcpkgs/gegl/template | 6 - srcpkgs/gendesk/template | 6 - srcpkgs/genext2fs/template | 12 + srcpkgs/gengetopt/template | 9 +- srcpkgs/geoclue/template | 6 - srcpkgs/geoclue2/template | 8 +- srcpkgs/geocode-glib/template | 8 +- srcpkgs/geoip/template | 13 +- srcpkgs/getmail/template | 12 +- srcpkgs/gettext-tiny/template | 8 +- srcpkgs/gettext/template | 8 +- srcpkgs/ghostscript/template | 8 +- srcpkgs/giblib/template | 6 - srcpkgs/giggle/template | 14 +- srcpkgs/gimp/template | 24 +- srcpkgs/git/template | 17 +- srcpkgs/gitflow/template | 11 +- srcpkgs/gjs/template | 6 - srcpkgs/gkrellm/template | 37 +- srcpkgs/glade3/template | 8 +- srcpkgs/glamor-egl/template | 14 +- srcpkgs/glances/template | 23 +- srcpkgs/glew/template | 6 - srcpkgs/glib-networking/template | 8 +- srcpkgs/glib/template | 6 - srcpkgs/glibc/template | 60 +- srcpkgs/glibc32/template | 15 +- srcpkgs/glibmm/template | 8 +- srcpkgs/glm/template | 11 +- srcpkgs/glproto/template | 8 +- srcpkgs/glu/template | 10 +- srcpkgs/glusterfs/template | 20 +- srcpkgs/gmime/files/iconv-detect.h | 5 + srcpkgs/gmime/template | 24 +- srcpkgs/gmp/template | 6 - srcpkgs/gmtk/template | 6 - srcpkgs/gnac/template | 10 +- srcpkgs/gnome-backgrounds/template | 8 +- srcpkgs/gnome-bluetooth/template | 8 +- srcpkgs/gnome-boxes/template | 8 +- srcpkgs/gnome-calculator/template | 10 +- srcpkgs/gnome-clocks/template | 8 +- srcpkgs/gnome-color-manager/template | 10 +- srcpkgs/gnome-common/template | 10 +- srcpkgs/gnome-contacts/template | 8 +- srcpkgs/gnome-control-center/template | 13 +- srcpkgs/gnome-desktop/template | 8 +- srcpkgs/gnome-dictionary/template | 11 +- srcpkgs/gnome-disk-utility/template | 8 +- srcpkgs/gnome-doc-utils/template | 12 +- srcpkgs/gnome-documents/template | 8 +- srcpkgs/gnome-font-viewer/template | 10 +- srcpkgs/gnome-getting-started-docs/template | 8 +- srcpkgs/gnome-icon-theme-extras/template | 10 +- srcpkgs/gnome-icon-theme-symbolic/template | 10 +- srcpkgs/gnome-icon-theme/template | 8 +- srcpkgs/gnome-initial-setup/template | 8 +- srcpkgs/gnome-js-common/template | 10 +- srcpkgs/gnome-keyring/template | 10 +- srcpkgs/gnome-maps/template | 10 +- srcpkgs/gnome-menus/template | 6 - srcpkgs/gnome-mime-data/template | 12 +- srcpkgs/gnome-mplayer/template | 8 +- srcpkgs/gnome-music/template | 8 +- srcpkgs/gnome-nettool/template | 9 +- srcpkgs/gnome-online-accounts/template | 12 +- srcpkgs/gnome-online-miners/template | 12 +- srcpkgs/gnome-photos/template | 8 +- srcpkgs/gnome-power-manager/template | 8 +- srcpkgs/gnome-screenshot/template | 8 +- srcpkgs/gnome-session/template | 10 +- srcpkgs/gnome-settings-daemon/template | 8 +- srcpkgs/gnome-shell-extensions/template | 10 +- srcpkgs/gnome-shell/template | 16 +- srcpkgs/gnome-system-log/template | 8 +- srcpkgs/gnome-system-monitor/template | 8 +- srcpkgs/gnome-terminal/template | 8 +- srcpkgs/gnome-themes-standard/template | 8 +- srcpkgs/gnome-tweak-tool/template | 24 +- srcpkgs/gnome-user-docs/template | 10 +- srcpkgs/gnome-video-effects/template | 12 +- srcpkgs/gnome-weather/template | 8 +- srcpkgs/gnome/template | 7 +- srcpkgs/gnote/template | 8 +- srcpkgs/gnu-efi-libs/template | 30 + srcpkgs/gnucash-devel | 1 + srcpkgs/gnucash/template | 24 + srcpkgs/gnupg/template | 6 - srcpkgs/gnutls/template | 6 - srcpkgs/go/template | 27 +- srcpkgs/gobject-introspection/template | 10 +- srcpkgs/goffice-devel | 1 + srcpkgs/goffice/template | 24 + srcpkgs/goffice0.8-devel | 1 + srcpkgs/goffice0.8/template | 25 + srcpkgs/gource/template | 15 +- srcpkgs/gpart/template | 6 - srcpkgs/gparted/template | 8 +- srcpkgs/gperf/template | 6 - srcpkgs/gpgme/template | 18 +- srcpkgs/gpicview/template | 17 +- srcpkgs/gpm/template | 8 +- srcpkgs/gptfdisk/template | 6 - srcpkgs/granite/template | 13 +- srcpkgs/grantlee/template | 6 - srcpkgs/graphite/template | 6 - srcpkgs/graphviz/template | 6 - srcpkgs/grep/template | 16 +- srcpkgs/grilo-plugins/template | 8 +- srcpkgs/grilo/template | 6 - srcpkgs/groff/template | 8 +- srcpkgs/grub/template | 33 +- srcpkgs/gsasl/template | 6 - srcpkgs/gsettings-desktop-schemas/template | 35 +- srcpkgs/gsfonts/template | 16 +- srcpkgs/gsl/template | 6 - srcpkgs/gssdp/template | 6 - srcpkgs/gst-ffmpeg/template | 6 - srcpkgs/gst-libav/template | 12 +- srcpkgs/gst-plugins-bad/template | 10 +- srcpkgs/gst-plugins-bad1/template | 30 +- srcpkgs/gst-plugins-base/template | 6 - srcpkgs/gst-plugins-base1/template | 58 +- srcpkgs/gst-plugins-good/template | 6 - srcpkgs/gst-plugins-good1/template | 16 +- srcpkgs/gst-plugins-ugly/template | 6 - srcpkgs/gst-plugins-ugly1/template | 25 +- srcpkgs/gst-python/template | 12 +- srcpkgs/gst123/template | 11 +- srcpkgs/gstreamer-vaapi/template | 23 +- srcpkgs/gstreamer/template | 6 - srcpkgs/gstreamer1/template | 41 +- srcpkgs/gtk+/template | 14 +- srcpkgs/gtk+3/template | 23 +- srcpkgs/gtk-doc/template | 10 +- srcpkgs/gtk-engine-murrine/template | 6 - srcpkgs/gtk-sharp/template | 13 +- srcpkgs/gtk-theme-config/template | 14 +- srcpkgs/gtk-vnc/template | 6 - srcpkgs/gtk-xfce-engine/template | 6 - srcpkgs/gtk2-engines/template | 8 - srcpkgs/gtkaml/template | 12 +- srcpkgs/gtkdialog/template | 8 +- srcpkgs/gtkhtml/template | 8 +- srcpkgs/gtkmm/template | 8 +- srcpkgs/gtkmm2/template | 6 - srcpkgs/gtksourceview/template | 12 +- srcpkgs/gtksourceview2/template | 6 - srcpkgs/gtksourceviewmm/template | 6 - srcpkgs/gtkspell/template | 8 +- srcpkgs/gucharmap/template | 8 +- srcpkgs/guile/template | 12 +- srcpkgs/gupnp-av/template | 6 - srcpkgs/gupnp-dlna/template | 6 - srcpkgs/gupnp-igd/template | 8 +- srcpkgs/gupnp/template | 6 - srcpkgs/gvfs/template | 6 - srcpkgs/hamster-applet/template | 17 +- srcpkgs/handbrake/template | 8 +- srcpkgs/hardinfo/template | 8 +- srcpkgs/harfbuzz/template | 6 - srcpkgs/hdparm/template | 6 - srcpkgs/help2man/template | 8 +- srcpkgs/herbstluftwm/template | 8 +- srcpkgs/hg-git/template | 12 +- srcpkgs/hicolor-icon-theme/template | 8 +- srcpkgs/hostapd/template | 29 +- srcpkgs/hplip/template | 23 +- srcpkgs/hsetroot/template | 6 - srcpkgs/htop/template | 6 - srcpkgs/hunspell/template | 6 - srcpkgs/hwids/template | 13 +- srcpkgs/hydrogen/template | 8 +- srcpkgs/i3/template | 26 +- srcpkgs/i3lock/template | 15 +- srcpkgs/i3status/template | 29 +- srcpkgs/iana-etc/template | 9 +- srcpkgs/ibus/template | 10 +- srcpkgs/iceauth/template | 6 - srcpkgs/icecast/template | 14 +- srcpkgs/icon-naming-utils/template | 10 +- srcpkgs/icu/template | 6 - srcpkgs/idjc/template | 10 +- srcpkgs/ifenslave/template | 6 - srcpkgs/iftop/template | 6 - srcpkgs/ii/template | 18 +- srcpkgs/imlib2-tools | 1 + srcpkgs/imlib2/template | 46 +- srcpkgs/inetutils/template | 6 - srcpkgs/inkscape/template | 8 +- srcpkgs/inputproto/template | 8 +- srcpkgs/intel-gpu-tools/template | 15 +- srcpkgs/intel-ucode/template | 11 +- srcpkgs/intltool/template | 14 +- srcpkgs/inxi/template | 16 +- srcpkgs/ioquake3-rpi/template | 6 - srcpkgs/iotop/template | 12 +- srcpkgs/iproute2/template | 26 +- .../patches/0503-extension_cppflags.patch | 11 - srcpkgs/iptables/template | 12 +- srcpkgs/iptraf-ng/template | 28 +- srcpkgs/iputils/template | 8 +- srcpkgs/ipw2100-firmware/template | 8 +- srcpkgs/ipw2200-firmware/template | 8 +- srcpkgs/ired/template | 15 +- srcpkgs/irqbalance/template | 8 +- srcpkgs/irrlicht/template | 6 - srcpkgs/irssi/template | 11 +- srcpkgs/isl/template | 14 +- srcpkgs/iso-codes/template | 8 +- srcpkgs/itstool/template | 10 +- srcpkgs/iw/template | 10 +- srcpkgs/jack/template | 13 +- srcpkgs/jansson/template | 6 - srcpkgs/jasper/template | 6 - srcpkgs/jbig2dec/template | 6 - srcpkgs/john/template | 9 +- srcpkgs/jre/template | 27 +- srcpkgs/js/template | 6 - srcpkgs/json-c/template | 6 - srcpkgs/json-glib/template | 6 - srcpkgs/jsoncpp/template | 6 - srcpkgs/jupp/template | 32 + srcpkgs/kactivities/template | 18 +- srcpkgs/kbd/template | 8 +- srcpkgs/kbproto/template | 12 +- srcpkgs/kde-base-artwork/template | 8 +- srcpkgs/kde-baseapps/template | 8 +- srcpkgs/kde-runtime/template | 11 +- srcpkgs/kde-wallpapers/template | 8 +- srcpkgs/kde-workspace/template | 32 +- srcpkgs/kde/template | 7 +- srcpkgs/kdeartwork/template | 6 - srcpkgs/kdelibs/template | 11 +- srcpkgs/kdepim-runtime/template | 6 - srcpkgs/kdepim/template | 21 +- srcpkgs/kdepimlibs/template | 8 +- srcpkgs/kdeplasma-addons/template | 6 - srcpkgs/kdesdk/template | 7 - srcpkgs/keepassx/template | 8 +- srcpkgs/kernel-headers-rpi | 1 - srcpkgs/kernel-libc-headers/template | 15 +- srcpkgs/kernel-manpages/template | 8 +- srcpkgs/kernel-uml/template | 11 +- srcpkgs/kexec-tools/template | 6 - srcpkgs/keychain/template | 8 +- srcpkgs/keyutils/template | 8 +- srcpkgs/kmix/template | 6 - srcpkgs/kmod/patches/kmod.patch | 32 + srcpkgs/kmod/template | 32 +- srcpkgs/kmscon/template | 8 +- srcpkgs/konsole/template | 6 - srcpkgs/kuser/template | 8 +- srcpkgs/kwallet/template | 6 - srcpkgs/kyua-cli/template | 10 +- srcpkgs/kyua-testers/template | 10 +- srcpkgs/ladish/template | 10 +- srcpkgs/laditools/template | 17 +- srcpkgs/ladspa-sdk/template | 14 +- srcpkgs/lame/template | 6 - srcpkgs/laptop-mode/template | 68 +- srcpkgs/latencytop/template | 6 - srcpkgs/lbreakout2/template | 6 - srcpkgs/lcms/template | 8 +- srcpkgs/lcms2/template | 6 - srcpkgs/ldc/template | 8 +- srcpkgs/less/template | 6 - srcpkgs/leveldb/template | 8 +- srcpkgs/lftp/template | 8 +- srcpkgs/lftpfs/template | 10 +- srcpkgs/lgi/template | 8 +- srcpkgs/libCello/template | 6 - srcpkgs/libHX/template | 6 - srcpkgs/libICE/template | 8 +- srcpkgs/libIDL/template | 6 - srcpkgs/libSM/template | 6 - srcpkgs/libX11/template | 9 +- srcpkgs/libXScrnSaver/template | 8 +- srcpkgs/libXau/template | 8 +- srcpkgs/libXaw/template | 6 - srcpkgs/libXcomposite/template | 8 +- srcpkgs/libXcursor/template | 6 - srcpkgs/libXdamage/template | 8 +- srcpkgs/libXdmcp/template | 8 +- srcpkgs/libXevie/template | 6 - srcpkgs/libXext/template | 6 - srcpkgs/libXfixes/template | 6 - srcpkgs/libXfont/template | 17 +- srcpkgs/libXfontcache/template | 6 - srcpkgs/libXft/patches/freetype_header.patch | 30 + srcpkgs/libXft/template | 30 +- srcpkgs/libXi/template | 6 - srcpkgs/libXinerama/template | 6 - srcpkgs/libXmu/template | 6 - srcpkgs/libXp/template | 6 - srcpkgs/libXpm/template | 6 - srcpkgs/libXrandr/template | 6 - srcpkgs/libXrender/template | 6 - srcpkgs/libXres/template | 6 - srcpkgs/libXt/template | 6 - srcpkgs/libXtst/template | 6 - srcpkgs/libXv/template | 6 - srcpkgs/libXvMC/template | 6 - srcpkgs/libXxf86dga/template | 6 - srcpkgs/libXxf86misc/template | 6 - srcpkgs/libXxf86vm/template | 6 - srcpkgs/liba52/template | 6 - srcpkgs/libao/template | 16 +- srcpkgs/libapp/template | 9 +- srcpkgs/libarchive/template | 9 +- srcpkgs/libart/template | 6 - srcpkgs/libass/template | 6 - srcpkgs/libassuan/template | 6 - srcpkgs/libasyncns/template | 6 - srcpkgs/libatasmart/template | 6 - srcpkgs/libatomic_ops-devel | 1 + srcpkgs/libatomic_ops/template | 33 + srcpkgs/libavcodec53/template | 10 +- srcpkgs/libbluray/template | 10 +- srcpkgs/libbsd/template | 6 - srcpkgs/libburn/template | 6 - srcpkgs/libcaca/template | 6 - srcpkgs/libcanberra/template | 8 +- .../libcap-ng/patches/pid_t-portability.patch | 12 + srcpkgs/libcap-ng/template | 44 +- srcpkgs/libcap-pam | 1 - srcpkgs/libcap-pam/template | 30 + srcpkgs/libcap/template | 28 +- srcpkgs/libcddb/template | 6 - srcpkgs/libcdio/template | 6 - srcpkgs/libcec/template | 6 - srcpkgs/libcgroup/template | 8 +- srcpkgs/libchamplain/template | 6 - srcpkgs/libconfig/template | 8 +- srcpkgs/libcprops/template | 8 +- srcpkgs/libcroco/template | 18 +- srcpkgs/libcryptui/template | 8 +- srcpkgs/libcss/template | 6 - srcpkgs/libcxx-devel | 1 + srcpkgs/libcxx/template | 21 + srcpkgs/libdaemon/template | 8 +- srcpkgs/libdbusmenu-qt/template | 6 - srcpkgs/libdca/template | 6 - srcpkgs/libdiscid/template | 6 - srcpkgs/libdmapsharing/template | 6 - srcpkgs/libdmx/template | 6 - srcpkgs/libdom/template | 7 - srcpkgs/libdri2-devel-git | 1 + srcpkgs/libdri2-git/template | 36 + srcpkgs/libdrm/template | 10 +- srcpkgs/libdvbpsi/template | 6 - srcpkgs/libdvdcss/template | 8 +- srcpkgs/libdvdnav/template | 6 - srcpkgs/libdvdread/template | 6 - srcpkgs/libeatmydata/template | 6 - srcpkgs/libebml/template | 6 - srcpkgs/libedit/template | 6 - srcpkgs/libee/template | 6 - srcpkgs/libepc/template | 8 +- srcpkgs/liberation-fonts-ttf/template | 15 +- srcpkgs/libesmtp/template | 8 +- srcpkgs/libestr/template | 6 - srcpkgs/libev/template | 8 +- srcpkgs/libevdev/template | 10 +- srcpkgs/libevent/template | 8 +- srcpkgs/libewf/template | 6 - srcpkgs/libexif/template | 6 - srcpkgs/libfetch/template | 8 +- srcpkgs/libffi/template | 8 +- srcpkgs/libfm/template | 32 +- srcpkgs/libglade/template | 26 +- srcpkgs/libgpg-error/template | 6 - srcpkgs/libgphoto2/template | 6 - srcpkgs/libgsf/template | 6 - srcpkgs/libgsm/template | 6 - srcpkgs/libgssglue/template | 8 +- srcpkgs/libgtop/template | 6 - srcpkgs/libgudev/template | 36 +- srcpkgs/libguess/template | 6 - srcpkgs/libgusb/template | 8 +- srcpkgs/libgweather/template | 8 +- srcpkgs/libgxps/template | 6 - srcpkgs/libhubbub/template | 6 - srcpkgs/libical/template | 6 - srcpkgs/libid3tag/template | 6 - srcpkgs/libidn/template | 16 +- srcpkgs/libieee1284/template | 8 +- srcpkgs/libiodbc/template | 6 - srcpkgs/libiptcdata/template | 8 +- srcpkgs/libisofs/template | 6 - srcpkgs/libjpeg-turbo/template | 10 +- srcpkgs/libkexiv2/template | 6 - srcpkgs/libkgapi/template | 6 - srcpkgs/libktorrent/template | 6 - srcpkgs/libldap/template | 8 +- srcpkgs/liblo/template | 6 - srcpkgs/liblrdf/template | 8 +- srcpkgs/libmad/template | 8 +- srcpkgs/libmatroska/template | 6 - srcpkgs/libmbim/template | 6 - srcpkgs/libmcrypt/template | 6 - srcpkgs/libmicrohttpd/template | 13 +- srcpkgs/libmikmod/template | 6 - srcpkgs/libmms/template | 6 - srcpkgs/libmng/template | 6 - srcpkgs/libmodplug/template | 6 - srcpkgs/libmowgli/template | 6 - srcpkgs/libmp4v2/template | 8 +- srcpkgs/libmpc/template | 16 +- srcpkgs/libmpcdec/template | 8 +- srcpkgs/libmpdclient/template | 6 - srcpkgs/libmpeg2/template | 6 - srcpkgs/libmtp/template | 6 - srcpkgs/libmusicbrainz/template | 6 - srcpkgs/libmusicbrainz5/template | 6 - srcpkgs/libnet/template | 6 - srcpkgs/libnfs/template | 6 - srcpkgs/libnfsidmap/template | 6 - srcpkgs/libnice/template | 6 - srcpkgs/libnl/template | 6 - srcpkgs/libnl3/template | 8 +- srcpkgs/libnotify/template | 6 - srcpkgs/libnotmuch | 1 + srcpkgs/libnotmuch-devel | 1 + srcpkgs/libnsbmp/template | 6 - srcpkgs/libnsgif/template | 6 - srcpkgs/liboauth/template | 6 - srcpkgs/libogg/template | 6 - srcpkgs/liboil/template | 6 - srcpkgs/libopenal/template | 10 +- srcpkgs/libopenobex-devel | 1 - srcpkgs/libosinfo/template | 6 - srcpkgs/libotr/template | 6 - srcpkgs/libotr3/template | 6 - srcpkgs/libparserutils/template | 6 - srcpkgs/libpcap/template | 34 +- srcpkgs/libpciaccess/template | 6 - srcpkgs/libpeas/template | 8 +- srcpkgs/libpipeline/template | 6 - srcpkgs/libplist/template | 15 +- srcpkgs/libpng/template | 12 +- srcpkgs/libproxy/template | 28 +- srcpkgs/libpwquality/template | 8 +- srcpkgs/libqmi/template | 6 - srcpkgs/libquvi-scripts/template | 10 +- srcpkgs/libquvi/template | 10 +- srcpkgs/libqzeitgeist/template | 6 - srcpkgs/libraw/template | 6 - srcpkgs/libraw1394/template | 6 - srcpkgs/libreoffice-bin-i18n/template | 39 +- srcpkgs/libreoffice-bin/template | 10 +- srcpkgs/librlog/template | 6 - srcpkgs/librpcsecgss/template | 6 - srcpkgs/librsvg/template | 10 +- srcpkgs/librsync/template | 8 +- srcpkgs/libsamplerate/template | 8 +- srcpkgs/libsasl/template | 6 - srcpkgs/libseccomp/template | 6 - srcpkgs/libsecret/template | 6 - srcpkgs/libsexy/template | 6 - srcpkgs/libshout-idjc/template | 6 - srcpkgs/libsigc++/template | 6 - srcpkgs/libsmbios/template | 6 - srcpkgs/libsndfile/template | 10 +- srcpkgs/libsoup/template | 46 +- srcpkgs/libspectre/template | 8 +- srcpkgs/libsrtp/template | 8 +- srcpkgs/libssh/patches/fix-includes.patch | 10 + srcpkgs/libssh/template | 15 +- srcpkgs/libssh2/template | 6 - srcpkgs/libstatgrab/template | 6 - srcpkgs/libtaginfo/template | 6 - srcpkgs/libtar/template | 6 - srcpkgs/libtasn1/template | 31 +- srcpkgs/libtheora/template | 20 +- srcpkgs/libtirpc/template | 19 +- srcpkgs/libtomcrypt/template | 6 - srcpkgs/libtool/template | 10 +- srcpkgs/libtorrent/template | 8 +- srcpkgs/libtsm/template | 6 - srcpkgs/libtxc_dxtn/template | 6 - srcpkgs/libunique/template | 6 - srcpkgs/libunique1/template | 6 - srcpkgs/libunistring/template | 6 - srcpkgs/libunwind/template | 6 - srcpkgs/libupnp/template | 6 - srcpkgs/libusb-compat/template | 8 +- .../libusb/patches/portability-fixes.patch | 16 + srcpkgs/libusb/template | 21 +- srcpkgs/libusbx-devel | 1 - srcpkgs/libusbx/template | 33 - srcpkgs/libutempter/template | 8 +- srcpkgs/libva-intel-driver/template | 8 +- srcpkgs/libva/template | 6 - srcpkgs/libvdpau-sunxi-git/template | 19 + srcpkgs/libvdpau-va-gl/template | 8 +- srcpkgs/libvdpau/template | 6 - srcpkgs/libvirt-glib/template | 6 - srcpkgs/libvirt/template | 44 +- srcpkgs/libvisual/template | 6 - srcpkgs/libvncserver/template | 6 - srcpkgs/libvorbis/template | 37 +- srcpkgs/libvpx-tools | 1 + srcpkgs/libvpx/template | 36 +- srcpkgs/libwacom/template | 6 - srcpkgs/libwapcaplet/template | 6 - srcpkgs/libwebp/template | 6 - srcpkgs/libwmf/template | 10 +- srcpkgs/libwnck/template | 6 - srcpkgs/libwnck2/template | 38 +- srcpkgs/libx86/template | 6 - srcpkgs/libxcb/template | 6 - srcpkgs/libxdg-basedir/template | 6 - srcpkgs/libxfce4ui/template | 8 +- srcpkgs/libxfce4util/template | 6 - srcpkgs/libxfcegui4/template | 12 +- srcpkgs/libxkbcommon/template | 8 +- srcpkgs/libxkbfile/template | 8 +- srcpkgs/libxkbui/template | 8 +- srcpkgs/libxklavier/template | 8 +- srcpkgs/libxml++/template | 8 +- srcpkgs/libxml2/patches/libxml2-pthread.patch | 53 + srcpkgs/libxml2/template | 11 +- srcpkgs/libxshmfence/template | 6 - srcpkgs/libxslt/template | 10 +- srcpkgs/libyaml/template | 8 +- srcpkgs/libzapojit/template | 8 +- srcpkgs/libzeitgeist/template | 8 +- srcpkgs/libzip/template | 18 +- srcpkgs/lightdm-gtk-greeter/template | 12 +- srcpkgs/lightdm-gtk3-greeter/template | 12 +- srcpkgs/lightdm/INSTALL | 3 + srcpkgs/lightdm/files/xsession | 12 - srcpkgs/lightdm/template | 45 +- srcpkgs/lightspark/template | 10 +- srcpkgs/lilv/template | 12 +- srcpkgs/linux-firmware/template | 18 +- srcpkgs/linux-tools/template | 8 +- srcpkgs/linux-user-chroot/template | 7 - srcpkgs/linux/template | 27 +- srcpkgs/linux3.10/template | 42 +- srcpkgs/linux3.11-headers | 1 - srcpkgs/linux3.12/template | 41 +- srcpkgs/linux3.13-headers | 1 + .../files/i386-dotconfig | 321 +- .../files/x86_64-dotconfig | 338 +- srcpkgs/{linux3.11 => linux3.13}/template | 49 +- srcpkgs/linux3.2-grsec/template | 39 +- srcpkgs/litecoin/template | 6 - .../cross-internal-compiler-error.patch | 22 + srcpkgs/llvm/template | 44 +- srcpkgs/lm-sensors/template | 8 +- srcpkgs/lmdb/template | 6 - srcpkgs/lockdev/template | 6 - srcpkgs/logrotate/template | 9 +- srcpkgs/lrzip/template | 6 - srcpkgs/lrzsz/template | 6 - srcpkgs/ls++-git/template | 13 +- srcpkgs/lsof/template | 6 - srcpkgs/ltrace/template | 8 +- srcpkgs/ltris/template | 7 - srcpkgs/lua/template | 25 +- srcpkgs/lua51/template | 6 - srcpkgs/luafilesystem/template | 8 +- srcpkgs/luakit/template | 28 +- srcpkgs/luaposix/template | 8 +- srcpkgs/luasocket/template | 8 +- srcpkgs/lutok/template | 6 - srcpkgs/lv2/template | 12 +- srcpkgs/lvm2/template | 22 +- srcpkgs/lxappearance/template | 14 +- srcpkgs/lxc/template | 59 +- srcpkgs/lxde-common/template | 17 +- srcpkgs/lxde-icon-theme/template | 10 +- srcpkgs/lxde/template | 30 +- srcpkgs/lxdm/template | 32 +- srcpkgs/lxinput/template | 8 +- srcpkgs/lxlauncher/template | 15 +- srcpkgs/lxmenu-data/template | 8 +- srcpkgs/lxpanel/template | 8 +- srcpkgs/lxpolkit/template | 6 - srcpkgs/lxrandr/template | 8 +- srcpkgs/lxsession/template | 8 +- srcpkgs/lxtask/template | 8 +- srcpkgs/lxterminal/template | 8 +- srcpkgs/lzip/template | 6 - srcpkgs/lzo/template | 6 - srcpkgs/m4/template | 6 - srcpkgs/mailx/template | 12 +- srcpkgs/make/template | 8 +- srcpkgs/makedepend/template | 6 - srcpkgs/makeself/template | 10 +- srcpkgs/man-db/template | 16 +- srcpkgs/man-pages-posix/template | 12 +- srcpkgs/man-pages/template | 12 +- srcpkgs/mariadb/template | 20 +- srcpkgs/mash/template | 8 +- srcpkgs/mawk/template | 6 - srcpkgs/mc/template | 28 +- srcpkgs/mcpp/template | 10 +- srcpkgs/mcwm-git/template | 11 +- srcpkgs/mcwm/template | 6 - srcpkgs/mda-lv2/template | 8 +- srcpkgs/mdbtools/template | 6 - srcpkgs/mdocml/template | 10 +- srcpkgs/media-player-info/template | 8 +- srcpkgs/meld/template | 12 +- srcpkgs/memcached/template | 6 - srcpkgs/memtest86+/template | 10 +- srcpkgs/menu-cache/template | 6 - srcpkgs/menumaker/template | 12 +- srcpkgs/mercurial/template | 8 +- srcpkgs/mesa-demos/template | 6 - srcpkgs/mg/template | 6 - srcpkgs/midori/template | 14 +- srcpkgs/mime-types/template | 12 +- srcpkgs/minecraft/template | 13 +- srcpkgs/minetest/template | 9 +- srcpkgs/mingw-w64-binutils/template | 6 - srcpkgs/mingw-w64-crt/template | 6 - srcpkgs/mingw-w64-gcc/template | 6 - srcpkgs/mingw-w64-headers/template | 7 - srcpkgs/mingw-w64-libgcc/template | 6 - srcpkgs/minicom/template | 12 +- srcpkgs/minitube/template | 8 +- srcpkgs/miniupnpc/template | 6 - srcpkgs/minizip/template | 8 +- srcpkgs/mit-krb5/template | 10 +- srcpkgs/mkfontdir/template | 10 +- srcpkgs/mkfontscale/template | 6 - srcpkgs/mksh/files/TaC-mksh.txt | 17 +- srcpkgs/mksh/template | 20 +- .../mobile-broadband-provider-info/template | 8 +- srcpkgs/mod_wsgi/template | 6 - srcpkgs/mongoose/template | 9 +- srcpkgs/mono/template | 12 +- srcpkgs/monsterwm-git/template | 19 +- srcpkgs/mosh/template | 8 +- srcpkgs/mousepad/template | 8 +- srcpkgs/mousetweaks/template | 8 +- srcpkgs/mozjs17/template | 33 +- srcpkgs/mpc/template | 6 - srcpkgs/mpd/template | 16 +- srcpkgs/mpfr/template | 6 - srcpkgs/mpg123/template | 22 +- srcpkgs/mplayer/template | 13 +- srcpkgs/mpv/template | 13 +- srcpkgs/ms-sys/template | 6 - srcpkgs/msmtp/template | 6 - srcpkgs/mtd-utils/template | 6 - srcpkgs/mtdev/template | 6 - srcpkgs/mtools/template | 9 +- srcpkgs/mtpfs/template | 6 - srcpkgs/mtr/template | 6 - srcpkgs/muffin/template | 11 +- srcpkgs/mumble/template | 12 +- srcpkgs/mumble122/template | 12 +- srcpkgs/mupdf/template | 8 +- srcpkgs/mupen64plus/template | 8 +- srcpkgs/musl-bootstrap/template | 14 +- srcpkgs/musl/template | 16 +- srcpkgs/mutagen/template | 16 +- srcpkgs/mutt-kz/template | 30 +- srcpkgs/mutt/template | 10 +- srcpkgs/mutter-wayland/template | 8 +- srcpkgs/mutter/template | 14 +- srcpkgs/mysql/template | 16 +- srcpkgs/nano/template | 6 - srcpkgs/nasm/template | 6 - srcpkgs/nautilus-dropbox/template | 8 +- srcpkgs/nautilus-sendto/template | 6 - srcpkgs/nautilus/template | 8 +- srcpkgs/nbd/files/config | 33 + srcpkgs/nbd/files/nbd.service | 10 + srcpkgs/nbd/template | 22 + srcpkgs/ncdu/template | 6 - srcpkgs/ncmpcpp/template | 6 - srcpkgs/ncurses/template | 9 +- srcpkgs/ne/template | 6 - srcpkgs/nemo/template | 8 +- srcpkgs/neon/template | 8 +- srcpkgs/nepomuk-core/template | 6 - srcpkgs/nepomuk-widgets/template | 6 - srcpkgs/net-snmp/template | 12 +- srcpkgs/net-tools/template | 6 - srcpkgs/netbsd-rumpkernel/template | 10 +- srcpkgs/netbsd-wtf/template | 8 +- srcpkgs/netcat/template | 6 - srcpkgs/netctl/template | 16 +- srcpkgs/nethogs/template | 6 - srcpkgs/netpgp/template | 6 - srcpkgs/netsurf/template | 8 +- srcpkgs/nettle/template | 6 - srcpkgs/network-manager-applet/template | 8 +- srcpkgs/network-ups-tools/template | 24 +- srcpkgs/neverball/template | 8 +- srcpkgs/newlisp/template | 6 - srcpkgs/nfs-utils/template | 16 +- srcpkgs/nginx/template | 44 +- srcpkgs/ngircd/template | 8 +- srcpkgs/ngrep/template | 6 - srcpkgs/nilfs-utils/template | 8 +- srcpkgs/nitrogen/template | 8 +- srcpkgs/nix/template | 62 +- srcpkgs/nmap/template | 6 - srcpkgs/nodejs/template | 8 +- srcpkgs/notification-daemon/template | 10 +- srcpkgs/notify-python/template | 10 +- srcpkgs/notmuch/template | 30 + srcpkgs/nspr/template | 30 +- srcpkgs/nss-mdns/template | 8 +- srcpkgs/nss/template | 53 +- srcpkgs/ntfs-3g/template | 17 +- srcpkgs/ntp/template | 18 +- srcpkgs/numactl/template | 6 - srcpkgs/nvi/template | 6 - srcpkgs/nvidia/template | 30 +- srcpkgs/nvidia304/template | 25 +- srcpkgs/obconf/template | 8 +- srcpkgs/obex-data-server/template | 30 - srcpkgs/objfw/template | 6 - srcpkgs/obmenu/template | 16 + srcpkgs/ocaml-camomile/template | 6 - srcpkgs/ocaml-findlib/template | 7 - srcpkgs/ocaml-lidl/template | 6 - srcpkgs/ocaml/template | 6 - srcpkgs/odroid-u2-base/INSTALL | 6 + srcpkgs/odroid-u2-base/files/odroid-led | 48 + .../odroid-u2-base/files/odroid-led.default | 5 + .../odroid-u2-base/files/odroid-led.service | 9 + srcpkgs/odroid-u2-base/template | 30 + srcpkgs/odroid-u2-boot-fw/template | 21 + srcpkgs/odroid-u2-kernel-headers | 1 + .../files/u2-dotconfig-custom | 4020 +++++++++++++++++ srcpkgs/odroid-u2-kernel/template | 166 + .../files/boot-1024x768-noedid.ini | 6 + .../odroid-u2-uboot/files/boot-1080p-edid.ini | 6 + .../files/boot-1080p-noedid.ini | 6 + .../odroid-u2-uboot/files/boot-720p-edid.ini | 6 + .../files/boot-720p-noedid.ini | 6 + .../odroid-u2-uboot/files/boot-auto_edid.ini | 5 + srcpkgs/odroid-u2-uboot/files/config.patch | 13 + srcpkgs/odroid-u2-uboot/template | 52 + srcpkgs/omxplayer/template | 17 +- srcpkgs/openbox/template | 16 +- srcpkgs/opencl-headers/template | 8 +- srcpkgs/openjade/template | 10 +- srcpkgs/openmpi/template | 17 +- srcpkgs/openmsx/template | 6 - srcpkgs/{libopenobex => openobex-devel} | 0 srcpkgs/openobex/template | 51 +- srcpkgs/openresolv/template | 8 +- srcpkgs/opensmtpd/template | 20 +- srcpkgs/opensonic/template | 10 +- srcpkgs/opensp/template | 12 +- srcpkgs/openssh/files/sshdgenkeys.service | 10 +- srcpkgs/openssh/template | 21 +- ...1.patch => openssl-1.0.1f-perl-5.18.patch} | 189 +- srcpkgs/openssl/template | 47 +- srcpkgs/openvpn/template | 6 - srcpkgs/oprofile/template | 16 +- srcpkgs/optipng/template | 6 - srcpkgs/opus-tools/template | 6 - srcpkgs/opus/template | 6 - srcpkgs/opusfile/template | 22 +- srcpkgs/orage/template | 8 +- srcpkgs/orc/template | 6 - srcpkgs/os-prober/template | 8 +- srcpkgs/oxygen-icons/template | 8 +- srcpkgs/p11-kit/template | 25 +- srcpkgs/p7zip/template | 6 - srcpkgs/pam/patches/portability-fixes.patch | 106 + srcpkgs/pam/template | 43 +- srcpkgs/pango/template | 10 +- srcpkgs/pangomm/template | 8 +- srcpkgs/pangox-compat/template | 8 +- srcpkgs/papyon/template | 12 +- srcpkgs/par2cmdline/template | 18 + srcpkgs/parallel/template | 10 +- srcpkgs/parted/template | 10 +- srcpkgs/patch/template | 12 +- srcpkgs/patchage/template | 11 +- srcpkgs/patchelf/template | 6 - srcpkgs/pavucontrol/template | 6 - srcpkgs/pbzip2/template | 6 - srcpkgs/pcc-libs/template | 6 - srcpkgs/pcc/template | 8 +- srcpkgs/pciutils/template | 20 +- srcpkgs/pcmanfm/template | 18 +- srcpkgs/pcre/template | 20 +- srcpkgs/pcsxr/template | 8 +- srcpkgs/pekwm/template | 42 +- srcpkgs/pelican/template | 11 +- srcpkgs/pen/template | 6 - srcpkgs/perl-Archive-Zip/template | 10 +- srcpkgs/perl-Crypt-Blowfish/template | 8 +- srcpkgs/perl-Crypt-DH/template | 10 +- srcpkgs/perl-Crypt-OpenSSL-Bignum/template | 8 +- srcpkgs/perl-DBD-SQLite/template | 8 +- srcpkgs/perl-DBI/template | 8 +- srcpkgs/perl-Encode-Locale/template | 10 +- srcpkgs/perl-ExtUtils-Depends/template | 10 +- srcpkgs/perl-ExtUtils-PkgConfig/template | 10 +- srcpkgs/perl-File-Listing/template | 10 +- srcpkgs/perl-Fuse/template | 8 +- srcpkgs/perl-Glib/template | 8 +- srcpkgs/perl-HTML-Form/template | 10 +- srcpkgs/perl-HTML-Parser/template | 8 +- srcpkgs/perl-HTML-Tagset/template | 10 +- srcpkgs/perl-HTTP-Cookies/template | 10 +- srcpkgs/perl-HTTP-Daemon/template | 10 +- srcpkgs/perl-HTTP-Date/template | 10 +- srcpkgs/perl-HTTP-Message/template | 10 +- srcpkgs/perl-HTTP-Negotiate/template | 10 +- srcpkgs/perl-IO-Tty/template | 8 +- srcpkgs/perl-IPC-Run/template | 10 +- srcpkgs/perl-LWP-MediaTypes/template | 10 +- srcpkgs/perl-LWP/template | 10 +- srcpkgs/perl-Lchown/template | 8 +- srcpkgs/perl-Locale-gettext/template | 8 +- srcpkgs/perl-Math-BigInt-GMP/template | 8 +- srcpkgs/perl-Net-HTTP/template | 10 +- srcpkgs/perl-Parse-CPAN-Meta/template | 10 +- srcpkgs/perl-Term-ExtendedColor/template | 10 +- srcpkgs/perl-URI/template | 10 +- srcpkgs/perl-WWW-Curl/template | 8 +- srcpkgs/perl-WWW-RobotRules/template | 10 +- srcpkgs/perl-XML-NamespaceSupport/template | 10 +- srcpkgs/perl-XML-Parser/template | 24 +- srcpkgs/perl-XML-SAX-Base/template | 10 +- srcpkgs/perl-XML-SAX/template | 10 +- srcpkgs/perl-XML-Simple/template | 10 +- .../{arm-linux-gnueabihf => cross}/bitcount.h | 0 .../{arm-linux-gnueabihf => cross}/config.h | 0 .../{arm-linux-gnueabihf => cross}/config.sh | 30 +- .../{arm-linux-gnueabihf => cross}/mg_data.h | 0 .../{arm-linux-gnueabihf => cross}/uudmap.h | 0 srcpkgs/perl/template | 304 +- srcpkgs/phonon-backend-gstreamer/template | 12 +- srcpkgs/phonon/template | 6 - srcpkgs/phoronix-test-suite/template | 10 +- srcpkgs/phorward/template | 6 - srcpkgs/php/template | 8 +- srcpkgs/physfs/template | 6 - srcpkgs/pidgin-gpg/template | 6 - srcpkgs/pidgin-otr/template | 6 - ...idgin-2.10.7-link-libirc-to-libsasl2.patch | 11 - srcpkgs/pidgin/template | 47 +- srcpkgs/pigz/template | 6 - srcpkgs/pingus/template | 6 - srcpkgs/pixman/template | 6 - srcpkgs/pixz/template | 6 - srcpkgs/pkg-config/template | 6 - srcpkgs/poedit/template | 6 - srcpkgs/polarssl/template | 6 - srcpkgs/polipo/template | 8 +- srcpkgs/polkit-gnome/template | 6 - srcpkgs/polkit-kde/template | 11 +- srcpkgs/polkit-qt/template | 8 +- srcpkgs/polkit/template | 52 +- srcpkgs/polysh/template | 15 +- srcpkgs/poppler-qt4/template | 8 +- srcpkgs/poppler/template | 8 +- srcpkgs/popt/template | 15 +- srcpkgs/portaudio/template | 12 +- srcpkgs/postfix/template | 78 +- srcpkgs/postgresql/template | 30 +- srcpkgs/potrace/template | 6 - srcpkgs/powertop/template | 6 - srcpkgs/ppl/template | 6 - srcpkgs/ppp/template | 19 +- srcpkgs/prelink/template | 6 - srcpkgs/presentproto/template | 8 +- srcpkgs/primus/template | 6 - srcpkgs/printproto/template | 10 +- srcpkgs/procps-ng/template | 8 +- srcpkgs/profile-cleaner/template | 10 +- srcpkgs/profile-sync-daemon/template | 17 +- srcpkgs/proot/template | 6 - srcpkgs/proplib/template | 6 - srcpkgs/protobuf-vala/template | 10 +- srcpkgs/protobuf/template | 6 - srcpkgs/psmisc/template | 13 +- srcpkgs/pulseaudio/template | 18 +- srcpkgs/putty/template | 6 - srcpkgs/py2cairo/files/python-config | 9 + srcpkgs/py2cairo/template | 32 +- srcpkgs/pyatspi/template | 12 +- srcpkgs/pycairo/template | 6 - srcpkgs/pycrypto/template | 8 +- srcpkgs/pycups/template | 6 - srcpkgs/pycurl/template | 8 +- srcpkgs/pygobject/template | 10 +- srcpkgs/pygobject2/template | 32 +- srcpkgs/pygtk/template | 28 +- srcpkgs/pygtksourceview/template | 8 +- srcpkgs/pyopenssl/template | 9 +- srcpkgs/pypy/template | 6 - srcpkgs/pysmbc/template | 6 - srcpkgs/pysqlite/template | 8 +- srcpkgs/python-Markdown/template | 12 +- srcpkgs/python-MarkupSafe/template | 8 +- srcpkgs/python-Pygments/template | 12 +- srcpkgs/python-Unidecode/template | 12 +- srcpkgs/python-audioread/template | 12 +- srcpkgs/python-babel/template | 10 +- srcpkgs/python-blinker/template | 12 +- srcpkgs/python-decorator/template | 14 +- srcpkgs/python-distribute/template | 14 +- srcpkgs/python-distutils-extra/template | 12 +- srcpkgs/python-docutils/template | 12 +- srcpkgs/python-dulwich/template | 8 +- srcpkgs/python-e_dbus-devel | 1 - srcpkgs/python-ecdsa/template | 10 +- srcpkgs/python-ecore-devel | 1 - srcpkgs/python-edje-devel | 1 - srcpkgs/python-efl/template | 22 +- srcpkgs/python-elementary-devel | 1 - srcpkgs/python-evas-devel | 1 - srcpkgs/python-feedgenerator/template | 12 +- srcpkgs/python-gconf/template | 10 +- srcpkgs/python-httplib2/template | 10 +- srcpkgs/python-imaging/template | 8 +- srcpkgs/python-inotify/template | 12 +- srcpkgs/python-isodate/template | 12 +- srcpkgs/python-jinja/template | 30 +- srcpkgs/python-lockfile/template | 12 +- srcpkgs/python-lxml/template | 8 +- srcpkgs/python-munkres/template | 12 +- srcpkgs/python-musicbrainzngs/template | 12 +- srcpkgs/python-pam/template | 12 +- srcpkgs/python-paramiko/template | 12 +- srcpkgs/python-parsing/template | 12 +- srcpkgs/python-pexpect/template | 12 +- srcpkgs/python-pip/template | 12 +- srcpkgs/python-psutil/template | 10 +- srcpkgs/python-pyacoustid/template | 12 +- srcpkgs/python-pylastfp/template | 10 +- srcpkgs/python-pytz/template | 12 +- srcpkgs/python-rdflib/template | 12 +- srcpkgs/python-requests/template | 16 +- srcpkgs/python-setproctitle/template | 10 +- srcpkgs/python-setuptools/template | 16 +- srcpkgs/python-simplejson/template | 15 +- srcpkgs/python-six/template | 12 +- srcpkgs/python-sqlalchemy/template | 8 +- srcpkgs/python-tempita/template | 14 +- srcpkgs/python-termcolor/template | 12 +- srcpkgs/python-urwid/template | 8 +- .../python-fix-posix-close-clash.patch | 20 + srcpkgs/python/template | 14 +- srcpkgs/python3/template | 6 - srcpkgs/pyxdg/template | 11 +- srcpkgs/pyyaml/template | 8 +- srcpkgs/qca/template | 8 +- srcpkgs/qemu-user-static/template | 6 - srcpkgs/qemu/template | 20 +- srcpkgs/qimageblitz/template | 6 - srcpkgs/qjackctl/template | 8 +- srcpkgs/qjson/template | 7 - srcpkgs/qoauth/template | 6 - srcpkgs/qpdf/template | 10 +- srcpkgs/qrencode/template | 6 - srcpkgs/qsynth/template | 8 +- srcpkgs/qt/template | 6 - srcpkgs/qtractor/template | 8 +- srcpkgs/quvi/template | 6 - srcpkgs/r2-bindings-git/template | 51 - srcpkgs/r2-bindings/template | 12 +- srcpkgs/radare2-devel-git | 1 - srcpkgs/radare2-git/template | 35 - srcpkgs/radare2/template | 6 - srcpkgs/randrproto/template | 10 +- srcpkgs/ranger/template | 12 +- srcpkgs/raptor/template | 6 - srcpkgs/rarian/template | 9 +- srcpkgs/rasqal/template | 6 - srcpkgs/raul/template | 8 +- srcpkgs/rawtherapee/template | 8 +- srcpkgs/razor-qt/template | 25 +- srcpkgs/rdesktop/template | 6 - srcpkgs/rdis-git/template | 7 - srcpkgs/re2/template | 8 +- srcpkgs/readline/template | 6 - srcpkgs/recode/template | 6 - srcpkgs/recordproto/template | 11 +- srcpkgs/redland/template | 23 +- srcpkgs/redshift/template | 6 - srcpkgs/reminiscence/template | 6 - srcpkgs/renderproto/template | 8 +- srcpkgs/resourceproto/template | 10 +- srcpkgs/rest/template | 8 +- srcpkgs/rfkill/template | 6 - srcpkgs/rgb/template | 6 - srcpkgs/rhythmbox/template | 8 +- srcpkgs/ristretto/template | 8 +- srcpkgs/rox/template | 8 +- srcpkgs/roxterm/template | 8 +- srcpkgs/rpcbind/template | 14 +- srcpkgs/rpi-base-files/template | 32 - srcpkgs/rpi-base/INSTALL | 6 + srcpkgs/rpi-base/files/bcm_host.pc | 11 + srcpkgs/rpi-base/files/egl.pc | 12 + srcpkgs/rpi-base/files/glesv2.pc | 12 + srcpkgs/rpi-base/template | 28 + srcpkgs/rpi-firmware-pcfiles/template | 12 +- srcpkgs/rpi-firmware/template | 18 +- srcpkgs/rpi-kernel-headers | 1 + .../files/args-uncompressed.txt | 0 .../files/boot-uncompressed.txt | 0 .../files/imagetool-uncompressed.py | 0 srcpkgs/{kernel-rpi => rpi-kernel}/template | 73 +- srcpkgs/rpmextract/template | 11 +- srcpkgs/rsnapshot/template | 16 +- srcpkgs/rsync/template | 6 - srcpkgs/rsyslog/template | 16 +- srcpkgs/rtkit/template | 12 +- srcpkgs/rtmpdump/template | 10 +- srcpkgs/rtorrent/template | 8 +- srcpkgs/rubberband/template | 12 +- srcpkgs/ruby/template | 6 - srcpkgs/run-parts/template | 6 - srcpkgs/rust/template | 6 - srcpkgs/rxvt-unicode/template | 6 - srcpkgs/rygel/template | 10 +- srcpkgs/s-nail/template | 21 +- srcpkgs/samba/template | 8 +- srcpkgs/sane/template | 171 +- srcpkgs/sbc/template | 6 - srcpkgs/scons/template | 12 +- srcpkgs/screen/template | 8 +- srcpkgs/scrnsaverproto/template | 8 +- srcpkgs/scrot/template | 6 - srcpkgs/scrypt/template | 6 - srcpkgs/scummvm/template | 6 - srcpkgs/sdb/template | 6 - srcpkgs/sdlmame/template | 10 +- srcpkgs/sdparm/template | 6 - srcpkgs/seahorse-nautilus/template | 8 +- srcpkgs/seahorse-sharing/template | 11 +- srcpkgs/seahorse/template | 29 +- srcpkgs/sed/template | 8 +- srcpkgs/seed/template | 8 +- srcpkgs/serd/template | 10 +- srcpkgs/serf/template | 6 - srcpkgs/sessreg/template | 6 - srcpkgs/setxkbmap/template | 6 - srcpkgs/sexy-python/template | 10 +- srcpkgs/sg3_utils/template | 10 +- srcpkgs/shadow/template | 47 +- srcpkgs/shared-color-profiles/template | 8 +- srcpkgs/shared-color-targets/template | 8 +- srcpkgs/shared-desktop-ontologies/template | 8 +- srcpkgs/shared-mime-info/template | 6 - srcpkgs/shorewall/template | 71 +- srcpkgs/shotwell/template | 8 +- srcpkgs/sic-git/template | 17 +- srcpkgs/silc-client/template | 8 +- srcpkgs/silc-toolkit/template | 6 - srcpkgs/silc/template | 6 - srcpkgs/simple-scan/template | 8 +- srcpkgs/skype/template | 12 +- srcpkgs/skypetab-ng/template | 8 +- srcpkgs/slim/template | 16 +- srcpkgs/sloccount/template | 8 +- srcpkgs/slock/template | 6 - srcpkgs/smali/template | 6 - srcpkgs/smartmontools/template | 12 +- srcpkgs/smpeg/template | 8 +- srcpkgs/smplayer/template | 8 +- srcpkgs/smproxy/template | 6 - srcpkgs/smu-git/template | 17 +- srcpkgs/snapper/template | 8 +- srcpkgs/snappy/template | 6 - srcpkgs/socat/template | 20 +- srcpkgs/soprano/template | 8 +- srcpkgs/sord/template | 10 +- srcpkgs/sound-juicer/template | 8 +- srcpkgs/sound-theme-freedesktop/template | 8 +- srcpkgs/soundtouch/template | 8 +- srcpkgs/source-highlight/template | 6 - srcpkgs/spacefm/template | 8 +- srcpkgs/speech-dispatcher/template | 42 +- srcpkgs/speex/template | 6 - srcpkgs/spice-gtk/template | 8 +- srcpkgs/spice-protocol/template | 8 +- srcpkgs/spice-vdagent/template | 10 +- srcpkgs/spice/template | 6 - srcpkgs/splint/template | 6 - srcpkgs/sqlalchemy-migrate/template | 15 +- srcpkgs/sqlite/template | 6 - srcpkgs/squashfs-tools/template | 6 - srcpkgs/sratom/template | 8 +- srcpkgs/sshfs-fuse/template | 24 - srcpkgs/st/template | 8 +- srcpkgs/startup-notification/template | 6 - srcpkgs/steam/template | 10 +- srcpkgs/strace/patches/use-sys-ptrace.h.patch | 13 + srcpkgs/strace/template | 6 - srcpkgs/strigi/template | 6 - srcpkgs/sublime-text3/template | 10 +- srcpkgs/subversion/template | 8 +- srcpkgs/sudo/template | 12 +- srcpkgs/suil/template | 8 +- srcpkgs/sunxi-mali-devel | 1 + srcpkgs/sunxi-mali/patches/make-tabs.patch | 29 + srcpkgs/sunxi-mali/template | 42 + srcpkgs/sunxi-tools/template | 26 + srcpkgs/surf/template | 6 - srcpkgs/sushi/template | 6 - srcpkgs/swh-lv2/template | 6 - srcpkgs/swig/template | 6 - srcpkgs/sxhkd-git/template | 16 +- srcpkgs/sxiv-git/template | 21 +- srcpkgs/sylpheed/template | 6 - srcpkgs/synergy/template | 6 - srcpkgs/sysfsutils/template | 6 - srcpkgs/syslinux/INSTALL | 16 + .../syslinux-6.02-fix-bios-isolinux.patch | 10 + .../syslinux-6.02-fix-chainloading.patch | 45 + ...linux-dont-build-dos-windows-targets.patch | 11 - srcpkgs/syslinux/template | 35 +- srcpkgs/sysprof/template | 6 - srcpkgs/system-config-printer/template | 14 +- srcpkgs/systemd/template | 34 +- srcpkgs/t1lib/template | 6 - srcpkgs/tabbed-git/template | 20 +- srcpkgs/tabbed/template | 19 +- srcpkgs/taglib-sharp/template | 6 - srcpkgs/taglib/template | 6 - srcpkgs/talloc/template | 6 - srcpkgs/tar/template | 8 +- srcpkgs/task/template | 6 - srcpkgs/tcc/template | 6 - srcpkgs/tcl/template | 6 - srcpkgs/tcp_wrappers/template | 10 +- srcpkgs/tcpdump/template | 6 - srcpkgs/tdb/template | 6 - srcpkgs/telepathy-butterfly/template | 12 +- srcpkgs/telepathy-farstream/template | 8 +- srcpkgs/telepathy-gabble/template | 8 +- srcpkgs/telepathy-glib/template | 39 +- srcpkgs/telepathy-haze/template | 6 - srcpkgs/telepathy-idle/template | 8 +- srcpkgs/telepathy-logger/template | 8 +- srcpkgs/telepathy-mission-control/template | 8 +- srcpkgs/telepathy-python/template | 12 +- srcpkgs/telepathy-salut/template | 8 +- srcpkgs/terminology/template | 8 +- srcpkgs/terminus-font/template | 12 +- srcpkgs/testdisk/template | 8 +- srcpkgs/texinfo/template | 10 +- srcpkgs/tftp-hpa/template | 6 - srcpkgs/thttpd/template | 6 - srcpkgs/thunar-volman/template | 8 +- srcpkgs/thunderbird-i18n/template | 17 +- srcpkgs/thunderbird/template | 8 +- srcpkgs/tiff/template | 8 +- srcpkgs/tig/template | 8 +- srcpkgs/time/template | 6 - srcpkgs/tinc/template | 6 - srcpkgs/tint2/template | 8 +- srcpkgs/tinyxml/template | 8 +- srcpkgs/tiv/template | 6 - srcpkgs/tk/template | 6 - srcpkgs/tlp/template | 15 +- srcpkgs/tmux/template | 6 - srcpkgs/tor/template | 19 +- srcpkgs/torsocks/template | 9 +- srcpkgs/totem-pl-parser/template | 8 +- srcpkgs/totem/template | 10 +- srcpkgs/traceroute/template | 6 - srcpkgs/tracker/template | 6 - srcpkgs/transmission/template | 6 - srcpkgs/tree/template | 6 - srcpkgs/tsocks/template | 6 - srcpkgs/tty-clock-git/template | 7 - srcpkgs/tumbler/template | 6 - srcpkgs/turbovnc/template | 6 - srcpkgs/tzdata/template | 8 +- srcpkgs/uboot-mkimage/template | 10 +- srcpkgs/ucl/template | 6 - srcpkgs/udevil/template | 8 +- srcpkgs/udis86/template | 8 +- srcpkgs/udisks/template | 21 +- srcpkgs/udisks2/template | 34 +- srcpkgs/ufw/template | 15 +- srcpkgs/uml-utilities/template | 6 - srcpkgs/unicc/template | 9 +- srcpkgs/unixodbc/template | 8 +- srcpkgs/unrar/template | 8 +- srcpkgs/unzip/template | 6 - srcpkgs/upower/template | 36 +- srcpkgs/upx/template | 9 +- srcpkgs/urlgrabber/template | 12 +- srcpkgs/usbutils/template | 8 +- srcpkgs/util-linux/template | 40 +- srcpkgs/uwsgi/template | 8 +- srcpkgs/v4l-utils/template | 10 +- srcpkgs/v8/template | 6 - srcpkgs/vala/template | 6 - srcpkgs/valabind-git/template | 37 - srcpkgs/valabind/template | 27 +- srcpkgs/valadoc-git/template | 11 +- srcpkgs/valgrind/template | 14 +- srcpkgs/vamp-plugin-sdk/template | 10 +- srcpkgs/vanitygen/template | 6 - srcpkgs/varnish/template | 17 +- srcpkgs/vbetool/template | 8 +- srcpkgs/vde2/template | 41 +- srcpkgs/vdpau-video/template | 8 - srcpkgs/vdpauinfo/template | 6 - srcpkgs/vice/template | 6 - srcpkgs/vicious/template | 14 +- srcpkgs/videoproto/template | 10 +- srcpkgs/viewnior/template | 8 +- srcpkgs/vim/template | 16 +- srcpkgs/vinagre/template | 8 +- srcpkgs/vino/template | 8 +- srcpkgs/virt-manager/template | 14 +- srcpkgs/virtinst/template | 12 +- srcpkgs/virtualbox-ose/template | 21 +- srcpkgs/vlc/template | 12 +- srcpkgs/void-artwork/template | 15 +- srcpkgs/void-mklive/template | 14 +- srcpkgs/volumeicon/template | 6 - srcpkgs/vorbis-tools/template | 13 + srcpkgs/vte/template | 31 +- srcpkgs/vte3/template | 8 +- srcpkgs/w3m/template | 6 - srcpkgs/warsow-data/template | 8 +- srcpkgs/warsow/template | 10 +- srcpkgs/warzone2100/template | 8 +- srcpkgs/wavpack/template | 6 - srcpkgs/wayland/template | 12 +- srcpkgs/webkit-gtk/template | 6 - srcpkgs/webkitgtk/template | 34 +- srcpkgs/webrtc-audio-processing/template | 8 +- srcpkgs/weechat/template | 10 +- srcpkgs/weston/template | 20 +- srcpkgs/wget/template | 30 +- srcpkgs/wgetpaste/template | 10 +- srcpkgs/which/template | 6 - srcpkgs/whois/template | 6 - srcpkgs/wicd/template | 24 +- srcpkgs/wifi-firmware/template | 7 +- srcpkgs/wine-gecko/template | 8 +- srcpkgs/wine-mono/template | 9 +- srcpkgs/wine/template | 10 +- srcpkgs/wineasio/template | 17 +- srcpkgs/winusb/template | 8 +- srcpkgs/wireless_tools/template | 6 - srcpkgs/wmfs/template | 12 +- srcpkgs/wmname/template | 6 - srcpkgs/wok/template | 12 +- srcpkgs/wpa_supplicant/template | 22 +- srcpkgs/wv/template | 6 - srcpkgs/wxGTK/template | 6 - srcpkgs/wxPython/template | 10 +- srcpkgs/x11perf/template | 6 - srcpkgs/x264/template | 6 - srcpkgs/xapian-core/template | 6 - srcpkgs/xar/template | 8 +- srcpkgs/xarchiver/template | 8 +- srcpkgs/xauth/template | 6 - srcpkgs/xbacklight/template | 6 - srcpkgs/xbitmaps/template | 10 +- srcpkgs/xbmc-rpi/INSTALL | 6 + srcpkgs/xbmc-rpi/REMOVE | 5 + srcpkgs/xbmc-rpi/files/polkit.rules | 11 + srcpkgs/xbmc-rpi/files/xbmc.service | 13 + ...1-texturepacker-hostflags-and-rework.patch | 169 + srcpkgs/xbmc-rpi/template | 116 + srcpkgs/xbmc/template | 13 +- srcpkgs/xbps-git/template | 38 +- srcpkgs/xbps-src-utils/template | 24 +- srcpkgs/xbps-src/INSTALL | 7 + srcpkgs/xbps-src/template | 14 +- srcpkgs/xbps-triggers/template | 10 +- ...-8-fix-24-and-added-an-ATF-test-case.patch | 135 - ...25-sign-unnecessarily-regenerates-ar.patch | 35 - ...ectly-compare-against-repo-signature.patch | 70 - srcpkgs/xbps/template | 30 +- srcpkgs/xcalib/template | 6 - srcpkgs/xcb-proto/template | 12 +- srcpkgs/xcb-util-cursor/template | 6 - srcpkgs/xcb-util-image/template | 10 +- srcpkgs/xcb-util-keysyms/template | 10 +- srcpkgs/xcb-util-renderutil/template | 6 - srcpkgs/xcb-util-wm/template | 21 +- srcpkgs/xcb-util/template | 6 - srcpkgs/xclip/template | 6 - srcpkgs/xcmiscproto/template | 10 +- srcpkgs/xcmsdb/template | 6 - srcpkgs/xcursorgen/template | 8 - srcpkgs/xdelta3/template | 6 - srcpkgs/xdg-user-dirs-gtk/template | 8 +- srcpkgs/xdg-user-dirs/template | 12 +- srcpkgs/xdg-utils/template | 32 +- srcpkgs/xdot/template | 13 +- srcpkgs/xdpyinfo/template | 8 - srcpkgs/xdriinfo/template | 6 - srcpkgs/xen/template | 40 +- srcpkgs/xen4.2/template | 44 +- srcpkgs/xev/template | 6 - srcpkgs/xextproto/template | 8 +- srcpkgs/xf86-input-evdev/template | 8 +- srcpkgs/xf86-input-joystick/template | 8 +- srcpkgs/xf86-input-synaptics/template | 8 +- srcpkgs/xf86-input-vmmouse/template | 8 +- srcpkgs/xf86-input-wacom/template | 8 +- srcpkgs/xf86-video-ati/template | 17 +- srcpkgs/xf86-video-cirrus/template | 8 +- srcpkgs/xf86-video-fbdev/template | 8 +- srcpkgs/xf86-video-fbturbo-git/template | 29 - srcpkgs/xf86-video-fbturbo/template | 30 + srcpkgs/xf86-video-geode/template | 15 +- srcpkgs/xf86-video-intel/template | 11 +- srcpkgs/xf86-video-modesetting/template | 8 +- srcpkgs/xf86-video-nouveau/template | 8 +- srcpkgs/xf86-video-openchrome/template | 8 +- srcpkgs/xf86-video-sisusb/template | 8 +- srcpkgs/xf86-video-vesa/template | 8 +- srcpkgs/xf86-video-vmware/template | 8 +- srcpkgs/xf86bigfontproto/template | 10 +- srcpkgs/xf86dgaproto/template | 10 +- srcpkgs/xf86driproto/template | 19 +- srcpkgs/xf86miscproto/template | 11 +- srcpkgs/xf86vidmodeproto/template | 11 +- srcpkgs/xfburn/template | 8 +- srcpkgs/xfce-utils/template | 10 +- srcpkgs/xfce4-appfinder/template | 10 +- srcpkgs/xfce4-dev-tools/template | 10 +- srcpkgs/xfce4-mixer/template | 10 +- srcpkgs/xfce4-notifyd/template | 14 +- srcpkgs/xfce4-panel/template | 6 - srcpkgs/xfce4-power-manager/template | 10 +- srcpkgs/xfce4-screenshooter/template | 8 +- srcpkgs/xfce4-sensors-plugin/template | 8 +- srcpkgs/xfce4-session/template | 10 +- srcpkgs/xfce4-terminal/template | 10 +- srcpkgs/xfce4-weather-plugin/template | 8 +- srcpkgs/xfce4/template | 7 +- srcpkgs/xfconf/template | 17 +- srcpkgs/xfd/template | 8 +- srcpkgs/xfdesktop/template | 10 +- srcpkgs/xfe/template | 8 +- srcpkgs/xfontsel/template | 9 - srcpkgs/xfsprogs/template | 17 +- srcpkgs/xfwm4-themes/template | 10 +- srcpkgs/xfwm4/template | 8 +- srcpkgs/xgamma/template | 6 - srcpkgs/xhost/template | 6 - srcpkgs/xine-lib/template | 6 - srcpkgs/xineramaproto/template | 11 +- srcpkgs/xinit/template | 16 +- srcpkgs/xinput/template | 6 - srcpkgs/xkbcomp/template | 6 - srcpkgs/xkbevd/template | 6 - srcpkgs/xkbutils/template | 6 - srcpkgs/xkeyboard-config/template | 14 +- srcpkgs/xkill/template | 6 - srcpkgs/xlsatoms/template | 6 - srcpkgs/xmag/template | 6 - srcpkgs/xmlcatmgr/template | 21 +- srcpkgs/xmldiff/template | 10 +- srcpkgs/xmlto/template | 8 +- srcpkgs/xmodmap/template | 6 - srcpkgs/xnoise/template | 8 +- srcpkgs/xombrero/template | 8 +- srcpkgs/xonotic-data-low/template | 22 +- srcpkgs/xonotic-data/template | 10 +- srcpkgs/xonotic/template | 10 +- srcpkgs/xorg-apps/template | 9 +- srcpkgs/xorg-fonts/template | 7 +- srcpkgs/xorg-input-drivers/template | 7 +- srcpkgs/xorg-minimal/template | 7 +- srcpkgs/xorg-server/template | 46 +- srcpkgs/xorg-util-macros/template | 8 +- srcpkgs/xorg-video-drivers/template | 12 +- srcpkgs/xorg/template | 7 +- srcpkgs/xorriso/template | 6 - srcpkgs/xournal/template | 8 +- srcpkgs/xplanet/template | 6 - srcpkgs/xpr/template | 6 - srcpkgs/xprop/template | 6 - srcpkgs/xproto/template | 8 +- srcpkgs/xrandr/template | 6 - srcpkgs/xrdb/template | 6 - srcpkgs/xrefresh/template | 9 +- srcpkgs/xsel/template | 6 - srcpkgs/xset/template | 6 - srcpkgs/xsetmode/template | 6 - srcpkgs/xsetroot/template | 6 - srcpkgs/xstow/template | 17 +- srcpkgs/xterm/template | 6 - srcpkgs/xtrans/template | 12 +- srcpkgs/xvidcore/template | 17 +- srcpkgs/xvinfo/template | 6 - srcpkgs/xwd/template | 6 - srcpkgs/xwininfo/template | 6 - srcpkgs/xwud/template | 6 - srcpkgs/xz/template | 8 +- srcpkgs/yajl/template | 7 - srcpkgs/yasm/template | 6 - srcpkgs/yelp-xsl/template | 8 +- srcpkgs/yelp/template | 9 +- srcpkgs/youtube-dl/template | 14 +- srcpkgs/yt-play/template | 15 + srcpkgs/zd1211-firmware/template | 8 +- srcpkgs/zeitgeist/template | 10 +- srcpkgs/zenity/template | 6 - srcpkgs/zerofree/template | 9 +- srcpkgs/zeroinstall-injector/template | 12 +- srcpkgs/zeromq/template | 6 - srcpkgs/zip/template | 6 - srcpkgs/zisofs-tools/template | 6 - srcpkgs/zlib/template | 6 - srcpkgs/zlib32/template | 14 +- srcpkgs/zope.interface/template | 8 +- srcpkgs/zsh/patches/xattr-build-fix.patch | 20 + srcpkgs/zsh/template | 16 +- srcpkgs/zsync/template | 6 - srcpkgs/zziplib/template | 6 - 1948 files changed, 24145 insertions(+), 17791 deletions(-) create mode 100644 common/build_style/README create mode 100644 common/build_style/cmake.sh create mode 100644 common/build_style/configure.sh create mode 100644 common/build_style/gnu-configure.sh create mode 100644 common/build_style/gnu-makefile.sh create mode 100644 common/build_style/meta.sh create mode 100644 common/build_style/perl-ModuleBuild.sh create mode 100644 common/build_style/perl-module.sh create mode 100644 common/build_style/python-module.sh create mode 100644 common/build_style/waf.sh create mode 100644 common/build_style/waf3.sh create mode 100644 common/cross-profiles/README create mode 100644 common/cross-profiles/armv6hf-musl.sh create mode 100644 common/cross-profiles/armv6hf.sh create mode 100644 common/cross-profiles/armv7.sh create mode 100644 common/cross-profiles/config.sub create mode 100644 common/cross-profiles/i686-musl.sh create mode 100644 common/cross-profiles/i686.sh create mode 100644 common/cross-profiles/mips.sh create mode 100644 common/cross-profiles/mipsel.sh create mode 100644 common/cross-profiles/musl-gnulibfix create mode 100644 common/cross-profiles/x86_64-musl.sh create mode 100644 common/environment/0000-REQUIREMENTS.sh create mode 100644 common/environment/0001-bootstrap.sh create mode 100644 common/environment/0001-configure-args.sh create mode 100644 common/environment/0002-cross.sh rename common/{vars.sh => environment/0003-misc.sh} (100%) create mode 100644 common/environment/README delete mode 100644 common/global-defs.sh create mode 100644 common/helpers/README create mode 100644 common/helpers/replace-interpreter.sh create mode 100644 srcpkgs/NetworkManager/files/tmpfilesd create mode 100644 srcpkgs/a10disp/template create mode 100644 srcpkgs/abcde/template create mode 100644 srcpkgs/allegro4/patches/mesa10-uncompat.patch create mode 100644 srcpkgs/astyle/template create mode 100644 srcpkgs/catalyst/files/arch_3.13_kernel_acpi_node.patch create mode 100644 srcpkgs/catalyst/files/lano1106_fglrx-13.8_proc.patch create mode 100644 srcpkgs/catalyst/files/lano1106_fglrx_intel_iommu.patch create mode 100644 srcpkgs/catalyst/files/lano1106_kcl_agp_13_4.patch create mode 100644 srcpkgs/catalyst/files/looks_like_amd_forgot_this.patch create mode 100644 srcpkgs/cd-discid/template create mode 100644 srcpkgs/chroot-coreutils/patches/disable-man.patch create mode 100644 srcpkgs/chroot-fakeroot/patches/musl.patch delete mode 120000 srcpkgs/chroot-gcc/files create mode 100644 srcpkgs/chroot-gcc/files/gcc-4.7.0-cloog-0.17.patch create mode 100644 srcpkgs/chroot-gcc/files/gcc-4.7.1-ppl-1.0.patch create mode 100644 srcpkgs/chroot-gcc/files/gcc-4.7.3-musl.diff create mode 120000 srcpkgs/chroot-util-linux/patches create mode 100644 srcpkgs/clutter/patches/evdev-0.6.patch delete mode 100644 srcpkgs/cppcheck/patches/Makefile-db2man.patch create mode 100644 srcpkgs/cross-arm-linux-gnueabihf/files/glibc-2.18-make-4.patch create mode 120000 srcpkgs/cross-arm-linux-gnueabihf7-libc create mode 100644 srcpkgs/cross-arm-linux-gnueabihf7/files/glibc-2.18-make-4.patch create mode 100644 srcpkgs/cross-arm-linux-gnueabihf7/template delete mode 100644 srcpkgs/cross-arm-linux-musleabi/files/binutils-2.22-musl.diff delete mode 100644 srcpkgs/cross-i686-linux-musl/files/binutils-2.22-musl.diff delete mode 100644 srcpkgs/cross-i686-linux-musl/files/gcc-4.7.2-musl.diff create mode 100644 srcpkgs/cross-i686-linux-musl/files/gcc-4.7.3-musl.diff create mode 100644 srcpkgs/cross-i686-pc-linux-gnu/files/glibc-2.18-make-4.patch create mode 100644 srcpkgs/cross-mips-softfloat-linux-gnu/files/glibc-2.18-make-4.patch create mode 100644 srcpkgs/cross-mipsel-softfloat-linux-gnu/files/glibc-2.18-make-4.patch create mode 120000 srcpkgs/cross-x86_64-linux-musl-libc create mode 100644 srcpkgs/cross-x86_64-linux-musl/files/gcc-4.7.3-musl.diff create mode 100644 srcpkgs/cross-x86_64-linux-musl/template create mode 100644 srcpkgs/ctags/template create mode 100644 srcpkgs/cubieboard2-base/INSTALL create mode 100644 srcpkgs/cubieboard2-base/template create mode 120000 srcpkgs/cubieboard2-kernel-headers create mode 100644 srcpkgs/cubieboard2-kernel/files/config create mode 100644 srcpkgs/cubieboard2-kernel/template create mode 100644 srcpkgs/cubieboard2-uboot/files/cubieboard2.bootcmd create mode 100644 srcpkgs/cubieboard2-uboot/files/cubieboard2.fex create mode 100644 srcpkgs/cubieboard2-uboot/template delete mode 120000 srcpkgs/dbus-python3 create mode 100644 srcpkgs/dbus-python3/template delete mode 100644 srcpkgs/dbus/files/systemd-user-session.patch create mode 100644 srcpkgs/desmume/patches/glx_3Demu.cpp.patch create mode 100644 srcpkgs/dfc-git/template create mode 100644 srcpkgs/dosfstools/patches/dosfstools-loff_and_BLOCK_SIZE.patch create mode 100644 srcpkgs/dropbear/files/dropbear.service create mode 100644 srcpkgs/dropbear/template create mode 100644 srcpkgs/ethtool/patches/stdint.patch create mode 120000 srcpkgs/eudev-libgudev create mode 120000 srcpkgs/eudev-libgudev-devel create mode 120000 srcpkgs/eudev-libudev create mode 120000 srcpkgs/eudev-libudev-devel create mode 100644 srcpkgs/eudev/template create mode 120000 srcpkgs/freerdp-devel create mode 100644 srcpkgs/freerdp/patches/ffmpeg2.0.patch create mode 100644 srcpkgs/freerdp/patches/patch_numblock.patch create mode 100644 srcpkgs/freerdp/template create mode 100644 srcpkgs/fuse-sshfs/template create mode 100644 srcpkgs/fuse/patches/fuse-headers.patch create mode 100644 srcpkgs/fuse/patches/fuse-lock.patch create mode 100644 srcpkgs/fuse/patches/fuse-paths.patch create mode 100644 srcpkgs/gcc/files/gcc-4.7.3-musl.diff create mode 100644 srcpkgs/gdb/patches/gdb-76-linux-low-threaddb.patch create mode 100644 srcpkgs/gdb/patches/gdb-76-pid_t.patch create mode 100644 srcpkgs/gdb/patches/gdb-amd64-debugreg.patch create mode 100644 srcpkgs/gdb/patches/gdb-arm-gentmap.patch create mode 100644 srcpkgs/gdb/patches/gdb-linux_nat.patch create mode 100644 srcpkgs/gdb/patches/gdb-threaddb.patch create mode 100644 srcpkgs/genext2fs/template create mode 100644 srcpkgs/gmime/files/iconv-detect.h create mode 100644 srcpkgs/gnu-efi-libs/template create mode 120000 srcpkgs/gnucash-devel create mode 100644 srcpkgs/gnucash/template create mode 120000 srcpkgs/goffice-devel create mode 100644 srcpkgs/goffice/template create mode 120000 srcpkgs/goffice0.8-devel create mode 100644 srcpkgs/goffice0.8/template create mode 120000 srcpkgs/imlib2-tools delete mode 100644 srcpkgs/iptables/patches/0503-extension_cppflags.patch create mode 100644 srcpkgs/jupp/template delete mode 120000 srcpkgs/kernel-headers-rpi create mode 100644 srcpkgs/kmod/patches/kmod.patch create mode 100644 srcpkgs/libXft/patches/freetype_header.patch create mode 120000 srcpkgs/libatomic_ops-devel create mode 100644 srcpkgs/libatomic_ops/template create mode 100644 srcpkgs/libcap-ng/patches/pid_t-portability.patch delete mode 120000 srcpkgs/libcap-pam create mode 100644 srcpkgs/libcap-pam/template create mode 120000 srcpkgs/libcxx-devel create mode 100644 srcpkgs/libcxx/template create mode 120000 srcpkgs/libdri2-devel-git create mode 100644 srcpkgs/libdri2-git/template create mode 120000 srcpkgs/libnotmuch create mode 120000 srcpkgs/libnotmuch-devel delete mode 120000 srcpkgs/libopenobex-devel create mode 100644 srcpkgs/libssh/patches/fix-includes.patch create mode 100644 srcpkgs/libusb/patches/portability-fixes.patch delete mode 120000 srcpkgs/libusbx-devel delete mode 100644 srcpkgs/libusbx/template create mode 100644 srcpkgs/libvdpau-sunxi-git/template create mode 120000 srcpkgs/libvpx-tools create mode 100644 srcpkgs/libxml2/patches/libxml2-pthread.patch delete mode 120000 srcpkgs/linux3.11-headers create mode 120000 srcpkgs/linux3.13-headers rename srcpkgs/{linux3.11 => linux3.13}/files/i386-dotconfig (96%) rename srcpkgs/{linux3.11 => linux3.13}/files/x86_64-dotconfig (96%) rename srcpkgs/{linux3.11 => linux3.13}/template (87%) create mode 100644 srcpkgs/llvm/patches/cross-internal-compiler-error.patch create mode 100644 srcpkgs/nbd/files/config create mode 100644 srcpkgs/nbd/files/nbd.service create mode 100644 srcpkgs/nbd/template create mode 100644 srcpkgs/notmuch/template delete mode 100644 srcpkgs/obex-data-server/template create mode 100644 srcpkgs/obmenu/template create mode 100644 srcpkgs/odroid-u2-base/INSTALL create mode 100644 srcpkgs/odroid-u2-base/files/odroid-led create mode 100644 srcpkgs/odroid-u2-base/files/odroid-led.default create mode 100644 srcpkgs/odroid-u2-base/files/odroid-led.service create mode 100644 srcpkgs/odroid-u2-base/template create mode 100644 srcpkgs/odroid-u2-boot-fw/template create mode 120000 srcpkgs/odroid-u2-kernel-headers create mode 100644 srcpkgs/odroid-u2-kernel/files/u2-dotconfig-custom create mode 100644 srcpkgs/odroid-u2-kernel/template create mode 100644 srcpkgs/odroid-u2-uboot/files/boot-1024x768-noedid.ini create mode 100644 srcpkgs/odroid-u2-uboot/files/boot-1080p-edid.ini create mode 100644 srcpkgs/odroid-u2-uboot/files/boot-1080p-noedid.ini create mode 100644 srcpkgs/odroid-u2-uboot/files/boot-720p-edid.ini create mode 100644 srcpkgs/odroid-u2-uboot/files/boot-720p-noedid.ini create mode 100644 srcpkgs/odroid-u2-uboot/files/boot-auto_edid.ini create mode 100644 srcpkgs/odroid-u2-uboot/files/config.patch create mode 100644 srcpkgs/odroid-u2-uboot/template rename srcpkgs/{libopenobex => openobex-devel} (100%) rename srcpkgs/openssl/patches/{openssl-1.0.1e-fix_pod_syntax-1.patch => openssl-1.0.1f-perl-5.18.patch} (60%) create mode 100644 srcpkgs/pam/patches/portability-fixes.patch create mode 100644 srcpkgs/par2cmdline/template rename srcpkgs/perl/files/{arm-linux-gnueabihf => cross}/bitcount.h (100%) rename srcpkgs/perl/files/{arm-linux-gnueabihf => cross}/config.h (100%) rename srcpkgs/perl/files/{arm-linux-gnueabihf => cross}/config.sh (96%) rename srcpkgs/perl/files/{arm-linux-gnueabihf => cross}/mg_data.h (100%) rename srcpkgs/perl/files/{arm-linux-gnueabihf => cross}/uudmap.h (100%) delete mode 100644 srcpkgs/pidgin/patches/pidgin-2.10.7-link-libirc-to-libsasl2.patch create mode 100644 srcpkgs/py2cairo/files/python-config delete mode 120000 srcpkgs/python-e_dbus-devel delete mode 120000 srcpkgs/python-ecore-devel delete mode 120000 srcpkgs/python-edje-devel delete mode 120000 srcpkgs/python-elementary-devel delete mode 120000 srcpkgs/python-evas-devel create mode 100644 srcpkgs/python/patches/python-fix-posix-close-clash.patch delete mode 100644 srcpkgs/r2-bindings-git/template delete mode 120000 srcpkgs/radare2-devel-git delete mode 100644 srcpkgs/radare2-git/template delete mode 100644 srcpkgs/rpi-base-files/template create mode 100644 srcpkgs/rpi-base/INSTALL create mode 100644 srcpkgs/rpi-base/files/bcm_host.pc create mode 100644 srcpkgs/rpi-base/files/egl.pc create mode 100644 srcpkgs/rpi-base/files/glesv2.pc create mode 100644 srcpkgs/rpi-base/template create mode 120000 srcpkgs/rpi-kernel-headers rename srcpkgs/{kernel-rpi => rpi-kernel}/files/args-uncompressed.txt (100%) rename srcpkgs/{kernel-rpi => rpi-kernel}/files/boot-uncompressed.txt (100%) rename srcpkgs/{kernel-rpi => rpi-kernel}/files/imagetool-uncompressed.py (100%) rename srcpkgs/{kernel-rpi => rpi-kernel}/template (75%) delete mode 100644 srcpkgs/sshfs-fuse/template create mode 100644 srcpkgs/strace/patches/use-sys-ptrace.h.patch create mode 120000 srcpkgs/sunxi-mali-devel create mode 100644 srcpkgs/sunxi-mali/patches/make-tabs.patch create mode 100644 srcpkgs/sunxi-mali/template create mode 100644 srcpkgs/sunxi-tools/template create mode 100644 srcpkgs/syslinux/INSTALL create mode 100644 srcpkgs/syslinux/patches/syslinux-6.02-fix-bios-isolinux.patch create mode 100644 srcpkgs/syslinux/patches/syslinux-6.02-fix-chainloading.patch delete mode 100644 srcpkgs/syslinux/patches/syslinux-dont-build-dos-windows-targets.patch delete mode 100644 srcpkgs/valabind-git/template create mode 100644 srcpkgs/vorbis-tools/template create mode 100644 srcpkgs/xbmc-rpi/INSTALL create mode 100644 srcpkgs/xbmc-rpi/REMOVE create mode 100644 srcpkgs/xbmc-rpi/files/polkit.rules create mode 100644 srcpkgs/xbmc-rpi/files/xbmc.service create mode 100644 srcpkgs/xbmc-rpi/patches/xbmc-ae04d99-321-texturepacker-hostflags-and-rework.patch create mode 100644 srcpkgs/xbmc-rpi/template create mode 100644 srcpkgs/xbps-src/INSTALL delete mode 100644 srcpkgs/xbps/patches/0001-xbps-rindex-8-fix-24-and-added-an-ATF-test-case.patch delete mode 100644 srcpkgs/xbps/patches/0001-xbps-rindex-fix-25-sign-unnecessarily-regenerates-ar.patch delete mode 100644 srcpkgs/xbps/patches/0002-Fix-25-correctly-compare-against-repo-signature.patch delete mode 100644 srcpkgs/xf86-video-fbturbo-git/template create mode 100644 srcpkgs/xf86-video-fbturbo/template create mode 100644 srcpkgs/yt-play/template create mode 100644 srcpkgs/zsh/patches/xattr-build-fix.patch diff --git a/COPYING b/COPYING index 9d1202d01b6..38382b9d761 100644 --- a/COPYING +++ b/COPYING @@ -1,23 +1,22 @@ -/* Copyright (c) 2008-2013 The XBPS developers and contributors. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ + Copyright (c) 2008-2014 The XBPS developers and contributors. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/common/build_style/README b/common/build_style/README new file mode 100644 index 00000000000..8ed990b7242 --- /dev/null +++ b/common/build_style/README @@ -0,0 +1,12 @@ +BUILD STYLES +============ + +These shell snippets provide support for multiple build systems, i.e GNU configure, +CMake, etc. A build style file must provide at least the following functions: + + - do_configure + - do_build + - do_install + +If a source package defines its own do_xxx() function, the function defined in +the build style file is simply ignored. diff --git a/common/build_style/cmake.sh b/common/build_style/cmake.sh new file mode 100644 index 00000000000..1e2b0b98806 --- /dev/null +++ b/common/build_style/cmake.sh @@ -0,0 +1,45 @@ +# +# This helper is for templates using cmake. +# +do_configure() { + [ ! -d build ] && mkdir build + cd build + + if [ "$CROSS_BUILD" ]; then + cat > cross_${XBPS_CROSS_TRIPLET}.cmake <<_EOF +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${XBPS_CROSS_TRIPLET}-gcc) +SET(CMAKE_CXX_COMPILER ${XBPS_CROSS_TRIPLET}-g++) +SET(CMAKE_CROSSCOMPILING TRUE) + +SET(CMAKE_FIND_ROOT_PATH ${XBPS_CROSS_BASE}) + +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +_EOF + configure_args+=" -DCMAKE_TOOLCHAIN_FILE=cross_${XBPS_CROSS_TRIPLET}.cmake" + fi + configure_args+=" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON" + + cmake ${configure_args} .. +} + +do_build() { + : ${make_cmd:=make} + + cd build + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + make_install_args+=" DESTDIR=${DESTDIR}" + + cd build + ${make_cmd} ${make_install_args} ${make_install_target} +} diff --git a/common/build_style/configure.sh b/common/build_style/configure.sh new file mode 100644 index 00000000000..b310a88a3d1 --- /dev/null +++ b/common/build_style/configure.sh @@ -0,0 +1,24 @@ +# +# This helper is for templates using configure scripts (not generated +# by the GNU autotools). +# +do_configure() { + : ${configure_script:=./configure} + + ${configure_script} ${configure_args} +} + +do_build() { + : ${make_cmd:=make} + + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + make_install_args+=" DESTDIR=${DESTDIR}" + + ${make_cmd} ${make_install_args} ${make_install_target} +} diff --git a/common/build_style/gnu-configure.sh b/common/build_style/gnu-configure.sh new file mode 100644 index 00000000000..9c52832835d --- /dev/null +++ b/common/build_style/gnu-configure.sh @@ -0,0 +1,33 @@ +# +# This helper is for templates using GNU configure scripts. +# +do_configure() { + : ${configure_script:=./configure} + + # Make sure that shared libraries are built with --as-needed. + # + # http://lists.gnu.org/archive/html/libtool-patches/2004-06/msg00002.html + if [ -z "$broken_as_needed" ]; then + sed -i "s/^\([ \t]*tmp_sharedflag\)='-shared'/\1='-shared -Wl,--as-needed'/" ${configure_script} + fi + # Automatically detect musl toolchains. + for f in $(find ${wrksrc} -type f -name *config*.sub); do + cp -f ${XBPS_CROSSPFDIR}/config.sub ${f} + done + ${configure_script} ${configure_args} +} + +do_build() { + : ${make_cmd:=make} + + ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + make_install_args+=" DESTDIR=${DESTDIR}" + + ${make_cmd} ${make_install_args} ${make_install_target} +} diff --git a/common/build_style/gnu-makefile.sh b/common/build_style/gnu-makefile.sh new file mode 100644 index 00000000000..d9100117845 --- /dev/null +++ b/common/build_style/gnu-makefile.sh @@ -0,0 +1,20 @@ +# +# This helper is for templates using GNU Makefiles. +# +do_build() { + : ${make_cmd:=make} + + ${make_cmd} \ + CC="$CC" CXX="$CXX" LD="$LD" AR="$AR" RANLIB="$RANLIB" \ + CPP="$CPP" AS="$AS" OBJDUMP="$OBJDUMP" STRIP="$STRIP" \ + ${makejobs} ${make_build_args} ${make_build_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + make_install_args+=" PREFIX=/usr DESTDIR=${DESTDIR}" + + ${make_cmd} ${make_install_args} ${make_install_target} +} diff --git a/common/build_style/meta.sh b/common/build_style/meta.sh new file mode 100644 index 00000000000..2a33d0b465d --- /dev/null +++ b/common/build_style/meta.sh @@ -0,0 +1,13 @@ +# meta pkg build style; do nothing. + +do_fetch() { + : +} + +do_extract() { + : +} + +do_install() { + : +} diff --git a/common/build_style/perl-ModuleBuild.sh b/common/build_style/perl-ModuleBuild.sh new file mode 100644 index 00000000000..7a4eef5890f --- /dev/null +++ b/common/build_style/perl-ModuleBuild.sh @@ -0,0 +1,32 @@ +# +# This helper does the required steps to be able to build and install +# perl modules with the Module::Build method into the correct location. +# +# Required vars to be set by a template: +# +# build_style=perl-ModuleBuild +# +do_configure() { + if [ -f Build.PL ]; then + PERL_MM_USE_DEFAULT=1 PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$DESTDIR'" \ + PERL_MB_OPT="--installdirs vendor --destdir '$DESTDIR'" \ + LD="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ + perl Build.PL ${configure_args} INSTALLDIRS=vendor + else + msg_error "$pkgver: cannot find Build.PL for perl module!\n" + fi +} + +do_build() { + if [ ! -x ./Build ]; then + msg_error "$pkgver: cannot find ./Build script!\n" + fi + LD="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" ./Build ${make_build_args} +} + +do_install() { + if [ ! -x ./Build ]; then + msg_error "$pkgver: cannot find ./Build script!\n" + fi + ./Build ${make_install_args} install +} diff --git a/common/build_style/perl-module.sh b/common/build_style/perl-module.sh new file mode 100644 index 00000000000..37c5c3a71b0 --- /dev/null +++ b/common/build_style/perl-module.sh @@ -0,0 +1,64 @@ +# +# This helper does the required steps to be able to build and install +# perl modules that use MakeMaker into the correct location. +# +# Required vars to be set by a template: +# +# build_style=perl-module +# +# Optionally if the module needs more directories to be configured other +# than $XBPS_BUILDDIR/$wrksrc, one can use (relative to $wrksrc): +# +# perl_configure_dirs="blob/bob foo/blah" +# +do_configure() { + local perlmkf + + if [ -z "$perl_configure_dirs" ]; then + perlmkf="$wrksrc/Makefile.PL" + if [ ! -f $perlmkf ]; then + msg_error "*** ERROR couldn't find $perlmkf, aborting ***\n" + fi + + cd $wrksrc + PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \ + OPTIMIZE="$CFLAGS" \ + CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \ + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \ + LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \ + perl Makefile.PL ${configure_args} INSTALLDIRS=vendor + fi + + for i in "$perl_configure_dirs"; do + perlmkf="$wrksrc/$i/Makefile.PL" + if [ -f $perlmkf ]; then + cd $wrksrc/$i + PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \ + OPTIMIZE="$CFLAGS" \ + CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \ + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \ + LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \ + perl Makefile.PL ${make_build_args} INSTALLDIRS=vendor + else + msg_error "*** ERROR: couldn't find $perlmkf, aborting **\n" + fi + done +} + +do_build() { + : ${make_cmd:=make} + + ${make_cmd} CC="$CC" LD="$CC" CFLAGS="$CFLAGS" OPTIMIZE="$CFLAGS" \ + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \ + LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \ + ${makejobs} ${make_build_args} ${make_build_target} +} + +do_install() { + : ${make_cmd:=make} + : ${make_install_target:=install} + + make_install_args+=" DESTDIR=${DESTDIR}" + + ${make_cmd} ${make_install_args} ${make_install_target} +} diff --git a/common/build_style/python-module.sh b/common/build_style/python-module.sh new file mode 100644 index 00000000000..a0202a18943 --- /dev/null +++ b/common/build_style/python-module.sh @@ -0,0 +1,36 @@ +# +# This helper is for templates installing python modules. +# +XBPS_PYVER="2.7" # currently 2.7 is the default python + +do_build() { + if [ -n "$CROSS_BUILD" ]; then + CC="${XBPS_CROSS_TRIPLET}-gcc -pthread" + LDSHARED="${CC} -shared" + PYPREFIX="$XBPS_CROSS_BASE" + CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/include/python${XBPS_PYVER} -I${XBPS_CROSS_BASE}/usr/include" + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/lib/python${XBPS_PYVER} -L${XBPS_CROSS_BASE}/lib" + env CC="$CC" LDSHARED="$LDSHARED" \ + PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \ + LDFLAGS="$LDFLAGS" python setup.py build ${make_build_args} + else + python setup.py build ${make_build_args} + fi +} + +do_install() { + make_install_args+=" --prefix=/usr --root=$DESTDIR" + + if [ -n "$CROSS_BUILD" ]; then + CC="${XBPS_CROSS_TRIPLET}-gcc -pthread" + LDSHARED="${CC} -shared" + PYPREFIX="$XBPS_CROSS_BASE" + CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/include/python${XBPS_PYVER} -I${XBPS_CROSS_BASE}/usr/include" + LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/lib/python${XBPS_PYVER} -L${XBPS_CROSS_BASE}/lib" + env CC="$CC" LDSHARED="$LDSHARED" \ + PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \ + LDFLAGS="$LDFLAGS" python setup.py install ${make_install_args} + else + python setup.py install ${make_install_args} + fi +} diff --git a/common/build_style/waf.sh b/common/build_style/waf.sh new file mode 100644 index 00000000000..5b241c29509 --- /dev/null +++ b/common/build_style/waf.sh @@ -0,0 +1,16 @@ +# +# This helper is for templates using WAF to build/install. +# +do_configure() { + python waf configure --prefix=/usr ${configure_args} +} + +do_build() { + python waf build ${make_build_args} +} + +do_install() { + make_install_args+=" --destdir=${DESTDIR}" + + python waf install ${make_install_args} +} diff --git a/common/build_style/waf3.sh b/common/build_style/waf3.sh new file mode 100644 index 00000000000..bfa11c36146 --- /dev/null +++ b/common/build_style/waf3.sh @@ -0,0 +1,16 @@ +# +# This helper is for templates using WAF with python3 to build/install. +# +do_configure() { + PYTHON=python3 python3 waf configure --prefix=/usr ${configure_args} +} + +do_build() { + PYTHON=python3 python3 waf build ${make_build_args} +} + +do_install() { + make_install_args+=" --destdir=$DESTDIR" + + PYTHON=python3 python3 waf install ${make_install_args} +} diff --git a/common/cross-profiles/README b/common/cross-profiles/README new file mode 100644 index 00000000000..a9c0a13f417 --- /dev/null +++ b/common/cross-profiles/README @@ -0,0 +1,14 @@ +CROSS PROFILES +============== + +This directory contains cross profiles to allow cross compilation for the specified target. +A cross profile file must provide the following variables: + + - XBPS_TARGET_ARCH (as returned by uname -m) + - XBPS_CROSS_TRIPLET (the cross compiler triplet) + - XBPS_CFLAGS (C compiler flags for host compiler) + - XBPS_CXXFLAGS (C++ compiler flags for the host compiler) + - XBPS_CROSS_CFLAGS (C compiler flags for the cross compiler) + - XBPS_CROSS_CXXFLAGS (C++ compiler flags for the cross compiler) + +A source package matching `cross-${XBPS_CROSS_TRIPLET}' must also exist. diff --git a/common/cross-profiles/armv6hf-musl.sh b/common/cross-profiles/armv6hf-musl.sh new file mode 100644 index 00000000000..2f51fd08597 --- /dev/null +++ b/common/cross-profiles/armv6hf-musl.sh @@ -0,0 +1,8 @@ +# Cross build profile for ARM EABI5 Hard Float and Musl libc. + +XBPS_TARGET_ARCH="armv6l-musl" +XBPS_CROSS_TRIPLET="arm-linux-musleabi" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/cross-profiles/armv6hf.sh b/common/cross-profiles/armv6hf.sh new file mode 100644 index 00000000000..0931f65194d --- /dev/null +++ b/common/cross-profiles/armv6hf.sh @@ -0,0 +1,8 @@ +# Cross build profile for ARM GNU EABI5 Hard Float. + +XBPS_TARGET_ARCH="armv6l" +XBPS_CROSS_TRIPLET="arm-linux-gnueabihf" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/cross-profiles/armv7.sh b/common/cross-profiles/armv7.sh new file mode 100644 index 00000000000..0bebb311638 --- /dev/null +++ b/common/cross-profiles/armv7.sh @@ -0,0 +1,8 @@ +# Cross build profile for ARMv7 GNU EABI Hard Float. + +XBPS_TARGET_ARCH="armv7l" +XBPS_CROSS_TRIPLET="arm-linux-gnueabihf7" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/cross-profiles/config.sub b/common/cross-profiles/config.sub new file mode 100644 index 00000000000..f66c6624bb5 --- /dev/null +++ b/common/cross-profiles/config.sub @@ -0,0 +1,1762 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011 Free Software Foundation, Inc. + +timestamp='2011-03-23' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted GNU ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free +Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | \ + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ + | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | picochip) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile-* | tilegx-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze) + basic_machine=microblaze-xilinx + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + # This must be matched before tile*. + tilegx*) + basic_machine=tilegx-unknown + os=-linux-gnu + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -linux-musl* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/common/cross-profiles/i686-musl.sh b/common/cross-profiles/i686-musl.sh new file mode 100644 index 00000000000..e9004a546df --- /dev/null +++ b/common/cross-profiles/i686-musl.sh @@ -0,0 +1,8 @@ +# Cross build profile for i686 and Musl libc. + +XBPS_TARGET_ARCH="i686-musl" +XBPS_CROSS_TRIPLET="i686-linux-musl" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-march=i686" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/cross-profiles/i686.sh b/common/cross-profiles/i686.sh new file mode 100644 index 00000000000..2cf14e80e99 --- /dev/null +++ b/common/cross-profiles/i686.sh @@ -0,0 +1,8 @@ +# Cross build profile for i686 GNU. + +XBPS_TARGET_ARCH="i686" +XBPS_CROSS_TRIPLET="i686-pc-linux-gnu" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-march=i686 -mtune=generic" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/cross-profiles/mips.sh b/common/cross-profiles/mips.sh new file mode 100644 index 00000000000..74e14a66e6a --- /dev/null +++ b/common/cross-profiles/mips.sh @@ -0,0 +1,8 @@ +# Cross build profile for MIPS BE soft float. + +XBPS_TARGET_ARCH="mips" +XBPS_CROSS_TRIPLET="mips-softfloat-linux-gnu" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -msoft-float" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/cross-profiles/mipsel.sh b/common/cross-profiles/mipsel.sh new file mode 100644 index 00000000000..7335138b946 --- /dev/null +++ b/common/cross-profiles/mipsel.sh @@ -0,0 +1,8 @@ +# Cross build profile for MIPS LE soft float. + +XBPS_TARGET_ARCH="mipsel" +XBPS_CROSS_TRIPLET="mipsel-softfloat-linux-gnu" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-mtune=mips32r2 -mabi=32 -msoft-float" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/cross-profiles/musl-gnulibfix b/common/cross-profiles/musl-gnulibfix new file mode 100644 index 00000000000..a9ff663d3a4 --- /dev/null +++ b/common/cross-profiles/musl-gnulibfix @@ -0,0 +1,179 @@ +#!/bin/sh +empty_file() { + rm -f "$1" + touch "$1" +} + +dir="$1" +# fix files breaking the build entirely +for i in fseeko.c freadahead.c fseterr.c ; do empty_file "$dir"/$i ; done +echo "void close_stdin(void) {}" > "$dir"/closein.c + +# fix stuff trying to reimplement libc +culprits=`cat << EOF +accept4 +acosl +alloca +alphasort +asinl +asprintf +atanl +atexit +atoll +bcopy +btowc +chown +closedir +cosl +dirfd +dprintf +dup2 +dup3 +_Exit +expl +fchdir +fchown-stub +fdatasync +fdopendir +ffs +flock +fnmatch +forkpty +fpending +fprintf +freeaddrinfo +fsync +ftell +ftruncate +futimens +gai_strerror +getaddrinfo +getdelim +getdtablesize +getgroups +gethostname +getline +getlogin +getlogin_r +getnameinfo +getpagesize +getpass +getsubopt +gettimeofday +getusershell +gmtime_r +grantpt +imaxabs +imaxdiv +inet_ntop +inet_pton +isblank +iswblank +lchmod +lchown +ldexp +ldexpl +link +linkat +logl +mbrlen +mbrtowc +mbsinit +memmove +mempcpy +mkdtemp +mkfifo +mkfifoat +mknod +mknodat +mkstemp +mktime +nanosleep +nl_langinfo +open +openat +opendir +openpty +pclose +perror +pipe +pipe2 +poll +popen +pread +pselect +ptsname +pwrite +raise +readdir +readlink +renameat +rewinddir +setenv +sigaction +sigaddset +sigdelset +sigemptyset +sigfillset +sigismember +sigpending +sigprocmask +sinl +snprintf +spawnattr_destroy +spawnattr_getdefault +spawnattr_getflags +spawnattr_getpgroup +spawnattr_getsigmask +spawnattr_init +spawnattr_setdefault.c +spawnattr_setflags +spawnattr_setpgroup +spawnattr_setsigmask +spawn_faction_addclose +spawn_faction_adddup2 +spawn_faction_addopen +spawn_faction_destroy +spawn_faction_init +spawn_factions_addopen +spawn_factions_destroy +spawn_factions_init +sprintf +sqrtl +stdio-read +stdio-write +strcasecmp +strcasestr +strchrnul +strcspn +strncasecmp +strndup +strnlen +strpbrk +strsep +strsignal +strstr +strtod +strtoimax +strtol +symlink +symlinkat +tanl +tcgetsid +timegm +time_r +times +tmpfile +uname +unlockpt +unsetenv +usleep +vasprintf +vdprintf +waitpid +wcrtomb +wctob +EOF +` +#fixme check fsusage +for i in $culprits ; do empty_file "$dir"/$i.c ; done diff --git a/common/cross-profiles/x86_64-musl.sh b/common/cross-profiles/x86_64-musl.sh new file mode 100644 index 00000000000..7df635af1ff --- /dev/null +++ b/common/cross-profiles/x86_64-musl.sh @@ -0,0 +1,8 @@ +# Cross build profile for x86_64 and Musl libc. + +XBPS_TARGET_ARCH="x86_64-musl" +XBPS_CROSS_TRIPLET="x86_64-linux-musl" +XBPS_CFLAGS="-O2 -pipe" +XBPS_CXXFLAGS="$XBPS_CFLAGS" +XBPS_CROSS_CFLAGS="-mtune=generic" +XBPS_CROSS_CXXFLAGS="$XBPS_CROSS_CFLAGS" diff --git a/common/environment/0000-REQUIREMENTS.sh b/common/environment/0000-REQUIREMENTS.sh new file mode 100644 index 00000000000..92fc4eb4427 --- /dev/null +++ b/common/environment/0000-REQUIREMENTS.sh @@ -0,0 +1,16 @@ +# -*- shell mode -*- +# +# Sets the minimal required xbps versions to build packages. +# +# ========================================================= +# DO NOT MODIFY THIS FILE WITHOUT PRIOR WRITTEN PERMISSION! +# ========================================================= +# +# xbps-src version. +export XBPS_SRC_REQ=100 + +# XBPS utils version. +export XBPS_UTILS_REQ=0.29 + +# XBPS utils API version. +export XBPS_UTILS_API_REQ=20131224 diff --git a/common/environment/0001-bootstrap.sh b/common/environment/0001-bootstrap.sh new file mode 100644 index 00000000000..5d4aed052e8 --- /dev/null +++ b/common/environment/0001-bootstrap.sh @@ -0,0 +1,6 @@ +# This file sets some envvars to allow building bootstrap packages +# when the chroot is not yet ready. + +[ -z "$CHROOT_READY" ] && return 0 + +export PKG_CONFIG_PATH="${XBPS_MASTERDIR}/usr/lib/pkgconfig:${XBPS_MASTERDIR}/usr/share/pkgconfig" diff --git a/common/environment/0001-configure-args.sh b/common/environment/0001-configure-args.sh new file mode 100644 index 00000000000..e9b5fb7e5e6 --- /dev/null +++ b/common/environment/0001-configure-args.sh @@ -0,0 +1,6 @@ +# This file sets up configure_args with commong settings for packages +# that don't set $build_style or set it to gnu-configure. + +if [ "$build_style" = "gnu-configure" -o -z "$build_style" ]; then + export configure_args="--prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --localstatedir=/var ${configure_args}" +fi diff --git a/common/environment/0002-cross.sh b/common/environment/0002-cross.sh new file mode 100644 index 00000000000..109bbfc80b3 --- /dev/null +++ b/common/environment/0002-cross.sh @@ -0,0 +1,11 @@ +# This file sets some envvars to allow cross compiling packages. + +[ -z "$CROSS_BUILD" ] && return 0 + +export PKG_CONFIG_SYSROOT_DIR="$XBPS_CROSS_BASE" +export PKG_CONFIG_PATH="$XBPS_CROSS_BASE/lib/pkgconfig:$XBPS_CROSS_BASE/usr/share/pkgconfig" +export PKG_CONFIG_LIBDIR="$XBPS_CROSS_BASE/lib/pkgconfig" + +if [ "$build_style" = "gnu-configure" -o -z "$build_style" ]; then + export configure_args+=" --host=$XBPS_CROSS_TRIPLET --with-sysroot=$XBPS_CROSS_BASE --with-libtool-sysroot=$XBPS_CROSS_BASE " +fi diff --git a/common/vars.sh b/common/environment/0003-misc.sh similarity index 100% rename from common/vars.sh rename to common/environment/0003-misc.sh diff --git a/common/environment/README b/common/environment/README new file mode 100644 index 00000000000..99812870e10 --- /dev/null +++ b/common/environment/README @@ -0,0 +1,11 @@ +ENVIRONMENT SHELL SNIPPETS +========================== + +This directory contains shell files (must not be executable nor contain a shebang) +that are read by xbps-src when building source packages. The shell files +are read in lexical order (as ordered by shell rules). + +These files shall set environment variables for use in the xbps-src helpers +(libexec/xbps-src-*). Only files with the `.sh' extension are read, so this file +will be simply ignored. + diff --git a/common/global-defs.sh b/common/global-defs.sh deleted file mode 100644 index fcda9830d22..00000000000 --- a/common/global-defs.sh +++ /dev/null @@ -1,23 +0,0 @@ -# -*- shell mode -*- -# -# Sets globally the minimal versions required by the xbps source packages. -# -# ========================================================= -# DO NOT MODIFY THIS FILE WITHOUT PRIOR WRITTEN PERMISSION! -# ========================================================= -# -# Every time a new source package requires a specific feature from a new -# 'xbps-src', 'xbps' or 'base-chroot' package, that version must be -# increased to "reproduce" the build behaviour (somewhat :-). - -# xbps-src version. -XBPS_SRC_REQ=83 - -# XBPS utils version. -XBPS_UTILS_REQ=0.26.1 - -# XBPS utils API version. -XBPS_UTILS_API_REQ=20130918 - -# base-chroot version. -BASE_CHROOT_REQ=0.40_1 diff --git a/common/helpers/README b/common/helpers/README new file mode 100644 index 00000000000..ff5e3b865cf --- /dev/null +++ b/common/helpers/README @@ -0,0 +1,25 @@ +SHELL HELPERS +============= + +This directory contains shell files that are read by xbps-src and can be used at any +phase when building source packages. Only files with the `.sh' extension will be read. + +A shell helper must provide its own function for use in the source packages. +The following examples illustrates a fake helper named `myhelper.sh' that provides +the `myhelper_func' function: + +myhelper.sh: +... +myhelper_func() { + ... +} +... + +You can then use this helper in a source package like this: + +srcpkgs/foo/template: +... +do_install() { + myhelper_func ... +} +... diff --git a/common/helpers/replace-interpreter.sh b/common/helpers/replace-interpreter.sh new file mode 100644 index 00000000000..1660ac6fa1b --- /dev/null +++ b/common/helpers/replace-interpreter.sh @@ -0,0 +1,41 @@ +# This helper replaces shebang paths pointing to the correct ones +# as used by xbps. Multiple languages are supported: +# +# - GNU Bash +# - Perl +# - Python +# + +bash_regexp=".*sh" +perl_regexp=".*perl[^[:space:]]*" +python_regexp=".*python[^[:space:]]*" + +replace_interpreter() { + local lang="$1" file="$2" trsb orsb + + [ -z $lang -o -z $file ] && return 1 + + case $lang in + bash) + orsb=$bash_regexp + trpath="/bin/bash" + ;; + perl) + orsb=$perl_regexp + trpath="/usr/bin/perl" + ;; + python) + orsb=$python_regexp + trpath="/usr/bin/python" + ;; + *) + ;; + esac + + if [ -f $file ]; then + sed -i -e "1s|^#![[:space:]]*${orsb}|#!${trpath}|" $file + msg_normal "Transformed $lang script: ${file##$wrksrc}.\n" + else + msg_warn "Ignoring unexistent $lang script: ${file##$wrksrc}.\n" + fi +} diff --git a/common/shlibs b/common/shlibs index a76b9ca0572..88d8fd1bf96 100644 --- a/common/shlibs +++ b/common/shlibs @@ -105,9 +105,11 @@ libXrender.so.1 libXrender-0.9.4_1 libXrandr.so.2 libXrandr-1.3.0_1 libGLU.so.1 glu-9.0.0_1 libEGL.so.1 libEGL-7.11_1 +libEGL.so libEGL-1.0_1 +libGLESv1_CM.so libGLES-1.0_1 +libGLESv1_CM.so.1 libGLES-1.0_1 +libGLESv2.so libGLES-1.0_1 libwayland-egl.so.1 libwayland-egl-9.0.1_4 -libGLESv1_CM.so.1 libGLES-9.0.1_1 -libGLESv2.so.2 libGLES-9.0.1_1 libGL.so.1 libGL-7.11_1 libglapi.so.0 libglapi-7.11_1 libOpenVG.so.1 libOpenVG-7.11_1 @@ -440,7 +442,6 @@ libphysfs.so.1 physfs-2.0.0_1 libSDL_ttf-2.0.so.0 SDL_ttf-2.0.9_1 libparted.so.2 libparted-3.1_1 libparted-fs-resize.so.0 libparted-3.1_1 -libopenobex.so.1 libopenobex-1.5_1 libntfs-3g.so.84 ntfs-3g-2013.1.13_1 libruby.so.1.9 ruby-1.9.3_1 libruby.so.2.0 ruby-2.0.0_1 @@ -921,6 +922,7 @@ libgtksourceviewmm-3.0.so.0 gtksourceviewmm-3.2.0_1 libyajl.so.2 yajl-2.0.1_1 libconfuse.so.0 confuse-2.7_1 libLLVM-3.3.so libllvm-3.3_4 +libLLVM-3.4.so libllvm-3.4_1 libisofs.so.6 libisofs-0.6.24_1 libbfd-2.22.so binutils-2.22_1<2.23_1 libopcodes-2.22.so binutils-2.22_1<2.23_1 @@ -1193,8 +1195,6 @@ libtaginfo_c.so.0 libtaginfo-0.1.3_1 libaa.so.1 aalib-1.4rc4_2 libbsd.so.0 libbsd-0.4.2_1 libWFC.so rpi-firmware-20130228_1 -libGLESv2.so rpi-firmware-20130228_1 -libEGL.so rpi-firmware-20130228_1 libbcm_host.so rpi-firmware-20130228_1 libopenmaxil.so rpi-firmware-20130228_1 libvchiq_arm.so rpi-firmware-20130228_1 @@ -1392,7 +1392,7 @@ libSDL2-2.0.so.0 SDL2-2.0.0_1 libcacard.so.0 libcacard-1.6.1_1 libxcb-cursor.so.0 xcb-util-cursor-0.1.0_1 libgldi.so.3 libgldi-3.3.1_1 -libevdev.so.1 libevdev-0.4_1 +libevdev.so.1 libevdev-0.6_1 libmutter-wayland.so.0 mutter-wayland-3.10.1_1 libgdiplus.so.0 libgdiplus-2.10.9_1 libmonosgen-2.0.so.1 mono-3.2.3_1 @@ -1446,3 +1446,13 @@ libcinnamon-desktop.so.4 cinnamon-desktop-2.0.4_1 libcinnamon-control-center.so.1 cinnamon-control-center-2.0.9_1 libnemo-extension.so.1 libnemo-2.0.8_1 libxshmfence.so.1 libxshmfence-1.1_1 +libgoffice-0.8.so.8 goffice0.8-0.8.13_1 +libgoffice-0.10.so.10 goffice-0.10.9_1 +libc++.so.1 libcxx-3.4_1 +libopenobex.so.2 openobex-1.7.1_1 +libnotmuch.so.3 libnotmuch-0.17_2 +libdri2.so.1 libdri2-0.1_1 +libUMP.so libump-1.0_1 +libUMP.so.3 libump-1.0_1 +libatomic_ops_gpl.so.0 libatomic_ops-7.2e_1 +libatomic_ops.so.0 libatomic_ops-7.2e_1 diff --git a/doc/manual.txt b/doc/manual.txt index a8af37c0fd7..88bc6c801c6 100644 --- a/doc/manual.txt +++ b/doc/manual.txt @@ -1,3 +1,5 @@ +// vim: set syntax=asciidoc: + The XBPS source packages manual =============================== Juan RP @@ -8,7 +10,7 @@ Juan RP :website: http://www.voidlinux.eu This article contains an exhaustive manual of how to create new source -packages for XBPS, the package manager of the *Void Linux distribution*. +packages for XBPS, the `Void Linux` native packaging system. Introduction ------------ @@ -25,11 +27,10 @@ A simple `template` example is as follows: -------------------------------------------------------------------------- # Template file for 'foo' -## source section pkgname="foo" version="1.0" -revision="1" -build_style="gnu-configure" +revision=1 +build_style=gnu-configure short_desc="A short description max 72 chars" maintainer="name " license="GPL-3" @@ -37,22 +38,20 @@ homepage="http://www.foo.org" distfiles="http://www.foo.org/foo-${version}.tar.gz" checksum="fea0a94d4b605894f3e2d5572e3f96e4413bcad3a085aae7367c2cf07908b2ff" -## package section -foo_package() { - pkg_install() { - vmove all - } +## optional +foo-devel_package() { + short_desc+=" - development files" + depends="..." + pkg_install() { + vmove usr/include + } } --------------------------------------------------------------------------- -There are two main `sections` in a template: the `source section` and the -`package section`. The `source section` contains definitions to download, build -and install the package files to a `fake destdir`. The `package section` -contains the definitions to how the resulting binary packages are generated. - -A template always requires at least a `source section` and a `package section`; -multiple `package sections` can be defined to generate `multiple binary packages`. +The template file contains definitions to download, build and install the +package files to a `fake destdir`, and after this a binary package can be +generated with the definitions specified on it. Don't worry if anything is not clear as it should be. The reserved `variables` and `functions` will be explained later. This `template` file should be created @@ -61,7 +60,7 @@ If everything went fine after running `xbps-src build-pkg` a binary package called `foo-1.0_1..xbps` will be generated in the local repository. Additional binary packages (those defined in `_package() blocks` need a -symlink to the `main` package, like this: +symlink to the `main` package), like this: ---------------------------------- @@ -80,25 +79,25 @@ Package build phases Building a package consist of the following phases: *fetch*:: - This phase downloads required sources for a `source package`, as defined by - the `distfiles` variable or `do_fetch()` function. + This phase downloads required sources for a `source package`, as defined by +the `distfiles` variable or `do_fetch()` function. *extract*:: - This phase extracts the `distfiles` files into `$wrksrc` or executes the `do_extract()` - function, which is the directory to be used to compile the `source package`. + This phase extracts the `distfiles` files into `$wrksrc` or executes the `do_extract()` +function, which is the directory to be used to compile the `source package`. *configure*:: - This phase executes the `configuration` of a `source package`, i.e `GNU configure scripts`. + This phase executes the `configuration` of a `source package`, i.e `GNU configure scripts`. *build*:: - This phase compiles/prepares the `source files` via `make` or any other compatible method. + This phase compiles/prepares the `source files` via `make` or any other compatible method. *install-destdir*:: - This phase installs the `package files` into a `fake destdir`, via `make install` or - any other compatible method. + This phase installs the `package files` into a `fake destdir`, via `make install` or +any other compatible method. *build-pkg*:: - This phase builds the `binary packages` with files stored in the `package destdir`. + This phase builds the `binary packages` with files stored in the `package destdir`. `xbps-src` supports running just the specified phase, and if it ran successfully, the phase will be skipped later (unless its work directory @@ -111,28 +110,28 @@ The following functions are defined by `xbps-src` and can be used on any templat *vinstall()*:: `vinstall []` - Installs `file` with the specified `mode` into `targetdir` in `$DESTDIR` - (if called from a `source section`) or `$PKGDESTDIR` (if called from a `package section`). - The optional 4th argument can be used to change the `file name`. +Installs `file` with the specified `mode` into `targetdir` in `$DESTDIR` +(if called from a `source section`) or `$PKGDESTDIR` (if called from a `package section`). +The optional 4th argument can be used to change the `file name`. *vcopy()*:: `vcopy ` - Copies resursively all files in `pattern` to `targetdir` on `$DESTDIR` - (if called from a `source section`) or `$PKGDESTDIR` (if called from a `package section`). +Copies resursively all files in `pattern` to `targetdir` on `$DESTDIR` +(if called from a `source section`) or `$PKGDESTDIR` (if called from a `package section`). *vmove()*:: `vmove ` - Moves `pattern` to the specified directory in `$DESTDIR` - (if called from a `source section`) or `$PKGDESTDIR` (if called from a `package section`). +Moves `pattern` to the specified directory in `$DESTDIR` +(if called from a `source section`) or `$PKGDESTDIR` (if called from a `package section`). *vmkdir()*:: `vmkdir []` - Creates a directory in `$DESTDIR` (if called from a `source section`) or - $PKGDESTDIR` (if called from a `package section`). The 2nd optional argument - sets the mode of the directory. +Creates a directory in `$DESTDIR` (if called from a `source section`) or +`$PKGDESTDIR` (if called from a `package section`). The 2nd optional argument +sets the mode of the directory. NOTE: shell wildcards must be properly quoted. @@ -141,38 +140,40 @@ Global variables The following variables are defined by `xbps-src` and can be used on any template: *makejobs*:: - Set to `-jX` if `XBPS_MAKEJOBS` is defined, to allow parallel jobs with `GNU make`. + Set to `-jX` if `XBPS_MAKEJOBS` is defined, to allow parallel jobs with `GNU make`. *sourcepkg*:: - Set to the to main package name, can be used to match the main package - rather than additional binary package names. + Set to the to main package name, can be used to match the main package +rather than additional binary package names. *CHROOT_READY*:: - True if the target chroot (masterdir) is ready for chroot builds. + True if the target chroot (masterdir) is ready for chroot builds. *CROSS_BUILD*:: - True if `xbps-src` is cross compiling a package. + True if `xbps-src` is cross compiling a package. *DESTDIR*:: - Full path to the fake destdir used by the `source section`, set to - `${XBPS_MASTERDIR}/destdir/${sourcepkg}-${version}`. + Full path to the fake destdir used by the `source section`, set to +`${XBPS_MASTERDIR}/destdir/${sourcepkg}-${version}`. *PKGDESTDIR*:: - Full path to the fake destdir used by the `pkg_install()` function in the - `package section`, set to `${XBPS_MASTERDIR}/destdir/pkg-${pkgname}-${version}`. + Full path to the fake destdir used by the `pkg_install()` function in the +`package section`, set to `${XBPS_MASTERDIR}/destdir/${pkgname}-${version}`. *XBPS_MACHINE*:: - The machine architecture as returned by `uname -m`. + The machine architecture as returned by `uname -m`. *XBPS_SRCDISTDIR*:: - Full path to where the `source distfiles` are stored, i.e `$XBPS_HOSTDIR/sources`. + Full path to where the `source distfiles` are stored, i.e `$XBPS_HOSTDIR/sources`. *XBPS_SRCPKGDIR*:: - Full path to the `srcpkgs` directory. + Full path to the `srcpkgs` directory. *XBPS_TARGET_MACHINE*:: - The target machine architecture when cross compiling a package. + The target machine architecture when cross compiling a package. +*XBPS_FETCH_CMD*:: + The utility to fetch files from `ftp`, `http` of `https` servers. Source section -------------- @@ -181,150 +182,167 @@ Mandatory variables The list of mandatory variables in the `source section`: *homepage*:: - A string pointing to the `upstream` homepage. + A string pointing to the `upstream` homepage. *license*:: - A string matching any license file available in `/usr/share/licenses`. - Multiple licenses should be separated by commas, i.e `GPL-3, LGPL-2.1`. + A string matching any license file available in `/usr/share/licenses`. +Multiple licenses should be separated by commas, i.e `GPL-3, LGPL-2.1`. *maintainer*:: - A string in the form of `name `. + A string in the form of `name `. *pkgname*:: - A string with the package name, matching `srcpkgs/`. + A string with the package name, matching `srcpkgs/`. *revision*:: - A number that must be set to 1 when the `source package` is created, or - updated to a new `upstream version`. This should only be increased when - the generated `binary packages` have been modified. + A number that must be set to 1 when the `source package` is created, or +updated to a new `upstream version`. This should only be increased when +the generated `binary packages` have been modified. *short_desc*:: - A string with a brief description for this package. Max 72 chars. + A string with a brief description for this package. Max 72 chars. *version*:: - A string with the package version. Must not contain dashes and at least - one digit is required. + A string with the package version. Must not contain dashes and at least +one digit is required. Optional variables ~~~~~~~~~~~~~~~~~~ *hostmakedepends*:: - The list of `host` dependencies required to build the package. Dependencies - can be specified with the following version comparators: `<`, `>`, `<=`, `>=` - or `foo-1.0_1` to match an exact version. If version comparator is not - defined (just a package name), the version comparator is automatically set to `>=0`. - Example `hostmakedepends="foo blah<1.0"`. + The list of `host` dependencies required to build the package. Dependencies +can be specified with the following version comparators: `<`, `>`, `<=`, `>=` +or `foo-1.0_1` to match an exact version. If version comparator is not +defined (just a package name), the version comparator is automatically set to `>=0`. +Example `hostmakedepends="foo blah<1.0"`. *makedepends*:: - The list of `target` dependencies required to build the package. Dependencies - can be specified with the following version comparators: `<`, `>`, `<=`, `>=` - or `foo-1.0_1` to match an exact version. If version comparator is not - defined (just a package name), the version comparator is automatically set to `>=0`. - Example `makedepends="foo blah>=1.0"`. + The list of `target` dependencies required to build the package. Dependencies +can be specified with the following version comparators: `<`, `>`, `<=`, `>=` +or `foo-1.0_1` to match an exact version. If version comparator is not +defined (just a package name), the version comparator is automatically set to `>=0`. +Example `makedepends="foo blah>=1.0"`. *bootstrap*:: - If enabled the source package is considered to be part of the `bootstrap` - process and required to be able to build packages in the chroot. Only a - small number of packages must set this property. + If enabled the source package is considered to be part of the `bootstrap` +process and required to be able to build packages in the chroot. Only a +small number of packages must set this property. *distfiles*:: - The full URL to the `upstream` source distribution files. Multiple files - can be separated by blanks. The files must end in `.tar.lzma`, `.tar.xz`, - `.txz`, `.tar.bz2`, `.tbz`, `.tar.gz`, `.tgz`, `.gz`, `.bz2`, `.tar` or - `.zip`. Example `distfiles="http://foo.org/foo-1.0.tar.gz"` + The full URL to the `upstream` source distribution files. Multiple files +can be separated by blanks. The files must end in `.tar.lzma`, `.tar.xz`, +`.txz`, `.tar.bz2`, `.tbz`, `.tar.gz`, `.tgz`, `.gz`, `.bz2`, `.tar` or +`.zip`. Example `distfiles="http://foo.org/foo-1.0.tar.gz"` *checksum*:: - The `sha256` digests matching `${distfiles}`. Multiple files can be - separated by blanks. Please note that the order must be the same than - was used in `${distfiles}`. Example `checksum="kkas00xjkjas"` + The `sha256` digests matching `${distfiles}`. Multiple files can be +separated by blanks. Please note that the order must be the same than +was used in `${distfiles}`. Example `checksum="kkas00xjkjas"` *long_desc*:: - A long description of the main package. Max 80 chars per line and must - not contain the following characters: `&`, `<`, `>`. + A long description of the main package. Max 80 chars per line and must +not contain the following characters: `&`, `<`, `>`. *wrksrc*:: - The directory name where the package sources are extracted, by default - set to `${pkgname}-${version}`. + The directory name where the package sources are extracted, by default +set to `${pkgname}-${version}`. *build_wrksrc*:: - A directory relative to `${wrksrc}` that will be used when building the package. + A directory relative to `${wrksrc}` that will be used when building the package. *create_wrksrc*:: - Enable it to create the `${wrksrc}` directory. Required if a package - contains multiple `distfiles`. + Enable it to create the `${wrksrc}` directory. Required if a package +contains multiple `distfiles`. *only_for_archs*:: - This expects a separated list of architectures where the package can be - built matching `uname -m` output. Example `only_for_archs="x86_64 armv6l"` + This expects a separated list of architectures where the package can be +built matching `uname -m` output. Example `only_for_archs="x86_64 armv6l"` *build_style*:: - This specifies the `build method` for a package. Read below to know more - about the available package `build methods`. If `build_style` is not set, - the package must define at least a `do_install()` function, and optionally - more build phases as such `do_configure()`, `do_build()`, etc. + This specifies the `build method` for a package. Read below to know more +about the available package `build methods`. If `build_style` is not set, +the package must define at least a `do_install()` function, and optionally + more build phases as such `do_configure()`, `do_build()`, etc. *create_srcdir*:: - This creates a directory in `${XBPS_SRCDISTDIR}` as such `${pkgname}-${version}` - to store the package sources at the `extract` phase. Required in packages that - use unversioned ${distfiles}`. + This creates a directory in `${XBPS_SRCDISTDIR}` as such `${pkgname}-${version}` +to store the package sources at the `extract` phase. Required in packages that +use unversioned ${distfiles}`. *configure_script*:: - The name of the `configure` script to execute at the `configure` phase if - `${build_style}` is set to `configure` or `gnu-configure` build methods. - By default set to `./configure`. + The name of the `configure` script to execute at the `configure` phase if +`${build_style}` is set to `configure` or `gnu-configure` build methods. +By default set to `./configure`. *configure_args*:: - The arguments to be passed in to the `configure` script if `${build_style}` - is set to `configure` or `gnu-configure` build methods. By default, prefix - must be set to `/usr`. In `gnu-configure` packages, some options are already - set by default: `--prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --localstatedir=/var`. + The arguments to be passed in to the `configure` script if `${build_style}` +is set to `configure` or `gnu-configure` build methods. By default, prefix +must be set to `/usr`. In `gnu-configure` packages, some options are already +set by default: `--prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --localstatedir=/var`. *make_cmd*:: - The executable to run at the `build` phase if `${build_style}` is set to - `configure`, `gnu-configure` or `gnu-makefile` build methods. - By default set to `make`. + The executable to run at the `build` phase if `${build_style}` is set to +`configure`, `gnu-configure` or `gnu-makefile` build methods. +By default set to `make`. *make_build_args*:: - The arguments to be passed in to `${make_cmd}` at the build phase if - `${build_style}` is set to `configure`, `gnu-configure` or `gnu_makefile` - build methods. Unset by default. + The arguments to be passed in to `${make_cmd}` at the build phase if +`${build_style}` is set to `configure`, `gnu-configure` or `gnu_makefile` +build methods. Unset by default. *make_install_args*:: - The arguments to be passed in to `${make_cmd}` at the `install-destdir` - phase if `${build_style}` is set to `configure`, `gnu-configure` or - `gnu_makefile` build methods. Unset by default. + The arguments to be passed in to `${make_cmd}` at the `install-destdir` +phase if `${build_style}` is set to `configure`, `gnu-configure` or +`gnu_makefile` build methods. By default set to +`PREFIX=/usr DESTDIR=${DESTDIR}`. *make_build_target*:: - The target to be passed in to `${make_cmd}` at the build phase if - `${build_style}` is set to `configure`, `gnu-configure` or `gnu_makefile` - build methods. Unset by default (`all` target). + The target to be passed in to `${make_cmd}` at the build phase if +`${build_style}` is set to `configure`, `gnu-configure` or `gnu_makefile` +build methods. Unset by default (`all` target). *make_install_target*:: - The target to be passed in to `${make_cmd}` at the `install-destdir` phase - if `${build_style}` is set to `configure`, `gnu-configure` or `gnu_makefile` - build methods. By default set to `DESTDIR=${DESTDIR} install`. + The target to be passed in to `${make_cmd}` at the `install-destdir` phase +if `${build_style}` is set to `configure`, `gnu-configure` or `gnu_makefile` +build methods. By default set to `install`. *patch_args*:: - The arguments to be passed in to the `patch(1)` command when applying - patches to the package sources after `do_extract()`. Patches are stored in - `srcpkgs//patches` and must be in `-p0` format. By default set to `-Np0`. + The arguments to be passed in to the `patch(1)` command when applying +patches to the package sources after `do_extract()`. Patches are stored in +`srcpkgs//patches` and must be in `-p0` format. By default set to `-Np0`. *disable_parallel_build*:: - If set the package won't be built in parallel and `XBPS_MAKEJOBS` has no effect. + If set the package won't be built in parallel and `XBPS_MAKEJOBS` has no effect. *keep_libtool_archives*:: - If enabled the `GNU Libtool` archives won't be removed. By default those - files are always removed automatically. + If enabled the `GNU Libtool` archives won't be removed. By default those +files are always removed automatically. *skip_extraction*:: - A list of filenames that should not be extracted in the `extract` phase. - This must match the basename of any url defined in `${distfiles}`. - Example `skip_extraction="foo-${version}.tar.gz"`. + A list of filenames that should not be extracted in the `extract` phase. +This must match the basename of any url defined in `${distfiles}`. +Example `skip_extraction="foo-${version}.tar.gz"`. *force_debug_pkgs*:: - If enabled binary packages with debugging symbols will be generated - even if `XBPS_DEBUG_PKGS` is disabled in `xbps-src.conf` or in the - `command line arguments`. + If enabled binary packages with debugging symbols will be generated +even if `XBPS_DEBUG_PKGS` is disabled in `xbps-src.conf` or in the +`command line arguments`. + +*conf_files*:: +A list of configuration files the binary package owns; this expects full +paths, and multiple entries can be separated by blanks, i.e: +`conf_files="/etc/foo.conf /etc/foo2.conf"`. + +*noarch*:: + If set, the binary package is not architecture specific and can be shared +by all supported architectures. + +*nonfree*:: + If set, the binary package will be put into the *non free* repository. + +*nostrip*:: + If set, the ELF binaries with debugging symbols won't be stripped. By +default all binaries are stripped. build style scripts ~~~~~~~~~~~~~~~~~~~ @@ -336,42 +354,48 @@ to execute a `build_style` script must be defined via `hostmakedepends`. The current list of available `build_style` scripts is the following: *cmake*:: - For packages that use the CMake build system, configuration arguments - can be passed in via `configure_args`. + For packages that use the CMake build system, configuration arguments +can be passed in via `configure_args`. *configure*:: - For packages that use non-GNU configure scripts, at least `--prefix=/usr` - should be passed in via `configure_args`. + For packages that use non-GNU configure scripts, at least `--prefix=/usr` +should be passed in via `configure_args`. *gnu-configure*:: - For packages that use GNU configure scripts, additional configuration - arguments can be passed in via `configure_args`. + For packages that use GNU configure scripts, additional configuration +arguments can be passed in via `configure_args`. *gnu-makefile*:: - For packages that use GNU make, build arguments can be passed in via - `make_build_args` and install arguments via `make_install_args`. The build - target can be overriden via `make_build_target` and the install target + For packages that use GNU make, build arguments can be passed in via +`make_build_args` and install arguments via `make_install_args`. The build +target can be overriden via `make_build_target` and the install target +via `make_install_target`. *meta*:: - For `meta-packages`, i.e packages that only install local files or simply - depend on additional packages. + For `meta-packages`, i.e packages that only install local files or simply +depend on additional packages. This build style does not install +dependencies to the root directory, and only checks if a binary package is +available in repositories. *perl-ModuleBuild*:: - For packages that use the Perl - http://search.cpan.org/~leont/Module-Build-0.4202/lib/Module/Build.pm[Module::Build] method. + For packages that use the Perl +http://search.cpan.org/~leont/Module-Build-0.4202/lib/Module/Build.pm[Module::Build] method. *perl*:: - For packages that use the Perl - http://perldoc.perl.org/ExtUtils/MakeMaker.html[ExtUtils::MakeMaker] build method. + For packages that use the Perl +http://perldoc.perl.org/ExtUtils/MakeMaker.html[ExtUtils::MakeMaker] build method. *python-module*:: - For packages that use the Python module build method (setup.py). + For packages that use the Python module build method (setup.py). *waf3*:: - For packages that use the Python3 `waf` build method with python3. + For packages that use the Python3 `waf` build method with python3. *waf*:: - For packages that use the Python `waf` method with python2. + For packages that use the Python `waf` method with python2. + +NOTE: if `build_style` is not set, the template must (at least) define a +`do_install()` function and optionally more phases via `do_xxx()` functions. Functions ~~~~~~~~~ @@ -379,80 +403,47 @@ The following functions can be defined to change the behavior of how the package is downloaded, compiled and installed. *do_fetch()*:: - if defined and `distfiles` is not set, use it to fetch the required sources. + if defined and `distfiles` is not set, use it to fetch the required sources. *do_extract()*:: - if defined and `distfiles` is not set, use it to extract the required sources. + if defined and `distfiles` is not set, use it to extract the required sources. *post_extract()*:: - Actions to execute after `do_extract()`. + Actions to execute after `do_extract()`. *pre_configure()*:: - Actions to execute after `post_extract()`. + Actions to execute after `post_extract()`. *do_configure()*:: - Actions to execute to configure the package; `${configure_args}` should - still be passed in if it's a GNU configure script. + Actions to execute to configure the package; `${configure_args}` should +still be passed in if it's a GNU configure script. *post_configure()*:: - Actions to execute after `do_configure()`. + Actions to execute after `do_configure()`. *pre_build()*:: - Actions to execute after `post_configure()`. + Actions to execute after `post_configure()`. *do_build()*:: - Actions to execute to build the package. + Actions to execute to build the package. *post_build()*:: - Actions to execute after `do_build()`. + Actions to execute after `do_build()`. *pre_install()*:: - Actions to execute after `post_build()`. + Actions to execute after `post_build()`. *do_install()*:: - Actions to execute to install the packages files into the `fake destdir`. + Actions to execute to install the packages files into the `fake destdir`. *post_install()*:: - Actions to execute after `do_install()`. + Actions to execute after `do_install()`. NOTE: A function defined in a template has preference over the same function defined by a `build_style` script. -Run-time dependencies -~~~~~~~~~~~~~~~~~~~~~ - -Dependencies for ELF executables or shared libraries are detected -automatically by `xbps-src`, hence run-time dependencies must not be specified -in the *package sections* with the following exceptions: - -- ELF binaries using dlopen(3). -- non ELF objects, i.e perl/python/ruby/etc modules. -- Overriding the minimal version specified in the `shlibs` file. - -The run-time dependencies for ELF binaries are detected by checking which SONAMEs -use and then the SONAMEs are mapped to a binary package name with a minimal -required version. The `shlibs` file in the `xbps-packages/common` directory -sets up the `SONAME pkgname>=version` mappings. - -For example the `foo-1.0_1` package provides the `libfoo.so.1` SONAME and -software requiring this library will link to `libfoo`; the resulting binary -package will have a run-time dependency to `foo>=1.0_1` package as specified in -`common/shlibs`: - ------------------------ -# common/shlibs -... -libfoo.so.1 foo-1.0_1 -... ------------------------ - -- The first field specifies the SONAME. -- The second field specified the package name and minimal version required. -- A third optional field specifies the architecture (rarely used). - Build options -~~~~~~~~~~~~~ - +------------- Some packages might be built with different build options to enable/disable additional features; `xbps-src` allows you to do this with some simple tweaks to the `template` file. @@ -460,14 +451,14 @@ to the `template` file. The following variables may be set to allow package build options: *build_options*:: - Sets the build options supported by the source package. + Sets the build options supported by the source package. *build_options_default*:: - Sets the default build options to be used by the source package. + Sets the default build options to be used by the source package. *desc_option_