Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:kimi:telephony-ithod
bcmatroska2
PKGBUILD
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File PKGBUILD of Package bcmatroska2
# Fix for error: bsdtar: Failed to set default locale # LANG=en_US.UTF-8 # not available, use C or POSIX LANG=C LC_ALL=${LANG} # Get some information about the machine we are building on: _numberOfProcessorsOnMachine=$(nproc) _wantedJobs=$(echo "1.25*${_numberOfProcessorsOnMachine}" | bc -l) _jobsIget=$(echo ${_wantedJobs} | awk '{print int($1+0.5)}') _TOTAL_DISK=$(df -h --total | awk 'END{print $2}') _FREEMEM=$(free --mega) _TOTAL_MEM=$(free --total --mega | xargs | awk '{print $19"MB"}') _TOTAL_RAM=$(free --total --mega | xargs | awk '{print $8"MB"}') _TOTAL_SWAP=$(free --total --mega | xargs | awk '{print $15"MB"}') pkgname=bcmatroska2 _pkgname=bcmatroska2 pkgver=5.3.5 pkgrel=1 pkgdesc="C Library to Deal with Matroska Files" arch=('x86_64') url="https://github.com/BelledonneCommunications/bcmatroska2" license=('GPL2') conflicts=('bcmatroska2') provides=('bcmatroska2') depends=(glibc) makedepends=('cmake' 'git' 'tar' 'procps-ng' 'bc' 'cpio' 'gzip' 'bctoolbox>=5.3.5' libdecaf) source=("${_pkgname}-${pkgver}.tar.bz2") sha1sums=('SKIP') _uploaddir=/usr/src/packages/SOURCES _sourcedir=/usr/src/packages/BUILD/${pkgname}/src/${pkgname}-${pkgver} # srcdir is already defined as # ${srcdir}=/usr/src/packages/BUILD/${pkgname}/src _builddir=/usr/src/packages/BUILD/${pkgname}/build _pkgdir=/usr/src/packages/BUILD/${pkgname}/pkg/${pkgname} _installToDir=${_pkgdir}/usr prepare() { # OBS build service may not always work as expected for Archlinux echo echo "--- It seems that OBS makepkg runs section prepare()" echo "--- but the output from this section is not visible in the log" echo "--- which makes it difficult to see what went wrong." echo "--- For visibility, move code to the build() section below." echo echo "--- Entering section prepare() ---" echo # --- Start Variables --- uploaddir=/usr/src/packages/SOURCES sourcedir=/usr/src/packages/BUILD/${_pkgname}/src/${_pkgname}-${pkgver} # builddir is already defined as # builddir=/usr/src/packages/BUILD/${_pkgname}/build _builddir=${sourcedir}/OUTPUT # --- End Variables --- # # Test if section prepare() is run by OBS build service: mkdir -p -v "${_builddir}" echo "Written from section prepare $(date) ." > ${_builddir}/testFile.txt # # --- Apply patches ---" # ${srcdir}=/usr/src/packages/BUILD/bcmatroska2/src # patch file: /usr/src/packages/BUILD/bcmatroska2/src/${_pkgname}-0001-fix.patch cd "$sourcedir" # patch --forward --strip=1 --input="${srcdir}/${_pkgname}-0001-fix.patch" # patch -d "$sourcedir" --forward --strip=1 --input="${srcdir}/${_pkgname}-0001-fix.patch" # or # patch -d "$sourcedir" --forward --strip=1 --input="${uploaddir}/${_pkgname}-0001-fix.patch" echo echo "--- Exiting section prepare() ---" echo } build() { echo echo echo echo echo "--- Entering section build() ---" echo echo echo echo echo echo "--- Machine data we are building on ---" echo "Total disk: $_TOTAL_DISK" echo "Output of free -h:" echo "$_FREEMEM" echo "Total memory: $_TOTAL_MEM" echo "Total RAM: $_TOTAL_RAM" echo "Total SWAP: $_TOTAL_SWAP" echo "_numberOfProcessorsOnMachine=$_numberOfProcessorsOnMachine" echo "_wantedJobs=$_wantedJobs" echo "_jobsIget=$_jobsIget" echo "--- End machine data we are building on ---" echo echo echo echo echo echo # --- Start Variables --- uploaddir=/usr/src/packages/SOURCES sourcedir=/usr/src/packages/BUILD/${_pkgname}/src/${_pkgname}-${pkgver} builddir=/usr/src/packages/BUILD/${_pkgname}/build _builddir=${sourcedir}/OUTPUT # --- End Variables --- echo # --- Create missing directories --- if [ ! -d "${builddir}" ]; then mkdir -p -v "${builddir}" echo echo "Created directory:" echo " ${builddir}" echo else echo "${builddir} already exists. Doing nothing." fi if [ ! -d "${_builddir}" ]; then mkdir -p -v "${_builddir}" echo echo "Created directory:" echo " ${_builddir}" echo else echo "${_builddir} already exists. Doing nothing." fi echo "--- Start print variables ---" echo uploaddir=$uploaddir echo sourcedir=$sourcedir echo \${srcdir}=${srcdir} echo builddir=$builddir echo \${builddir}=${builddir} echo \${_builddir}=${_builddir} echo "--- End print variables ---" echo echo echo # Test if section prepare() was run: if [ -f "${_builddir}/testFile.txt" ]; then echo "This is a test if the section prepare() was run:" echo "================================================" echo cat ${_builddir}/testFile.txt echo fi echo echo "Current directory:" echo " $(pwd)" echo echo echo "--- List files ---" # Stops makepkg: # find /usr/src/packages/BUILD 2>/dev/null find ${sourcedir} 2>/dev/null echo "--- End list files ---" echo echo "Current directory:" echo " $(pwd)" echo echo "--- Start apply patches ---" cd "$sourcedir" echo echo "Current directory:" echo " $(pwd)" echo # # myPatchFileOne=myFixErrorDuringCompilation.patch # myPatchFileTwo= # myPatchFileThree= # patch --forward --strip=1 --input="${srcdir}/${myPatchFileOne}" # patch --forward --strip=1 --input="${srcdir}/${myPatchFileTwo}" # patch --forward --strip=1 --input="${srcdir}/${myPatchFileThree}" # echo "--- Patches are in the following directory: ---" echo echo " uploaddir=/usr/src/packages/SOURCES" echo echo "-----------------------------" ls -al ${uploaddir} echo "-----------------------------" echo echo "and in the following directory" echo "if you did not forget to put patches as sources in PKGBUILD like this:" echo echo " source=('src.tar.xx'" echo " 'fix-0001.patch'" echo " 'fix-0002.patch'" echo " )" echo echo " \${srcdir}=${srcdir}" echo echo "-----------------------------" ls -al ${srcdir} echo "-----------------------------" echo # /usr/src/packages/SOURCES/fix-0000.patch # /usr/src/packages/SOURCES/fix-0001.patch # # Apply patches the following way: # patch --forward --strip=1 --input="${uploaddir}/fix-0000.patch" # patch --forward --strip=1 --input="${uploaddir}/fix-0001.patch" # # or if you prefer: # # patch --forward --strip=1 --input="${srcdir}/fix-0000.patch" # patch --forward --strip=1 --input="${srcdir}/fix-0001.patch" # echo echo "The patches are here:" echo " \${uploaddir}=${uploaddir}" echo echo "Patching now..." # Uncomment and adapt below: # patch --forward --strip=1 --input="${uploaddir}/${_pkgname}-0001.patch" # patch --forward --strip=1 --input="${uploaddir}/${_pkgname}-0002.patch" # patch --forward --strip=1 --input="${uploaddir}/${_pkgname}-0003.patch" echo "Patching finished." echo echo "--- End apply patches ---" echo echo echo "--- List files ---" # This stops makepkg because it cannot handle errors. # Directory 'pkg' will cause error, so this cannot be done: # find /usr/src/packages/BUILD 2>/dev/null # This works: ls -al /usr/src/packages/BUILD find ${srcdir} 2>/dev/null echo "--- End list files ---" echo echo "Current directory:" echo " $(pwd)" echo # # The modern CMake (3.14) build procedure: # cmake -S . -B build # cmake --build build # cmake --build build -t test # # The old way: # Uncomment the following where needed: # mkdir -pv "${builddir}" # cd "${builddir}" # echo "Changed to \${builddir}" # echo "Current directory:" # echo " $(pwd)" # # # # Configure with cmake: # # # echo cmake "${sourcedir}" -DENABLE_STATIC=OFF -DENABLE_DOC=ON # cmake "${sourcedir}" -DENABLE_STATIC=OFF -DENABLE_DOC=ON # # cmake -S ${sourcedir} -B ${builddir} -DENABLE_STATIC=OFF -DENABLE_DOC=ON # # # # Build the traditional way: # # # echo cmake --build . # cmake --build . # find ${builddir} 2>/dev/null # echo "--- Exiting section build() ---" # echo # Configure with cmake: # cmake -S ${sourcedir} -B ${builddir} -DENABLE_STATIC=OFF -DENABLE_DOC=ON # Special recipe for bcmatroska2: # # Decide where to build: cd "${builddir}" # cd "${_builddir}" # echo echo "Current directory:" echo " $(pwd)" echo echo "Opting for not including static library in package and creating doc." # -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-rpath,%{ldaplibdir},-lssl,-lcrypto,-lsasl2" \ # -Wl,--as-needed echo cmake "${sourcedir}" \ -DCMAKE_BUILD_PARALLEL_LEVEL=${_jobsIget} \ -DCMAKE_INSTALL_PREFIX=/usr \ -DENABLE_STATIC=OFF \ -DENABLE_DOC=ON cmake "${sourcedir}" \ -DCMAKE_BUILD_PARALLEL_LEVEL=${_jobsIget} \ -DCMAKE_INSTALL_PREFIX=/usr \ -DENABLE_STATIC=OFF \ -DENABLE_DOC=ON # # or: # cmake -S ${sourcedir} -B ${builddir} -DENABLE_STATIC=OFF -DENABLE_DOC=ON # # Build the traditional way: # echo cmake --build . --parallel ${_jobsIget} cmake --build . --parallel ${_jobsIget} echo echo "Current directory:" echo " pwd=$(pwd)" echo echo "--- Show what was built ---" find ${builddir} 2>/dev/null echo "--- End show what was built ---" echo echo echo echo echo "--- Exiting section build() ---" echo echo echo echo } package() { echo echo echo echo echo "--- Entering section package() ---" echo echo echo echo _installToDir=${pkgdir}/usr builddir=/usr/src/packages/BUILD/${_pkgname}/build sourcedir=/usr/src/packages/BUILD/${_pkgname}/src/${_pkgname}-${pkgver} _builddir=${sourcedir}/OUTPUT echo "--- Start print variables ---" echo \${uploaddir}=$uploaddir echo \${_uploaddir}=$_uploaddir echo \${sourcedir}=$sourcedir echo \${_sourcedir}=$_sourcedir echo \${srcdir}=${srcdir} echo \${builddir}=${builddir} echo \${_builddir}=${_builddir} echo \${installToDir}=${installToDir} echo \${_installToDir}=${_installToDir} echo \${pkgdir}=${pkgdir} echo "--- End print variables ---" echo echo "Current directory:" echo " $(pwd)" echo rm -rf "$pkgdir" mkdir -p "$pkgdir" # # Change directory to where the build files are: cd "${builddir}" # cd "${_builddir}" # echo echo "Current directory:" echo " $(pwd)" echo echo "--- trying: cmake --install . --strip --config RelWithDebInfo --prefix ${_installToDir} ---" cmake --install . --strip --config RelWithDebInfo --prefix "${_installToDir}" echo echo echo "--- List packaged files ---" find ${pkgdir} echo "--- End list packaged files ---" echo echo echo echo "--- Exiting section package() ---" echo echo echo echo }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor