Bug 25670

Summary: Fix of x11/xmove by Maintainer.
Product: Ports & Packages Reporter: sec <sec>
Component: Individual Port(s)Assignee: freebsd-ports (Nobody) <ports>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description sec 2001-03-11 01:10:00 UTC
Judging from bentos errorlogs USE_X_PREFIX no longer implies that
"xmkmf" and "imake" are installed.
Thus I added an appropriate dependency.

Furthermore it seems that the Xfree-4 Imake configuration files insist
on inserting broken rules to crate a htmlised manpage. This has also
been fixed.

Fix: Please commit this patch.
Comment 1 Maxim Sobolev freebsd_committer freebsd_triage 2001-03-13 16:07:06 UTC
State Changed
From-To: open->closed

Committed, thank you!
Comment 2 FUJISHIMA Satsuki freebsd_committer freebsd_triage 2001-03-13 22:24:45 UTC
USE_IMAKE can't be used for this port as it does not have Imakefile.

===>  Extracting for xmove-2.0b2
>> Checksum OK for xmove.2.0beta2.tar.gz.
===>   xmove-2.0b2 depends on executable: imake - found
===>   xmove-2.0b2 depends on shared library: X11.6 - found
/bin/cp /tmp/xmove/files/Makefile /usr/obj/ports/tmp/xmove/work/xmove
===>  Patching for xmove-2.0b2
===>  Applying FreeBSD patches for xmove-2.0b2
===>  Configuring for xmove-2.0b2
mv -f Makefile Makefile.bak
imake -DUseInstalled -I/usr/X11R6/lib/X11/config
imake: No such file or directory
imake: No description file.
  Stop.
*** Error code 1

Stop in /tmp/xmove.
*** Error code 1

Stop in /tmp/xmove.
*** Error code 1

Stop in /tmp/xmove.
*** Error code 1

Stop in /tmp/xmove.
========


Proper fix is to use own Imakefile instead of Makefile.
How about this patch?

o copying files/Imakefile instead of Makefile to USE_IMAKE work.
o makeing/installing html manpages.
o replace magic number to macro in DISTNAME.
o move post-extract to post-patch to get as-is distfile after make extract.

-- 
FUJISHIMA Satsuki

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/x11/xmove/Makefile,v
retrieving revision 1.7
diff -u -u -2 -r1.7 Makefile
--- Makefile	2001/03/13 16:06:46	1.7
+++ Makefile	2001/03/13 22:15:55
@@ -10,5 +10,5 @@
 CATEGORIES=	x11
 MASTER_SITES=	ftp://ftp.cs.columbia.edu/pub/xmove/
-DISTNAME=	${PORTNAME}.2.0beta2
+DISTNAME=	${PORTNAME}.${PORTVERSION:S/b/beta/}
 
 MAINTAINER=	sec@42.org
@@ -21,11 +21,11 @@
 MAN1=		xmove.1 xmovectrl.1
 
-post-extract:
-	${CP} ${FILESDIR}/Makefile ${WRKSRC}
+WRKSRC=		${WRKDIR}/${PORTNAME}
 
-post-install:
-.for man in ${MAN1}
-	${INSTALL_MAN} ${WRKSRC}/man/man1/${man} ${X11BASE}/man/man1
-.endfor
+post-patch:
+	${CP} ${FILESDIR}/Imakefile ${WRKSRC}
+	(cd ${WRKSRC}; \
+	 ${CP} man/man1/xmove.1 xmove/xmove.man; \
+	 ${CP} man/man1/xmovectrl.1 xmovectrl/xmovectrl.man)
 
 .include <bsd.port.mk>
Index: files/Imakefile
===================================================================
RCS file: Imakefile
diff -N Imakefile
--- /dev/null	Wed Mar 14 07:19:14 2001
+++ Imakefile	Tue Mar 13 22:00:44 2001
@@ -0,0 +1,6 @@
+#define IHaveSubdirs
+#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
+
+SUBDIRS=	xmove xmovectrl
+MakeSubdirs($(SUBDIRS))
+DependSubdirs($(SUBDIRS))
Index: files/Makefile
===================================================================
RCS file: Makefile
diff -N Makefile
--- /var/tmp/cvsKaz0LGhumR	Wed Mar 14 07:20:41 2001
+++ /dev/null	Wed Mar 14 07:19:14 2001
@@ -1,6 +0,0 @@
-all:
-	cd xmove;xmkmf && make
-	cd xmovectrl;xmkmf && make
-install:
-	cd xmove;make install
-	cd xmovectrl;make install
Comment 3 Maxim Sobolev freebsd_committer freebsd_triage 2001-03-13 22:31:05 UTC
> 
> USE_IMAKE can't be used for this port as it does not have Imakefile.
> 
> ===>  Extracting for xmove-2.0b2
> >> Checksum OK for xmove.2.0beta2.tar.gz.
> ===>   xmove-2.0b2 depends on executable: imake - found
> ===>   xmove-2.0b2 depends on shared library: X11.6 - found
> /bin/cp /tmp/xmove/files/Makefile /usr/obj/ports/tmp/xmove/work/xmove
> ===>  Patching for xmove-2.0b2
> ===>  Applying FreeBSD patches for xmove-2.0b2
> ===>  Configuring for xmove-2.0b2
> mv -f Makefile Makefile.bak
> imake -DUseInstalled -I/usr/X11R6/lib/X11/config
> imake: No such file or directory
> imake: No description file.
>   Stop.
> *** Error code 1
> 
> Stop in /tmp/xmove.
> *** Error code 1
> 
> Stop in /tmp/xmove.
> *** Error code 1
> 
> Stop in /tmp/xmove.
> *** Error code 1
> 
> Stop in /tmp/xmove.
> ========
> 
> 
> Proper fix is to use own Imakefile instead of Makefile.
> How about this patch?
> 
> o copying files/Imakefile instead of Makefile to USE_IMAKE work.
> o makeing/installing html manpages.
> o replace magic number to macro in DISTNAME.
> o move post-extract to post-patch to get as-is distfile after make extract.

Looks fine to me. Please commit it if it works for you.

-Maxim

> 
> -- 
> FUJISHIMA Satsuki
> 
> Index: Makefile
> ===================================================================
> RCS file: /home/ncvs/ports/x11/xmove/Makefile,v
> retrieving revision 1.7
> diff -u -u -2 -r1.7 Makefile
> --- Makefile	2001/03/13 16:06:46	1.7
> +++ Makefile	2001/03/13 22:15:55
> @@ -10,5 +10,5 @@
>  CATEGORIES=	x11
>  MASTER_SITES=	ftp://ftp.cs.columbia.edu/pub/xmove/
> -DISTNAME=	${PORTNAME}.2.0beta2
> +DISTNAME=	${PORTNAME}.${PORTVERSION:S/b/beta/}
>  
>  MAINTAINER=	sec@42.org
> @@ -21,11 +21,11 @@
>  MAN1=		xmove.1 xmovectrl.1
>  
> -post-extract:
> -	${CP} ${FILESDIR}/Makefile ${WRKSRC}
> +WRKSRC=		${WRKDIR}/${PORTNAME}
>  
> -post-install:
> -.for man in ${MAN1}
> -	${INSTALL_MAN} ${WRKSRC}/man/man1/${man} ${X11BASE}/man/man1
> -.endfor
> +post-patch:
> +	${CP} ${FILESDIR}/Imakefile ${WRKSRC}
> +	(cd ${WRKSRC}; \
> +	 ${CP} man/man1/xmove.1 xmove/xmove.man; \
> +	 ${CP} man/man1/xmovectrl.1 xmovectrl/xmovectrl.man)
>  
>  .include <bsd.port.mk>
> Index: files/Imakefile
> ===================================================================
> RCS file: Imakefile
> diff -N Imakefile
> --- /dev/null	Wed Mar 14 07:19:14 2001
> +++ Imakefile	Tue Mar 13 22:00:44 2001
> @@ -0,0 +1,6 @@
> +#define IHaveSubdirs
> +#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
> +
> +SUBDIRS=	xmove xmovectrl
> +MakeSubdirs($(SUBDIRS))
> +DependSubdirs($(SUBDIRS))
> Index: files/Makefile
> ===================================================================
> RCS file: Makefile
> diff -N Makefile
> --- /var/tmp/cvsKaz0LGhumR	Wed Mar 14 07:20:41 2001
> +++ /dev/null	Wed Mar 14 07:19:14 2001
> @@ -1,6 +0,0 @@
> -all:
> -	cd xmove;xmkmf && make
> -	cd xmovectrl;xmkmf && make
> -install:
> -	cd xmove;make install
> -	cd xmovectrl;make install
>
Comment 4 sec 2001-03-13 23:22:00 UTC
On Wed, Mar 14, 2001 at 07:24:45AM +0900, FUJISHIMA Satsuki wrote:
> USE_IMAKE can't be used for this port as it does not have Imakefile.

I know. That's why i didn't use USE_IMAKE. From cvsweb i see that
sobomax probably added this.

> Proper fix is to use own Imakefile instead of Makefile.

Of course. But I don't know how to do it, so I had to wrok around it.

> How about this patch?

Looks good to me. As I see now it has already been committed, so my
comment was probably not needed. :-)

CU,
    Sec
-- 
You haven't seen _multitasking_ until you have seen
Doom and Quake run side by side.