multimedia/uavs3e: Updated for version ea40065_20220823.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Vijay Marcel 2023-02-22 13:18:07 +07:00 committed by Willy Sudiarto Raharjo
parent a44bf7e4ee
commit 6fbbe774f2
5 changed files with 123 additions and 16 deletions

View file

@ -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.

View file

@ -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)

View file

@ -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}")

View file

@ -2,7 +2,7 @@
# Slackware build script for uavs3e
# Copyright 2022 Vijay Marcel
# Copyright 2022-2023 Vijay Marcel
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -30,18 +30,20 @@ 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 "$( uname -m )" in
case "$ARCH" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@ -58,7 +60,7 @@ elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
SLKCFLAGS="-march=x86-64 -mtune=native -O2 -pipe -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
@ -66,7 +68,7 @@ else
fi
set -e
trap 'echo "$0 FAILED at line $LINENO!" | tee -a $OUTPUT/error-${PRGNAM}.log' ERR
trap 'echo "$0 FAILED at line $LINENO!" | tee -a $OUTPUT/error-${PRGNAM}.log' ERR
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
@ -75,6 +77,7 @@ 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 \
@ -82,8 +85,10 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
sed -i '62 i set(libdir "lib64")' src/CMakeLists.txt
sed -i.bak '63d' src/CMakeLists.txt
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" \
@ -93,7 +98,7 @@ cmake -B build/linux -S $TMP/$PRGNAM-$GIT \
-DBUILD_SHARED_LIBS:BOOL='ON' \
-DCOMPILE_10BIT='1'
make -C build/linux
cmake --build build/linux
make -C build/linux install DESTDIR=$PKG
install -D -m755 $TMP/$PRGNAM-$GIT/build/linux/uavs3enc -t "${PKG}/usr/bin"
@ -104,7 +109,8 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| 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 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

View file

@ -1,10 +1,10 @@
PRGNAM="uavs3e"
VERSION="ea40065_20220823"
HOMEPAGE="https://github.com/uavs3/uavs3e"
DOWNLOAD="https://github.com/uavs3/uavs3e/archive/ea40065/uavs3e-ea40065982019a5b43f4ff61e37ba1fe7a7dbfe8.tar.gz"
MD5SUM="623adc8320fcea6aa59655b7bf4744d1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
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"