-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathproject.conf
More file actions
145 lines (125 loc) · 3.18 KB
/
project.conf
File metadata and controls
145 lines (125 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Unique project name
name: obs-deps-buildstream
# Required BuildStream version
min-version: 2.5
# Subdirectory where elements are stored
element-path: elements
fatal-warnings:
- overlaps
- unaliased-url
(@):
- freedesktop-sdk.bst:include/runtime.yml
- include/aliases.yml
- include/strip.yml
options:
target_arch:
type: arch
description: Target Architecture
variable: target_arch
values:
- x86_64
- aarch64
platform:
type: enum
description: Target Platform
variable: platform
values:
- flatpak
default: flatpak
sandbox:
build-arch: '%{target_arch}'
variables:
# Set Flatpak application prefix
appdir: "/app"
prefix: "%{appdir}"
sysconfdir: "%{appdir}/etc"
localstatedir: "%{appdir}/var"
lib: "lib"
sbomdir: "%{prefix}/sbom"
# Remove %{project-name} subfolder for licenses
project_licensedir: "%{licensedir}"
# Modify Freedesktop SDK stripping options to be closer to Flatpak behavior
optimize-debug: "false" # No dwz optimization
# Move debug symbols files to the same place as a Flatpak build
strip-binaries: |
%{strip-binaries-base}
if [ -d "%{install-root}%{debugdir}%{appdir}" ]; then
mv %{install-root}%{debugdir}%{appdir}/* %{install-root}%{debugdir}/.
rmdir %{install-root}%{debugdir}%{appdir}
fi
license-files-extra: >-
LICENSES/*.txt
environment:
LC_ALL: en_US.UTF-8
# Set Flatpak application and runtime paths
PATH: "%{appdir}/bin:/usr/bin:/bin:%{appdir}/sbin:/usr/sbin:/sbin"
# Add Flatpak application library path
LD_LIBRARY_PATH: "%{appdir}/lib"
# Set pkg-config paths with Flatpak application paths
PKG_CONFIG_PATH: "%{appdir}/lib/pkgconfig:%{appdir}/share/pkgconfig:/usr/lib/%{gcc_triplet}/pkgconfig:/usr/share/pkgconfig"
split-rules:
devel:
- "%{includedir}"
- "%{includedir}/**"
- "%{libdir}/pkgconfig"
- "%{libdir}/pkgconfig/**"
- "%{datadir}/pkgconfig"
- "%{datadir}/pkgconfig/**"
- "%{datadir}/cmake"
- "%{datadir}/cmake/**"
- "%{libdir}/cmake"
- "%{libdir}/cmake/**"
- "%{libdir}/*.a"
doc:
- "%{datadir}/man"
- "%{datadir}/man/**"
extra: []
license:
- "%{licensedir}"
- "%{licensedir}/**"
sbom:
- "%{sbomdir}"
- "%{sbomdir}/*"
obs-unneeded: []
elements:
autotools:
(@): include/autotools-conf.yml
cmake:
variables:
cmake-global: >-
-DCMAKE_PREFIX_PATH="%{appdir}:/usr"
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_C_FLAGS_RELWITHDEBINFO="-DNDEBUG"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-DNDEBUG"
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
generator: Ninja
make-install: env DESTDIR="%{install-root}" cmake --install %{build-dir}
meson:
variables:
meson-global: >-
--buildtype=plain
-Dauto_features=enabled
-Db_pie=true
-Ddefault_library=shared
sources:
pypi:
(@): include/_private/pypi.yml
plugins:
- origin: junction
junction: plugins/buildstream-plugins.bst
elements:
- autotools
- cmake
- make
- meson
sources:
- patch
- origin: junction
junction: plugins/buildstream-plugins-community.bst
elements:
- collect_manifest
- pyproject
sources:
- git_repo
- git_tag
- pypi