tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RPATH-related cmake problem with wm/ctwm



I'm trying to update wm/ctwm to version 4.0.1. This release dumps a lot
of old cruft such as VMS support and Imake. It adds support for newer
stuff such as EWMH (enhanced window manager hints).

To replace imake the choice was between gnu autotools and cmake. Since
the main maintainer prefers the latter (and I'm not a big fan of the
autotool maze either, is is cmake.

Now for some reason cmake wants to install the final executable with an
empty RPATH. It actually adds one during build, but deletes it for the
install step. It seems that somehow this is  default cmake behaviour (or
maybe it is a NetBSD adjustment of the cmake package).

It fails loudly to do this in the packaged version, since the deletion
is very stupid:

Install the project...
-- Install configuration: "" 
-- Installing: /pkg_comp/obj/pkgsrc/wm/ctwm/default/.destdir/usr/local/bin/ctwm
CMake Error at cmake_install.cmake:53 (file):
  file RPATH_CHANGE could not write new RPATH:



  to the file:

    /pkg_comp/obj/pkgsrc/wm/ctwm/default/.destdir/usr/local/bin/ctwm

  The current RPATH is:

    /usr/pkg/gcc49/x86_64--netbsd/lib/.:/usr/pkg/gcc49/lib/.:/usr/pkg/gcc49/lib/gcc/x86_64--netbsd/4.9.4:/usr/pkg/lib:/usr/X11R7/lib

  which does not contain:

    /usr/X11R7/lib:/usr/pkg/lib:

  as was expected.


*** Error code 1

Stop.

If I run the build process outside of pkgsrc context, this step works
without complaint and does install ctwm incorrectly:

.../ctwm/bzr/trunk$ sudo make install
( cd build && make install ) 
[ 94%] Built target ctwm
[ 96%] Built target mk_adoc_tmpsrc
[100%] Built target man
Install the project...
-- Install configuration: "" 
-- Installing: /usr/local/bin/ctwm
-- Set runtime path of "/usr/local/bin/ctwm" to ""
...

.../ctwm/bzr/trunk$ ldd /usr/local/bin/ctwm
/usr/local/bin/ctwm:
        -lSM.7 => not found
        -lICE.7 => not found
        -lX11.7 => not found
        -lXext.7 => not found
        -lXmu.7 => not found
        -lXt.7 => not found
        -lXpm.5 => not found
        -ljpeg.9 => not found
        -lgcc_s.1 => /usr/lib/libgcc_s.so.1
        -lc.12 => /usr/lib/libc.so.12

I never noticed this before because as a ctwm contributor I never used
make install :-)

So, does anyone know why cmake does this silly thing, and what to do
about it?

(I also notice that it installs to .../.destdir/usr/local/bin but that
is a different issue I take it)

Diffs so far:

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/wm/ctwm/Makefile,v
retrieving revision 1.34
diff -u -r1.34 Makefile
--- Makefile	9 Oct 2014 14:07:08 -0000	1.34
+++ Makefile	8 Jul 2018 12:26:14 -0000
@@ -1,18 +1,16 @@
-# $NetBSD: Makefile,v 1.34 2014/10/09 14:07:08 wiz Exp $
+# $NetBSD: Makefile,v 1.33 2014/07/18 10:40:48 obache Exp $
 #
 
-DISTNAME=	ctwm-3.8.2
+DISTNAME=	ctwm-4.0.1
 CATEGORIES=	x11 wm
 MASTER_SITES=	http://ctwm.org/dist/
 EXTRACT_SUFX=	.tar.xz
 
 MAINTAINER=	rhialto%falu.nl@localhost
 HOMEPAGE=	http://ctwm.org/
-COMMENT=	Window manager with support for multiple virtual screens and Gnome 1.x
+COMMENT=	Window manager with support for multiple virtual screens and EWMH
 LICENSE=	mit
 
-USE_IMAKE=	YES
-
 .include "../../mk/bsd.prefs.mk"
 
 # We need an m4 that understands the -s option.
@@ -21,28 +19,25 @@
 TOOLS_PLATFORM.gm4?=	${TOOLS_PLATFORM.m4}
 .  endif
 .endif
-USE_TOOLS+=		gm4:run
+USE_TOOLS+=		gm4:run cmake
 OPSYSVARS+=		EXTRA_DEFINES
 # The __EXTENSIONS__ is needed for sigjmp_buf.
 EXTRA_DEFINES.SunOS+=	-D__EXTENSIONS__
 MAKE_ENV+=		EXTRA_DEFINES=${EXTRA_DEFINES:Q}
 AUTO_MKDIRS=		yes
 
-pre-configure:
-	( ${ECHO} 'USER_JPEGLIBDIR = -L${JPEGBASE}/lib ${COMPILER_RPATH_FLAG}${JPEGBASE}/lib'; \
-	  ${ECHO} 'USER_JPEGINCDIR = -I${JPEGBASE}/include'; \
-	  ${CAT} ${WRKSRC}/Imakefile.local-template; \
-	  ${ECHO} '#undef M4_CMD'; \
-	  ${ECHO} '#define M4_CMD ${TOOLS_PATH.gm4}'; \
-	) >${WRKSRC}/Imakefile.local
-
 pre-install:
-.for f in example.ctwmrc levitte.ctwmrc peterc.ctwmrc system.ctwmrc system.ctwmrc.gnome
+.for f in system.ctwmrc
 	${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/share/examples/ctwm/
 .endfor
+.for f in example.ctwmrc levitte.ctwmrc peterc.ctwmrc
+	${INSTALL_DATA} ${WRKSRC}/examples/${f} ${DESTDIR}${PREFIX}/share/examples/ctwm/
+.endfor
 	${INSTALL_DATA} ${FILESDIR}/ctwm.desktop \
 	    ${DESTDIR}${PREFIX}/share/xsessions/ctwm.desktop
 
+BUILD_DEPENDS+=    asciidoc-[0-9]*:../../textproc/asciidoc
+
 .include "../../mk/jpeg.buildlink3.mk"
 .include "../../x11/libXext/buildlink3.mk"
 .include "../../x11/libXmu/buildlink3.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/wm/ctwm/PLIST,v
retrieving revision 1.6
diff -u -r1.6 PLIST
--- PLIST	14 Jun 2009 21:40:05 -0000	1.6
+++ PLIST	8 Jul 2018 12:26:14 -0000
@@ -92,7 +92,6 @@
 lib/X11/twm/images/xterm.xpm
 lib/X11/twm/system.ctwmrc
 ${IMAKE_MAN_DIR}/ctwm.${IMAKE_MANNEWSUFFIX}
-share/examples/ctwm/example.ctwmrc
 share/examples/ctwm/levitte.ctwmrc
 share/examples/ctwm/peterc.ctwmrc
 share/examples/ctwm/system.ctwmrc
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/wm/ctwm/distinfo,v
retrieving revision 1.18
diff -u -r1.18 distinfo
--- distinfo	2 Nov 2015 23:42:51 -0000	1.18
+++ distinfo	8 Jul 2018 12:26:14 -0000
@@ -1,6 +1,6 @@
 $NetBSD: distinfo,v 1.18 2015/11/02 23:42:51 agc Exp $
 
-SHA1 (ctwm-3.8.2.tar.xz) = b1bb8c75c4896738686c1f42222be20508ea2cb2
-RMD160 (ctwm-3.8.2.tar.xz) = e5fc23208e019814388e6336ad7af80f1c208238
-SHA512 (ctwm-3.8.2.tar.xz) = 4633b7bf7b8528ecfd2a753f443fd5286fd394df37ebe885138d30a498f0d721076835d135974a2bd11ca9c32ffd288f84788cb0407ae346a29c5f6371dca497
-Size (ctwm-3.8.2.tar.xz) = 549984 bytes
+SHA1 (ctwm-4.0.1.tar.xz) = f3bbab93bba124a19ee83fd291a928650fa7ea4b
+RMD160 (ctwm-4.0.1.tar.xz) = 1222c47de9adf430af4719e75fec8d8265e110e7
+SHA512 (ctwm-4.0.1.tar.xz) = 8c5c0bf868ba36cf5acca1ac5dbcea9327f63892698ace5086fabe563632acbb578cefea44ac3de91dc15afdbdce0370169e14156525507b90dc8aca8d305bc6
+Size (ctwm-4.0.1.tar.xz) = 656776 bytes

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- Wayland: Those who don't understand X
\X/ rhialto/at/falu.nl      -- are condemned to reinvent it. Poorly.

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index