File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /bin/bash -e
2+
3+ GDMD_WRAPPER=" https://cdn.jsdelivr.net/gh/D-Programming-GDC/gdmd@ff2c97a47408fb71c18a2d453294d18808a97cc5/dmd-script"
4+ TREE_DIR=" /tree/extra-dlang/ldc/"
5+
6+ if [ ! -d /tree ]; then
7+ echo ' [!] Must be run from a Ciel container!'
8+ exit 1
9+ fi
10+
11+ echo ' [+] Installing GDMD wrapper for gdc ...'
12+ wget " $GDMD_WRAPPER " -O /usr/bin/gdmd
13+ chmod a+x /usr/bin/gdmd
14+
15+ echo ' [+] Removing ldc ...'
16+ apt-get purge ldc || true
17+ sed -i " s| ldc||" " ${TREE_DIR} 01-liblphobos/defines"
18+
19+ echo ' [+] Patching LDC building scripts ...'
20+ cat << 'EOF ' | perl -
21+ my $filename = '/tree/extra-dlang/ldc/01-liblphobos/build';
22+ my $regex = qr/cmake \.\..+?ninja/msp;
23+ my $subst = 'cmake .. -GNinja -DD_COMPILER=/usr/bin/gdmd -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr;ninja';
24+
25+ my $file_content = do{local(@ARGV,$/)=$filename;<>};
26+ my $result = $file_content =~ s/$regex/$subst/rg;
27+ open(FH, '>', $filename) or die $!;
28+
29+ print FH "$result\n";
30+ EOF
31+
32+ echo ' [+] Bootstrapping LDC ...'
33+ acbs-build ldc
34+
35+ echo ' [+] Restoring Git tree ...'
36+ pushd /tree
37+ git checkout -f ' extra-dlang/ldc/'
38+ popd
39+ rm -v /usr/bin/gdmd
40+
41+ echo ' [+] Re-building LDC with LDC ...'
42+ acbs-build ldc
You can’t perform that action at this time.
0 commit comments