[csw-devel] SF.net SVN: gar:[20987] csw/mgar/pkg

Maciej Bliziński maciej at opencsw.org
Sat May 4 19:45:14 CEST 2013


On Sat, May 04, 2013 at 07:16:59PM +0200, Ralph Böhme wrote:
> 2013/5/4 Maciej Bliziński <maciej at opencsw.org>:
> >> +DISTFILES  = $(NAME)-$(VERSION).tar.bz2
> >
> > You can use DISTNAME instead of $(NAME)-$(VERSION).
> 
> Yeah, I tend to forget the template value.
> 
> > Note to self: we should fix the template.
> 
> Yes please. ;)

Just checked, it has already been fixed. Cool!
 
> >
> >> +GARCOMPILER = GNU
> >> +
> >> +EXTRA_PKG_CONFIG_DIRS = $(prefix)/X11/lib
> >
> > We should not be using /opt/csw/X11, we should be using system X11
> > instead.
> 
> ??? Why?

How it started:
http://lists.opencsw.org/pipermail/maintainers/2010-May/012133.html

How it ended:
http://lists.opencsw.org/pipermail/maintainers/2010-March/011672.html

> Also that would mean I'd have to add the system pkg-config paths to
> EXTRA_PKG_CONFIG_DIRS so that the package finds xproto.pc.
> 
> >> +EXTRA_INC = $(prefix)/include/gtk-2.0
> >> +EXTRA_INC += $(prefix)/include/cairo
> >> +EXTRA_INC += $(prefix)/include/pango-1.0
> >> +EXTRA_INC += $(prefix)/lib/gtk-2.0/include/
> >> +EXTRA_INC += $(prefix)/include/gdk-pixbuf-2.0/
> >> +EXTRA_INC += $(prefix)/include/atk-1.0/
> >
> > This doesn't look right. Normally, you only have -I/opt/csw/include
> > (which is the default already) and source code refers to relative paths
> > underneath. What happens when you remove these lines?
> 
> Afaict, a package Makefile (and probably configure.ac) for a
> particular subdirectory is broken and misses to add the appropiate
> include search paths. If we remove them compilation fails with missing
> headers. For every single one of them

Okay, if it's necessary. You could add a line or a few lines of
explanation.

> >> +CONFIGURE_ARGS += CFLAGS="-std=c99 -D__EXTENSIONS__"
> >
> > __EXTENSIONS__ is a flag meaningful for Solaris Studio, is it meaningful
> > for GCC at all? I would think it isn't.
> 
> The define is meant to tweak the compilation _enviroment_ ie it
> effects the interfaces from a requested C/POSIX/SUS standard.
> The package requests C99 standard which in Solaris hides all
> non-standard interfaces. Defining __EXTENSIONS__ brings them back,
> regardless of the compiler.
>
> $ man standards.5 | grep -B 5 -A 2 EXTENSIONS
> 
>      standard. If the application is using interfaces and headers
>      not  defined  by that standard, then in addition to defining
>      the appropriate standard feature test macro,  it  must  also
>      define  __EXTENSIONS__. Defining __EXTENSIONS__ provides the
>      application with access to all interfaces and headers not in
>      conflict  with  the specified standard. The application must
>      define __EXTENSIONS__ either on the compile command line  or
>      within the application source files.

Cool, if you add this explanation (or a link?) here, it'll be clearer
for readers.

One more thing: When you commit new code, use:

mgar ci -m "what you've updated"

mgar will add additional information to the commit message, e.g. which
package is the commit for.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.opencsw.org/pipermail/devel/attachments/20130504/66b66c0d/attachment.asc>


More information about the devel mailing list