# I try to port pinta but I get compile error.



## sk8harddiefast (Feb 2, 2011)

Hi. I try to create a port for pinta.
All dependencies are installed ok but when return to install pinta, I get this error:

```
===>   Returning to build of pinta-0.6.1_1
===>   pinta-0.6.1_1 depends on executable: imake - found
===>   pinta-0.6.1_1 depends on executable: imake - found
===>  Configuring for pinta-0.6.1_1
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking for pkg-config... /usr/local/bin/pkg-config
checking for xbuild... /usr/local/bin/xbuild
checking for mono... /usr/local/bin/mono
checking pkg-config is at least version 0.9.0... yes
checking for MONO... yes
checking for GLIB_SHARP_20... yes
checking for GTK_SHARP_20... yes
checking for MONO_CAIRO... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pinta

pinta-0.6

  Build Environment
    Install Prefix:             /usr/local
    XBuild Path:                /usr/local/bin/xbuild
    Mono Runtime:               /usr/local/bin/mono
    Launch Script:              /usr/local/bin/pinta
    Installation Directory:     /usr/local/lib/pinta/

mv -f Makefile Makefile.bak
imake -DUseInstalled -I/usr/local/lib/X11/config
imake: No such file or directory
imake: No description file.
  Stop.
*** Error code 1
```

My Makefile


```
# New ports collection makefile for: pinta
# Date created:        1 February  2011
# Whom:                Ember George
#
# $FreeBSD$
#

PORTNAME=	pinta
PORTVERSION=	0.6.1
PORTREVISION=	1
CATEGORIES=	graphics
MASTER_SITES=	http://cloud.github.com/downloads/jpobst/Pinta/pinta-0.6-1.tar.gz
DISTNAME=	pinta-0.6-1
DISTFILES=      pinta-0.6-1.tar.gz
MAINTAINER=	sk8harddiefast@FreeBSD.org
COMMENT=	A Lightweight And Simple Alternative To The GIMP For Gnome

BUILD_DEPENDS=  monodevelop:${PORTSDIR}/devel/monodevelop \
	        mono:${PORTSDIR}/lang/mono \
		gtk-sharp:${PORTSDIR}/x11-toolkits/gtk-sharp20 \
                gnome-sharpx:${PORTSDIR}/11-toolkits/gnome-sharp20 \
		gnome-libs:${PORTSDIR}/x11/gnome-libs \
		imake:${PORTSDIR}/devel/imake

RUN_DEPENDS=    ${BUILD_DEPENDS}

USE_LDCONFIG=	yes
GNU_CONFIGURE=	yes
USE_IMAKE=      yes
MAN1=           pinta.1
MANCOMPRESSED=  yes

WRKSRC=		${WRKDIR}/pinta-0.6

.include <bsd.port.mk>
```

Also on more problem that I have is that cannot fetch the file. Say Forbidden. I must put it manually on /usr/ports/distfiles

Please a little help.


----------



## SirDice (Feb 2, 2011)

sk8harddiefast said:
			
		

> ```
> BUILD_DEPENDS=  monodevelop:${PORTSDIR}/devel/monodevelop \
> mono:${PORTSDIR}/lang/mono \
> gtk-sharp:${PORTSDIR}/x11-toolkits/gtk-sharp20 \
> ...



This doesn't look correct. USE_IMAKE will take care of the imake dependency, no need to add it to the depends list. Also the Gnome libs can be included using USE_GNOME. Something like this:


```
USE_GNOME= gtksharp20 gnomesharp20
```

See /usr/ports/Mk/bsd.gnome.mk.


----------



## sk8harddiefast (Feb 2, 2011)

That confuse me is that pinta needs all gnome (Because I don't use gnome) But in reality needs monodevelop witch will download mono, mono-addins etc as dependency and gnome-libs (that will download all gnome as dependency) Also a mail from pinta developer, told me that I need gtk-shar20. No difference. (That too needs all gnome as dependency). That confused me. As dependecies that pinta needs, I must set all gnome packages or only gnome-libs and gtk-sharp20?


----------



## SirDice (Feb 2, 2011)

The simplest solution is to look for a port with similar dependencies and see how it's done there.


----------



## DutchDaemon (Feb 2, 2011)

I don't think the tarball's name belongs in the master site URL ..


----------



## sk8harddiefast (Feb 2, 2011)

> I don't think the tarball's name belongs in the master site URL ..


What this mean? If you mean that this: 
	
	



```
These variables are defined in /usr/ports/Mk/bsd.sites.mk. There are new entries added all the time, so make sure to check the latest version of this file before submitting a port.
```
 witch I toked fron porters handbook, probably there is no entry for this URL and I guess this is the reason that say forbidden when try to download it


----------



## sk8harddiefast (Feb 4, 2011)

Still cannot understand. According the Porter's Handbook:

```
BUILD_DEPENDS
This variable specifies executables or files this port requires to build.
```
The port require:
*Monodevelop
*gtk-sharp20

Everything else is dependencies that this 2 packages need.

Monodevelop needs
*Mono
*Mono-addins

gtk-sharp20 needs
*All gnome (gnome-panel, gnome-menus, gnome-destop, libgweather etc)

On BUILD_DEPENDS I must set The required ports. So

```
BUILD_DEPENDS=  monodevelop:${PORTSDIR}/devel/monodevelop \
				mono:${PORTSDIR}/lang/mono \
				mono-addins:${PORTSDIR}/devel/mono-addins \
				gtk-sharp20:${PORTSDIR}/x11-toolkits/gtk-sharp20 \
```
Right?
On USE_GNOME I have:

```
USE_GNOME=      gnomehack libgnomeui gtksharp20 gnomesharp20
```

According /usr/ports/Mk/bsd.gnome.mk. I must use some of this:


```
# GNOME 2 components
_USE_GNOME_ALL+= atk atspi desktopfileutils eel2 evolutiondataserver gal2 gdkpixbuf2 \
		gconf2 _glib20 glib20 gnomecontrolcenter2 gnomedesktop gnomedesktopsharp20 \
		gnomedocutils gnomemenus gnomepanel gnomesharp20 gnomespeech gnomevfs2 gtk20 \
		gtkhtml3 gtksharp10 gtksharp20 gtksourceview gtksourceview2 gvfs \
		libartlgpl2 libbonobo libbonoboui libgailgnome libgda2 libgda3 libgda4 \
		libglade2 libgnome libgnomecanvas libgnomedb libgnomekbd libgnomeprint \
		libgnomeprintui libgnomeui libgsf libgsf_gnome libgtkhtml libidl \
		librsvg2 libwnck libxml2 libxslt libzvt linc metacity nautilus2 \
		nautiluscdburner orbit2 pango pygnome2 pygnomedesktop pygnomeextras \
		pygtk2 pygtksourceview vte
```

But witch of them? Also If I set *gtksharp20* on *USE_GNOME=* , then I must remove it from *BUILD_DEPENDS=* ?
Still get the same error


----------

