meson.build (13697B)
1 # This build file is in the public domain 2 install_data('kudos.conf', 'merchant.conf', 'tops.conf', install_dir: pkgcfgdir) 3 4 5 configure_file( 6 input: 'taler-merchant-report-generator-email', 7 output: 'taler-merchant-report-generator-email', 8 install: true, 9 copy: true, 10 install_dir: get_option('bindir'), 11 ) 12 13 configure_file( 14 input: 'taler-merchant-report-generator-file', 15 output: 'taler-merchant-report-generator-file', 16 install: true, 17 copy: true, 18 install_dir: get_option('bindir'), 19 ) 20 21 22 executable( 23 'taler-merchant-depositcheck', 24 ['taler-merchant-depositcheck.c'], 25 dependencies: [ 26 libtalermerchantutil_dep, 27 talerutil_dep, 28 talerjson_dep, 29 libtalermerchantdb_dep, 30 talerpq_dep, 31 talerexchange_dep, 32 gnunetutil_dep, 33 gnunetjson_dep, 34 gnunetcurl_dep, 35 pq_dep, 36 curl_dep, 37 json_dep, 38 ], 39 include_directories: [incdir, configuration_inc], 40 install: true, 41 ) 42 43 44 executable( 45 'taler-merchant-exchangekeyupdate', 46 ['taler-merchant-exchangekeyupdate.c'], 47 dependencies: [ 48 libtalermerchantutil_dep, 49 talerutil_dep, 50 talerjson_dep, 51 libtalermerchantdb_dep, 52 talerpq_dep, 53 talerexchange_dep, 54 gnunetutil_dep, 55 gnunetjson_dep, 56 gnunetcurl_dep, 57 pq_dep, 58 curl_dep, 59 json_dep, 60 ], 61 include_directories: [incdir, configuration_inc], 62 install: true, 63 ) 64 65 66 67 taler_merchant_httpd_SOURCES = [ 68 'taler-merchant-httpd.c', 69 'taler-merchant-httpd_auth.c', 70 'taler-merchant-httpd_contract.c', 71 'taler-merchant-httpd_dispatcher.c', 72 'taler-merchant-httpd_exchanges.c', 73 'taler-merchant-httpd_get-orders-ORDER_ID.c', 74 'taler-merchant-httpd_get-sessions-SESSION_ID.c', 75 'taler-merchant-httpd_get-products-IMAGE_HASH-image.c', 76 'taler-merchant-httpd_get-config.c', 77 'taler-merchant-httpd_get-exchanges.c', 78 'taler-merchant-httpd_get-templates-TEMPLATE_ID.c', 79 'taler-merchant-httpd_helper.c', 80 'taler-merchant-httpd_token-keys.c', 81 'taler-merchant-httpd_fountains.c', 82 'taler-merchant-httpd_get-fountain-info.c', 83 'taler-merchant-httpd_mhd.c', 84 'taler-merchant-httpd_get-terms.c', 85 'taler-merchant-httpd_mfa.c', 86 'taler-merchant-httpd_delete-private-accounts-H_WIRE.c', 87 'taler-merchant-httpd_delete-private-categories-CATEGORY_ID.c', 88 'taler-merchant-httpd_delete-private-units-UNIT.c', 89 'taler-merchant-httpd_delete-management-instances-INSTANCE.c', 90 'taler-merchant-httpd_delete-private-token.c', 91 'taler-merchant-httpd_delete-private-tokens-SERIAL.c', 92 'taler-merchant-httpd_delete-private-products-PRODUCT_ID.c', 93 'taler-merchant-httpd_delete-private-orders-ORDER_ID.c', 94 'taler-merchant-httpd_delete-private-fountains-FOUNTAIN_ID.c', 95 'taler-merchant-httpd_delete-private-otp-devices-DEVICE_ID.c', 96 'taler-merchant-httpd_delete-private-templates-TEMPLATE_ID.c', 97 'taler-merchant-httpd_delete-private-tokenfamilies-TOKEN_FAMILY_SLUG.c', 98 'taler-merchant-httpd_delete-private-transfers-TID.c', 99 'taler-merchant-httpd_delete-private-webhooks-WEBHOOK_ID.c', 100 'taler-merchant-httpd_get-private-accounts.c', 101 'taler-merchant-httpd_get-private-accounts-H_WIRE.c', 102 'taler-merchant-httpd_get-private-categories.c', 103 'taler-merchant-httpd_get-private-units.c', 104 'taler-merchant-httpd_get-private-categories-CATEGORY_ID.c', 105 'taler-merchant-httpd_get-private-units-UNIT.c', 106 'taler-merchant-httpd_get-management-instances.c', 107 'taler-merchant-httpd_get-management-instances-INSTANCE.c', 108 'taler-merchant-httpd_get-private-kyc.c', 109 'taler-merchant-httpd_kyc-order.c', 110 'taler-merchant-httpd_get-private-tokens.c', 111 'taler-merchant-httpd_get-private-pos.c', 112 'taler-merchant-httpd_get-private-products.c', 113 'taler-merchant-httpd_get-private-products-PRODUCT_ID.c', 114 'taler-merchant-httpd_get-private-orders.c', 115 'taler-merchant-httpd_get-private-orders-ORDER_ID.c', 116 'taler-merchant-httpd_get-private-fountains.c', 117 'taler-merchant-httpd_get-private-fountains-FOUNTAIN_ID.c', 118 'taler-merchant-httpd_get-private-otp-devices.c', 119 'taler-merchant-httpd_get-private-otp-devices-DEVICE_ID.c', 120 'taler-merchant-httpd_get-private-incoming.c', 121 'taler-merchant-httpd_get-private-incoming-ID.c', 122 'taler-merchant-httpd_get-private-transfers.c', 123 'taler-merchant-httpd_get-private-templates.c', 124 'taler-merchant-httpd_get-private-templates-TEMPLATE_ID.c', 125 'taler-merchant-httpd_get-private-tokenfamilies.c', 126 'taler-merchant-httpd_get-private-tokenfamilies-TOKEN_FAMILY_SLUG.c', 127 'taler-merchant-httpd_get-private-webhooks.c', 128 'taler-merchant-httpd_get-private-webhooks-WEBHOOK_ID.c', 129 'taler-merchant-httpd_patch-private-accounts-H_WIRE.c', 130 'taler-merchant-httpd_patch-private-categories-CATEGORY_ID.c', 131 'taler-merchant-httpd_patch-private-units-UNIT.c', 132 'taler-merchant-httpd_patch-management-instances-INSTANCE.c', 133 'taler-merchant-httpd_patch-private-orders-ORDER_ID-forget.c', 134 'taler-merchant-httpd_patch-private-fountains-FOUNTAIN_ID.c', 135 'taler-merchant-httpd_patch-private-otp-devices-DEVICE_ID.c', 136 'taler-merchant-httpd_patch-private-products-PRODUCT_ID.c', 137 'taler-merchant-httpd_patch-private-templates-TEMPLATE_ID.c', 138 'taler-merchant-httpd_patch-private-tokenfamilies-TOKEN_FAMILY_SLUG.c', 139 'taler-merchant-httpd_patch-private-webhooks-WEBHOOK_ID.c', 140 'taler-merchant-httpd_post-private-accounts.c', 141 'taler-merchant-httpd_post-private-categories.c', 142 'taler-merchant-httpd_post-private-units.c', 143 'taler-merchant-httpd_post-management-instances.c', 144 'taler-merchant-httpd_post-management-instances-INSTANCE-auth.c', 145 'taler-merchant-httpd_post-private-token.c', 146 'taler-merchant-httpd_post-private-orders-ORDER_ID-collect.c', 147 'taler-merchant-httpd_post-private-orders-ORDER_ID-refund.c', 148 'taler-merchant-httpd_post-private-orders-ORDER_ID-refund-external.c', 149 'taler-merchant-httpd_post-private-orders.c', 150 'taler-merchant-httpd_post-private-products.c', 151 'taler-merchant-httpd_post-private-fountains.c', 152 'taler-merchant-httpd_post-private-otp-devices.c', 153 'taler-merchant-httpd_post-private-products-PRODUCT_ID-lock.c', 154 'taler-merchant-httpd_post-private-templates.c', 155 'taler-merchant-httpd_post-private-tokenfamilies.c', 156 'taler-merchant-httpd_post-private-transfers.c', 157 'taler-merchant-httpd_post-private-webhooks.c', 158 'taler-merchant-httpd_post-private-accounts-H_WIRE-kycauth.c', 159 'taler-merchant-httpd_post-private-accept-tos-early.c', 160 'taler-merchant-httpd_post-challenge-ID.c', 161 'taler-merchant-httpd_post-challenge-ID-confirm.c', 162 'taler-merchant-httpd_post-orders-ORDER_ID-abort.c', 163 'taler-merchant-httpd_post-orders-ORDER_ID-claim.c', 164 'taler-merchant-httpd_post-fountain-withdraw.c', 165 'taler-merchant-httpd_post-orders-ORDER_ID-pay.c', 166 'taler-merchant-httpd_post-orders-ORDER_ID-paid.c', 167 'taler-merchant-httpd_post-orders-ORDER_ID-refund.c', 168 'taler-merchant-httpd_post-orders-ORDER_ID-unclaim.c', 169 'taler-merchant-httpd_post-templates-TEMPLATE_ID.c', 170 'taler-merchant-httpd_post-reports-REPORT_ID.c', 171 'taler-merchant-httpd_get-private-statistics-amount-SLUG.c', 172 'taler-merchant-httpd_get-private-statistics-counter-SLUG.c', 173 'taler-merchant-httpd_get-private-statistics-report-transactions.c', 174 'taler-merchant-httpd_qr.c', 175 'taler-merchant-httpd_get-webui.c', 176 'taler-merchant-httpd_delete-private-reports-REPORT_ID.c', 177 'taler-merchant-httpd_get-private-reports-REPORT_ID.c', 178 'taler-merchant-httpd_get-private-reports.c', 179 'taler-merchant-httpd_patch-private-reports-REPORT_ID.c', 180 'taler-merchant-httpd_post-private-reports.c', 181 'taler-merchant-httpd_delete-private-pots-POT_ID.c', 182 'taler-merchant-httpd_get-private-pots-POT_ID.c', 183 'taler-merchant-httpd_get-private-pots.c', 184 'taler-merchant-httpd_patch-private-pots-POT_ID.c', 185 'taler-merchant-httpd_post-private-pots.c', 186 'taler-merchant-httpd_delete-private-groups-GROUP_ID.c', 187 'taler-merchant-httpd_get-private-groups.c', 188 'taler-merchant-httpd_patch-private-groups-GROUP_ID.c', 189 'taler-merchant-httpd_post-private-groups.c', 190 'taler-merchant-httpd_statics.c', 191 'taler-merchant-httpd_get-private-donau.c', 192 'taler-merchant-httpd_post-private-donau.c', 193 'taler-merchant-httpd_delete-private-donau-DONAU_SERIAL.c', 194 ] 195 196 merchant_httpd = executable( 197 'taler-merchant-httpd', 198 taler_merchant_httpd_SOURCES, 199 dependencies: [ 200 donau_dep, 201 donaujson_dep, 202 libtalermerchantutil_dep, 203 libtalermerchantbank_dep, 204 talerutil_dep, 205 talerjson_dep, 206 libtalermerchantdb_dep, 207 talerpq_dep, 208 talerkyclogic_dep, 209 talerbank_dep, 210 talermhd_dep, 211 talerexchange_dep, 212 talertemplating_dep, 213 gnunetutil_dep, 214 gnunetjson_dep, 215 gnunetcurl_dep, 216 pq_dep, 217 mhd_dep, 218 json_dep, 219 qrencode_dep, 220 ], 221 include_directories: [incdir, configuration_inc], 222 install: true, 223 ) 224 225 226 227 executable( 228 'taler-merchant-kyccheck', 229 ['taler-merchant-kyccheck.c'], 230 dependencies: [ 231 libtalermerchantutil_dep, 232 talerutil_dep, 233 talerjson_dep, 234 libtalermerchantdb_dep, 235 talerpq_dep, 236 talerexchange_dep, 237 gnunetutil_dep, 238 gnunetjson_dep, 239 gnunetcurl_dep, 240 pq_dep, 241 curl_dep, 242 json_dep, 243 ], 244 include_directories: [incdir, configuration_inc], 245 install: true, 246 ) 247 248 249 250 executable( 251 'taler-merchant-reconciliation', 252 ['taler-merchant-reconciliation.c'], 253 dependencies: [ 254 libtalermerchantutil_dep, 255 talerutil_dep, 256 talerjson_dep, 257 libtalermerchantdb_dep, 258 talerpq_dep, 259 talerexchange_dep, 260 gnunetpq_dep, 261 gnunetutil_dep, 262 gnunetjson_dep, 263 gnunetcurl_dep, 264 pq_dep, 265 curl_dep, 266 ], 267 include_directories: [incdir, configuration_inc], 268 install: true, 269 ) 270 271 272 273 executable( 274 'taler-merchant-report-generator', 275 ['taler-merchant-report-generator.c'], 276 dependencies: [ 277 libtalermerchantutil_dep, 278 talerutil_dep, 279 talerjson_dep, 280 libtalermerchantdb_dep, 281 talerpq_dep, 282 talercurl_dep, 283 talerexchange_dep, 284 gnunetpq_dep, 285 gnunetutil_dep, 286 gnunetjson_dep, 287 gnunetcurl_dep, 288 pq_dep, 289 curl_dep, 290 json_dep, 291 ], 292 include_directories: [incdir, configuration_inc], 293 install: true, 294 ) 295 296 297 298 executable( 299 'taler-merchant-webhook', 300 ['taler-merchant-webhook.c'], 301 dependencies: [ 302 libtalermerchantutil_dep, 303 talerutil_dep, 304 talerjson_dep, 305 libtalermerchantdb_dep, 306 talermhd_dep, 307 talerpq_dep, 308 talerexchange_dep, 309 gnunetutil_dep, 310 gnunetjson_dep, 311 gnunetcurl_dep, 312 pq_dep, 313 curl_dep, 314 json_dep, 315 ], 316 include_directories: [incdir, configuration_inc], 317 install: true, 318 ) 319 320 321 executable( 322 'taler-merchant-wirewatch', 323 ['taler-merchant-wirewatch.c'], 324 dependencies: [ 325 libtalermerchantutil_dep, 326 libtalermerchantbank_dep, 327 talerutil_dep, 328 talerjson_dep, 329 libtalermerchantdb_dep, 330 talermhd_dep, 331 talerpq_dep, 332 talerexchange_dep, 333 gnunetutil_dep, 334 gnunetjson_dep, 335 gnunetcurl_dep, 336 pq_dep, 337 curl_dep, 338 json_dep, 339 ], 340 include_directories: [incdir, configuration_inc], 341 install: true, 342 ) 343 344 345 346 if donau_dep.found() 347 executable( 348 'taler-merchant-donaukeyupdate', 349 ['taler-merchant-donaukeyupdate.c'], 350 dependencies: [ 351 libtalermerchantutil_dep, 352 talerutil_dep, 353 talerjson_dep, 354 libtalermerchantdb_dep, 355 talermhd_dep, 356 talerpq_dep, 357 talerexchange_dep, 358 gnunetutil_dep, 359 gnunetjson_dep, 360 gnunetcurl_dep, 361 pq_dep, 362 curl_dep, 363 donau_dep, 364 ], 365 include_directories: [incdir, configuration_inc], 366 install: true, 367 ) 368 369 endif 370 371 372 test_merchant_kyc_order = executable( 373 'test_merchant_kyc_order', 374 [ 375 'test_merchant_kyc_order.c', 376 'taler-merchant-httpd_kyc-order.c', 377 ], 378 dependencies: [ 379 talerjson_dep, 380 gnunetutil_dep, 381 json_dep, 382 ], 383 include_directories: [incdir, configuration_inc], 384 install: false, 385 ) 386 test( 387 'test_merchant_kyc_order', 388 test_merchant_kyc_order, 389 suite: ['backend'], 390 ) 391 392 test_merchant_kyccheck = executable( 393 'test_merchant_kyccheck', 394 ['test_merchant_kyccheck.c'], 395 dependencies: [ 396 libtalermerchantutil_dep, 397 talerutil_dep, 398 talerjson_dep, 399 libtalermerchantdb_dep, 400 talerpq_dep, 401 talerexchange_dep, 402 gnunetutil_dep, 403 gnunetjson_dep, 404 gnunetcurl_dep, 405 pq_dep, 406 curl_dep, 407 json_dep, 408 ], 409 include_directories: [incdir, configuration_inc], 410 install: false, 411 ) 412 413 test('test_merchant_kyccheck', test_merchant_kyccheck, suite: ['backend']) 414 415 # Uses a disposable PostgreSQL cluster and real HTTP long polls. 416 test( 417 'kyc-refresh', 418 find_program('python3'), 419 args: [ 420 files('../backenddb/test_kyc_refresh.py'), 421 meson.project_source_root(), 422 meson.project_build_root(), 423 ], 424 depends: [merchant_httpd, test_merchant_kyccheck, gprocedures_sql, iprocedures_sql] + migration_sql, 425 suite: ['backenddb', 'integrationtests'], 426 timeout: 180, 427 )