diff --git a/packages/q/quill/patches/4.5.0/windows-arm.patch b/packages/q/quill/patches/4.5.0/windows-arm.patch new file mode 100644 index 000000000..e97d99cf3 --- /dev/null +++ b/packages/q/quill/patches/4.5.0/windows-arm.patch @@ -0,0 +1,28 @@ +diff --git a/quill/include/quill/core/Rdtsc.h b/quill/include/quill/core/Rdtsc.h +index 2a5203b..17b92b7 100644 +--- a/quill/include/quill/core/Rdtsc.h ++++ b/quill/include/quill/core/Rdtsc.h +@@ -45,7 +45,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + __asm__ volatile("mrs %0, cntvct_el0" : "=r"(virtual_timer_value)); + return static_cast(virtual_timer_value); + } +-#elif defined(__ARM_ARCH) ++#elif (defined(__ARM_ARCH) && !defined(_MSC_VER)) + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + { + #if (__ARM_ARCH >= 6) +@@ -69,13 +69,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + // soft failover + return static_cast(std::chrono::system_clock::now().time_since_epoch().count()); + } +-#elif (defined(_M_ARM) || defined(_M_ARM64)) +-QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept +-{ +- // soft failover +- return static_cast(std::chrono::system_clock::now().time_since_epoch().count()); +-} +-#elif (defined(__PPC64__)) ++#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__)) + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + { + // soft failover diff --git a/packages/q/quill/xmake.lua b/packages/q/quill/xmake.lua index 4377ce8fa..6c5d4c56f 100644 --- a/packages/q/quill/xmake.lua +++ b/packages/q/quill/xmake.lua @@ -6,6 +6,7 @@ package("quill") set_urls("https://github.com/odygrd/quill/archive/refs/tags/$(version).tar.gz", "https://github.com/odygrd/quill.git") + add_versions("v4.5.0", "70e8f4a76fd8a83b60d378f31b70dd09a9381686ebafdcd0db08fe099f518309") add_versions("v4.3.0", "c97bf3bfac6dfb7ed77fa08d945a490e302ba07e405539fda61985b39750cb29") add_versions("v3.8.0", "d3e1b349c5d6904c9644e5b79ec65f21692e8094a3d75241a7fe071076eef4dd") add_versions("v3.6.0", "ba9dc3df262f2e65c57904580cc8407eba9a462001340c17bab7ae1dccddb4bd") @@ -14,6 +15,8 @@ package("quill") add_versions("v2.9.1", "921e053118136f63cebb2ca1d7e42456fd0bf9626facb755884709092753c054") add_versions("v2.8.0", "0461a6c314e3d882f3b9ada487ef1bf558925272509ee41a9fd25f7776db6075") + add_patches("4.5.0", "patches/4.5.0/windows-arm.patch", "e7db1f07e1eea048798283f9865842c4754ed3d1ff220954cadd392ad4450cc3") + if is_plat("macosx") then add_extsources("brew::quill") end