mirror of
https://github.com/SerenityOS/serenity
synced 2026-04-25 17:15:42 +02:00
Meta+Userland: Update Jakt to latest
This version fixes clang 22 errors on build.
This commit is contained in:
committed by
Sönke Holz
parent
a3b1af96e0
commit
ffb9ea56dc
@@ -37,6 +37,27 @@ if (ENABLE_JAKT)
|
||||
message(WARNING "Jakt compiler not found at ${JAKT_COMPILER}, disabling jakt")
|
||||
set(ENABLE_JAKT OFF CACHE BOOL "Enable jakt" FORCE)
|
||||
else()
|
||||
find_package(Python COMPONENTS Interpreter REQUIRED)
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/jakt_test.cpp "#include <new>")
|
||||
execute_process(
|
||||
COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/get_cxx_includes.py
|
||||
--compiler ${CMAKE_CXX_COMPILER}
|
||||
--test-file "${CMAKE_BINARY_DIR}/jakt_test.cpp"
|
||||
--target "${CMAKE_CXX_COMPILER_TARGET}"
|
||||
OUTPUT_VARIABLE CXX_SYSTEM_INCLUDES_CLEAN
|
||||
)
|
||||
list(REMOVE_DUPLICATES CXX_SYSTEM_INCLUDES_CLEAN)
|
||||
|
||||
set(test_sysroot_arg)
|
||||
if (CMAKE_SYSROOT)
|
||||
set(test_sysroot_arg "--extra-cpp-flag--sysroot=${CMAKE_SYSROOT}")
|
||||
endif()
|
||||
|
||||
set(test_system_includes)
|
||||
foreach(include IN LISTS CXX_SYSTEM_INCLUDES_CLEAN)
|
||||
list(APPEND test_system_includes "--extra-cpp-flag-isystem${include}")
|
||||
endforeach()
|
||||
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/jakt_test.jakt "import extern \"LibMain/Main.h\"\nfn main() { }\n")
|
||||
set(include_args)
|
||||
set(all_includes
|
||||
@@ -58,6 +79,8 @@ if (ENABLE_JAKT)
|
||||
--ak-is-my-only-stdlib
|
||||
-T ${JAKT_TARGET_TRIPLE}
|
||||
--binary-dir ${CMAKE_BINARY_DIR}
|
||||
${test_sysroot_arg}
|
||||
${test_system_includes}
|
||||
${include_args}
|
||||
${CMAKE_BINARY_DIR}/jakt_test.jakt
|
||||
RESULT_VARIABLE JAKT_COMPILER_RESULT
|
||||
@@ -76,19 +99,6 @@ if (NOT ENABLE_JAKT)
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(Python COMPONENTS Interpreter REQUIRED)
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/jakt_test.cpp "#include <new>")
|
||||
execute_process(
|
||||
COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/get_cxx_includes.py
|
||||
--compiler ${CMAKE_CXX_COMPILER}
|
||||
--test-file "${CMAKE_BINARY_DIR}/jakt_test.cpp"
|
||||
--target "${CMAKE_CXX_COMPILER_TARGET}"
|
||||
OUTPUT_VARIABLE CXX_SYSTEM_INCLUDES_CLEAN
|
||||
)
|
||||
|
||||
# Remove duplicates
|
||||
list(REMOVE_DUPLICATES CXX_SYSTEM_INCLUDES_CLEAN)
|
||||
|
||||
cmake_host_system_information(RESULT JAKT_PROCESSOR_COUNT QUERY NUMBER_OF_PHYSICAL_CORES)
|
||||
set_property(GLOBAL PROPERTY JOB_POOLS jakt_pool=1)
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ buildstep_ninja() {
|
||||
|
||||
mkdir -p "$DIR/Tarballs"
|
||||
|
||||
JAKT_COMMIT_HASH="e990cc5667e32bc295556057972f117662b009bb"
|
||||
JAKT_COMMIT_HASH="6f6c9e9005683b0c1cf59f6282a1bb15770e1c92"
|
||||
JAKT_NAME="jakt-${JAKT_COMMIT_HASH}"
|
||||
JAKT_TARBALL="${JAKT_NAME}.tar.gz"
|
||||
JAKT_GIT_URL="https://github.com/serenityos/jakt"
|
||||
|
||||
@@ -93,7 +93,7 @@ fn api(
|
||||
return OpenWeatherMap(
|
||||
api_key: key
|
||||
make_request: fn[&mut client, &mut async](anon u: prelude::String) throws -> RequestData {
|
||||
mut request = start_request(&mut client, "GET", URL::URL(u))
|
||||
mut request = start_request(&mut client, "GET", URL::URL(&u))
|
||||
mut promise: Promise<prelude::String> = Promise()
|
||||
|
||||
unsafe {
|
||||
@@ -128,7 +128,8 @@ fn do_incremental_search<T>(
|
||||
return true
|
||||
}))
|
||||
} catch e {
|
||||
GUI::MessageBox::show_error(&raw window, format("Failed to fetch search results: {}", e))
|
||||
let error = format("Failed to fetch search results: {}", e)
|
||||
GUI::MessageBox::show_error(&raw window, ak_string_view(&error))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,7 +137,7 @@ fn update_entry<T>(
|
||||
mut entry: IndividualEntryWidget
|
||||
api: &mut T
|
||||
window: &GUI::Window
|
||||
query: AK::ByteString
|
||||
query: prelude::String
|
||||
first_time: bool = false
|
||||
) {
|
||||
try {
|
||||
@@ -157,10 +158,16 @@ fn update_entry<T>(
|
||||
entry.invalidate_layout()
|
||||
} catch e {
|
||||
entry.remove_from_parent()
|
||||
GUI::MessageBox::show_error(&raw window, format("Failed to fetch weather data: {}", e))
|
||||
let error = format("Failed to fetch weather data: {}", e)
|
||||
GUI::MessageBox::show_error(&raw window, ak_string_view(&error))
|
||||
}
|
||||
}
|
||||
|
||||
[[stores_arguments(from: "return")]]
|
||||
fn ak_string_view(anon from: &prelude::String) -> AK::StringView {
|
||||
return AK::StringView(from)
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let args: AK::Span<AK::StringView> = AK::Span()
|
||||
mut app = GUI::Application::create(&Main::Arguments(0, null(), args))
|
||||
@@ -226,7 +233,7 @@ fn main() {
|
||||
mut c = view.content!
|
||||
mut entry = c.add<UnderlyingClassTypeOf<IndividualEntryWidget>>().self()
|
||||
entry.container!.set_view_state(GUI::DynamicWidgetContainer::ViewState::Collapsed)
|
||||
try update_entry(entry, api: &mut owm_api, &window, query: name as! ByteString, first_time: true)
|
||||
try update_entry(entry, api: &mut owm_api, &window, query: name, first_time: true)
|
||||
|
||||
view.searchbox!.set_text("", GUI::TextBox::AllowCallback::No)
|
||||
view.searchbox!.set_focus(false, GUI::TextBox::FocusSource::Programmatic)
|
||||
|
||||
@@ -166,9 +166,10 @@ namespace Weather {
|
||||
|
||||
.forecast_labels = []
|
||||
for i in 1..5 {
|
||||
let name = format("forecast{}", i)
|
||||
let label = must_be<GUI::Label>(
|
||||
"forecast_labels"
|
||||
.find_descendant_of_type_named<UnderlyingClassTypeOf<GUI::Label>>(format("forecast{}", i))
|
||||
.find_descendant_of_type_named<UnderlyingClassTypeOf<GUI::Label>>(AK::StringView(&name))
|
||||
)
|
||||
|
||||
.forecast_labels!.push(label)
|
||||
|
||||
Reference in New Issue
Block a user