diff --git a/scripts/azure-pipelines/osx/azure-pipelines.yml b/scripts/azure-pipelines/osx/azure-pipelines.yml index 154247da47481b..c9d54cd7c726f2 100644 --- a/scripts/azure-pipelines/osx/azure-pipelines.yml +++ b/scripts/azure-pipelines/osx/azure-pipelines.yml @@ -10,6 +10,8 @@ jobs: clean: resources timeoutInMinutes: 1440 # 1 day variables: + - name: LC_ALL + value: en_US.UTF-8 - name: WORKING_ROOT value: /Users/vagrant/Data - name: VCPKG_DOWNLOADS diff --git a/scripts/test_ports/utf8-tarball-test/portfile.cmake b/scripts/test_ports/utf8-tarball-test/portfile.cmake new file mode 100644 index 00000000000000..b8e56d6c9b69f4 --- /dev/null +++ b/scripts/test_ports/utf8-tarball-test/portfile.cmake @@ -0,0 +1,55 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +if(NOT VCPKG_HOST_IS_WINDOWS) + vcpkg_execute_required_process( + COMMAND locale + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME locale + ) +endif() + +set(ascii_tarball_directory "${CURRENT_BUILDTREES_DIR}/ascii-tarball") +set(bmp_tarball_directory "${CURRENT_BUILDTREES_DIR}/bmp-tarball") +set(nonbmp_tarball_directory "${CURRENT_BUILDTREES_DIR}/nonbmp-tarball") + +file(REMOVE_RECURSE + "${ascii_tarball_directory}" + "${bmp_tarball_directory}" + "${nonbmp_tarball_directory}" +) +file(MAKE_DIRECTORY + "${ascii_tarball_directory}" + "${bmp_tarball_directory}" + "${nonbmp_tarball_directory}" +) + +file(TOUCH + "${ascii_tarball_directory}/foo" + "${ascii_tarball_directory}/bar" + "${ascii_tarball_directory}/baz" +) +file(TOUCH + "${bmp_tarball_directory}/foo" + "${bmp_tarball_directory}/βαρ" + "${bmp_tarball_directory}/包子" +) +file(TOUCH + "${nonbmp_tarball_directory}/foo" + "${nonbmp_tarball_directory}/𐌁𐌀𐌓" + "${nonbmp_tarball_directory}/🙈🤟🏼" +) + +foreach(dir IN ITEMS ascii bmp nonbmp) + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E tar czf + "${${dir}_tarball_directory}.tar.gz" + "${${dir}_tarball_directory}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "compress-${dir}" + ) + + vcpkg_extract_source_archive(source_path + ARCHIVE "${${dir}_tarball_directory}.tar.gz" + ) +endforeach() + diff --git a/scripts/test_ports/utf8-tarball-test/vcpkg.json b/scripts/test_ports/utf8-tarball-test/vcpkg.json new file mode 100644 index 00000000000000..5cc675f25934b7 --- /dev/null +++ b/scripts/test_ports/utf8-tarball-test/vcpkg.json @@ -0,0 +1,4 @@ +{ + "name": "utf8-tarball-test", + "version": "0" +}