#!/bin/bash set +o posix # # Script : slackwarearm-current/source/x/x11/x11-portspecificmodules.r2bhelper # Purpose: Build the port-specific X11 modules. # This is a helper script for the ''r2b'' Slackware ARM build system, # which is chained loaded from the ''x11.r2bhelper'' script. # # by Stuart Winter # # Copyright 2018,2019, 2020, 2021 Stuart Winter, Surrey, England. # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 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. ######################################################################################### # Slackware ARM packages # These packages aren't included in Slackware either because they aren't needed # or are found not to work. ######################################################################################### # ARM SoC function armx11_xf86-video-armsoc() { # Patch for glibc-2.20: ##sed -i '/#include /a#include ' /usr/include/xorg/os.h cp -favv $ORIGCWD/slack-desc/x*-armsoc $SLACKSOURCE/x/x11/slack-desc/ || exit 1 cp -favv $ORIGCWD/src/driver/xf86-video-armsoc-* $SLACKSOURCE/x/x11/src/driver/ || exit 1 buildx11modularpkg xf86-video-armsoc } # ARM SoC OMAP5 function armx11_xf86-video-armsoc_omap5() { cp -favv $ORIGCWD/slack-desc/x*-armsoc_omap5 $SLACKSOURCE/x/x11/slack-desc/ || exit 1 cp -favv $ORIGCWD/src/driver/xf86-video-armsoc_omap5* $SLACKSOURCE/x/x11/src/driver/ || exit 1 buildx11modularpkg xf86-video-armsoc_omap5 } # fbdev # fbdev is removed from Slackware since it causes failures when a machine has no xorg.conf, but # we need it for ARMedslack - and it works with or without an xorg.conf. function armx11_xf86-video-fbdev() { # Hack. This should really be patched by now. cp -fav $ORIGCWD/EXCLUDE/mibstore.h /usr/X11/include/ ## Remove it from the package black list, allowing it to build: sed -i 's?xf86-video-fbdev??g' $SLACKSOURCE/x/x11/package-blacklist || exit 1 # Install our local copy into the Slackware tree because this is easier than modifying # the x11.SlackBuild to find the source in our local tree. It's a little hacky I agree but # for one package, I adjust my standards ;-) cp -favv $ORIGCWD/src/driver/xf86-video-fbdev* $SLACKSOURCE/x/x11/src/driver/ || exit 1 buildx11modularpkg xf86-video-fbdev #rm -fv $SLACKSOURCE/x/x11/src/driver/xf86-video-fbdev* } # OpenTegra function armx11_xf86-video-opentegra() { cp -favv $ORIGCWD/slack-desc/x*-opentegra $SLACKSOURCE/x/x11/slack-desc/ || exit 1 cp -favv $ORIGCWD/src/driver/xf86-video-opentegra* $SLACKSOURCE/x/x11/src/driver/ || exit 1 buildx11modularpkg xf86-video-opentegra } # xf86-video-fbturbo # https://github.com/ssvb/xf86-video-fbturbo/wiki/Installation function armx11_xf86-video-fbturbo() { cp -favv $ORIGCWD/slack-desc/x*-fbturbo $SLACKSOURCE/x/x11/slack-desc/ || exit 1 cp -favv $ORIGCWD/src/driver/xf86-video-fbturbo* $SLACKSOURCE/x/x11/src/driver/ || exit 1 buildx11modularpkg xf86-video-fbturbo } # OMAP driver - not in use since it segfaults. function armx11_xf86-video-omapfb() { sed -i 's?xf86-video-omap??g' $SLACKSOURCE/x/x11/package-blacklist || exit 1 cp -favv $ORIGCWD/slack-desc/*omap* $SLACKSOURCE/x/x11/slack-desc/ || exit 1 cp -favv $ORIGCWD/src/driver/xf86-video-omapfb* $SLACKSOURCE/x/x11/src/driver/ || exit 1 buildx11modularpkg xf86-video-omapfb } ####################################################################################### # Build ARM-only packages ####################################################################################### armx11_xf86-video-armsoc_omap5 armx11_xf86-video-fbdev armx11_xf86-video-armsoc # Don't use: #armx11_xf86-video-omapfb #armx11_xf86-video-omapfb # July 2024: Seems abandoned upstream and Slackware AArch64 # no longer supports any Tegra-based Hardware Models. #armx11_xf86-video-opentegra # No longer maintained. No patches available. Was just for arm32/AllWinner #armx11_xf86-video-fbturbo exit ######################################################################################## # The following packages are both in Slackware x86 & ARM ######################################################################################## # Upgrade a bunch of stuff: # When upgrading "xorg-server" packages, you only need to rebuild the # base "xorg-server" - the others "xnest" etc will be built during that run. # ** Remember to set R(ebuild) or U(pgrade) here! #buildx11modularpkg libXaw3d #buildx11modularpkg xorg-server #exit