Skip to content

Commit

Permalink
feat: set up macros for buildrequires generation
Browse files Browse the repository at this point in the history
  • Loading branch information
solomoncyj committed Dec 12, 2024
1 parent e542901 commit 20ed3ab
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
5 changes: 5 additions & 0 deletions data/macros.meson
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,8 @@
--num-processes %{_smp_build_ncpus} \
--print-errorlogs \
%{nil}}

%meson_buildrequires \
%{shrink: mesongenbuildreq %{__meson} \
%{nil}}

16 changes: 16 additions & 0 deletions data/mesongenbuildreq.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import subprocess
import json
import sys

Check notice

Code scanning / CodeQL

Unused import Note

Import of 'sys' is not used.
deps_json = json.loads(subprocess.run(['sys.argv[0]', "introspect", "--dependencies", "meson.build"], capture_output=True).stdout)
deps = dict(zip([x['name'] for x in deps_json],[x['version'] for x in deps_json]))
deps.pop('', None)
for lib, versions in deps.items() :
# Prepare version constraint
version_str = ' ' + ' '.join(versions) if versions else ''
line = []
for prefix in ["cmake", "pkgconfig", "qmake"] :
buildreq = (f"{prefix}({lib}){version_str}")
if buildreq.split('=')[-1] == '' and '=' in buildreq :
buildreq = buildreq.split('=')[0]
line.append(buildreq)
print(f"BuildRequires: ({' or '.join(line)})")

0 comments on commit 20ed3ab

Please sign in to comment.