unity8: mir does not build anymore (removed unity8 from pmaports.git)
- mir 1.1.2 was packaged in postmarketOS (current upstream version as of writing is 1.4.0)
- last real update of the pmaport was half a year ago
- since then, the package needs to be rebuilt (with pkgrel bump) every now and then due to updates of dependencies (boost, protobuf, ...) and related soname bumps
- upstream does not build mir with as recent versions of boost and protobuf as we do, therefore it may break after such pkgrel bumps
- last time this happened, I've managed to fix the package and upstream the fixes
- this is pretty time consuming, especially because the package needs to be built with clang, and we don't have ccache working with that - building the whole thing on my laptop takes about 50 minutes
- now it broke again, and after fixing two issues and trying to fix the next one for some time (see below), I realized that I don't have the time to fix it up right now
- upgrading the package to 1.4.0 is not as simple as increasing the version, it needs new dependencies and in the issues I've looked into so far, it would not have helped because the related source code did not change in these places
- as of writing, the upstream-compat CI check is complaining about the unity8 dir
So... to avoid this timesink, I'm deleting the unity8 dir for now. If somebody wants to continue the unity8 port at some time, please try to upgrade mir to the latest version first and get that version building, together with everything else in the unity8 dir.
Here is everything before it was deleted, so it can be easily restored: https://gitlab.com/postmarketOS/pmaports/tree/8ed829516acd65f6d6040e8aab601dbc41198416/unity8
Related issue (about the state of unity 8 in general): #190 (closed)
The current set of issues with mir:
- missing throw_exception.hpp include
- Some -Werror related warning, which went away with
-DMIR_FATAL_COMPILE_WARNINGS=OFF
in the APKBUILD - Some errors while building the tests:
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:166:1: error: call to implicitly-deleted default constructor of '(anonymous namespace)::AbstractShell'
TEST_F(AbstractShell, open_session_adds_session_to_window_manager)
^
/usr/include/gtest/gtest.h:2317:3: note: expanded from macro 'TEST_F'
GTEST_TEST_(test_fixture, test_name, test_fixture, \
^
/usr/include/gtest/internal/gtest-internal.h:1310:3: note: expanded from macro 'GTEST_TEST_'
GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {}\
^
/usr/include/gtest/internal/gtest-internal.h:1304:3: note: expanded from macro 'GTEST_TEST_CLASS_NAME_'
test_case_name##_##test_name##_Test
^
<scratch space>:97:1: note: expanded from here
AbstractShell_open_session_adds_session_to_window_manager_Test
^
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:161:32: note: default constructor of 'AbstractShell' is implicitly deleted because field 'cookie' of const-qualified type 'const std::vector<uint8_t>' (aka 'const vector<unsigned char>') would not be initialized
std::vector<uint8_t> const cookie;
^
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:178:1: error: call to implicitly-deleted default constructor of '(anonymous namespace)::AbstractShell'
TEST_F(AbstractShell, close_session_removes_session_from_window_manager)
^
/usr/include/gtest/gtest.h:2317:3: note: expanded from macro 'TEST_F'
GTEST_TEST_(test_fixture, test_name, test_fixture, \
^
/usr/include/gtest/internal/gtest-internal.h:1310:3: note: expanded from macro 'GTEST_TEST_'
GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {}\
^
/usr/include/gtest/internal/gtest-internal.h:1304:3: note: expanded from macro 'GTEST_TEST_CLASS_NAME_'
test_case_name##_##test_name##_Test
^
<scratch space>:134:1: note: expanded from here
AbstractShell_close_session_removes_session_from_window_manager_Test
^
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:161:32: note: default constructor of 'AbstractShell' is implicitly deleted because field 'cookie' of const-qualified type 'const std::vector<uint8_t>' (aka 'const vector<unsigned char>') would not be initialized
std::vector<uint8_t> const cookie;
^
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:191:1: error: call to implicitly-deleted default constructor of '(anonymous namespace)::AbstractShell'
TEST_F(AbstractShell, close_session_notifies_session_event_sink)
^
/usr/include/gtest/gtest.h:2317:3: note: expanded from macro 'TEST_F'
GTEST_TEST_(test_fixture, test_name, test_fixture, \
^
/usr/include/gtest/internal/gtest-internal.h:1310:3: note: expanded from macro 'GTEST_TEST_'
GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {}\
^
/usr/include/gtest/internal/gtest-internal.h:1304:3: note: expanded from macro 'GTEST_TEST_CLASS_NAME_'
test_case_name##_##test_name##_Test
^
<scratch space>:29:1: note: expanded from here
AbstractShell_close_session_notifies_session_event_sink_Test
^
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:161:32: note: default constructor of 'AbstractShell' is implicitly deleted because field 'cookie' of const-qualified type 'const std::vector<uint8_t>' (aka 'const vector<unsigned char>') would not be initialized
std::vector<uint8_t> const cookie;
^
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:204:1: error: call to implicitly-deleted default constructor of '(anonymous namespace)::AbstractShell'
TEST_F(AbstractShell, close_session_removes_existing_session_surfaces_from_window_manager)
^
/usr/include/gtest/gtest.h:2317:3: note: expanded from macro 'TEST_F'
GTEST_TEST_(test_fixture, test_name, test_fixture, \
^
/usr/include/gtest/internal/gtest-internal.h:1310:3: note: expanded from macro 'GTEST_TEST_'
GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {}\
^
/usr/include/gtest/internal/gtest-internal.h:1304:3: note: expanded from macro 'GTEST_TEST_CLASS_NAME_'
test_case_name##_##test_name##_Test
^
<scratch space>:63:1: note: expanded from here
AbstractShell_close_session_removes_existing_session_surfaces_from_window_manager_Test
^
/home/pmos/build/src/mir-1.1.2_p20190914004605/tests/unit-tests/scene/test_abstract_shell.cpp:161:32: note: default constructor of 'AbstractShell' is implicitly deleted because field 'cookie' of const-qualified type 'const std::vector<uint8_t>' (aka 'const vector<unsigned char>') would not be initialized
std::vector<uint8_t> const cookie;
^
Edited by Oliver Smith