blob: 2afe9c789ed298f3b1fa9a4a695b98ab5635f9f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# Usually these exist as tarballs existing on the FTP site(s)
# eg. 2017.07 etc.
# Occasionally (mis-)used to pull in fixes (see 'lastmin-fixes.txt')
# eg. 2017.07-9-gc0abee7 etc.
RAKUDO_VER = 2017.07
NQP_VER = 2017.07-9-gc0abee7
MOAR_VER = 2017.07
STAR_REL = rakudo-star-$(VERSION)
STAR_TGZ = $(STAR_REL).tar.gz
SRC_DIR = src
RAKUDO_TGZ = rakudo-$(RAKUDO_VER).tar.gz
RAKUDO_URL = https://rakudo.perl6.org/downloads/rakudo/$(RAKUDO_TGZ)
RAKUDO_SRC = $(SRC_DIR)/$(RAKUDO_TGZ)
NQP_TGZ = nqp-$(NQP_VER).tar.gz
NQP_URL = https://rakudo.perl6.org/downloads/nqp/$(NQP_TGZ)
NQP_SRC = $(SRC_DIR)/$(NQP_TGZ)
MOAR_TGZ = MoarVM-$(MOAR_VER).tar.gz
MOAR_URL = https://www.moarvm.org/releases/$(MOAR_TGZ)
MOAR_SRC = $(SRC_DIR)/$(MOAR_TGZ)
PERL = perl
PREFIX = $(PERL) $(CURDIR)/tools/star/prefix.pl
WGET = wget
all: rakudo nqp moar manifest
always:
rakudo: nqp $(RAKUDO_SRC)
tar --xform 's!rakudo-[^/]*!rakudo!' -xvzf $(RAKUDO_SRC)
$(RAKUDO_SRC):
mkdir -p $(SRC_DIR)
$(WGET) $(RAKUDO_URL) -O $(RAKUDO_SRC)
nqp: moar $(NQP_SRC)
tar --xform 's!nqp-[^/]*!nqp!' -xvzf $(NQP_SRC)
$(NQP_SRC):
mkdir -p $(SRC_DIR)
$(WGET) $(NQP_URL) -O $(NQP_SRC)
moar: $(MOAR_SRC)
tar --xform 's!MoarVM-[^/]*!MoarVM!' -xvzf $(MOAR_SRC)
$(MOAR_SRC):
mkdir -p $(SRC_DIR)
$(WGET) $(MOAR_URL) -O $(MOAR_SRC)
modules/DBIish/lib:
@echo "Updating submodules"
git submodule init
git submodule update
manifest: modules/DBIish/lib
echo MANIFEST >MANIFEST
git ls-files >>MANIFEST
$(PREFIX) rakudo/ rakudo/MANIFEST >>MANIFEST
$(PREFIX) nqp/ nqp/MANIFEST >>MANIFEST
$(PREFIX) MoarVM/ MoarVM/MANIFEST >>MANIFEST
git submodule foreach --quiet 'git ls-files | $(PREFIX) $$path/' >>MANIFEST
grep -v -f tools/star/MANIFEST.exclude MANIFEST >MANIFEST.1
$(PERL) -n -e 'chomp; -f && print "$$_\n"' MANIFEST.1 >MANIFEST
sort -o MANIFEST MANIFEST
rm MANIFEST.1
patch:
patch -p1 < patches/star-ver.patch
patch -p1 < patches/perl6-pod-to-bigpage.patch
patch -p1 < patches/panda.patch
tarball: manifest patch
[ -n "$(VERSION)" ] || ( echo "\nTry '$(MAKE) release VERSION=yyyy.mm'\n\n"; exit 1 )
[ -d $(STAR_REL) ] || ln -s . $(STAR_REL)
$(PREFIX) $(STAR_REL)/ MANIFEST | \
tar -zcv -T - -f $(STAR_TGZ)
rm $(STAR_REL)
release: tarball
|