Opened 11 years ago
Closed 10 years ago
#43614 closed update (fixed)
mupdf @1.4 update
Reported by: | harciga | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | haspatch | Cc: | ryandesign (Ryan Carsten Schmidt), seanfarley (Sean Farley) |
Port: | mupdf |
Description
I'd like to take ownership of this port too
Attachments (5)
Change History (18)
Changed 11 years ago by harciga
Changed 11 years ago by harciga
Attachment: | patch-Makerules.diff added |
---|
comment:1 Changed 11 years ago by seanfarley (Sean Farley)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… sean@… added |
---|
In the future, please supply a unified diff of your portfile changes, instead of a complete new portfile.
Your new version removes the platform darwin 8
block. Did you verify that it builds correctly on Tiger without this block? If not, I can try it a little later on.
comment:3 Changed 11 years ago by harciga
Oops, sorry I forgot about the unified diff, been working on 3 new port submissions and I didn't think of it.
No, I didn't verify it on Tiger, I don't have access to it.
comment:4 follow-up: 5 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
So how did you decide to remove the platform darwin 8
block?
Also, you removed the code that caused the port to use -arch
flags, so now it doesn't anymore. That needs to be put back. And a universal variant added, if possible.
comment:5 follow-ups: 6 7 Changed 11 years ago by harciga
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Replying to ryandesign@…:
So how did you decide to remove the
platform darwin 8
block?
Should I put that block back? I removed it because I had no way to test it.
Also, you removed the code that caused the port to use
-arch
flags, so now it doesn't anymore. That needs to be put back. And a universal variant added, if possible.
So those are the arch flags you mentioned are required for all ports without configure? I'll put them back as well as on the other port submissions then.
I'll see what I can do about the universal variant Ryan.
comment:6 follow-up: 8 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to starkhalo@…:
Replying to ryandesign@…:
So how did you decide to remove the
platform darwin 8
block?Should I put that block back? I removed it because I had no way to test it.
Well, that block was added to fix a build failure reported on Tiger in #33240. So unless something has changed, the block may still be necessary. I'll test on Tiger shortly and let you know.
Also, you removed the code that caused the port to use
-arch
flags, so now it doesn't anymore. That needs to be put back. And a universal variant added, if possible.So those are the arch flags you mentioned are required for all ports without configure? I'll put them back as well as on the other port submissions then.
All ports that build architecture-specific software (and don't just install text files) should use -arch
flags. If a port uses an unusual build system, then you have to add code to add those flags manually, i.e. by running [get_canonical_archflags]
and putting its value wherever the build system understands it.
comment:7 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to starkhalo@…:
I'll see what I can do about the universal variant Ryan.
Once you reinstate the use of [get_canonical_archflags]
, adding a universal variant could be as simple as adding the line variant universal {}
anywhere before the first time you call [get_canonical_archflags]
. Or it may be that the reason we hadn't done that before is that there is some problem with building universal.
comment:8 follow-up: 9 Changed 11 years ago by harciga
Replying to ryandesign@…:
Replying to starkhalo@…:
Replying to ryandesign@…:
So how did you decide to remove the
platform darwin 8
block?Should I put that block back? I removed it because I had no way to test it.
Well, that block was added to fix a build failure reported on Tiger in #33240. So unless something has changed, the block may still be necessary. I'll test on Tiger shortly and let you know.
Also, you removed the code that caused the port to use
-arch
flags, so now it doesn't anymore. That needs to be put back. And a universal variant added, if possible.So those are the arch flags you mentioned are required for all ports without configure? I'll put them back as well as on the other port submissions then.
All ports that build architecture-specific software (and don't just install text files) should use
-arch
flags. If a port uses an unusual build system, then you have to add code to add those flags manually, i.e. by running[get_canonical_archflags]
and putting its value wherever the build system understands it.
Ok, so after reading #33240 I put back the darwin 8
code, I really doubt it's going to build without it.
Also did a healthy read on Portfiles examples in the source tarballs regarding use_configure no
and [get_canonical_flags]
, I've put them back in the patch along with an empty variant universal
which built fine on my end, though I still have to look at examples on it since the documentation is severely lacking.
Also, the patch was made against r119826
Changed 11 years ago by harciga
Attachment: | Portfile-mupdf.diff added |
---|
comment:9 follow-up: 11 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to starkhalo@…:
Ok, so after reading #33240 I put back the
darwin 8
code, I really doubt it's going to build without it.
I verified that gmake
is still required for Tiger, but it still failed to build, because the build tried to use xcrun
, which did not exist back then. This is probably simply solvable by editing the Makerules file. xcrun
is used to find the path to command line programs when the command line tools are not installed, but MacPorts requires the command line tools to be installed, so running xcrun
is pointless for us.
comment:10 follow-up: 12 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
I've tried your patch, and although the newly added universal variant succeeds to build, the resulting software is not in fact universal, so this is not sufficient.
$ port -v installed mupdf The following ports are currently installed: mupdf @1.4_0+universal (active) platform='darwin 13' archs='i386 x86_64' $ lipo -info /opt/local/bin/mutool Non-fat file: /opt/local/bin/mutool is architecture: x86_64
comment:11 Changed 11 years ago by harciga
Replying to ryandesign@…:
Replying to starkhalo@…:
Ok, so after reading #33240 I put back the
darwin 8
code, I really doubt it's going to build without it.I verified that
gmake
is still required for Tiger, but it still failed to build, because the build tried to usexcrun
, which did not exist back then. This is probably simply solvable by editing the Makerules file.xcrun
is used to find the path to command line programs when the command line tools are not installed, but MacPorts requires the command line tools to be installed, so runningxcrun
is pointless for us.
I'm baffled by this. xcrun
only appears twice and only in Makerules
at lines 52-55 and 139-142. Both times inside an unreachable block code as ifeq "$(OS)"
prevents it.
I'll take a look and see how to fix this non-universal binary issue.
comment:12 Changed 11 years ago by harciga
Replying to ryandesign@…:
I've tried your patch, and although the newly added universal variant succeeds to build, the resulting software is not in fact universal, so this is not sufficient.
$ port -v installed mupdf The following ports are currently installed: mupdf @1.4_0+universal (active) platform='darwin 13' archs='i386 x86_64' $ lipo -info /opt/local/bin/mutool Non-fat file: /opt/local/bin/mutool is architecture: x86_64
Fixed.
$ lipo -info mudraw Architectures in the fat file: mudraw are: x86_64 i386 $ lipo -info mujstest Architectures in the fat file: mujstest are: x86_64 i386 $ lipo -info mupdf-x11 Architectures in the fat file: mupdf-x11 are: x86_64 i386 $ lipo -info mupdf-x11-curl Architectures in the fat file: mupdf-x11-curl are: x86_64 i386 $ lipo -info mutool Architectures in the fat file: mutool are: x86_64 i386
Replying to ryandesign@…:
Replying to starkhalo@…:
Ok, so after reading #33240 I put back the
darwin 8
code, I really doubt it's going to build without it.I verified that
gmake
is still required for Tiger, but it still failed to build, because the build tried to usexcrun
, which did not exist back then. This is probably simply solvable by editing the Makerules file.xcrun
is used to find the path to command line programs when the command line tools are not installed, but MacPorts requires the command line tools to be installed, so runningxcrun
is pointless for us.
Fixed.
I missed the patchfiles declaration and xcrun
is gone now, it should be working on Tiger now.
Keep in mind Portfile diff is for r119826
Thanks for all your input Ryan, let me know is there's anything left to address.
Changed 11 years ago by harciga
Attachment: | Portfile-mupdf.2.diff added |
---|
Changed 11 years ago by harciga
Attachment: | patch-Makerules.2.diff added |
---|
comment:13 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Committed in r119826. Thanks!