First port: make: cannot open Makefile.

Hi,

I am trying to make a port for phpredis.

This is what I have:

Makefile:
Code:
# New ports collection makefile for:   php-redis
# Date created:        9 April 2010
# Whom:                ben
#
# $FreeBSD$
#

PORTNAME=       php5-redis
PORTVERSION=    1.2.0
CATEGORIES=     databases
MASTER_SITES=   http://localhost/

MAINTAINER=     some@mail.net
COMMENT=        PHP5-Extension for Redis

USE_PHPIZE=     yes

PLIST_FILES=    lib/php/20060613/redis.so

.include <bsd.port.mk>
The php5-redis-1.2.0.tar.gz is in the root directory of localhost (for testing).

Fetching and unpacking works, but I get "make: cannot open Makefile."

My aim is to run phpize, ./configure, make and make install but I have no idea how to do it.

I read the Porters handbook but I dont see the mistake here.

Can anybody help?

Thanks a lot in advance!

EDIT:

I added the following lines which work if I call them directly (by make do-make etc) but this is not the way it should work:
Code:
do-make:
        cd ${WRKSRC}/${PORTNAME}-${PORTVERSION}/ && /usr/local/bin/phpize
        cd ${WRKSRC}/${PORTNAME}-${PORTVERSION}/ && ./configure
        cd ${WRKSRC}/${PORTNAME}-${PORTVERSION}/ && /usr/bin/make

do-install:
        cd ${WRKSRC}/${PORTNAME}-${PORTVERSION}/ && make install
 
Ok, I guess the error comes from a missing Makefile in the tar.gz-Archive.

What can I do to prevent this?
 
Thanks for your advice.

I tried this by setting GNU_CONFIGURE= yes but first I need to run "phpize" before I can run "configure".

Do you know a way how I can influence this?

Thanks for your help.

EDIT:

Coming closer. Now I get this error which is clear as the file is called "redis.so" not "php5-redis.so":
Code:
install: /var/ports/usr/ports/databases/php5-redis/work/php5-redis-1.2.0/modules/php5-redis.so: No such file or directory
*** Error code 71

I need to find out how I can overwrite this. I tried by "do-install:" but then it says I defined this twice so it will be ignored.

Strange.
 
Ben said:
Thanks for your advice.

I tried this by setting GNU_CONFIGURE= yes but first I need to run "phpize" before I can run "configure".

You can use a "post-patch" target in your port Makefile to run phpize after the sources are unpacked and patched but before configure is run.
 
Actually this works now. Only the name of the extension is not correct.

It seems the script expects the extension to be called php5-redis.so but instead it is called redis.so.

I only want to overwrite this.
 
I can't figure it out.

As there seems nobody able to help I will not port redis to FreeBSD. Thats a pitty.
 
Thank you, that's very nice.

Please find the port attached!

Would be great if you can find the mistake and tell me what I did wrong.
 

Attachments

  • php5-redis.tar.bz2
    736 bytes · Views: 237
Ok after having a look at bsd.php.mk I found a line
Code:
PHP_MODNAME?=	${PORTNAME}

So simply adding:
Code:
PHP_MODNAME=redis

to port's makefile should fix this error at "make install" stage.
 
  • Thanks
Reactions: Ben
I found this line also but I didn't know that I can overwrite variables this way easily.

Dude, a long way to go :)

Thank you very much for your help!!

Now I will make tests to check if I can submit the port officially soon.

Thanks!!
 
Back
Top