github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/examples/conf/settings.yaml (about) 1 --- 2 distro: 3 _default_: 4 packages: 5 main: 6 description: | 7 ${name} -- main package 8 ${description} 9 homepage: ${homepage} 10 maintainer: ${maintainer} 11 multiarch: no 12 origin: ${origin} 13 version: ${buildconf::version} 14 section: ${section} 15 lib: 16 description: | 17 ${name} -- (runtime library) 18 ${description} 19 This package includes the shared library. 20 homepage: ${homepage} 21 maintainer: ${maintainer} 22 multiarch: same 23 origin: ${origin} 24 version: ${buildconf::version} 25 section: ${section} 26 dev: 27 description: | 28 ${name} -- development package 29 ${description} 30 This package contains the development files (eg. includes, pkgconfig, static lib, ...) 31 homepage: ${homepage} 32 maintainer: ${maintainer} 33 multiarch: no 34 origin: ${origin} 35 version: ${buildconf::version} 36 section: ${section} 37 prog: 38 description: | 39 ${name} -- utility programs 40 ${description} 41 This package contains the command line or daemon programs 42 homepage: ${homepage} 43 maintainer: ${maintainer} 44 multiarch: no 45 origin: ${origin} 46 version: ${buildconf::version} 47 section: ${section} 48 prog-man: 49 description: | 50 ${name} -- manpages for utility programs 51 ${description} 52 This package contains the program manuals. 53 homepage: ${homepage} 54 maintainer: ${maintainer} 55 multiarch: no 56 origin: ${origin} 57 version: ${buildconf::version} 58 section: ${section} 59 doc: 60 description: | 61 ${name} -- documentation 62 ${description} 63 This package contains the documentation. 64 homepage: ${homepage} 65 maintainer: ${maintainer} 66 multiarch: no 67 origin: ${origin} 68 version: ${buildconf::version} 69 section: ${section} 70 data: 71 description: | 72 ${name} -- data 73 ${description} 74 This package contains the data files. 75 homepage: ${homepage} 76 maintainer: ${maintainer} 77 multiarch: no 78 origin: ${origin} 79 version: ${buildconf::version} 80 section: ${section} 81 82 debian: 83 dev-suffix: -dev 84 doc-suffix: -doc 85 data-suffix: -data 86 prog-suffix: -prog 87 lib-suffix: -libs 88 89 arch: ${buildconf::@targetdistarch} 90 targetsys: ${buildconf::@targetdistarch}-gnu-linux 91 92 package: ${package} 93 94 pkg-format: deb 95 platform: ${platform::linux} 96 97 # copied over to buildconf, so we can use @@^ references 98 install-dirs: 99 prefix: /usr 100 exec-prefix: ${@@^::prefix} 101 localstatedir: /var 102 sysconfdir: /etc 103 bindir: ${@@^::prefix}/bin 104 sbindir: ${@@^::prefix}/sbin 105 bootbindir: /bin 106 libdir: ${@@^::prefix}/lib/${buildconf::@targetdist::targetsys} 107 libdir-noarch: ${@@^::prefix}/lib/ 108 libexecdir: ${@@^::prefix}/libexec/ 109 bootlibdir: /lib/${buildconf::targetsys} 110 pkgconfigdir: ${@@^::libdir}/pkgconfig 111 datadir: ${@@^::prefix}/share 112 localedir: ${@@^::datadir}/locale 113 sharedlibdir: ${@@^::sharedlibdir} 114 mandir: ${@@^::datadir}/man 115 docdir: ${@@^::datadir}/doc 116 pixmapdir: ${@@^::datadir}/pixmaps 117 includedir: ${@@^::prefix}/include 118 fdo-appdir: ${@@^::datadir}/applications 119 metainfodir: ${@@^::datadir}/metainfo 120 infodir: ${@@^::datadir}/info 121 sharedstatedir: ${@@^::prefix}/com 122 runstatedir: ${@@^::localstatedir}/run 123 124 depends: 125 libc-dev: libc6-dev | libc-dev 126 libc: libc6:${@buildconf::@targetdistarch} 127 128 packages: 129 # fixme: should we have aliasing ? 130 main: 131 arch: ${buildconf::@targetdistarch} 132 bugs: ${distro::_default_::packages::main::bugs} 133 description: ${distro::_default_::packages::main::description} 134 homepage: ${distro::_default_::packages::main::homepage} 135 local-depend: [ prog, lib, data, doc ] 136 maintainer: ${distro::_default_::packages::main::maintainer} 137 multiarch: ${distro::_default_::packages::main::multiarch} 138 name: ${buildconf::@targetdist::package} 139 origin: ${distro::_default_::packages::main::origin} 140 pkg-depend: 141 priority: ${distro::_default_::packages::main::priority} 142 section: ${distro::_default_::packages::main::section} 143 skip: ${distro::_default_::packages::main::skip} 144 template: ${distro::_default_::packages::main} 145 version: ${distro::_default_::packages::main::version} 146 lib: 147 arch: ${buildconf::@targetdistarch} 148 bugs: ${distro::_default_::packages::lib::bugs} 149 description: ${distro::_default_::packages::lib::description} 150 homepage: ${distro::_default_::packages::lib::homepage} 151 local-depend: 152 maintainer: ${distro::_default_::packages::lib::maintainer} 153 multiarch: ${distro::_default_::packages::lib::multiarch} 154 name: ${buildconf::@targetdist::package}${buildconf::@targetdist::lib-suffix} 155 origin: ${distro::_default_::packages::lib::origin} 156 pkg-depend: ${distro::debian::depends::libc} 157 priority: ${distro::_default_::packages::lib::priority} 158 section: ${distro::_default_::packages::lib::section} 159 skip: ${distro::_default_::packages::lib::skip} 160 template: ${distro::_default_::packages::lib} 161 version: ${distro::_default_::packages::lib::version} 162 dev: 163 arch: ${buildconf::@targetdistarch} 164 bugs: ${distro::_default_::packages::dev::bugs} 165 description: ${distro::_default_::packages::dev::description} 166 homepage: ${distro::_default_::packages::dev::homepage} 167 local-depend: [ lib ] 168 maintainer: ${distro::_default_::packages::dev::maintainer} 169 multiarch: ${distro::_default_::packages::dev::multiarch} 170 name: ${buildconf::@targetdist::package}${buildconf::@targetdist::dev-suffix} 171 origin: ${distro::_default_::packages::dev::origin} 172 pkg-depend: ${distro::debian::depends::libc-dev} 173 priority: ${distro::_default_::packages::dev::priority} 174 section: ${distro::_default_::packages::dev::section} 175 skip: ${distro::_default_::packages::dev::skip} 176 template: ${distro::_default_::packages::dev} 177 version: ${distro::_default_::packages::dev::version} 178 prog: 179 arch: ${buildconf::@targetdistarch} 180 bugs: ${distro::_default_::packages::prog::bugs} 181 description: ${distro::_default_::packages::prog::description} 182 homepage: ${distro::_default_::packages::prog::homepage} 183 local-depend: [ lib, data ] 184 maintainer: ${distro::_default_::packages::prog::maintainer} 185 multiarch: ${distro::_default_::packages::prog::multiarch} 186 name: ${buildconf::@targetdist::package}${buildconf::@targetdist::prog-suffix} 187 origin: ${distro::_default_::packages::prog::origin} 188 pkg-depend: 189 priority: ${distro::_default_::packages::prog::priority} 190 section: ${distro::_default_::packages::prog::section} 191 skip: ${distro::_default_::packages::prog::skip} 192 template: ${distro::_default_::packages::prog} 193 version: ${distro::_default_::packages::prog::version} 194 doc: 195 arch: all 196 bugs: ${distro::_default_::packages::doc::bugs} 197 description: ${distro::_default_::packages::doc::description} 198 homepage: ${distro::_default_::packages::doc::homepage} 199 local-depend: 200 maintainer: ${distro::_default_::packages::doc::maintainer} 201 multiarch: ${distro::_default_::packages::doc::multiarch} 202 name: ${buildconf::@targetdist::package}${buildconf::@targetdist::doc-suffix} 203 origin: ${distro::_default_::packages::doc::origin} 204 pkg-depend: 205 priority: ${distro::_default_::packages::doc::priority} 206 section: ${distro::_default_::packages::doc::section} 207 skip: ${distro::_default_::packages::doc::skip} 208 template: ${distro::_default_::packages::doc} 209 version: ${distro::_default_::packages::doc::version} 210 data: 211 arch: all 212 bugs: ${distro::_default_::packages::data::bugs} 213 description: ${distro::_default_::packages::data::description} 214 homepage: ${distro::_default_::packages::data::homepage} 215 local-depend: 216 maintainer: ${distro::_default_::packages::data::maintainer} 217 multiarch: ${distro::_default_::packages::data::multiarch} 218 name: ${buildconf::@targetdist::package}${buildconf::@targetdist::data-suffix} 219 origin: ${distro::_default_::packages::data::origin} 220 pkg-depend: 221 priority: ${distro::_default_::packages::data::priority} 222 section: ${distro::_default_::packages::data::section} 223 skip: ${distro::_default_::packages::data::skip} 224 template: ${distro::_default_::packages::data} 225 version: ${distro::_default_::packages::data::version} 226 227 platform: 228 linux: 229 pkg: 230 libc/math: 231 pkgspec: libc/math 232 pkg: libc/math 233 version: 0 234 shared/cflags: 235 shared/ldflags: -lm 236 static/cflags: 237 static/ldflags: -lm 238 239 targets: 240 # beware: these are copied over as raw values into c/library targets 241 # thus magic references here are relative to the individual target entries 242 243 c/library: 244 builder/driver: c/library 245 246 ## defaults that may be overwritten 247 compiler/lang: C 248 library/name: ${@@^::@basename} 249 library/pkgid: ${@@^::@id} 250 library/dir: ${buildconf::@builddir/tmp} 251 install: true 252 abi: 1 253 254 ## fixme: pkg-config needs this ... really the right place ? 255 name: ${@@^::library/name} 256 257 description: ${description} 258 version: ${buildconf::version} 259 260 pkgconf: 261 build: ${@@^2::build} 262 install: ${@@^2::install} 263 install/dir: ${buildconf::install-dirs::pkgconfigdir} 264 install/package: dev 265 install/perm: 0644 266 file: ${@@^::name}.pc 267 version: ${@@^2::version} 268 name: ${@@^2::library/name} 269 libdir: ${@@^2::shared::install/dir} 270 sharedlibdir: ${@@^2::shared::install/dir} 271 description: ${@@^2::description} 272 prefix: ${buildconf::install-dirs::prefix} 273 exec-prefix: ${buildconf::install-dirs::exec-prefix} 274 includedir: ${buildconf::install-dirs::includedir} 275 archive: ${@@^::libdir}/${@@^2::static::name} 276 libname: ${@@^2::library/name} 277 source/dir: ${@@^2::source/dir} 278 279 shared: 280 build: ${@@^2::build} 281 compiler/lang: ${@@^2::compiler/lang} 282 install: ${@@^2::install} 283 install/dir: ${buildconf::install-dirs::libdir} 284 install/package: lib 285 install/perm: 0644 286 name: lib${@@^2::library/name}.so.${@@^2::abi} 287 file: ${@@^::library/dir}/${@@^::name} 288 source/dir: ${@@^2::source/dir} 289 library/dir: ${@@^2::library/dir} 290 291 devlink: 292 build: ${@@^2::build} 293 install: ${@@^2::install} 294 install/dir: ${buildconf::install-dirs::libdir} 295 install/package: dev 296 install/perm: 0644 297 name: lib${@@^2::library/name}.so 298 target: ${@@^2::shared::file} 299 file: ${@@^::library/dir}/${@@^::name} 300 source/dir: ${@@^2::source/dir} 301 library/dir: . 302 303 static: 304 build: ${@@^2::build} 305 compiler/lang: ${@@^2::compiler/lang} 306 install: ${@@^2::install} 307 install/dir: ${buildconf::install-dirs::libdir} 308 install/package: dev 309 install/perm: 0644 310 name: lib${@@^2::library/name}.a 311 file: ${@@^::library/dir}/${@@^::name} 312 source/dir: ${@@^2::source/dir} 313 library/dir: ${@@^2::library/dir} 314 315 c/header: 316 builder/driver: c/header 317 install: ${@@^3::install} 318 install/dir: ${buildconf::install-dirs::includedir} 319 install/package: dev 320 install/perm: 0664 321 source/dir: ${@@^3::source/dir} 322 323 c/executable: 324 builder/driver: c/executable 325 compiler/lang: C 326 install: ${@@^2::install} 327 install/dir: ${buildconf::install-dirs::bindir} 328 install/package: prog 329 install/perm: 0755 330 331 name: ${@@^::@id} 332 file: ${@@^::name} 333 334 c++/library: 335 builder/driver: c/library 336 337 ## defaults that may be overwritten 338 compiler/lang: C++ 339 library/name: ${@@^::@basename} 340 library/pkgid: ${@@^::@id} 341 library/dir: ${buildconf::@builddir/tmp} 342 install: true 343 abi: 1 344 345 ## fixme: pkg-config needs this ... really the right place ? 346 name: ${@@^::library/name} 347 348 description: ${description} 349 version: ${buildconf::version} 350 351 pkgconf: 352 build: ${@@^2::build} 353 install: ${@@^2::install} 354 install/dir: ${buildconf::install-dirs::pkgconfigdir} 355 install/package: dev 356 install/perm: 0644 357 file: ${@@^::name}.pc 358 version: ${@@^2::version} 359 name: ${@@^2::library/name} 360 libdir: ${@@^2::shared::install/dir} 361 sharedlibdir: ${@@^2::shared::install/dir} 362 description: ${@@^2::description} 363 prefix: ${buildconf::install-dirs::prefix} 364 exec-prefix: ${buildconf::install-dirs::exec-prefix} 365 includedir: ${buildconf::install-dirs::includedir} 366 archive: ${@@^::libdir}/${@@^2::static::name} 367 library/name: ${@@^2::library/name} 368 source/dir: ${@@^2::source/dir} 369 370 shared: 371 build: ${@@^2::build} 372 compiler/lang: ${@@^2::compiler/lang} 373 install: ${@@^2::install} 374 install/dir: ${buildconf::install-dirs::libdir} 375 install/package: lib 376 install/perm: 0644 377 name: lib${@@^2::library/name}.so.${@@^2::abi} 378 file: ${@@^::library/dir}/${@@^::name} 379 source/dir: ${@@^2::source/dir} 380 library/dir: ${@@^2::library/dir} 381 382 devlink: 383 build: ${@@^2::build} 384 install: ${@@^2::install} 385 install/dir: ${buildconf::install-dirs::libdir} 386 install/package: dev 387 install/perm: 0644 388 name: lib${@@^2::library/name}.so 389 target: ${@@^2::shared::file} 390 file: ${@@^::library/dir}/${@@^::name} 391 source/dir: ${@@^2::source/dir} 392 library/dir: ${@@^2::library/dir} 393 394 static: 395 build: ${@@^2::build} 396 compiler/lang: ${@@^2::compiler/lang} 397 install: ${@@^2::install} 398 install/dir: ${buildconf::install-dirs::libdir} 399 install/package: dev 400 install/perm: 0644 401 name: lib${@@^2::library/name}.a 402 file: ${@@^::library/dir}/${@@^::name} 403 source/dir: ${@@^2::source/dir} 404 library/dir: ${@@^2::library/dir} 405 406 c++/executable: 407 builder/driver: c/executable 408 compiler/lang: C++ 409 install: ${@@^2::install} 410 install/dir: ${buildconf::install-dirs::bindir} 411 install/package: prog 412 install/perm: 0755 413 414 name: ${@@^::@id} 415 file: ${@@^::name} 416 417 data/misc: 418 builder/driver: data/misc 419 install: ${@@^2::install} 420 install/dir: ${buildconf::install-dirs::datadir} 421 install/package: data 422 install/perm: 0664 423 424 data/lib-script: 425 builder/driver: data/misc 426 install: ${@@^2::install} 427 install/dir: ${buildconf::install-dirs::libdir-noarch}/${package} 428 install/package: data 429 install/perm: 0755 430 431 data/lib-script-subdir: 432 builder/driver: data/misc 433 install: ${@@^2::install} 434 install/dir: ${buildconf::install-dirs::libdir-noarch}/${package} 435 install/package: data 436 install/perm: 0755 437 source/dir: ${@@^::@id} 438 439 data/pixmap: 440 builder/driver: data/pixmap 441 install: ${@@^2::install} 442 install/dir: ${buildconf::install-dirs::pixmapdir} 443 install/package: data 444 install/perm: 0664 445 source: ${@@^::@id} 446 447 data/desktop: 448 builder/driver: data/desktop 449 install: ${@@^2::install} 450 install/dir: ${buildconf::install-dirs::fdo-appdir} 451 install/package: data 452 install/perm: 0664 453 file: ${@@^::@id} 454 desktop/type: Application 455 desktop/name: ${shortname} 456 desktop/genericname: ${name} 457 desktop/comment: ${description} 458 desktop/icon-file: ${buildconf::install-dirs::pixmapdir}/${@@^::desktop/icon} 459 desktop/terminal: false 460 461 i18n/po: 462 builder/driver: i18n/po 463 builder/command: msgfmt 464 install: ${@@^2::install} 465 install/dir: ${buildconf::install-dirs::localedir} 466 install/package: data 467 install/perm: 0664 468 i18n/linguas: ${i18n::linguas} 469 i18n/category: LC_MESSAGES 470 i18n/domain: ${package} 471 source/dir: po 472 name: ${@@^::domain}.mo 473 474 i18n/desktop: 475 builder/driver: i18n/msgfmt 476 builder/command: msgfmt 477 install: true 478 install/dir: ${buildconf::install-dirs::fdo-appdir} 479 install/package: data 480 install/perm: 0664 481 i18n/linguas: ${i18n::linguas} 482 i18n/po/dir: po 483 i18n/type: desktop 484 source/suffix: .desktop.in 485 output/suffix: .desktop 486 487 i18n/appdata: 488 builder/driver: i18n/msgfmt 489 builder/command: msgfmt 490 install: true 491 install/dir: ${buildconf::install-dirs::metainfodir} 492 install/package: data 493 install/perm: 0664 494 i18n/linguas: ${i18n::linguas} 495 i18n/po/dir: po 496 i18n/type: xml 497 source/suffix: .appdata.xml.in 498 output/suffix: .appdata.xml 499 500 doc/man: 501 builder/driver: doc/man 502 install: ${@@^2::install} 503 install/dir: ${buildconf::install-dirs::mandir} 504 install/package: doc 505 install/perm: 0664 506 man/compress: gz 507 man/section: ${@@^::@id/suffix} 508 source: ${@@^::@id} 509 510 doc/misc: 511 builder/driver: doc/misc 512 install: ${@@^2::install} 513 install/dir: ${buildconf::install-dirs::docdir} 514 install/package: doc 515 install/perm: 0664 516 install/subdir: ${package} 517 compress: gz 518 519 doc/yelp: 520 builder/driver: doc/yelp 521 builder/command: yelp-build 522 install: ${@@^2::install} 523 install/dir: ${buildconf::install-dirs::docdir} 524 install/package: doc 525 install/perm: 0664 526 install/subdir: ${package} 527 output/format: html 528 529 gen/glib-resource: 530 builder/driver: gen/glib-resource 531 builder/command: glib-compile-resources 532 source: ${@@^::@id}.xml 533 name: ${@@^::@id} 534 resource/name: ${@@^::name} 535 resource/dir: ${@@^::source/dir} 536 include/dir: ${@@^::source/dir} 537 output/c/header: ${@@^::resource/dir}/${@@^::resource/name}.h 538 output/c/source: ${@@^::resource/dir}/${@@^::resource/name}.c 539 output/gresource: ${@@^::resource/dir}/${@@^::resource/name}.gresource 540 541 gen/glib-marshal: 542 builder/driver: gen/glib-marshal 543 builder/command: glib-genmarshal 544 source: ${@@^::@id}.list 545 resource/name: ${@@^::@id} 546 output/name: ${@@^::@id} 547 output/c/source: ${@@^::output/name}.c 548 output/c/header: ${@@^::output/name}.h 549 550 gen/xdt-csource: 551 builder/driver: gen/xdt-csource 552 553 gen/xxd-csource: 554 builder/driver: gen/xxd-csource 555 output/c/header: ${@@^::@id} 556 557 c/glib-marshal: 558 builder/driver: c/glib-marshal 559 560 source: ${@@^::@id}.list 561 output/name: ${@@^::@id} 562 output/c/source: ${@@^::output/name}.c 563 output/c/header: ${@@^::output/name}.h 564 resource/name: ${@@^::@id} 565 library/name: ${@@^::resource/name} 566 pkgconf/import: GLIB 567 skip/pkgconf: true 568 skip/shared: true 569 install: false 570 571 generate: 572 type: gen/glib-marshal 573 resource/name: ${@@^2::resource/name} 574 output/name: ${@@^2::output/name} 575 output/c/header: ${@@^2::output/c/header} 576 output/c/source: ${@@^2::output/c/source} 577 source: ${@@^2::source} 578 source/dir: ${@@^2::source/dir} 579 job/depends: ${@@^2::job/depends} 580 581 library: 582 type: c/library 583 build: ${@@^2::build} 584 library/name: ${@@^2::library/name} 585 skip/pkgconf: ${@@^2::skip/pkgconf} 586 skip/shared: ${@@^2::skip/shared} 587 source/dir: ${@@^2::source/dir} 588 source: ${@@^2::generate::output/c/source} 589 pkgconf/import: ${@@^2::pkgconf/import} 590 install: ${@@^2::install} 591 job/depends: [ "${@@^3::@id}/generate", 592 "${@@^3::job/depends}" ] 593 library/pkgid: ${@@^2::@id} 594 595 c/glib-resource: 596 builder/driver: c/glib-resource 597 598 source: ${@@^::name}.xml 599 source/dir: . 600 name: ${@@^::@id} 601 resource/name: ${@@^::name} 602 resource/dir: ${@@^::source/dir} 603 output/dir: ${@@^::resource/dir} 604 output/c/header: ${@@^::output/dir}/${@@^::resource/name}.h 605 output/c/source: ${@@^::output/dir}/${@@^::resource/name}.c 606 output/gresource: ${@@^::output/dir}/${@@^::resource/name}.gresource 607 include/dir: ${@@^::resource/dir} 608 609 library/name: ${@@^::resource/name} 610 skip/pkgconf: true 611 skip/shared: true 612 install: false 613 pkgconf/import: GLIB 614 615 generate: 616 type: gen/glib-resource 617 source: ${@@^2::source} 618 source/dir: ${@@^2::source/dir} 619 resource/dir: ${@@^2::resource/dir} 620 include/dir: ${@@^2::include/dir} 621 output/c/header: ${@@^2::output/c/header} 622 output/c/source: ${@@^2::output/c/source} 623 output/gresource: ${@@^2::output/gresource} 624 job/depends: ${@@^2::job/depends} 625 626 library: 627 type: c/library 628 build: ${@@^2::build} 629 library/name: ${@@^2::library/name} 630 skip/pkgconf: ${@@^2::skip/pkgconf} 631 skip/shared: ${@@^2::skip/shared} 632 source: ${@@^2::generate::output/c/source} 633 pkgconf/import: ${@@^2::pkgconf/import} 634 install: ${@@^2::install} 635 job/depends: [ "${@@^3::@id}/generate", 636 "${@@^3::job/depends}" ] 637 library/pkgid: ${@@^2::@id} 638 library/link-whole: true 639 640 exec/basic: 641 builder/driver: exec/basic 642 exec/log: true 643 644 buildconf: 645 install-dirs: # will be filled by configure stage 646 version: ${version} 647 648 i18n: 649 linguas: ${buildconf::linguas}