|
Line
Link Here
|
| 0 |
-- a/usr/lib/rpm/gir-python.req |
0 |
++ b/usr/lib/rpm/gir-python.req |
|
Lines 21-29
Link Here
|
| 21 |
. /usr/lib/rpm/rpm-build-gir.functions |
21 |
. /usr/lib/rpm/rpm-build-gir.functions |
| 22 |
keyword=".*from[[:space:]]*gi.repository[[:space:]]*import" |
22 |
keyword=".*from[[:space:]]*gi.repository[[:space:]]*import" |
| 23 |
|
23 |
|
|
|
24 |
# print "Name Version" pairs from gi.require_version("Name", "Version") calls |
| 25 |
PyGiVersions() |
| 26 |
{ |
| 27 |
grep -E -o "require_version[[:space:]]*\\([[:space:]]*[\"'][A-Za-z0-9_]+[\"'][[:space:]]*,[[:space:]]*[\"'][0-9.]+[\"']" "$1" | |
| 28 |
sed -e "s/^require_version[[:space:]]*([[:space:]]*[\"']\\([A-Za-z0-9_]*\\)[\"'][[:space:]]*,[[:space:]]*[\"']\\([0-9.]*\\)[\"']/\\1 \\2/" | |
| 29 |
sort -u |
| 30 |
} |
| 31 |
|
| 24 |
PyGiReq() |
32 |
PyGiReq() |
| 25 |
{ |
33 |
{ |
| 26 |
local f="$1" out=; shift |
34 |
local f="$1" out= versions=; shift |
|
|
35 |
versions="$(PyGiVersions "$f")" || versions= |
| 27 |
out="$(cat "$f" | grep -E -o "$keyword[[:space:]]*[A-Za-z0-9 ,]*" | sed -e ' |
36 |
out="$(cat "$f" | grep -E -o "$keyword[[:space:]]*[A-Za-z0-9 ,]*" | sed -e ' |
| 28 |
s:'"$keyword"'\([A-Za-z ,]*\):\1: |
37 |
s:'"$keyword"'\([A-Za-z ,]*\):\1: |
| 29 |
s: as .*:: |
38 |
s: as .*:: |
|
Lines 47-53
Link Here
|
| 47 |
if [ $1 = Peas ]; then |
56 |
if [ $1 = Peas ]; then |
| 48 |
echo "libpeas-python3-loader" |
57 |
echo "libpeas-python3-loader" |
| 49 |
fi |
58 |
fi |
| 50 |
echo "typelib($1)" |
59 |
# use the version from gi.require_version() if it is unambiguous |
|
|
60 |
local ver |
| 61 |
ver="$(printf '%s\n' "$versions" | sed -n "s/^$1 //p")" |
| 62 |
if [ -n "$ver" ] && [ "$(printf '%s\n' "$ver" | wc -l)" = 1 ]; then |
| 63 |
echo "typelib($1) = $ver" |
| 64 |
else |
| 65 |
echo "typelib($1)" |
| 66 |
fi |
| 51 |
done |
67 |
done |
| 52 |
done |
68 |
done |
| 53 |
|
69 |
|
| 54 |
-- a/usr/lib/rpm/rpm-build-gir.functions |
70 |
++ b/usr/lib/rpm/rpm-build-gir.functions |
|
Lines 25-31
Link Here
|
| 25 |
while read req; do |
25 |
while read req; do |
| 26 |
if [ -n "${RPM_TYPELIB_REQ_SKIPLIST-}" ]; then |
26 |
if [ -n "${RPM_TYPELIB_REQ_SKIPLIST-}" ]; then |
| 27 |
for skip in $RPM_TYPELIB_REQ_SKIPLIST; do |
27 |
for skip in $RPM_TYPELIB_REQ_SKIPLIST; do |
| 28 |
if [ -z "${req##$skip}" ]; then |
28 |
# versioned reqs look like "typelib(Foo) = 1.0": match the name too |
|
|
29 |
name="${req%% *}" |
| 30 |
if [ -z "${req##$skip}" ] || [ -z "${name##$skip}" ]; then |
| 29 |
Debug "skipped $req due to RPM_TYPELIB_REQ_SKIPLIST pattern $skip" |
31 |
Debug "skipped $req due to RPM_TYPELIB_REQ_SKIPLIST pattern $skip" |
| 30 |
continue 2 |
32 |
continue 2 |
| 31 |
fi |
33 |
fi |