merchant

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

meson.build (8050B)


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