merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

meson.build (8268B)


      1 # This build file is in the public domain
      2 
      3 install_data('merchantdb-postgres.conf', install_dir: pkgcfgdir)
      4 
      5 subdir('sql-schema')
      6 
      7 libtalermerchantdb = library(
      8     'talermerchantdb',
      9     [
     10         'pg.c',
     11         'start.c',
     12         'create_tables.c',
     13         'drop_tables.c',
     14         'event_listen.c',
     15         'event_notify.c',
     16         'preflight.c',
     17         'set_instance.c',
     18         'account_kyc_get_outdated.c',
     19         'account_kyc_get_status.c',
     20         'account_kyc_set_failed.c',
     21         'account_kyc_set_status.c',
     22         'activate_account.c',
     23         'check_transfer_exists.c',
     24         'delete_category.c',
     25         'delete_contract_terms.c',
     26         'delete_exchange_accounts.c',
     27         'delete_instance_private_key.c',
     28         'delete_login_token.c',
     29         'delete_order.c',
     30         'delete_otp.c',
     31         'delete_pending_webhook.c',
     32         'delete_product.c',
     33         'delete_template.c',
     34         'delete_token_family.c',
     35         'delete_tos_accepted_early.c',
     36         'delete_transfer.c',
     37         'delete_webhook.c',
     38         'expire_locks.c',
     39         'gc.c',
     40         'get_kyc_limits.c',
     41         'get_kyc_status.c',
     42         'inactivate_account.c',
     43         'increase_refund.c',
     44         'increment_money_pots.c',
     45         'insert_account.c',
     46         'insert_category.c',
     47         'insert_unit.c',
     48         'insert_contract_terms.c',
     49         'insert_deposit.c',
     50         'insert_deposit_confirmation.c',
     51         'insert_deposit_to_transfer.c',
     52         'insert_exchange_account.c',
     53         'insert_exchange_keys.c',
     54         'insert_exchange_signkey.c',
     55         'insert_instance.c',
     56         'insert_issued_token.c',
     57         'insert_login_token.c',
     58         'insert_order.c',
     59         'insert_order_lock.c',
     60         'insert_otp.c',
     61         'insert_pending_webhook.c',
     62         'insert_product.c',
     63         'insert_refund_proof.c',
     64         'insert_spent_token.c',
     65         'insert_template.c',
     66         'insert_tos_accepted_early.c',
     67         'update_unit.c',
     68         'insert_token_family.c',
     69         'insert_token_family_key.c',
     70         'insert_transfer.c',
     71         'insert_transfer_details.c',
     72         'insert_webhook.c',
     73         'delete_unit.c',
     74         'lookup_units.c',
     75         'lookup_custom_units_by_names.c',
     76         'select_unit.c',
     77         'lookup_mfa_challenge.c',
     78         'solve_mfa_challenge.c',
     79         'update_mfa_challenge.c',
     80         'create_mfa_challenge.c',
     81         'insert_report.c',
     82         'delete_report.c',
     83         'update_report.c',
     84         'check_report.c',
     85         'select_reports.c',
     86         'lookup_reports_pending.c',
     87         'update_report_status.c',
     88         'select_report.c',
     89         'insert_product_group.c',
     90         'delete_product_group.c',
     91         'update_product_group.c',
     92         'select_product_groups.c',
     93         'insert_unclaim_signature.c',
     94         'lookup_reconciliation_details.c',
     95         'lookup_expected_transfer.c',
     96         'insert_money_pot.c',
     97         'delete_money_pot.c',
     98         'update_money_pot.c',
     99         'check_money_pots.c',
    100         'select_money_pots.c',
    101         'select_money_pot.c',
    102         'lock_product.c',
    103         'lookup_account.c',
    104         'lookup_all_products.c',
    105         'lookup_categories.c',
    106         'lookup_categories_by_ids.c',
    107         'lookup_contract_terms.c',
    108         'lookup_contract_terms2.c',
    109         'lookup_contract_terms3.c',
    110         'lookup_deposits.c',
    111         'lookup_deposits_by_contract_and_coin.c',
    112         'lookup_deposits_by_order.c',
    113         'lookup_expected_transfers.c',
    114         'lookup_instance_auth.c',
    115         'lookup_instances.c',
    116         'lookup_inventory_products.c',
    117         'lookup_inventory_products_filtered.c',
    118         'lookup_login_tokens.c',
    119         'lookup_order.c',
    120         'lookup_order_by_fulfillment.c',
    121         'lookup_order_status.c',
    122         'lookup_order_status_by_serial.c',
    123         'lookup_order_summary.c',
    124         'lookup_orders.c',
    125         'lookup_otp_devices.c',
    126         'lookup_pending_deposits.c',
    127         'lookup_pending_webhooks.c',
    128         'lookup_product.c',
    129         'lookup_product_image.c',
    130         'lookup_products.c',
    131         'lookup_refund_proof.c',
    132         'lookup_refunds.c',
    133         'lookup_refunds_detailed.c',
    134         'lookup_spent_tokens_by_order.c',
    135         'lookup_statistics_amount_by_bucket2.c',
    136         'lookup_statistics_counter_by_bucket2.c',
    137         'lookup_template.c',
    138         'lookup_templates.c',
    139         'lookup_token_families.c',
    140         'lookup_token_family.c',
    141         'lookup_token_family_key.c',
    142         'lookup_token_family_keys.c',
    143         'lookup_transfer_details.c',
    144         'lookup_transfer_details_by_order.c',
    145         'lookup_transfer_summary.c',
    146         'lookup_transfers.c',
    147         'lookup_webhook.c',
    148         'lookup_webhook_by_event.c',
    149         'lookup_all_webhooks.c',
    150         'lookup_webhooks.c',
    151         'lookup_wire_fee.c',
    152         'mark_contract_paid.c',
    153         'mark_order_wired.c',
    154         'select_order_blinded_sigs.c',
    155         'purge_instance.c',
    156         'refund_coin.c',
    157         'select_account.c',
    158         'select_account_by_uri.c',
    159         'select_accounts.c',
    160         'select_accounts_by_instance.c',
    161         'select_accounts_by_exchange.c',
    162         'select_category.c',
    163         'select_category_by_name.c',
    164         'select_exchange_keys.c',
    165         'select_exchanges.c',
    166         'select_login_token.c',
    167         'select_open_transfers.c',
    168         'select_otp.c',
    169         'select_otp_serial.c',
    170         'select_wirewatch_accounts.c',
    171         'store_wire_fee_by_exchange.c',
    172         'unlock_inventory.c',
    173         'update_account.c',
    174         'update_category.c',
    175         'update_contract_session.c',
    176         'update_contract_terms.c',
    177         'update_deposit_confirmation_status.c',
    178         'update_donau_instance_receipts_amount.c',
    179         'update_instance.c',
    180         'update_instance_auth.c',
    181         'update_otp.c',
    182         'update_pending_webhook.c',
    183         'update_product.c',
    184         'update_template.c',
    185         'update_token_family.c',
    186         'update_transfer_status.c',
    187         'finalize_transfer_status.c',
    188         'delete_donau_instance.c',
    189         'insert_order_blinded_sigs.c',
    190         'update_webhook.c',
    191         'update_wirewatch_progress.c',
    192         'lookup_statistics_counter_by_bucket.c',
    193         'lookup_statistics_counter_by_interval.c',
    194         'lookup_statistics_amount_by_bucket.c',
    195         'lookup_statistics_amount_by_interval.c',
    196         'insert_donau_instance.c',
    197         'check_donau_instance.c',
    198         'select_donau_instances.c',
    199         'select_all_donau_instances.c',
    200         'select_donau_instances_filtered.c',
    201         'select_donau_instance_by_serial.c',
    202         'lookup_donau_keys.c',
    203         'lookup_order_charity.c',
    204         'lookup_tos_accepted_early.c',
    205         'upsert_donau_keys.c',
    206         'update_donau_instance.c',
    207         'merchantdb_helper.c',
    208     ],
    209     soversion: solibversions['libtalermerchantdb']['soversion'],
    210     version: solibversions['libtalermerchantdb']['soversion'],
    211     install_rpath: rpath_option,
    212     dependencies: [
    213         libtalermerchantutil_dep,
    214         donau_dep,
    215         talerexchange_dep,
    216         talermhd_dep,
    217         talerpq_dep,
    218         talerjson_dep,
    219         talerutil_dep,
    220         gnunetpq_dep,
    221         gnunetjson_dep,
    222         gnunetutil_dep,
    223         pq_dep,
    224         gcrypt_dep,
    225         json_dep,
    226     ],
    227     include_directories: [incdir, configuration_inc],
    228     install: true,
    229     install_dir: get_option('libdir'),
    230 )
    231 
    232 libtalermerchantdb_dep = declare_dependency(link_with: libtalermerchantdb)
    233 pkg.generate(
    234     libtalermerchantdb,
    235     url: 'https://taler.net',
    236     description: 'GNU Taler merchant DB library',
    237 )
    238 
    239 
    240 test_merchantdb = executable(
    241     'test-merchantdb',
    242     ['test_merchantdb.c'],
    243     install_rpath: rpath_option,
    244     dependencies: [
    245         libtalermerchantdb_dep,
    246         libtalermerchantutil_dep,
    247         talerutil_dep,
    248         talerjson_dep,
    249         gnunetutil_dep,
    250         gnunetjson_dep,
    251         json_dep,
    252         pq_dep,
    253     ],
    254     include_directories: [incdir, configuration_inc],
    255     install: false,
    256 )
    257 test(
    258     'test-merchantdb',
    259     test_merchantdb,
    260     workdir: meson.current_build_dir(),
    261     suite: ['backenddb', 'installcheck'],
    262     is_parallel: false,
    263 )
    264 
    265 configure_file(
    266     input: 'test-merchantdb-postgres.conf',
    267     output: 'test-merchantdb-postgres.conf',
    268     copy: true,
    269 )