#34805 closed update (fixed)
poedit: Update to 1.5.2
Reported by: | mojca (Mojca Miklavec) | Owned by: | raimue (Rainer Müller) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | raimue (Rainer Müller), ruben+macports@… | |
Port: | poedit |
Description
I would like to request adding poedit-devel port. The reasons why poedit itself is not satisfactory for me:
- requires wxWidgets and thus conflicts with, say, gnuplot +wxwidgets_devel
- 1.4.6 messes up line breaks and keeps confusing version control
There are quite some Lion-specific fixes. On top of what's in Portfile, here are a few more variables from build.properties that might be worth fixing as well before configuring anything:
osx.xcoderoot=/Developer poedit.osx.sdk=10.6 poedit.osx.deploy=10.5 poedit.osx.arch.native=i386 poedit.osx.sdk.path=${osx.xcoderoot}/SDKs/MacOSX${poedit.osx.sdk}.sdk poedit.osx.cc=${osx.xcoderoot}/usr/bin/gcc poedit.osx.cxx=${osx.xcoderoot}/usr/bin/g++ poedit.osx.cflags.sdk=-isysroot ${poedit.osx.sdk.path} -mmacosx-version-min=${poedit.osx.deploy} poedit.osx.ldflags.sdk=${poedit.osx.cflags.sdk} -Wl,-syslibroot,${poedit.osx.sdk.path} -Wl,-macosx_version_min,${poedit.osx.deploy} poedit.osx.cflags=-O2 -ggdb3 ${poedit.osx.cflags.sdk} poedit.osx.ldflags=-ggdb3 ${poedit.osx.ldflags.sdk}
as well as some variables in build.xml. But I'm not sure which ones are actually used as I don't get i386 binary despite the quote above.
Attachments (3)
Change History (19)
Changed 12 years ago by mojca (Mojca Miklavec)
comment:1 Changed 12 years ago by mf2k (Frank Schima)
Port: | poedit-devel added; poedit removed |
---|---|
Version: | 2.1.1 |
comment:3 follow-up: 4 Changed 12 years ago by raimue (Rainer Müller)
Replying to mojca.miklavec.lists@…:
- requires wxWidgets and thus conflicts with, say, gnuplot +wxwidgets_devel
I already wanted to add a +wxwidgets_devel variant to poedit, or even just let the dependency be satisfied by either wxWidgets or wxWidgets-devel. However, poedit @1.4.6.1_0 does not build against wxWidgets-devel @2.9.3 (gexecute.cpp:40:10: fatal error: 'wx/mac/corefoundation/cfstring.h' file not found
).
Some comments on the submitted Portfile:
- Renaming to Poedit-devel.app is a good idea, but cannot be combined with wxWdigets-devel as default at the same time as that would defeat the purpose.
- The variant should be named +wxwidgets_devel.
- There should be no checksums when fetching from git.
- Why llvm-gcc-4.2? What is the problem with clang? The Portfile should have a comment with an explanation, so it can be removed when it is fixed later.
comment:4 follow-up: 5 Changed 12 years ago by mojca (Mojca Miklavec)
Replying to raimue@…:
I already wanted to add a +wxwidgets_devel variant to poedit, or even just let the dependency be satisfied by either wxWidgets or wxWidgets-devel. However, poedit @1.4.6.1_0 does not build against wxWidgets-devel @2.9.3 (
gexecute.cpp:40:10: fatal error: 'wx/mac/corefoundation/cfstring.h' file not found
).
That one is easy. See https://github.com/vslavik/poedit/commit/08fcc8bf4c93f1ca0628663b76609166a62ab7f4. But I believe there are other problems as well and it might be easier to just take the latest version than to backport all patches from latest version to 1.4.6.
Some comments on the submitted Portfile:
- Renaming to Poedit-devel.app is a good idea, but cannot be combined with wxWdigets-devel as default at the same time as that would defeat the purpose.
I don't understand.
- The variant should be named +wxwidgets_devel.
OK.
- There should be no checksums when fetching from git.
How do you do it without checksum to prevent complaints during installation?
- Why llvm-gcc-4.2? What is the problem with clang? The Portfile should have a comment with an explanation, so it can be removed when it is fixed later.
wxWidgets 2.9.3 (and consequently any given port depending on them) cannot be compiled with clang. This has been solved in 2.9.4, but that version hasn't been released yet. I have a version with patches ready in case that it will take another few months for them to release 2.9.4 (but it is not compatible with Tiger any more).
Mojca
comment:5 follow-up: 6 Changed 12 years ago by raimue (Rainer Müller)
Replying to mojca.miklavec.lists@…:
That one is easy. See https://github.com/vslavik/poedit/commit/08fcc8bf4c93f1ca0628663b76609166a62ab7f4. But I believe there are other problems as well and it might be easier to just take the latest version than to backport all patches from latest version to 1.4.6.
Thanks for the link! However, I ran into further problems as you assumed correctly. So this is not enough yet. I will probably look into this later again, but don't have the time at the moment.
- Renaming to Poedit-devel.app is a good idea, but cannot be combined with wxWdigets-devel as default at the same time as that would defeat the purpose.
I don't understand.
I see two options:
a) Renaming the provided application bundle to Poedit-devel.app removes the conflict with poedit.
b) Making wxWidgets-devel the default adds a conflict with poedit (which requires wxWidgets).
When implementing option b), option a) is not necessary anymore as poedit and poedit-devel would conflict anyway because of the dependency on wxWidgets and wxWidgets-devel, respectively.
How do you do it without checksum to prevent complaints during installation?
The key is using fetch.type git
. However, the github port group should already take care of that, just remove the checksums line.
wxWidgets 2.9.3 (and consequently any given port depending on them) cannot be compiled with clang.
Does the problem only apply to wxWidgets compilation or is the error in the provided header files? Why is that a problem for dependents?
This has been solved in 2.9.4, but that version hasn't been released yet. I have a version with patches ready in case that it will take another few months for them to release 2.9.4 (but it is not compatible with Tiger any more).
Tiger is a legacy platform and if upstream software drops support for it, we do not have obligations to support it any longer.
comment:6 Changed 12 years ago by mojca (Mojca Miklavec)
Replying to raimue@…:
I see two options:
a) Renaming the provided application bundle to Poedit-devel.app removes the conflict with poedit.
b) Making wxWidgets-devel the default adds a conflict with poedit (which requires wxWidgets).When implementing option b), option a) is not necessary anymore as poedit and poedit-devel would conflict anyway because of the dependency on wxWidgets and wxWidgets-devel, respectively.
Thank you, I didn't think of that. You are right of course (but then again, user could be free to use -wxWidgets_devel to use wxWidgets and still get a nonconflicting port).
How do you do it without checksum to prevent complaints during installation?
The key is using
fetch.type git
. However, the github port group should already take care of that, just remove the checksums line.
Thanks.
wxWidgets 2.9.3 (and consequently any given port depending on them) cannot be compiled with clang.
Does the problem only apply to wxWidgets compilation or is the error in the provided header files? Why is that a problem for dependents?
I don't know and, honestly, I don't care. As soon as 2.9.4 is out this won't be an issue any more anyway. (See http://trac.wxwidgets.org/ticket/13565 for the relevant ticket).
I figured out that I can build wxWidgets-devel (2.9.3) with the following patches:
- http://trac.wxwidgets.org/changeset/71086
- http://trac.wxwidgets.org/changeset/71517
- http://trac.wxwidgets.org/changeset/71518
- http://trac.wxwidgets.org/changeset/70737
- http://trac.wxwidgets.org/changeset/70711
- http://trac.wxwidgets.org/changeset/70709
- http://trac.wxwidgets.org/changeset/70385
and then gcc is not needed any more (neither for wxWidgets nor for dependencies). But I'm not sure what the release plan for 2.9.4 is. If they plan to postpone it for much longer, it might make sense to apply patches to 2.9.3. If they plan to release it soon, it might make more sense to simply wait.
Mojca
comment:7 Changed 12 years ago by mojca (Mojca Miklavec)
Three days ago Poedit 1.5.2 has been released, which actually makes this ticket "update request" rather than "new port request". Most probably one only needs to replace SHA sum with version tag (and possibly remove -devel flag) and the same Portfile should still work.
comment:8 Changed 12 years ago by mojca (Mojca Miklavec)
It seems that the following problem is present since recently:
osx_helpers.m:36:9: fatal error: 'Sparkle/Sparkle.h' file not found #import <Sparkle/Sparkle.h>
despite the --without-sparkle flag. I'll try to get it fixed upstream (or investigate otherwise).
comment:9 Changed 12 years ago by mojca (Mojca Miklavec)
Short of one non-fatal error:
/opt/local/bin/wxrc-2.9 -v -c -o compiled_xrc.cpp ./resources/menus.xrc ./resources/prefs.xrc ./resources/progress.xrc ./resources/properties.xrc ./resources/summary.xrc ./resources/toolbar.xrc ./resources/find.xrc ./resources/comment.xrc ./resources/manager.xrc ./resources/tm_update.xrc Error: File '/opt/local/var/macports/build/_path_devel_poedit/poedit/work/poedit-1.5.2/src/compiled_xrc.cpp' couldn't be removed (error 2: No such file or directory)
I basically got it working after applying a trivial Sparkle-related patch.
However, I'm left with a question: where can I find ${prefix}/share/locale/<lang>/LC_MESSAGES/wxstd.mo
in wxWidgets-devel?
Changed 12 years ago by mojca (Mojca Miklavec)
Attachment: | patch-sparkle.diff added |
---|
Sparkle-related patch for Poedit 1.5.2
Changed 12 years ago by mojca (Mojca Miklavec)
Attachment: | poedit.Portfile added |
---|
Portfile for Poedit 1.5.2
comment:10 Changed 12 years ago by raimue (Rainer Müller)
Owner: | changed from macports-tickets@… to raimue@… |
---|---|
Port: | poedit added; poedit-devel removed |
Status: | new → assigned |
Summary: | poedit-devel → poedit: Update to 1.5.2 |
Type: | request → update |
comment:11 Changed 12 years ago by mojca (Mojca Miklavec)
If the update has been waiting until now, I would suggest to wait for a couple more days for the author to publish some upstream patches to make the compilation work out-of-the-box on MacPorts. He said that the he already patched the sources, he only didn't make them public yet. This would probably be better than my ad-hoc patches for disabling Sparkle.
comment:12 Changed 12 years ago by raimue (Rainer Müller)
I am currently struggling with getting the dependencies of wxWidgets to build on my new machine with Mountain Lion (specifically, #35644). As I always want to test the software before committing, this will probably take a few days longer. If the new version of poedit removes the need for additional patches, that's another good reason to wait a little longer.
comment:13 Changed 12 years ago by mojca (Mojca Miklavec)
Patcehs are online now. It's now up to maintainer whether to fetch a specific commit or to include patches oven 1.5.2 separately. New commits also include a lot of translations that were missing in 1.5.2.
(There is still one non-fatal error and a couple of warnings though. Among other issues it would be nice to have wxWidgets' translations available.)
comment:14 Changed 12 years ago by raimue (Rainer Müller)
Sorry, I still couldn't come back to this since on my main machine libmikmod still does not build (#35644), which is in the recursive dependency chain of wxWidgets.
comment:15 Changed 12 years ago by raimue (Rainer Müller)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Finally committed an update to 1.5.4 in r102159.
Mojca, thank you for your work with the patches and communicating with upstream for this!
Poedit 1.5 Portfile (development version)