svn commit: r383684 - in head/lang/pure: . files
Mikhail Teterin
mi at FreeBSD.org
Fri Apr 10 00:54:13 UTC 2015
Author: mi
Date: Fri Apr 10 00:54:10 2015
New Revision: 383684
URL: https://svnweb.freebsd.org/changeset/ports/383684
Log:
Unbreak by upgrading from 0.58 to 0.64 released last Autumn. The latest
version supports all versions of LLVM except 3.6.
While here:
* Make detection of the installed LLVM automatic, using the
latest installed or 3.5 if none are present. It is possible
to supply a different value by setting LLVM_VERSION.
(Somebody ought to port llvm to the DEFAULT_VERSIONS framework.)
* Do not even download the docs, if the DOCS-option is off.
* If DOCS-option is on, do not install the *.tm files.
* Force the tool to look for documentation in ${DOCSDIR}.
* Add the functional regression-check target to Makefile.
Approved by: being condemned too often for too long
Added:
head/lang/pure/files/patch-Makefile (contents, props changed)
Modified:
head/lang/pure/Makefile
head/lang/pure/distinfo
head/lang/pure/files/pkg-message.in
head/lang/pure/pkg-plist
Modified: head/lang/pure/Makefile
==============================================================================
--- head/lang/pure/Makefile Thu Apr 9 22:17:26 2015 (r383683)
+++ head/lang/pure/Makefile Fri Apr 10 00:54:10 2015 (r383684)
@@ -2,12 +2,10 @@
# $FreeBSD$
PORTNAME= pure
-PORTVERSION= 0.58
-PORTREVISION= 2
+PORTVERSION= 0.64
CATEGORIES= lang
MASTER_SITES= https://bitbucket.org/purelang/pure-lang/downloads/
-DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz ${PORTNAME}-docs-${PORTVERSION}.tar.gz
-DIST_SUBDIR= pure
+EXTRACT_ONLY= ${DISTNAME}.tar.gz
MAINTAINER= lichray at gmail.com
COMMENT= Modern-style functional programming language
@@ -15,24 +13,25 @@ COMMENT= Modern-style functional program
LICENSE= GPLv3 LGPL3
LICENSE_COMB= dual
-LLVM_VERSION= 33
-
LIB_DEPENDS= libltdl.so:${PORTSDIR}/devel/libltdl \
libgmp.so:${PORTSDIR}/math/gmp \
- libmpfr.so:${PORTSDIR}/math/mpfr
-BUILD_DEPENDS= llvm-config${LLVM_VERSION}:${PORTSDIR}/devel/llvm${LLVM_VERSION}
-RUN_DEPENDS:= ${BUILD_DEPENDS}
+ libmpfr.so:${PORTSDIR}/math/mpfr \
+ libpcreposix.so:${PORTSDIR}/devel/pcre \
+ libLLVM-${LLVM_VERSION:C/./&./}.so:${PORTSDIR}/devel/llvm${LLVM_VERSION}
SUB_FILES= pkg-message
USES= gmake iconv pathfix pkgconfig
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-libgmp-prefix=${LOCALBASE} --enable-release \
+ --with-pcre \
--with-tool-prefix=${LOCALBASE}/llvm${LLVM_VERSION}/bin
+EXTRACT_AFTER_ARGS=--no-same-owner --no-same-permissions --exclude texmacs
USE_LDCONFIG= yes
MAKE_ARGS+= prefix=${PREFIX} mandir=${PREFIX}/man \
CC=${CC} CFLAGS="${CFLAGS}" \
+ PIC="-fPIC -DPIC" \
CXX=${CXX} CXXFLAGS="${CXXFLAGS}" \
CPPFLAGS+=-I${LOCALBASE}/include \
LDFLAGS+=-L${LOCALBASE}/lib
@@ -45,14 +44,43 @@ OPTIONS_DEFINE= DOCS EMACS ETC EXAMPLES
EMACS_DESC= Compile pure-mode.el with Emacs
ETC_DESC= Copy Pure syntax highlighting to ${DATADIR}/etc
+.if !defined(LLVM_VERSION)
+. for v in 33 34 35
+. if exists(${LOCALBASE}/bin/llvm-config$v)
+LLVM_VERSION= $v
+. endif
+. endfor
+.endif
+LLVM_VERSION?= 35 # Pure does not build with llvm36. Yet?
+SUB_LIST+= LLVM_VERSION=${LLVM_VERSION}
+.if ${LLVM_VERSION} > 34
+CXXFLAGS+= -std=c++11
+.endif
+
OPTIONS_DEFAULT= ETC
OPTIONS_SUB= yes
EMACS_CONFIGURE_WITH= elisp
+post-patch:
+ ${REINPLACE_CMD} -e \
+ 's,defcustom pure-docs-dir .*,defcustom pure-docs-dir "${DOCSDIR}",' \
+ ${WRKSRC}/etc/pure-mode.el.in
+ ${REINPLACE_CMD} \
+ -e 's,default_doc =.*;$$,default_doc = "${DOCSDIR}/index.html";,' \
+ -e 's,"+interp.libdir+"docs,${DOCSDIR},g' \
+ ${WRKSRC}/lexer.cc
+
+test check regression-test: build
+ ${GMAKE} -C ${WRKSRC} check
+
.include <bsd.port.options.mk>
+.if ${PORT_OPTIONS:MDOCS}
+DISTFILES+= ${EXTRACT_ONLY} ${PORTNAME}-docs-${PORTVERSION}.tar.gz
+.endif
+
.if ${PORT_OPTIONS:MEMACS}
USE_EMACS= yes
MAKE_ARGS+= emacs_prefix=${PREFIX}
@@ -69,27 +97,26 @@ SUB_LIST+= NOCLANG="@comment "
CONFIGURE_ARGS+= --without-readline
.endif
-CONFIGURE_TARGET= ${ARCH:S/amd64/x86_64/}-portbld-${OPSYS:tl}
-
post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/pure \
+ ${STAGEDIR}${PREFIX}/lib/libpure.so.*.*
.if ${PORT_OPTIONS:METC}
@${MKDIR} ${STAGEDIR}${DATADIR}/etc/
- (cd ${WRKSRC} && ${RM} -f etc/*.in && \
- ${COPYTREE_SHARE} etc/ ${STAGEDIR}${DATADIR})
+ @(cd ${WRKSRC} && ${RM} -f etc/*.in && ${COPYTREE_SHARE} etc/ ${STAGEDIR}${DATADIR})
.endif
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKDIR}/${PORTNAME}-docs-${PORTVERSION} && \
- ${RM} -f Makefile && \
- ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
- ${LN} -sf ${DOCSDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/docs
+ ${TAR} -C ${STAGEDIR}${DOCSDIR} --strip-components 1 \
+ --exclude Makefile --exclude '*.tm' \
+ ${EXTRACT_AFTER_ARGS} \
+ -xpf ${_DISTDIR}${_DISTFILES:M*-docs*}
+ ${FIND} ${STAGEDIR}${DOCSDIR} -type f | ${XARGS} ${CHMOD} ${SHAREMODE}
.endif
.if ${PORT_OPTIONS:MEXAMPLES}
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- (cd ${WRKSRC}/examples && \
- ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
+ @(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
.endif
.include <bsd.port.mk>
Modified: head/lang/pure/distinfo
==============================================================================
--- head/lang/pure/distinfo Thu Apr 9 22:17:26 2015 (r383683)
+++ head/lang/pure/distinfo Fri Apr 10 00:54:10 2015 (r383684)
@@ -1,4 +1,4 @@
-SHA256 (pure/pure-0.58.tar.gz) = b1f65c8fd6e41b7db60a11314d0ac996150b5593a84e930cd9c8bb6ad17e1ea0
-SIZE (pure/pure-0.58.tar.gz) = 1465322
-SHA256 (pure/pure-docs-0.58.tar.gz) = 4374949a3d78db6363d110322dc34c1f97c8c81688a126ccdba4b9b638953b85
-SIZE (pure/pure-docs-0.58.tar.gz) = 4816134
+SHA256 (pure-0.64.tar.gz) = efd55229342aec9d79e8fa4732a30f140e1773064f3869abde053e01468f7b07
+SIZE (pure-0.64.tar.gz) = 1491066
+SHA256 (pure-docs-0.64.tar.gz) = a140456f7d6feff8a15f5505a8fa3f9376afef88f1831ca98b93dc1d1764d110
+SIZE (pure-docs-0.64.tar.gz) = 4915840
Added: head/lang/pure/files/patch-Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/pure/files/patch-Makefile Fri Apr 10 00:54:10 2015 (r383684)
@@ -0,0 +1,18 @@
+Fix shared-library symlink to be relative (and local), rather than
+absolute.
+
+ -mi
+
+--- Makefile.in 2014-10-28 05:39:12.000000000 -0400
++++ Makefile.in 2015-04-09 19:41:53.000000000 -0400
+@@ -366,8 +366,8 @@
+ $(INSTALL) $(libpure) $(DESTDIR)$(libdir)/$(libpure)
+ ifneq ($(libpure), $(libpure_soname))
+- ln -sf $(libdir)/$(libpure) $(DESTDIR)$(libdir)/$(libpure_soname)
++ ln -sf $(libpure) $(DESTDIR)$(libdir)/$(libpure_soname)
+ endif
+ ifneq ($(libpure), $(libpure_lnkname))
+- ln -sf $(libdir)/$(libpure) $(DESTDIR)$(libdir)/$(libpure_lnkname)
++ ln -sf $(libpure) $(DESTDIR)$(libdir)/$(libpure_lnkname)
+ endif
+ endif
Modified: head/lang/pure/files/pkg-message.in
==============================================================================
--- head/lang/pure/files/pkg-message.in Thu Apr 9 22:17:26 2015 (r383683)
+++ head/lang/pure/files/pkg-message.in Fri Apr 10 00:54:10 2015 (r383684)
@@ -12,7 +12,7 @@ interpreter. Check pure(1) for details.
%%NOCLANG%%
%%NOCLANG%%To enable the inline C/C++ code compilation,
%%NOCLANG%%
-%%NOCLANG%% clang: lang/clang32
+%%NOCLANG%% clang: lang/clang%%LLVM_VERSION%%
%%NOCLANG%%
%%NOCLANG%%is required.
====
Modified: head/lang/pure/pkg-plist
==============================================================================
--- head/lang/pure/pkg-plist Thu Apr 9 22:17:26 2015 (r383683)
+++ head/lang/pure/pkg-plist Fri Apr 10 00:54:10 2015 (r383684)
@@ -6,7 +6,6 @@ lib/libpure.so.8.0
lib/pure/array.pure
lib/pure/avltrees.pure
lib/pure/dict.pure
-lib/pure/docs
lib/pure/enum.pure
lib/pure/faustui.pure
lib/pure/getopt.pure
More information about the svn-ports-all
mailing list