mingw64-filesystem/mingw64-find-provides.sh
Fridrich Strba d5dd5b403b Accepting request 828163 from windows:mingw:win64:snapshots
- Add missing Fortran case into macros.mingw64* (boo#1173990)
- Fix warning about non standard group (boo#1173189)
- Make cmake package support to be more in sync with native package
  * Add mingw64-cmake.prov and mingw64-cmake.attr ported from native
    cmake package to support generating mingw64(cmake:xxx) dependencies
    required by newer KDE Frameworks 5 and other packages.
  * Move out cmake related macros from macros.mingw64 into macros.mingw64-cmake
  * Define macro _mingw64_cmake_build
  * Fix deprecated call to %make_jobs
  CMake support may be better located in a package named mingw64-cross-cmake
  but need to be used here until the deprecated dependency generator provided
  by this package is converted to sets of *.attr/*.prov files.
- Add additional man languages 'id' and 'uk' used by KDE Frameworks5 packages

OBS-URL: https://build.opensuse.org/request/show/828163
OBS-URL: https://build.opensuse.org/package/show/windows:mingw:win64/mingw64-filesystem?expand=0&rev=115
2020-08-24 14:03:28 +00:00

45 lines
1.1 KiB
Bash

#!/bin/bash
# This script reads filenames from STDIN and outputs any relevant provides
# information that needs to be included in the package.
target="mingw64"
host="x86_64-w64-mingw32"
if [ -n "$1" ]; then
package_name="$1"
fi
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
filelist="/tmp/$target-find-provides.$$"
sed "s/['\"]/\\\&/g" >"$filelist"
dlls=$(grep '\.dll$' "$filelist")
pcs=$(grep '\.pc$' "$filelist")
libs=$(grep '\.a$' "$filelist")
cmakes=$(grep '[cC]onfig.cmake$' "$filelist")
for f in $dlls; do
[ ! -f "$f" ] && continue
basename=`basename "$f" | tr "[:upper:]" "[:lower:]"`
echo "$target($basename)"
done
for g in $pcs; do
[ ! -f "$g" ] && continue
PKG_CONFIG_PATH="${g%/*}" "$host-pkg-config" --print-errors --print-provides "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
done | sort -u
for h in $libs; do
[ ! -f "$h" ] && continue
libname=`basename "$h" | sed 's#^lib##g' | sed 's#\.dll\.#\.#g' | sed 's#\.a##g'`
echo "$target(lib:$libname)"
done
for h in $cmakes; do
[ ! -f "$h" ] && continue
echo $h | /usr/lib/rpm/mingw64-cmake.prov
done
rm "$filelist"