File:  [cvs.NetBSD.org] / pkgsrc / lang / rakudo / Makefile
Revision 1.37: download - view: text, annotated - select for diffs
Tue Oct 29 14:59:25 2024 UTC (5 months, 2 weeks ago) by mef
Branches: MAIN
CVS tags: HEAD
(lang/rakudo) Update 2024.09 to 2024.10

New in 2024.10:

+ Improvements:
    + Make Date.DateTime timezone aware in 6.e [233b6871]
    + Make { } / hash() (aka empty hash creation) 8x as fast [f725f5f4]
    + Improve error message on unknown traits [8876d1b6]
    + Make sure the numerator is shown on N / 0 error [6adcecd9]
    + Make Int ** Int up to 15% faster [5680202e]
    + Simplify native coercers (possibly up to 50% faster) [fa370cb8]
    + Make REPL message for missing editor more clear [b27e2d07]
    + Seamlessly wrap the "rlwrap" readline wrapper in the REPL [4c046d45][d964ec93][2750112c]
    + Improve error message on missing terminator on "use Foo" [1301c599]
    + Also show file/line on ambiguous dispatch error [91e46d29]

+ Additions:
    + Add :by to .min/.max/.minmax [6edab9f9]
    + Add Mu.Callable($method) "coercer" in 6.e [b5f11446]
    + Add Mu ACCEPTS candidates for Mu:D [496176bd]
    + Add Associative HyperWhatever support [6bd2ec10]
    + Introduce :smartcase in 6.e on .contains, .starts-with, .ends-with,
      .index, .rindex, .substr-eq [aefe74a9]
    + Add IO::Path.stem in 6.e [b8611ad6]
    + Add EnumHOW.roles method [1e0025c3]
    + Add "quit" as an obsolete alternative to "exit" in error message [391e3b50]
    + Add clocks and mouses to magic inc/dec [03659cd0]
    + Add support for "any" junctions in regex interpolation [e08f6e0b]
    + Add support for Unicode vulgar fractions to val() [98fdf95a][ed231a0c][00031912]

+ Fixes:
    + Fix LTA error on invalid trait on anonymous parameter [09c89d1f]
    + Allow for $:F as placeholder variable with "use isms" [6c6a7da6]
    + Restore +permutations(30) behaviour [5c335df0]
    + Make .head/.tail nodal [29e2b9bf]
    + Make sure fractional shapes are intified properly [b1f0f5d1]
    + Restore :$source parameter to load(...) multi [59631b18]
    + Don't assume @*ARGS only contains strings [50a68ec9]
    + Don't create unnecessary Failures on numeric infix operators [6f8d314c]
    + Rework Rat <=> < <= => > Rat candidates to handle <N/0> more consistently [c05f1704][3c4cfc43]
    + Fix handling of IO::Paths in IO::Notification.watch-path [064575a4]
    + Require a mutable container for .substr-rw [7faddfd2]
    + Allow Cool values in .trans specification [91c93029]
    + Produce correct result for atomicint.Range [1660d96f]
    + Fix LTA error message on num % / ** num [07742935]
    + Make Iterable:U.flat do the right thing [0fc7d45f]
    + Mark "lazy-if" method as implementatio detail [d3f058d9]
    + Repair behaviour of Any|Match.print-nl [d332d19a]
    + Allow empty names in .uniparse [3359987a]
    + Handle .comb with negative limit better [278eb69a]
    + Make ForeignCode.gist less verbose [cf664300]
    + Mark Supplier.unsanitized-supply as an implementation detail [eda67b3a]
    + Make prefix - not negate 0 as real value in i [a9c9e398]
    + Fix Any:D.say|put|note [75557437]
    + Make Inf .. xxx produce Nils [ce5e02cd]
    + Make +((5..2).reverse) produce correct value [258a1b54]
    + Allow CLI arguments in the REPL with --repl-mode=interactive [2825646a]
    + Allow sequences as target in :unique :as [ee7c0b4f]
    + Give IO::Path.slurp the same reading semantics as IO::Handle.slurp [3d2f478b]
    + Remove install-dist.p6 file [368ec5c3]
    + Make sure (Iterable,).flat doesn't hang [a6450e45][ce03069d]
    + Make .elems call on type objects consistent [c9d6f7fc]
    + Make Seq.sort in line with sort(Seq) [5e9d63da]
    + Unbreak module loading [JVM] [9f41d2c6]
    + Flatten without overflow/underflow issues [JVM] [ff50e329]

+ Deprecations:

+ Internal:
    + Separate Array.List(:view) handling into a separate candidate [438067e0]
    + Give all :$view cases their own candidates [edd6c2d3]
    + Properly compose 'with[out]' with external loops [cfdde065]
    + Avoid repeated attribute lookups in METAOP_REDUCE_RIGHT [60b0edb9]
    + Centralize creation of 0 denominator Rats [53a5ba75]

+ RakuAST Development:
    + over 40 commits, 142/153 (make test), and 1158/1355 (make spectest)
      [83fc6788][702559fb][a469819c][d048d9f0][31795cd2][0ebeee03][67a426bb]
      [bd944e89][066afa40][8b61f167][c9d03adf][19a32df0][7d080edd][ebe9136f]
      [804c4041][1cedcee6][82ecf39b][d2f12f35][dd62b98e][9b31d7c6][498b9142]
      [91f2f3c1][ea5a74d2][b56ba4c5][817c9ae1][49005b54][e9ba6ef9][5753baf2]
      [ab408076][0649fcc5][b5c36075][0d199cb0][2f8bd239][73dd90e1][9f4416de]
      [b1670268][4d645898][b50d986a][302241fe][5e95151b][efb42ea7][a1ccc7d3]
      [45a6cdd8][c0ad99ea][314eb114]

# $NetBSD: Makefile,v 1.37 2024/10/29 14:59:25 mef Exp $

DISTNAME=	rakudo-2024.10
CATEGORIES=	lang perl6
MASTER_SITES=	${MASTER_SITE_GITHUB:=rakudo/}

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://rakudo.org/
COMMENT=	Perl 6 reference implementation
LICENSE=	artistic-2.0

MAKE_JOBS_SAFE=	no

USE_LANGUAGES=		c c++
USE_TOOLS+=		perl gmake

TEST_TARGET=		test

HAS_CONFIGURE=		yes
CONFIG_SHELL=		${PERL5}
CONFIGURE_SCRIPT=	Configure.pl
CONFIGURE_ARGS=		--prefix=${PREFIX} --backends=moar

REPLACE_INTERPRETER+=	raku
REPLACE.raku.old=	/usr/bin/env raku
REPLACE.raku.new=	${PREFIX}/bin/raku
REPLACE_FILES.raku=	tools/install-dist.raku

.include "../../mk/bsd.prefs.mk"

.if ${OPSYS} == "Darwin"
PLIST_SUBST+=	EXT=dylib
.else
PLIST_SUBST+=	EXT=so
.endif

INSTALLATION_DIRS=	share/perl6/bin

#do-configure:
#	(cd ${WRKSRC} ; \
#	perl Configure.pl                      --backends=moar --prefix=$HOME/raku ; \
#	)
#	perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=$HOME/raku ;

# gmake: *** No rule to make target '3rdparty/nqp-configure/lib/NQP/Config.pm', needed by 'gen/moar/main-version.nqp'.  Stop.
# hard coding should be corrected ..
pre-build:
	${MKDIR} -p  ${WRKSRC}/3rdparty/nqp-configure/lib/NQP
	cp -p ${PREFIX}/lib/perl5/site_perl/5.38.0/NQP/Config.pm ${WRKSRC}/3rdparty/nqp-configure/lib/NQP/
	cp -p ${PREFIX}/lib/perl5/site_perl/5.38.0/NQP/Macros.pm ${WRKSRC}/3rdparty/nqp-configure/lib/NQP/


post-install:
	${RM} -rf ${DESTDIR}${PREFIX}/share/perl6/core/precomp/*
	${RM} -rf ${DESTDIR}${PREFIX}/share/perl6/precomp/*
	${INSTALL_SCRIPT} ${WRKSRC}/tools/install-dist.raku ${DESTDIR}${PREFIX}/share/perl6/bin/
	${RM} -f ${DESTDIR}${PREFIX}/share/perl6/core/short/38673F0433DE95B90DD16424ED7B5B6520D383C5/E14CAA5C7DE5B1A1BAC1ED1155377A9AF4962C18
	${RM} -f ${DESTDIR}${PREFIX}/share/perl6/core/sources/85FD80E5C2ED76D28F0A55D85C2F3F0EC168B638

.include "../../devel/MoarVM/buildlink3.mk"
.include "../../lang/nqp/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>