diff options
author | Eric Hameleers <alien@slackware.com> | 2021-12-29 14:09:39 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2021-12-29 14:09:39 +0000 |
commit | ea3490e6688f7e2297d84942b9fd29925818a30a (patch) | |
tree | 7f82d001dbaedb2611c421359bbdd5556cf2d0fd /x264 | |
parent | c042f7b0bd507dbc9db432958d0e6c4d86b49ffb (diff) | |
download | asb-ea3490e6688f7e2297d84942b9fd29925818a30a.tar.gz asb-ea3490e6688f7e2297d84942b9fd29925818a30a.tar.xz |
x264: updated for Slackware 15.0
Diffstat (limited to 'x264')
-rwxr-xr-x | x264/build/x264.SlackBuild | 81 |
1 files changed, 63 insertions, 18 deletions
diff --git a/x264/build/x264.SlackBuild b/x264/build/x264.SlackBuild index b554fd52..63c17ba4 100755 --- a/x264/build/x264.SlackBuild +++ b/x264/build/x264.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh # $Id$ -# Copyright 2009, 2010, 2011, 2013, 2017, 2020 Eric Hameleers, Eindhoven, NL +# Copyright 2009, 2010, 2011, 2013, 2017, 2020, 2021 Eric Hameleers, Eindhoven, NL # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -28,7 +28,8 @@ # For: x264 # Descr: a free h264/avc encoder # URL: http://www.videolan.org/developers/x264.html -# Needs: yasm (compile-time only) +# Build needs:yasm +# Needs: # Changelog: # 20090518-1: 19/May/2009 by Eric Hameleers <alien@slackware.com> # * Initial build. @@ -47,6 +48,8 @@ # * Updated for Slackware 14.2 and -current. # 20180324-1: 05/oct/2020 by Eric Hameleers <alien@slackware.com> # * Updated for Slackware -current. +# 20211120-1: 29/dec/2021 by Eric Hameleers <alien@slackware.com> +# * Updated for Slackware 15.0. # # Run 'sh x264.SlackBuild' to build a Slackware package. # The package (.txz) and .txt file as well as build logs are created in /tmp . @@ -55,7 +58,7 @@ # ----------------------------------------------------------------------------- PRGNAM=x264 -VERSION=${VERSION:-20180324} +VERSION=${VERSION:-20211120} BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(nproc) "} TAG=${TAG:-alien} @@ -70,25 +73,57 @@ TMP=${TMP:-/tmp/build} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -SOURCE="$SRCDIR/${PRGNAM}-snapshot-${VERSION}-2245.tar.bz2" -SRCURL="ftp://ftp.videolan.org/pub/videolan/${PRGNAM}/snapshots/${PRGNAM}-snapshot-${VERSION}-2245.tar.bz2" +#SOURCE="$SRCDIR/${PRGNAM}-snapshot-${VERSION}-2245.tar.bz2" +#SRCURL="ftp://ftp.videolan.org/pub/videolan/${PRGNAM}/snapshots/${PRGNAM}-snapshot-${VERSION}-2245.tar.bz2" +SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.bz2" +SRCURL="" +# Use the src_checkout() function if no downloadable tarball exists. +# This function checks out sources from SVN/CVS and creates a tarball of them. +src_checkout() { + # Param #1 : index in the SOURCE[] array. + # Param #2 : full path to where SOURCE[$i] tarball should be created. + # Determine the tarball extension: + PEXT=$(echo "${2}" | sed -r -e 's/.*[^.].(tar.xz|tar.gz|tar.bz2|tgz).*/\1/') + case "$PEXT" in + "tar.xz") TARCOMP="J" ;; + "tar.gz") TARCOMP="z" ;; + "tgz") TARCOMP="z" ;; + "tar.bz2") TARCOMP="j" ;; + *) echo "Archive can only have extension 'tar.xz', '.tar.gz' '.tar.bz2' or ' +.tgz'" ; exit 1 ;; + esac + case ${1} in + 0) # We clone the git of x264 at a certain date: + mkdir x264-${VERSION} \ + && cd x264-${VERSION} \ + && git clone https://code.videolan.org/videolan/x264.git . \ + && git checkout $(git rev-list -n 1 --before="`date -d $VERSION`" master) \ + && chown -R root:root . \ + && cd .. \ + && tar --exclude .git -${TARCOMP}cf ${2} x264-${VERSION} + rm -rf x264-${VERSION} + ;; + *) # Do nothing + ;; + esac +} ## ## --- with a little luck, you won't have to edit below this point --- ## ## # Automatically determine the architecture we're building on: -MARCH=$( uname -m ) if [ -z "$ARCH" ]; then - case "$MARCH" in - i?86) export ARCH=i586 ;; - armv7hl) export ARCH=$MARCH ;; - arm*) export ARCH=arm ;; + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$MARCH ;; + *) ARCH=$(uname -m) ;; esac + export ARCH fi +# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: case "$ARCH" in i?86) SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686" SLKLDFLAGS=""; LIBDIRSUFFIX="" @@ -102,7 +137,7 @@ case "$ARCH" in SLKLDFLAGS=""; LIBDIRSUFFIX="" ARCHOPTS="--enable-pic" ;; - *) SLKCFLAGS=${SLKCFLAGS:-"O2"} + *) SLKCFLAGS=${SLKCFLAGS:-"-O2"} SLKLDFLAGS=${SLKLDFLAGS:-""}; LIBDIRSUFFIX=${LIBDIRSUFFIX:-""} ARCHOPTS="" ;; @@ -113,6 +148,7 @@ case "$ARCH" in *) TARGET=$ARCH-slackware-linux ;; esac + # Exit the script on errors: set -e trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR @@ -137,18 +173,23 @@ rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log if ! [ -f ${SOURCE} ]; then echo "Source '$(basename ${SOURCE})' not available yet..." # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT - [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" + [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename ${SOURCE})" if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi if ! [ "x${SRCURL}" == "x" ]; then echo "Will download file to $(dirname $SOURCE)" - wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true + wget --no-check-certificate -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then - echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." + echo "Fail to download '$(basename ${SOURCE})'. Aborting the build." mv -f "${SOURCE}" "${SOURCE}".FAIL exit 1 fi else - echo "File '$(basename ${SOURCE})' not available... aborting the build." + # Try if we have a SVN/CVS download routine for ${SOURCE} + echo "Will checkout sources to $(dirname $SOURCE)" + src_checkout 0 "${SOURCE}" 2>&1 > $OUTPUT/checkout-$(basename ${SOURCE}).log + fi + if [ ! -f "${SOURCE}" -o ! -s "${SOURCE}" ]; then + echo "File '$(basename ${SOURCE})' not available. Aborting the build." exit 1 fi fi @@ -167,9 +208,9 @@ echo "++" cd $TMP/tmp-$PRGNAM echo "Extracting the source archive(s) for $PRGNAM..." tar -xvf ${SOURCE} -cd ${PRGNAM}-snapshot-${VERSION}* +cd ${PRGNAM}-snapshot-${VERSION}* || cd ${PRGNAM}-${VERSION} chown -R root:root . -chmod -R u+w,go+r-w,a+X-s . +chmod -R u+w,go+r-w,a+rX-st . echo Building ... @@ -179,8 +220,12 @@ CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ + --bit-depth=all \ + --chroma-format=all \ --enable-shared \ --enable-static \ + --enable-lto \ + --disable-avs \ $ARCHOPTS \ --host=$TARGET \ 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log |