Opened 10 years ago

Closed 10 years ago

Last modified 9 years ago

#43564 closed submission (fixed)

girara @0.2.0

Reported by: harciga Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc:
Port: girara

Description

New port

Attachments (9)

Portfile (1.7 KB) - added by harciga 10 years ago.
patch-config.mk (296 bytes) - added by harciga 10 years ago.
patch-Makefile (2.8 KB) - added by harciga 10 years ago.
Portfile.2 (1.7 KB) - added by harciga 10 years ago.
Portfile.3 (1.7 KB) - added by harciga 10 years ago.
patch-Makefile.diff (2.8 KB) - added by harciga 10 years ago.
patch-config.mk.diff (296 bytes) - added by harciga 10 years ago.
Portfile.4 (1.9 KB) - added by harciga 10 years ago.
Portfile.5 (1.9 KB) - added by harciga 10 years ago.

Download all attachments as: .zip

Change History (16)

Changed 10 years ago by harciga

Attachment: Portfile added

Changed 10 years ago by harciga

Attachment: patch-config.mk added

Changed 10 years ago by harciga

Attachment: patch-Makefile added

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: pwmt removed

Thanks. Some observations:

  • There should be a blank line between the "# $Id$" line and the "PortSystem 1.0" line.
  • The license field should just be "zlib" (not "zlib License").
  • The homepage variable could be used in the definition of master_sites.
  • The line "distname girara-${version}" should be removed because that is the default.
  • The checksums for the patchfiles should be removed because checksums are not used for local patchfiles.
  • The distname should be removed from the checksums line because there is only one file being checksummed.
  • Because you use "use_configure no" you should add code to ensure you're UsingTheRightCompiler, use the right -arch flags, and add a universal variant if possible.
  • The dependency on glib2 should be written so that glib2-devel could satisfy it.
  • The patchfile names should be of the form "patch-*.diff".

In patch-Makefile:

  • The install_name is usually set with "-install_name"; if there is no special reason why you instead used "-Wl,-dylib_install_name,", it should be changed (in both places)
  • Have you reported the OS X compatibility issues that necessitated writing this patch to the developers of girara so that they can fix the build system so that these patches are no longer needed in the future? If so please let us know the URL of the bug report, mailing list post, etc.

comment:2 in reply to:  1 Changed 10 years ago by harciga

Replying to ryandesign@…:

Thanks. Some observations:

  • There should be a blank line between the "# $Id$" line and the "PortSystem 1.0" line.

Done.

  • The license field should just be "zlib" (not "zlib License").

Done.

  • The homepage variable could be used in the definition of master_sites.

Done.

  • The line "distname girara-${version}" should be removed because that is the default.

Done.

  • The checksums for the patchfiles should be removed because checksums are not used for local patchfiles.

Done.

  • The distname should be removed from the checksums line because there is only one file being checksummed.

Done.

  • Because you use "use_configure no" you should add code to ensure you're UsingTheRightCompiler, use the right -arch flags, and add a universal variant if possible.

-- UsingTheRightCompiler

I have checked the Makefile and it uses ${CC}, I also added the recommended lines for Ports with nonstandard or non-existent configure scripts https://trac.macports.org/wiki/UsingTheRightCompiler#nonstandard-ports

-- build with -arch- flags

Is this not handled by default?

-- add a universal variant

Why? §5.3.7.1 Configure Universal

There is a default universal variant made available to all ports by MacPorts base, so redefining universal keywords should only be done to make a given port compile if the default options fail to do so.

  • The dependency on glib2 should be written so that glib2-devel could satisfy it.

Done.

  • The patchfile names should be of the form "patch-*.diff".

Done.

In patch-Makefile:

  • The install_name is usually set with "-install_name"; if there is no special reason why you instead used "-Wl,-dylib_install_name,", it should be changed (in both places)

I believe it's more compatible with older versions of XCode CLT, it's a synonym for --install_name in recent versions so it shouldn't matter.

  • Have you reported the OS X compatibility issues that necessitated writing this patch to the developers of girara so that they can fix the build system so that these patches are no longer needed in the future? If so please let us know the URL of the bug report, mailing list post, etc.

I'm in touch with a couple devs in their IRC channel at oftc#pwmt, my priority is to support the latest versions through macports.

Changed 10 years ago by harciga

Attachment: Portfile.2 added

comment:3 Changed 10 years ago by harciga

Apparently I missed ${destroot} in destroot.args

Last edited 10 years ago by harciga (previous) (diff)

Changed 10 years ago by harciga

Attachment: Portfile.3 added

Changed 10 years ago by harciga

Attachment: patch-Makefile.diff added

Changed 10 years ago by harciga

Attachment: patch-config.mk.diff added

comment:4 Changed 10 years ago by harciga

Ok, added -arch flags and variant universal and tested the Portfile to work correctly.

Is there anything else I should address for approval?

Changed 10 years ago by harciga

Attachment: Portfile.4 added

comment:5 Changed 10 years ago by harciga

This Portfile is not ready for submission, variant universal is not building fat binaries and -arch flags while it builds cleanly produces a misbehaving binary.

I understand variant universal can be removed and worked at a later date if fat binaries are requested, but -arch flags are a requisite for port approval because of the use_configure no directive. I have to find out what is causing the bug.

Changed 10 years ago by harciga

Attachment: Portfile.5 added

comment:6 in reply to:  5 Changed 10 years ago by harciga

universal variant is working correctly now. And the library is behaving correctly.

$ lipo -info /opt/local/lib/libgirara-gtk3.1.1.dylib
Architectures in the fat file: /opt/local/lib/libgirara-gtk3.1.1.dylib are: x86_64 i386

Let me know if there is anything left to address.

Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:7 Changed 10 years ago by neverpanic (Clemens Lang)

Resolution: fixed
Status: newclosed

Committed in r120310 with the following changes:

  • Added active_variants PortGroup and required gtk3 +x11, because girara uses gdkx.h, which isn't provided in gtk3 +quartz.
  • Changed category to devel and gnome, because there is no primary gtk category.
  • Added VERBOSE=1 to build.env to simplify debugging of build failures.
Last edited 10 years ago by neverpanic (Clemens Lang) (previous) (diff)
Note: See TracTickets for help on using tickets.