New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rpm packaging #729
Comments
@shenlebantongying Hello, I am interested in packaging this into Fedora. Actually, I have made the tomlplusplus dependency into fedora not long ago. There are some third-party libraries that should be avoided, using the corresponding system dependencies is suggested. Maybe, we can add options (OFF by default), like For toml++, the include directive of toml++ header file needs to be modified. Lines 1 to 4 in 4b8c87a
❯ rpm -ql tomlplusplus-devel
/usr/include/toml++
/usr/include/toml++/impl
/usr/include/toml++/impl/array.h
/usr/include/toml++/impl/array.inl
/usr/include/toml++/impl/at_path.h
/usr/include/toml++/impl/at_path.inl
/usr/include/toml++/impl/date_time.h
/usr/include/toml++/impl/formatter.h
/usr/include/toml++/impl/formatter.inl
/usr/include/toml++/impl/forward_declarations.h
/usr/include/toml++/impl/header_end.h
/usr/include/toml++/impl/header_start.h
/usr/include/toml++/impl/json_formatter.h
/usr/include/toml++/impl/json_formatter.inl
/usr/include/toml++/impl/key.h
/usr/include/toml++/impl/make_node.h
/usr/include/toml++/impl/node.h
/usr/include/toml++/impl/node.inl
/usr/include/toml++/impl/node_view.h
/usr/include/toml++/impl/parse_error.h
/usr/include/toml++/impl/parse_result.h
/usr/include/toml++/impl/parser.h
/usr/include/toml++/impl/parser.inl
/usr/include/toml++/impl/path.h
/usr/include/toml++/impl/path.inl
/usr/include/toml++/impl/preprocessor.h
/usr/include/toml++/impl/print_to_stream.h
/usr/include/toml++/impl/print_to_stream.inl
/usr/include/toml++/impl/simd.h
/usr/include/toml++/impl/source_region.h
/usr/include/toml++/impl/std_except.h
/usr/include/toml++/impl/std_initializer_list.h
/usr/include/toml++/impl/std_map.h
/usr/include/toml++/impl/std_new.h
/usr/include/toml++/impl/std_optional.h
/usr/include/toml++/impl/std_string.h
/usr/include/toml++/impl/std_string.inl
/usr/include/toml++/impl/std_utility.h
/usr/include/toml++/impl/std_variant.h
/usr/include/toml++/impl/std_vector.h
/usr/include/toml++/impl/table.h
/usr/include/toml++/impl/table.inl
/usr/include/toml++/impl/toml_formatter.h
/usr/include/toml++/impl/toml_formatter.inl
/usr/include/toml++/impl/unicode.h
/usr/include/toml++/impl/unicode.inl
/usr/include/toml++/impl/unicode_autogenerated.h
/usr/include/toml++/impl/value.h
/usr/include/toml++/impl/version.h
/usr/include/toml++/impl/yaml_formatter.h
/usr/include/toml++/impl/yaml_formatter.inl
/usr/include/toml++/toml.h
/usr/lib64/cmake/tomlplusplus
/usr/lib64/cmake/tomlplusplus/tomlplusplusConfig.cmake
/usr/lib64/cmake/tomlplusplus/tomlplusplusConfigVersion.cmake
/usr/lib64/libtomlplusplus.so
/usr/lib64/pkgconfig/tomlplusplus.pc It seemed that qtsingleapplication is also one of the dependencies.The similar dependencies also have been packaged for fedora, but they are built against qt4 or qt5. ref: https://packages.fedoraproject.org/pkgs/qtsingleapplication/ |
I can add an option to use system toml. The qtsingleapplication cannot. |
@xiaoyifang knows more about eb. Right now, the simple-eb is used only for windows build. On linux, https://packages.fedoraproject.org/pkgs/eb/ is used. |
when packaging rpm , will qmake be used or cmake? |
qmake? Before the next qt release at the end of this year, we can use qmake at the moment? |
I would prefer cmake. |
Then I will double-check the CMake build. We can ship it to Fedora as the first official CMake build :) |
I have a question about the github tags. The curent tag names, like https://github.com/xiaoyifang/goldendict-ng/releases/tag/v23.06.01-ChildrenDay.230531.e771a65f , is too long and not standard. Could you set it to normal versioning, like v1.0.0, or just v23.06.01 when the new release is published later? |
Next time I'll take this form as an extra release tag alongside the current release tag. handled here #786 ,will take effect next time. |
@xiaoyifang I think we should just use Separately packing a library and installing a The name |
on Linux/Macos , what about use libeb directly and not use simple-eb. |
@topazus We can use CMake. Defaults options will enable all features. Add those options the |
a new release package and tag have been made. The cmake changes have also been pushed to master |
Привет. Интерфейс программы при сборке её с помощью cmake остаётся не локализованным, не смотря на то, что файлы локализации установлены. Вопрос, почему? |
Sorry for the a bit late response. There are several issues about goldendict-ng Fedora packaging.
|
Adding the solution suggested will stop the binary linked to I deleted the We only use it in a few places at the moment. Turning on
I am not sure why cmake is not picking up the flag, but we can add -as-needed manually. The check just read |
The problem now is that the upstream reviewer appears to be missing for some reason. I don't think further actions need to be done on our side. |
@shenlebantongying With build on the latest commit of the repository and install the package, the
I do not know where the RPATH introduced. Can you clarify this? Ref: https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling |
I can reproduce this on my machine. Weirdly, according to this note, stripping RPATH is the default behaviour of Line 217 in b6420c8
|
Do you have evidence links that says this behavior as I did not encounter before? |
My wording was bad. The document says RPATH will be cleared when doing https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling#default-rpath-settings
My current suspicion is Line 51 in b6420c8
Not sure why would Qt do that. Linux distros clearly against it https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild https://doc.qt.io/qt-6/qt-standard-project-setup.html
I think we can avoid qt_standard_project_setup for now. |
@shenlebantongying Thanks for the explanation on this, I will set |
Sample RPM to build with qmake/qt5 + qmake/qt6: https://build.opensuse.org/package/view_file/Education/goldendict-ng/goldendict-ng.spec
Help wanted.
The text was updated successfully, but these errors were encountered: