Problems about making a new port

Jason E. Hale bsdkaffee at gmail.com
Mon Jul 30 15:22:24 UTC 2012


On Monday, July 30, 2012 20:31:54 HU Dong wrote:
> I met with some problem while porting a software, which will be
> www/xombrero. It's a web browser.
> 
> 1. Its source code has a .desktop file and I want to install it to
> /usr/local/share/applications. But some committer told me to check it
> again. Is it a wrong place?
> 
It should go in ${PREFIX}/share/applications

> 2. Also, it has several icon files located in ${WORKSRC}/. The filenames
> are xombreroicon32.png, xombreroicon64.png etc. Is there a convinient way
> to install them to correct places (/usr/local/share/icons/hicolr/NxN/apps)?
> 
Since you already have a variable ICONS=16 32 48 64 128, you could do:
.for i in ${ICONS}
    ${INSTALL_DATA}  ${WRKSRC}/xombreroicon${i}.png ${PREFIX}/share/icons/hicolor/${i}x${i}/apps/
.endfor
You should probably add INSTALLS_ICONS=yes too.

> 3. It has a simple sh script called playflash.sh as its "plugin". The
> script is supposed to be manually copied to ~/.xombrero directory. So I
> installed the script to /usr/local/share/xombrero. Is it better to move it
> to /usr/local/share/examples/xombrero?
> 
IMO, it would be best in ${EXAMPLESDIR}, so add it to PORTEXAMPLES and remove it
from the pkg-plist.  You should also install it with ${INSTALL_SCRIPT} since it is a script
instead of ${INSTALL_DATA}.
Perhaps you could create a wrapper script for xombrero so that the playflash.sh script 
is installed in ~/.xombrero instead of making the user do it manually...just a thought.

Looking at your patch, you should remove "pkgconfig" from "USE_GNOME=gtk20 pkgconfig"
and use the "USE_PKGCONFIG=build" macro instead.

Use ${INSTALL_PROGRAM} to install bin/xombrero since it is a binary I'm assuming

In this line, don't use a hardcoded path (/usr/local should be ${PREFIX}:
@${REINPLACE_CMD} -e 's|#define XT_DS_SSL_CA_FILE	("")|#define XT_DS_SSL_CA_FILE	("\/usr\/local\/share\/certs\/ca-root-nss.crt")|g' ${WRKSRC}/xombrero.h

In this line, use ${MAKE} instead of make:
cd ${WRKSRC}/freebsd && make GTK_VERSION="gtk2"

pkg-plist: sort and remove the blank line and of course fix where the icons are installed

Cheers,
Jason E. Hale


More information about the freebsd-ports mailing list