| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package("libpcsclite")
- set_homepage("https://pcsclite.apdu.fr/")
- set_description("Middleware to access a smart card using SCard API (PC/SC).")
- add_urls("https://github.com/LudovicRousseau/PCSC/archive/refs/tags/$(version).tar.gz",
- "https://github.com/LudovicRousseau/PCSC.git")
- add_versions("2.3.3", "00b667aa71504ed1d39a48ad377de048c70dbe47229e8c48a3239ab62979c70f")
- add_configs("embedded", {description = "For embedded systems [limit RAM and CPU resources by disabling features (log)].", default = false, type = "boolean"})
- add_deps("meson", "ninja")
- add_includedirs("include/PCSC")
- on_install("linux", "bsd", "cross", function (package)
- io.replace("meson.build", "executable%s*%b()", "")
- io.replace("meson.build", "library%('pcscspy'.-%)", "")
- io.replace("meson.build", "run_command%('pod2man'.-%)", "")
- io.replace("meson.build", [[install_data('pcsc-spy.1',
- install_dir : join_paths(get_option('mandir'), 'man1'))]], "", {plain = true})
- io.replace("meson.build", [[gen_flex = generator(find_program('flex'),
- output : '@[email protected]',
- arguments : ['-o', '@OUTPUT@', '--prefix=@BASENAME@', '@INPUT@'])]], "", {plain = true})
- io.replace("meson.build", [[gen_src = gen_flex.process('src/configfile.l', 'src/tokenparser.l')
- pcscd_src += gen_src]], "", {plain = true})
- io.replace("meson.build", "doxygen.found()", "false", {plain = true})
- local configs = {
- '-Dlibsystemd=false',
- '-Dlibudev=false',
- '-Dpolkit=false'
- }
- table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
- table.insert(configs, "-Dembedded=" .. (package:config("embedded") and "true" or "false"))
- import("package.tools.meson").install(package, configs)
- end)
- on_test(function (package)
- assert(package:check_csnippets({test = [[
- void test() {
- SCARDCONTEXT hSC;
- SCardEstablishContext(SCARD_SCOPE_USER, 0, 0, &hSC);
- }
- ]]}, {configs = {languages = "c99"}, includes = "winscard.h"}))
- end)
|