1
1
package Perl::Dist::APPerl ;
2
- # Copyright (c) 2022 Gavin Hayes, see LICENSE in the root of the project
3
- use version 0.77; our $VERSION = qv(v0.5 .0);
2
+ # Copyright (c) 2024 Gavin Hayes, see LICENSE in the root of the project
3
+ use version 0.77; our $VERSION = qv(v0.6 .0);
4
4
use strict;
5
5
use warnings;
6
6
use JSON::PP 2.0104 qw( decode_json) ;
@@ -763,7 +763,7 @@ $defconfig{defaultconfig} = 'full';
763
763
764
764
sub _build_def_config {
765
765
return {
766
- base => ($_ [0] // ' nobuild-v0.1.0 ' ),
766
+ base => ($_ [0] // ' nobuild' ),
767
767
desc => ' description of this config' ,
768
768
dest => ' perl.com'
769
769
};
@@ -783,7 +783,7 @@ sub Init {
783
783
}
784
784
785
785
# create project config
786
- my %jsondata = ( ' defaultconfig' => ($defaultconfig // ' nobuild-v0.1.0 ' ));
786
+ my %jsondata = ( ' defaultconfig' => ($defaultconfig // ' nobuild' ));
787
787
if ($defaultconfig && ! exists $Configs -> {apperl_configs }{$defaultconfig }) {
788
788
$jsondata {apperl_configs } = {
789
789
$defaultconfig => _build_def_config($base ),
@@ -1731,8 +1731,8 @@ L<https://computoid.com/posts/Perl-is-Actually-Portable.html>.
1731
1731
1732
1732
=head1 SYNOPSIS
1733
1733
1734
- apperlm install-build-deps
1735
- apperlm-list
1734
+ apperlm list
1735
+ apperlm checkout full
1736
1736
apperlm configure
1737
1737
apperlm build
1738
1738
./perl.com /zip/bin/perldoc Perl::Dist::APPerl
@@ -1743,7 +1743,6 @@ L<https://computoid.com/posts/Perl-is-Actually-Portable.html>.
1743
1743
1744
1744
To build small APPerl from scratch:
1745
1745
1746
- apperlm install-build-deps
1747
1746
apperlm checkout small
1748
1747
apperlm configure
1749
1748
apperlm build
@@ -1752,12 +1751,11 @@ To start an APPerl project from an existing APPerl and build it:
1752
1751
1753
1752
mkdir src
1754
1753
mv perl.com src/
1755
- apperlm init --name your_config_name --base nobuild-v0.1.0
1754
+ apperlm init --name your_config_name --base nobuild
1756
1755
apperlm build
1757
1756
1758
1757
To start an APPerl project and build from scratch:
1759
1758
1760
- apperlm install-build-deps
1761
1759
apperlm init --name your_config_name --base small
1762
1760
apperlm configure
1763
1761
apperlm build
@@ -1773,17 +1771,6 @@ and building APPerl.
1773
1771
1774
1772
=item *
1775
1773
1776
- C<apperlm install-build-deps > installs APPerl build dependencies,
1777
- currently, a fork of the perl5 source and the Cosmopolitan Libc. This
1778
- is only necessary if you are building APPerl from scratch (not using a
1779
- nobuild configuration). Initialization of the repos can be skipped by
1780
- passing the path to them locally. The cosmopolitan repo
1781
- initialization can be skipped with -c <path_to_repo> . The perl5 repo
1782
- initialization can be skipped with -p <path_to_repo>. This install is
1783
- done user specific, installs to $XDG_CONFIG_HOME/apperl .
1784
-
1785
- =item *
1786
-
1787
1774
C<apperlm init > creates an APPerl project, C<apperl-project.json > . The
1788
1775
project default configuration may to specified with -n <name>. If the
1789
1776
configuration does not exist, a new configuration will be created, and
@@ -1802,16 +1789,16 @@ release of Perl::Dist::APPerl.
1802
1789
1803
1790
=item *
1804
1791
1805
- C<apperlm checkout > sets the current APPerl config, this includes a
1806
- C<make veryclean > in the Perl repo and C<git checkout > in both Perl and
1807
- cosmo repos. The current config name is written to
1792
+ C<apperlm checkout > sets the current APPerl config, including cleaning
1793
+ or reestablishing the build dirs. The current config name is written to
1808
1794
C<.apperl/user-project.json > .
1809
1795
1810
1796
=item *
1811
1797
1812
1798
C<apperlm new-config > creates a new config and adds to to the project
1813
1799
config. -n specifies the name of the new config and must be provided.
1814
- -b specifies the base of the new config.
1800
+ -b specifies the base of the new config. Alternatively, you can modify
1801
+ C<apperl-project.json > directly.
1815
1802
1816
1803
=item *
1817
1804
@@ -1827,6 +1814,17 @@ C<zip> binary is required to build, see README.md for details. The
1827
1814
C<zip > binary path may be explictly set by passing in
1828
1815
--zippath <zip_binary_path> .
1829
1816
1817
+ =item *
1818
+
1819
+ C<apperlm install-build-deps > installs APPerl build git dependencies.
1820
+ This is now unnecessary unless you are doing vista builds or developing
1821
+ APPerl itself. Note, vista builds are deprecated, see Changes.
1822
+ Initialization of the repos can be skipped by passing the path to them
1823
+ locally. The cosmopolitan repo initialization can be skipped with
1824
+ -c <path_to_repo> . The perl5 repo initialization can be skipped with
1825
+ -p <path_to_repo>. This install is done user specific, installs to
1826
+ $XDG_CONFIG_HOME/apperl .
1827
+
1830
1828
=back
1831
1829
1832
1830
=head1 USAGE
@@ -2074,7 +2072,7 @@ the parent config.
2074
2072
2075
2073
Build it and try it out. apperlm checkout is needed as Perl must be
2076
2074
rebuilt from scratch as the Configure flags changed and new files were
2077
- added to the perl5 repo .
2075
+ added to the perl5 build dir .
2078
2076
2079
2077
apperlm checkout my_src_build_config
2080
2078
apperlm configure
@@ -2147,7 +2145,7 @@ Gavin Hayes, C<< <gahayes at cpan.org> >>
2147
2145
2148
2146
=head1 LICENSE AND COPYRIGHT
2149
2147
2150
- This software is copyright (c) 2022 by Gavin Hayes.
2148
+ This software is copyright (c) 2024 by Gavin Hayes.
2151
2149
2152
2150
This is free software; you can redistribute it and/or modify it under
2153
2151
the same terms as the Perl 5 programming language system itself.
0 commit comments