Replies: 28 comments 1 reply
-
Hi @umarcor, first of all, a big thank you for creating the PKGBUILD recipe! A I think that we can easily do something similar for the Greetings! |
Beta Was this translation helpful? Give feedback.
-
Update, I added the following config for win32* {
TARGET = SerialStudio
RC_FILE = deploy/windows/resources/info.rc
# MSYS2 integration
target.path = /bin
license.path = /share/licenses/
license.files += LICENSE.md
INSTALLS += target license
} Please let me know if this configuration allows you to run |
Beta Was this translation helpful? Give feedback.
-
@alex-spataru you were so fast! Thanks for your quick and proactive reaction! I created #9 for iterating faster on this. You should be able to push to that branch (or create another one based on that), if you want. It seems that the new Therefore, I think that just honouring |
Beta Was this translation helpful? Give feedback.
-
In order to have some reference, I found that the fritzing package uses Qt5 (qmake) too, and there is a patch for dealing with these installation paths. See:
It seems that |
Beta Was this translation helpful? Give feedback.
-
Hi @umarcor, I'll check what can be done so that Regarding:
And:
I think that adding specific Greetings! |
Beta Was this translation helpful? Give feedback.
-
@umarcor I added the following code in #-------------------------------------------------------------------------------
# MSYS2 integration
#-------------------------------------------------------------------------------
win32-g++ {
target.path = $$(pkgdir)$$(MINGW_PREFIX)/bin
license.path = $$(pkgdir)$$(MINGW_PREFIX)/share/licenses/$$(_realname)
license.files += LICENSE.md
INSTALLS += target license
} This only affects Windows builds using In this configuration, |
Beta Was this translation helpful? Give feedback.
-
Hi @alex-spataru! Thanks again for your quick reaction. I did try the modifications you did, but it does not work as expected. There are two functions in the build:
Therefore, your proposed code is interpreted as follows:
And the result is: https://github.com/Serial-Studio/Serial-Studio/runs/1796167547?check_suite_focus=true#step:5:1161
By looking at the generated makefile:
So, I asked for help in the MSYS2 community. Hope someone can provide some guidelines. |
Beta Was this translation helpful? Give feedback.
-
@alex-spataru, I think I found a solution by following the advice in the MSYS2 chat. Please, see #9. Precisely 8484157. Let me know if you can cherry-pick it. |
Beta Was this translation helpful? Give feedback.
-
@umarcor Looks good to me! I just executed Anyways, the commands that I executed where:
Please let me know if I executed the right commands. |
Beta Was this translation helpful? Give feedback.
-
@alex-spataru that's correct! I rebased and pushed again for ensuring that everything works as expected. I got the arbitrary |
Beta Was this translation helpful? Give feedback.
-
@umarcor Perfect! The workflow looks a lot better with your changes. Should I mark your PR as 'ready for review'? |
Beta Was this translation helpful? Give feedback.
-
@alex-spataru I'm not sure about that. There is that arbitrary At the same time, I will split the workflow enhancements for Linux/macOS, so that you can pick them if you wish. |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot! I just cherry-picked those changes.
Ok, I can add the The text displayed with
Note that none of these CLI commands have been implemented yet. |
Beta Was this translation helpful? Give feedback.
-
My main concern is having some "smoke test" for ensuring that the binary was built successfully. Locally, I can execute Serial Studio, because I do have a display. However, I cannot do it CI. Therefore, The specific request for packagers is allowing to disable the automatic version check. That's not exclusive for MSYS2, but for any system package. |
Beta Was this translation helpful? Give feedback.
-
I had overlooked this. I think the option should not be a runtime option, but defined at build time. The point is that the automatic version checker points to the tarballs/zipfiles/installers in the releases of this repo. However, when packaged, users are expected to update the tool using the same package manager they used for installing it. Hence, as soon as you publish a new release and system packages are "outdated", users will intuitively download a different build and have a duplicated setup. Instead, I think that the automatic check/update should be enabled in the binaries you provide in this repo only. |
Beta Was this translation helpful? Give feedback.
-
@umarcor I just added the option to run Serial Studio with the |
Beta Was this translation helpful? Give feedback.
-
Hi @alex-spataru! I just tested it both in CI and locally. The # ./pkg/mingw-w64-x86_64-serial-studio/mingw64/bin/SerialStudio.exe --version
# ./pkg/mingw-w64-x86_64-serial-studio/mingw64/bin/SerialStudio.exe -v
https://github.com/umarcor/Serial-Studio/runs/1836326477?check_suite_focus=true#step:5:1167 |
Beta Was this translation helpful? Give feedback.
-
Well, I began investigating what could cause the issue, and I found out that Windows apps have two modes:
GUI apps cannot display console output (console output, even
However, this will cause a console window to be opened alongside the GUI application (and I have a feeling that most users would not approve of that). Here is a screenshot of Serial Studio executed directly from the file explorer (not through I found a solution that may work for this case (StackOverflow link). We basically add the following code in #ifdef Q_OS_WIN
#include <windows.h>
#endif
int main(int argc, char **argv) {
// Hide console window on Microsoft Windows when there are no CLI arguments
#ifdef Q_OS_WIN
if( argc < 2 )
::ShowWindow( ::GetConsoleWindow(), SW_HIDE );
#endif
// Proceed to init...
} However, the console window is still shown for an instant while launching the application (and I really don't like what I am doing here, its an ugly hack just to get basic functionality). I see two possible solutions to this problem:
Some users recommended making a small non-GUI app that launches the GUI app to get around this issue. But I really think that would be an overkill just to be able to use EDIT: Forget what I said earlier, I found a working solution (https://stackoverflow.com/a/41701133). I'll push my changes in a moment. |
Beta Was this translation helpful? Give feedback.
-
@alex-spataru see https://github.com/umarcor/Serial-Studio/runs/1836612927?check_suite_focus=true#step:5:1167
All I did was add a To me that output is enough. I think the problem with using What you said about |
Beta Was this translation helpful? Give feedback.
-
@alex-spataru I saw your edit now. I rebased and pushed. It works! Thanks a lot, again! # ./pkg/mingw-w64-x86_64-serial-studio/mingw64/bin/SerialStudio.exe -v
Serial Studio version 1.0.14
Written by Alex Spataru <https://github.com/alex-spataru> |
Beta Was this translation helpful? Give feedback.
-
@umarcor No problem! Thanks for contributing to this project & for the patience! I'll notify you when I add the option of disabling the automatic updater completely, but that will be in a couple of hours. |
Beta Was this translation helpful? Give feedback.
-
Or days, weeks. No rush at all, mate! It'll be done when it's done, neither faster nor later 😉 |
Beta Was this translation helpful? Give feedback.
-
I just added the option to disable the updater via preprocessor definitions. The auto-updater is automatically disabled in MinGW builds. |
Beta Was this translation helpful? Give feedback.
-
Thanks! I will wait until you tag 1.0.14 so I can check the behaviour before and after the fix. Currently, it is uneffective because the version is 1.0.13, so the auto-updater is not triggered. |
Beta Was this translation helpful? Give feedback.
-
Hi @umarcor, I just released another version. SS versions 1.0.14 & 1.0.15 compiled with MinGW should not warn about today's update. |
Beta Was this translation helpful? Give feedback.
-
Thanks Alex! I tested it locally and it works nice! I updated the MSYS2 package and opened a PR: msys2/MINGW-packages#7964. Do you want to keep this issue open for visibility and future coordination? Or shall we close it? |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot! I really appreciate the effort you put into this project.
I think that the best thing to do is to convert this issue into a discussion for visibility and future coordination. I'll do that in a few moments. |
Beta Was this translation helpful? Give feedback.
-
Hi @umarcor, I am currently transferring Serial Studio to Qt 6.2.0. If possible, please let me know if we need to make additional changes to the |
Beta Was this translation helpful? Give feedback.
-
Earlier today, a PKGBUILD recipe for Serial-Studio was accepted in msys2/MINGW-packages) (see msys2/MINGW-packages#7682 and mingw-w64-serial-studio).
The package was already built for MINGW32 and MINGW64. Those are available at staging-mingw. Most impatient users can download the
mingw-w64-*serial-studio-*.zst
files and install them withpacman -U *.zst
. In the following days, maintainers will sign and upload them to thepacman
repositories.Serial-Studio was included in group
mingw-w64-*-eda
, which includes multiple tools/projects related to electronic design automation. See hdl.github.io/MINGW-packages for further details.@alex-spataru, as you can see in https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-serial-studio/PKGBUILD#L36, I "had to" install the binary directly, since I couldn't find a
make install
target. Is that correct? Shall we change it for future releases?BTW, congrats for this nice looking and offensively easy to build project! 😄
Beta Was this translation helpful? Give feedback.
All reactions