diff options
Diffstat (limited to 'multimedia/uavs3e')
-rw-r--r-- | multimedia/uavs3e/README | 3 | ||||
-rw-r--r-- | multimedia/uavs3e/changelog | 26 | ||||
-rw-r--r-- | multimedia/uavs3e/cmakelist.patch | 21 | ||||
-rw-r--r-- | multimedia/uavs3e/slack-desc | 19 | ||||
-rw-r--r-- | multimedia/uavs3e/src_cmakelist.patch | 54 | ||||
-rw-r--r-- | multimedia/uavs3e/uavs3e.SlackBuild | 120 | ||||
-rw-r--r-- | multimedia/uavs3e/uavs3e.info | 10 |
7 files changed, 253 insertions, 0 deletions
diff --git a/multimedia/uavs3e/README b/multimedia/uavs3e/README new file mode 100644 index 0000000000..28e015ad27 --- /dev/null +++ b/multimedia/uavs3e/README @@ -0,0 +1,3 @@ +uavs3e ia an open source and cross platform avs3 encoder. +It supports AVS3-P2 baseline profile. + diff --git a/multimedia/uavs3e/changelog b/multimedia/uavs3e/changelog new file mode 100644 index 0000000000..2e76dfcc48 --- /dev/null +++ b/multimedia/uavs3e/changelog @@ -0,0 +1,26 @@ +Changelog for the uavs3e SlackBuild script. +-------------------------------------------------- + +03/09/2022: + +Added to SBo. + +06/02/2023: + +When compiling on 32-bit systems you will run +into an error during the linking stage with +the error being: undefined reference to +_mm_extract_epi64, even if you patched the +CMakeLists.txt and adding the CFLAGS not +to detect the AVX2 and SSE4.1 flags it will not +work because then you will have another error- +incompatible types when initializing type _m128i +using type 'int' in the file cost_avx2.c in the +src directory.So in short uavs3e is not +supported on x86 or ARM-32 bit architecture. +patched the CMakeLists to set the libdir properly. + + +21/02/2023: + +Fixed the Slackbuild script and resubmitted to SBo. diff --git a/multimedia/uavs3e/cmakelist.patch b/multimedia/uavs3e/cmakelist.patch new file mode 100644 index 0000000000..8b64a40309 --- /dev/null +++ b/multimedia/uavs3e/cmakelist.patch @@ -0,0 +1,21 @@ +--- CMakeLists.txt 2022-08-23 14:57:53.000000000 +0530 ++++ cmakelistn.txt 2023-02-06 18:26:55.129000000 +0530 +@@ -1,9 +1,9 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.10) + + project(uavs3e) + + aux_source_directory(./test DIR_SRC_TEST) +-set_source_files_properties(${DIR_SRC_TEST} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -std=c99 -O3") ++set_source_files_properties(${DIR_SRC_TEST} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -std=c99 -O2") + + add_subdirectory(./src) + include_directories("./inc") +@@ -20,5 +20,4 @@ + + target_link_libraries(uavs3enc m) + target_link_libraries(uavs3enc uavs3e) +-#target_link_libraries(uavs3enc dl) +- ++target_link_libraries(uavs3enc dl) diff --git a/multimedia/uavs3e/slack-desc b/multimedia/uavs3e/slack-desc new file mode 100644 index 0000000000..e3ee05a48a --- /dev/null +++ b/multimedia/uavs3e/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +uavs3e: uavs3e (AVS3 Encoder) +uavs3e: +uavs3e: uavs3e ia an open source and cross platform avs3 encoder. +uavs3e: It supports AVS3-P2 baseline profile.This is the +uavs3e: 10-bit version of the encoder. +uavs3e: +uavs3e: Homepage:https://github.com/uavs3/uavs3e +uavs3e: +uavs3e: +uavs3e: +uavs3e: diff --git a/multimedia/uavs3e/src_cmakelist.patch b/multimedia/uavs3e/src_cmakelist.patch new file mode 100644 index 0000000000..f8ec5e52fc --- /dev/null +++ b/multimedia/uavs3e/src_cmakelist.patch @@ -0,0 +1,54 @@ +--- CMakeLists.txt 2022-08-23 14:57:53.000000000 +0530 ++++ CMakeLists1.txt 2023-02-20 23:29:17.032740887 +0530 +@@ -1,6 +1,25 @@ +- ++cmake_minimum_required(VERSION 3.10) + set(LIBNAME uavs3e) + ++# check cpu ++ ++if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386" OR ++ "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i486" OR ++ "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i586" OR ++ "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686" OR ++ "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86") ++ message(FATAL_ERROR "Uavs3e Encoder does not run on 32-bit x86 systems \n") ++elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "^arm") ++ mesasage(FATAL_ERROR "Uavs3e Encoder does not run on 32-bit ARM systems \n") ++elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm64") ++ message(STATUS "System Architecture is ARM-64 bit it runs on ARMv8 processor \n") ++elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64" OR ++ "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") ++ message(STATUS "System Architecture is x86_64 \n") ++else() ++ message(FATAL_ERROR "This Program will not run on this platform, aborting... \n") ++endif() ++ + # add source + aux_source_directory(. DIR_UAVS3E_SRC) + if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm64") +@@ -36,9 +55,9 @@ + add_definitions(-DCOMPILE_10BIT=0) + endif() + +-set_source_files_properties(${DIR_UAVS3E_SRC} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -O3") +-set_source_files_properties(${DIR_X86_SRC} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -O3 -msse4.2") +-set_source_files_properties(${DIR_X86_256_SRC} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -O3 -mavx2") ++set_source_files_properties(${DIR_UAVS3E_SRC} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -O2") ++set_source_files_properties(${DIR_X86_SRC} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -O2 -msse4.2") ++set_source_files_properties(${DIR_X86_256_SRC} PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -O2 -mavx2") + + # get version + set (CONFIG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..) +@@ -59,7 +78,11 @@ + find_package(Threads REQUIRED) + set(prefix "${CMAKE_INSTALL_PREFIX}") + set(includedir "include") ++if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) ++set(libdir "lib64") ++else() + set(libdir "lib") ++endif() + set(pc_file "${CONFIG_DIR}/${LIBNAME}.pc") + + set(CMAKE_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${includedir}") diff --git a/multimedia/uavs3e/uavs3e.SlackBuild b/multimedia/uavs3e/uavs3e.SlackBuild new file mode 100644 index 0000000000..d7088cdce0 --- /dev/null +++ b/multimedia/uavs3e/uavs3e.SlackBuild @@ -0,0 +1,120 @@ +#!/bin/bash + +# Slackware build script for uavs3e + +# Copyright 2022-2023 Vijay Marcel +# 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. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=uavs3e +VERSION=${VERSION:-ea40065_20220823} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} +GIT=${GIT:-ea40065982019a5b43f4ff61e37ba1fe7a7dbfe8} +sys_arch=${sys_arch:-$(getconf LONG_BIT)} + +if [ "$sys_arch" == "32" ]; then + echo "This program will not run on 32-bit systems" && exit 1 +fi + +if [ -z "$ARCH" ]; then +case "$ARCH" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; +esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e +trap 'echo "$0 FAILED at line $LINENO!" | tee -a $OUTPUT/error-${PRGNAM}.log' ERR + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +rm -rf $PRGNAM-$GIT +tar xvf $CWD/$PRGNAM-$GIT.tar.gz +cd $PRGNAM-$GIT + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +patch --verbose --unified < $CWD/cmakelist.patch +cd src +patch --verbose --unified < $CWD/src_cmakelist.patch +cd .. + +cmake -B build/linux -S $TMP/$PRGNAM-$GIT \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIB_DIR_PREFIX=/usr/lib${LIBDIRSUFFIX} \ + -DBUILD_SHARED_LIBS:BOOL='ON' \ + -DCOMPILE_10BIT='1' + +cmake --build build/linux +make -C build/linux install DESTDIR=$PKG + +install -D -m755 $TMP/$PRGNAM-$GIT/build/linux/uavs3enc -t "${PKG}/usr/bin" + +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a COPYING README.md ProgGuide.docx $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $CWD/changelog $PKG/usr/doc/$PRGNAM-$VERSION/slack-changelog +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/multimedia/uavs3e/uavs3e.info b/multimedia/uavs3e/uavs3e.info new file mode 100644 index 0000000000..4e5c08fd97 --- /dev/null +++ b/multimedia/uavs3e/uavs3e.info @@ -0,0 +1,10 @@ +PRGNAM="uavs3e" +VERSION="ea40065_20220823" +HOMEPAGE="https://github.com/uavs3/uavs3e" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/uavs3/uavs3e/archive/ea40065/uavs3e-ea40065982019a5b43f4ff61e37ba1fe7a7dbfe8.tar.gz" +MD5SUM_x86_64="623adc8320fcea6aa59655b7bf4744d1" +REQUIRES="" +MAINTAINER="Vijay Marcel" +EMAIL="vijaymarcel@outlook.com" |