Date: Sat, 27 May 2017 12:09:22 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r441844 - in head/lang/ghc: . files Message-ID: <201705271209.v4RC9MUr084534@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kib (src committer) Date: Sat May 27 12:09:22 2017 New Revision: 441844 URL: https://svnweb.freebsd.org/changeset/ports/441844 Log: Fix lang/ghc after ino64 src commit. Approved by: bapt, pgj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D10798 Added: head/lang/ghc/files/wrap.c (contents, props changed) Modified: head/lang/ghc/Makefile Modified: head/lang/ghc/Makefile ============================================================================== --- head/lang/ghc/Makefile Sat May 27 12:06:40 2017 (r441843) +++ head/lang/ghc/Makefile Sat May 27 12:09:22 2017 (r441844) @@ -239,6 +239,9 @@ post-extract: @${REINPLACE_CMD} -e 's|@SettingsCCompilerFlags@|& -Qunused-arguments|' ${BOOT_DIR}/settings.in .endif .endif +.if empty(PORT_OPTIONS:MBOOT) && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 + @${REINPLACE_CMD} -e 's|@SettingsCCompilerLinkFlags@|& -Wl,--wrap=readdir_r,--wrap=stat,--wrap=lstat,--wrap=fstat,--wrap=mknod|' ${BOOT_DIR}/settings.in +.endif post-install-script: @${FIND} -ds ${GHC_LIBDIR} -type f -print | ${SED} -E -e \ @@ -269,6 +272,14 @@ post-patch: pre-configure: @${MKDIR} ${TMPDIR} +.if empty(PORT_OPTIONS:MBOOTH) && ${OPSYS} == FreeBSD && \ + ${OSVERSION} >= 1200031 + ${CC} ${CFLAGS} -c -o ${BOOT_DIR}/wrap.o ${PATCHDIR}/wrap.c + for x in ${BOOT_DIR}/rts/dist/build/libCffi*.a; do \ + ${AR} q $$x ${BOOT_DIR}/wrap.o; ${RANLIB} $$x; \ + done + rm ${BOOT_DIR}/wrap.o +.endif # Do not merge, prev condition need to grow OSVER check. .if empty(PORT_OPTIONS:MBOOT) @(cd ${BOOT_DIR} && ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS_BOOT}) @(cd ${BOOT_DIR} && PACKAGES='' ${MAKE_CMD} install) Added: head/lang/ghc/files/wrap.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ghc/files/wrap.c Sat May 27 12:09:22 2017 (r441844) @@ -0,0 +1,55 @@ +/* -*- ugly-hack-mode -*- */ +/* $FreeBSD$ */ + +#include <sys/stat.h> + +struct old_dirent; +struct old_stat; + +__asm(".symver old_readdir_r, readdir_r@FBSD_1.0"); +int old_readdir_r(void *dirp, struct old_dirent *entry, + struct old_dirent **result); +__asm(".symver old_stat, stat@FBSD_1.0"); +int old_stat(const char * restrict path, struct old_stat * restrict sb); +__asm(".symver old_lstat, lstat@FBSD_1.0"); +int old_lstat(const char * restrict path, struct old_stat * restrict sb); +__asm(".symver old_fstat, fstat@FBSD_1.0"); +int old_fstat(int fd, struct old_stat *sb); +__asm(".symver old_mknod, mknod@FBSD_1.0"); +int old_mknod(const char *path, mode_t mode, uint32_t dev); + +int +__wrap_readdir_r(void *dirp, struct old_dirent *entry, + struct old_dirent **result) +{ + + return (old_readdir_r(dirp, entry, result)); +} + +int +__wrap_stat(const char * restrict path, struct old_stat * restrict sb) +{ + + return (old_stat(path, sb)); +} + +int +__wrap_lstat(const char * restrict path, struct old_stat * restrict sb) +{ + + return (old_lstat(path, sb)); +} + +int +__wrap_fstat(int fd, struct old_stat *sb) +{ + + return (old_fstat(fd, sb)); +} + +int +__wrap_mknod(const char *path, mode_t mode, uint32_t dev) +{ + + return (old_mknod(path, mode, dev)); +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705271209.v4RC9MUr084534>