github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/examples/pkg/xfwm4/metabuild.yaml (about)

     1  package: xfwm4
     2  version: 4.18.0.0
     3  
     4  ## FIXME: manpages -- not in upstream, debian added them on their own
     5  
     6  configure:
     7      # dont really use it, but needs to be present since it's included
     8      generate:
     9          - config.h: config.h
    10  
    11      checks:
    12          - type:         target-distro
    13            mandatory:    true
    14  
    15          - type:         c/compiler
    16            mandatory:    true
    17  
    18          - c/header:     [errno.h, fcntl.h, math.h, memory.h, signal.h, stdarg.h,
    19                           stdio.h, stdlib.h, string.h, sys/stat.h, sys/time.h,
    20                           sys/types.h, sys/wait.h, time.h, unistd.h]
    21            mandatory:    true
    22  
    23          - pkgconf:
    24              XRES:                 xres
    25            yes/c/define: HAVE_XRES
    26  
    27          - pkgconf:
    28              GLIB:                 glib-2.0 >= 2.66.0
    29              GTK:                  gtk+-3.0 >= 3.24.0
    30              LIBXFCE4UTIL:         libxfce4util-1.0 >= 4.8.0
    31              LIBXFCE4UI:           libxfce4ui-2 >= 4.12.0
    32              LIBXFCE4KBD_PRIVATE:  libxfce4kbd-private-3 >= 4.12.0
    33              LIBXFCONF:            libxfconf-0 >= 4.13.0
    34              LIBWNCK:              libwnck-3.0 >= 3.14
    35              XINERAMA:             xinerama
    36              X11:                  x11
    37            mandatory:    true
    38  
    39          - pkgconf:
    40              XCOMPOSITE:           xcomposite >= 0.2 xfixes xdamage
    41              XEXT:                 xext
    42              XI2:                  xi
    43              EPOXY:                epoxy >= 1.0
    44              STARTUP_NOTIFICATION: libstartup-notification-1.0 >= 0.5
    45              XRENDER:              xrender
    46              RANDR:                xrandr
    47              XPRESENT:             xpresent presentproto >= 1.1
    48              XCOMPOSITE:           xcomposite >= 0.2 xfixes xdamage
    49  
    50          - type:                   i18n/linguas
    51  
    52  features:
    53      xi2:
    54          pkgconf/require: XI2
    55          default: n
    56          set@y:
    57              sym: HAVE_XI2
    58              pkg: XI2
    59      epoxy:
    60          pkgconf/require: EPOXY
    61          default: n
    62          set@y:
    63              sym: HAVE_EPOXY
    64              pkg: EPOXY
    65      startup_notification:
    66          pkgconf/require: STARTUP_NOTIFICATION
    67          default: n
    68          set@y:
    69              sym: [HAVE_STARTUP_NOTIFICATION, HAVE_LIBSTARTUP_NOTIFICATION]
    70              pkg: STARTUP_NOTIFICATION
    71      xsync:
    72          pkgconf/require: XEXT
    73          default: n
    74          set@y:
    75              sym: HAVE_XSYNC
    76              pkg: XEXT
    77      xrender:
    78          pkgconf/require: XRENDER
    79          default: n
    80          set@y:
    81              sym: HAVE_RENDER
    82              pkg: XRENDER
    83      randr:
    84          pkgconf/require: RANDR
    85          default: n
    86          set@y:
    87              sym: HAVE_RANDR
    88              pkg: RANDR
    89      xpresent:
    90          pkgconf/require: XPRESENT
    91          default: n
    92          set@y:
    93              sym: HAVE_PRESENT_EXTENSION
    94              pkg: XPRESENT
    95      window-policies:
    96          default: n
    97          set@y:
    98              sym: ENABLE_WINDOW_POLICIES
    99              src: policy.c
   100      window-fences:
   101          depends: winodow-policies
   102          default: n
   103          set@y:
   104              sym: [ENABLE_WINDOW_FENCES, ENABLE_WINDOW_POLICIES]
   105              src: fences.c
   106  
   107      ## FIXME: currently broken features
   108      compositor:
   109          pkgconf/require: [XCOMPOSITE]
   110          default: n
   111          set@y:
   112              sym: [HAVE_COMPOSITOR, _GNU_SOURCE]
   113              pkg: XCOMPOSITE
   114      poswin:
   115          default: n
   116          set@y:
   117              sym: SHOW_POSITION
   118  
   119  c/defines:
   120      - PACKAGE="${package}"
   121      - PACKAGE_NAME="${package}"
   122      - GETTEXT_PACKAGE="${package}"
   123      - PACKAGE_STRING="${package} ${version}"
   124      - DATADIR="${buildconf::install-dirs::datadir}/${package}"
   125      - PACKAGE_DATADIR="${buildconf::install-dirs::datadir}/${package}"
   126      - LOCALEDIR="${buildconf::install-dirs::localedir}"
   127      - PACKAGE_LOCALE_DIR="${buildconf::install-dirs::localedir}"
   128      - WNCK_I_KNOW_THIS_IS_UNSTABLE
   129      - VERSION="${version}"
   130      - REVISION=""
   131      - HELPERDIR="${helperdir}"
   132      - G_LOG_DOMAIN="${package}"
   133      - ${fflags::sym}
   134  
   135  helperdir:  ${buildconf::install-dirs::libdir}
   136  helperpath: ${helperdir}/xfce4/xfwm4
   137  fflags:     ${buildconf::host::flags}
   138  
   139  targets:
   140      # FIXME: install into helper_path_prefix/xfce4/xfwm4
   141      helper-dialog/helper-dialog{c/executable}:
   142          install/dir:        ${helperpath}
   143          source:             ${@@^::@basename}.c
   144          source/dir:         ${@@^::@dirname}
   145          c/defines:          ${c/defines}
   146          install/package:    main
   147          pkgconf/import:     [GTK, LIBXFCE4UTIL, X11]
   148  
   149      settings-dialogs/workspace-resource{c/glib-resource}:
   150          name:               ${@@^::@basename}
   151          source:             workspace.gresource.xml
   152          source/dir:         settings-dialogs
   153          install:            false
   154  
   155      # FIXME: add a multi-file mode
   156      # FIXME: automatically substitue resource/name
   157      settings-dialogs/xfwm4-workspace-dialog{gen/xdt-csource}:
   158          resource/name:      workspace_dialog_ui
   159          source:             ${@@^::@id}.glade
   160          output/c/header:    ${@@^::@id}_ui.h
   161          install/package:    main
   162          install:            false
   163  
   164      settings-dialogs/xfwm4-tweaks-dialog{gen/xdt-csource}:
   165          resource/name:      tweaks_dialog_ui
   166          source:             ${@@^::@id}.glade
   167          output/c/header:    ${@@^::@id}_ui.h
   168          install/package:    main
   169          install:            false
   170  
   171      settings-dialogs/xfwm4-dialog{gen/xdt-csource}:
   172          resource/name:      xfwm4_dialog_ui
   173          source:             ${@@^::@id}.glade
   174          output/c/header:    ${@@^::@id}_ui.h
   175          install:            false
   176  
   177      xfwm-common{c/library}:
   178          install:            false
   179          source:             [xfwm-common.c, xfconf-util.c]
   180          source/dir:         common
   181          pkgconf/import:     [GTK, LIBXFCONF]
   182          include/dir:        .
   183          skip/pkgconf:       true
   184          skip/shared:        true
   185          c/ldflags:          -Wl,-no-undefined
   186          headers:
   187              priv:
   188                  source:     [xfwm-common.h, xfconf-util.h, core-c.h, list.h]
   189  
   190      settings-dialogs/xfwm4-settings{c/executable}:
   191          pkgconf/import:     [LIBXFCE4KBD_PRIVATE]
   192          source:             [xfwm4-settings.c, range-debouncer.c]
   193          source/dir:         ${@@^::@dirname}
   194          include/dir:        .
   195          c/defines:          ${c/defines}
   196          link/static:        xfwm-common
   197          install/package:    main
   198          job/depends:        settings-dialogs/xfwm4-dialog
   199          headers:
   200              install:        false
   201              priv:
   202                  source:     [xfwm4-settings.h, xfwm4-dialog_ui.h, range-debouncer.h]
   203  
   204      settings-dialogs/xfwm4-tweaks-settings{c/executable}:
   205          pkgconf/import:     [LIBXFCE4KBD_PRIVATE]
   206          source:             [tweaks-settings.c, range-debouncer.c]
   207          source/dir:         ${@@^::@dirname}
   208          include/dir:        .
   209          c/defines:          ${c/defines}
   210          link/static:        xfwm-common
   211          install/package:    main
   212          job/depends:        [settings-dialogs/xfwm4-tweaks-dialog]
   213          headers:
   214              install:        false
   215              priv:
   216                  source:     [xfwm4-tweaks-dialog_ui.h, range-debouncer.h]
   217  
   218      settings-dialogs/xfwm4-workspace-settings{c/executable}:
   219          pkgconf/import:     [LIBXFCE4UI, LIBXFCONF, LIBWNCK]
   220          source:             [workspace-settings.c]
   221          source/dir:         ${@@^::@dirname}
   222          include/dir:        .
   223          c/defines:          ${c/defines}
   224          link/static:        [xfwm-common, settings-dialogs/workspace-resource]
   225          job/depends:        [settings-dialogs/xfwm4-workspace-dialog]
   226          install/package:    main
   227          headers:
   228              install:        false
   229              priv:
   230                  source:     [xfwm4-workspace-dialog_ui.h]
   231  
   232      po{i18n/po}:
   233  
   234      desktop{i18n/desktop}:
   235          source:             [xfce-wm-settings, xfce-wmtweaks-settings, xfce-workspaces-settings]
   236          source/dir:         settings-dialogs
   237  
   238      xfwm4{c/executable}:
   239          source:             [client.c, compositor.c, cycle.c, device.c, display.c,
   240                               event_filter.c, events.c, focus.c, frame.c, hints.c,
   241                               icons.c, keyboard.c, main.c, menu.c, misc.c, moveresize.c,
   242                               mypixmap.c, mywindow.c, netwm.c, parserc.c, placement.c,
   243                               poswin.c, screen.c, session.c, settings.c, stacking.c,
   244                               spinning_cursor.c, startup_notification.c, tabwin.c,
   245                               terminate.c, transients.c, ui_style.c, wireframe.c,
   246                               workspaces.c, xsync.c, "${fflags::src}"]
   247          source/dir:         src
   248          c/defines:          ${c/defines}
   249          c/ldflags:          ${fflags::libs}
   250          headers:
   251              install:        false
   252              priv:
   253                  source:     [client.h, compositor.h, cycle.h, device.h, display.h,
   254                               event_filter.h, events.h, fences.h, focus.h, frame.h,
   255                               hints.h, icons.h, keyboard.h, menu.h, misc.h, moveresize.h,
   256                               mypixmap.h, mywindow.h, netwm.h, parserc.h, placement.h,
   257                               policy.h, poswin.h, screen.h, session.h, settings.h,
   258                               spinning_cursor.h, stacking.h, startup_notification.h,
   259                               tabwin.h, terminate.h, transients.h, ui_style.h,
   260                               wireframe.h, workspaces.h, xsync.h, xpm-color-table.h]
   261          pkgconf/import:     ["${fflags::pkg}", X11, XEXT, LIBXFCE4KBD_PRIVATE,
   262                               XINERAMA, libc/math]
   263          link/static:        xfwm-common
   264          include/dir:        .
   265          install/package:    main
   266  
   267      icons/128x128/apps{data/misc}:
   268          install/subdir:     icons/hicolor/128x128/apps
   269          source:             "*.png"
   270          source/dir:         icons/128x128
   271  
   272      icons/16x16/apps{data/misc}:
   273          install/subdir:     icons/hicolor/16x16/apps
   274          source:             "*.png"
   275          source/dir:         icons/16x16
   276  
   277      icons/22x22/actions{data/misc}:
   278          install/subdir:     icons/hicolor/22x22/actions
   279          source:             "*.png"
   280          source/dir:         icons/22x22
   281  
   282      icons/48x48/apps{data/misc}:
   283          install/subdir:     icons/hicolor/48x48/apps
   284          source:             "*.png"
   285          source/dir:         icons/48x48
   286  
   287      icons/scalable/apps{data/misc}:
   288          install/subdir:     icons/hicolor/scalable/apps
   289          source:             [org.xfce.xfwm4-tweaks.svg, org.xfce.workspaces.svg,
   290                               org.xfce.xfwm4.svg, xfwm4-default.svg]
   291          source/dir:         icons/scalable
   292  
   293      icons/scalable/actions{data/misc}:
   294          install/subdir:     icons/hicolor/scalable/actions
   295          source:             xfce-wm-*.svg
   296          source/dir:         icons/scalable
   297  
   298      themes/daloa{data/misc}:
   299          install/subdir:     themes/Daloa/xfwm4
   300          source:             [README, themerc, "*.xpm", "*.png"]
   301          source/dir:         icons/scalable
   302          source/dir:         ${@@^::@id}
   303  
   304      themes/default{data/misc}:
   305          install/subdir:     themes/Default/xfwm4
   306          source:             [README, themerc, "*.xpm", "*.png"]
   307          source/dir:         ${@@^::@id}
   308  
   309      themes/default-hdpi{data/misc}:
   310          install/subdir:     themes/Default-hdpi/xfwm4
   311          source:             [README, themerc, "*.xpm", "*.png"]
   312          source/dir:         ${@@^::@id}
   313  
   314      themes/default-xhdpi{data/misc}:
   315          install/subdir:     themes/Default-xhdpi/xfwm4
   316          source:             [README, themerc, "*.xpm", "*.png"]
   317          source/dir:         ${@@^::@id}
   318  
   319      themes/kokodi{data/misc}:
   320          install/subdir:     themes/Kokodi/xfwm4
   321          source:             [README, themerc, "*.xpm", "*.png"]
   322          source/dir:         ${@@^::@id}
   323  
   324      themes/moheli{data/misc}:
   325          install/subdir:     themes/Moheli/xfwm4
   326          source:             [README, themerc, "*.xpm", "*.png"]
   327          source/dir:         ${@@^::@id}
   328  
   329      xfwm-defaults{data/misc}:
   330          install/subdir:     xfwm4
   331          source:             defaults/defaults
   332  
   333      docs{doc/misc}:
   334          source:             [NEWS, NOTES, README.md, TODO, AUTHORS, COMPOSITOR, COPYING]
   335          install/package:    data
   336  
   337  distro:
   338      _default_:
   339          packages:
   340              dev:
   341                  skip: true
   342              lib:
   343                  skip: true
   344              doc:
   345                  skip: true
   346              prog:
   347                  skip: true