Opened 11 years ago

Last modified 10 years ago

#42608 new submission

New port for fxload

Reported by: DanielO (Daniel O'Connor) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: fxload

Description

I ported fxload (used to upload firmware to Cypress EZ-USB devices) from FreeBSD.

Attachments (2)

fxload-macports.tgz (1.6 KB) - added by DanielO (Daniel O'Connor) 11 years ago.
Portfile (1.2 KB) - added by DanielO (Daniel O'Connor) 11 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 11 years ago by mf2k (Frank Schima)

Type: enhancementsubmission
Version: 2.2.1

comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Thanks. Some observations:

  • Since this project is hosted at bitbucket, consider using the bitbucket portgroup.
  • Since you're using "use_configure no", you need to add code to ensure you're UsingTheRightCompiler and -arch flags and add a universal variant.
  • ${prefix} already begins with a slash; you shouldn't add another one before it.
  • Manpages go in ${prefix}/share/man, not ${prefix}/man.
  • You don't need to create standard directories in destroot; MacPorts creates them for you.

comment:3 Changed 11 years ago by DanielO (Daniel O'Connor)

Thanks for the feedback.

I am not sure about the portgroup thing, I couldn't find any examples when I googled, can you show me one?

I think I've fixed the other issues, see the tar ball I uploaded.

Note that while I added a universal variant I didn't test it because I don't have the tool chain installed (I tried but MP wanted to install many things I didn't have time for), I believe the code will work correctly as both though.

Changed 11 years ago by DanielO (Daniel O'Connor)

Attachment: fxload-macports.tgz added

comment:4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

  • The universal variant won't work as written because you haven't included -arch flags anywhere. Add "[get_canonical_archflags cc]" to MP_CFLAGS and "[get_canonical_archflags ld]" to MP_LDFLAGS. Alternately, instead of patching the Makefile and introducing new variables, sometimes I just use CC="${configure.cc} [get_canonical_archflags cc]" and be done with it.
  • You can grep the existing portfiles to find ports using the bitbucket portgroup. Or just read the bitbucket portgroup file itself for basic usage information.

comment:5 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

  • There is no need to enclose the setting of the build.args in a pre-build block, since the values you're using are not being influenced by any variants.
  • Please convert all tabs to spaces.
  • Please obfuscate your email address in the maintainers line using our host:user format.

comment:6 Changed 11 years ago by DanielO (Daniel O'Connor)

Won't it be problematic if I don't add arch flags to the linker? (i.e. why does [get_canonical_archflags ld] exist?)

Changed 11 years ago by DanielO (Daniel O'Connor)

Attachment: Portfile added

comment:7 Changed 11 years ago by DanielO (Daniel O'Connor)

I've updated the Portfile to remove the patch and make the other changes you suggested.

comment:8 in reply to:  6 ; Changed 11 years ago by larryv (Lawrence Velázquez)

Replying to darius@…:

Won't it be problematic if I don't add arch flags to the linker?

That depends on how the build system links its object files. Sometimes it’s necessary, sometimes it isn’t.

comment:9 in reply to:  8 Changed 11 years ago by DanielO (Daniel O'Connor)

Replying to larryv@…:

Replying to darius@…:

Won't it be problematic if I don't add arch flags to the linker?

That depends on how the build system links its object files. Sometimes it’s necessary, sometimes it isn’t.

So for maximum robustness the patch is probably a good idea?

I don't care either way, but I'd like to not have to handle bug reports about it later ;)

comment:10 Changed 10 years ago by DanielO (Daniel O'Connor)

Any progress on this? I just tested it on Yosemite and it seems to work fine.

Note: See TracTickets for help on using tickets.