| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- sources = files(
- 'SpryModule.vala',
- 'Auth.vala',
- 'Authentication/UserEntity.vala',
- 'Authentication/UserPermissionEntity.vala',
- 'Authentication/UserProjection.vala',
- 'Authentication/UserService.vala',
- 'Authentication/Migrations/M0001_Initial.vala',
- 'Actions/UserManagementAction.vala',
- 'Actions/UserActionPrivate.vala',
- 'Actions/ProfileValidation.vala',
- 'Actions/LoginAction.vala',
- 'Actions/RegisterAction.vala',
- 'Actions/LogoutAction.vala',
- 'Actions/ChangePasswordAction.vala',
- 'Actions/SetUserEnabledAction.vala',
- 'Actions/GrantPermissionAction.vala',
- 'Actions/RevokePermissionAction.vala',
- 'Actions/AlterUserAction.vala',
- 'Actions/DeleteUserAction.vala',
- )
- library_version = meson.project_version()
- libspry = shared_library('spry-@0@'.format(library_version),
- sources,
- dependencies: [glib_dep, gobject_dep, gio_dep, invercargill_dep, invercargill_json_dep, json_glib_dep, inversion_dep, astralis_dep, libxml_dep, sodium_deps, invercargill_sql_dep, sqlite_dep, invercargill_sql_inversion_dep, statum_dep],
- install: true,
- vala_gir: 'spry-@0@.gir'.format(library_version),
- install_dir: [true, true, true, true]
- )
- pkg = import('pkgconfig')
- pkg.generate(libspry,
- version : library_version,
- name : 'spry-@0@'.format(library_version),
- requires : [statum_dep])
- g_ir_compiler = find_program('g-ir-compiler')
- # NOTE: Spry intentionally ships no typelib. Its migration classes derive
- # from InvercargillSql.Migrations.Migration, and valac's GIR writer emits
- # that parent as "invercargill_sql.Migration" (dropping the intermediate
- # Migrations namespace segment) while the defining GIR names it
- # "invercargill_sql.MigrationsMigration" — g-ir-compiler cannot resolve
- # the type and the typelib build fails. The GIR itself is still shipped
- # (parents are resolvable through it for consumers that walk the chain).
- # Revisit when valac fixes cross-namespace parent naming in generated GIR.
- # Ship the .deps file alongside the vapi so consumers can build with
- # plain `valac --pkg spry-0.2` without manually resolving the vapi
- # chain (GLib stack and the Invercargill/Inversion/Statum stack).
- # Every entry resolves in share/vala/vapi.
- vapi_install_dir = get_option('datadir') / 'vala' / 'vapi'
- install_data(
- '../vapi/spry-@0@.deps'.format(library_version),
- install_dir: vapi_install_dir,
- rename: 'spry-@0@.deps'.format(library_version),
- )
- spry_dep = declare_dependency(
- link_with: libspry,
- include_directories: include_directories('.'),
- dependencies: [glib_dep, gobject_dep, gio_dep, invercargill_dep, invercargill_json_dep, json_glib_dep, inversion_dep, statum_dep]
- )
|