Changeset 0f9a1f08 for general/prog


Ignore:
Timestamp:
01/18/2023 02:35:32 PM (17 months ago)
Author:
Pierre Labastie <pierre.labastie@…>
Branches:
11.3, 12.0, 12.1, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18, xry111/xf86-video-removal
Children:
c10acfe
Parents:
f56d2e7 (diff), 97e7219 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'trunk' into plabs/python-mods

Location:
general/prog
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • general/prog/apache-ant.xml

    rf56d2e7 r0f9a1f08  
    77  <!ENTITY apache-ant-download-http "https://archive.apache.org/dist/ant/source/apache-ant-&apache-ant-version;-src.tar.xz">
    88  <!ENTITY apache-ant-download-ftp  " ">
    9   <!ENTITY apache-ant-md5sum        "d12488eb56ec73e079bd0f95395e06d6">
     9  <!ENTITY apache-ant-md5sum        "4cf5c6728612f4787eda265b0a2d266b">
    1010  <!ENTITY apache-ant-size          "3.7 MB">
    11   <!ENTITY apache-ant-buildsize     "235 MB">
     11  <!ENTITY apache-ant-buildsize     "242 MB">
    1212  <!ENTITY apache-ant-time          "0.3 SBU (excluding download time)">
    1313]>
  • general/prog/llvm.xml

    rf56d2e7 r0f9a1f08  
    99  <!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz">
    1010  <!ENTITY llvm-download-ftp  " ">
    11   <!ENTITY llvm-md5sum        "6812fb953d8e50f029848b281d89ad67">
    12   <!ENTITY llvm-size          "51 MB">
    13   <!ENTITY llvm-buildsize     "3.6 GB (848 MB installed; add 18.3 GB for tests and 308 MB for documentation)">
    14   <!ENTITY llvm-time          "31 SBU (with doc, on 4 CPU cores; add 22 SBU for tests)">
     11  <!ENTITY llvm-md5sum        "c77db4c71e1eb267358204dffe2c6e10">
     12  <!ENTITY llvm-size          "50 MB">
     13  <!ENTITY llvm-buildsize     "2.7 GB (848 MB installed; add 18.3 GB for tests and 308 MB for documentation)">
     14  <!ENTITY llvm-time          "24 SBU (Using parallelism=4; add 22 SBU for tests)">
    1515
    1616  <!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz">
    17   <!ENTITY clang-md5sum        "f9c15101030fb669af522cc8814484e8">
     17  <!ENTITY clang-md5sum        "a6d0141e50b48f5e60c682277dac83b4">
    1818  <!ENTITY clang-size          "18 MB">
    1919
    2020  <!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz">
    21   <!ENTITY compiler-rt-md5sum        "c1d9422709c74c208bfaf7f9d707b757">
    22   <!ENTITY compiler-rt-size          "2.2 MB">
     21  <!ENTITY compiler-rt-md5sum        "12e6777354f0121cbe73ef13342a9302">
     22  <!ENTITY compiler-rt-size          "2.3 MB">
    2323
    2424  <!ENTITY cmake-llvm-download-http "&sources-anduin-http;/llvm/llvm-cmake-&llvm-version;.src.tar.xz">
    2525<!--  <!ENTITY cmake-llvm-download-http "&llvm-url;/cmake-&llvm-version;.src.tar.xz">
    2626      Renamed cmake-15.0.1.src.tar.xz and placed on anduin.-->
    27   <!ENTITY cmake-llvm-md5sum         "39eb4055b66b65c9052ea1d1240026e2">
     27  <!ENTITY cmake-llvm-md5sum         "c3647d253f67ce255e1aba014e528f5b">
    2828  <!ENTITY cmake-llvm-size           "6.8 KB">
    2929]>
     
    322322
    323323    <para>
    324       Now, as the <systemitem class="username">root</systemitem> user:
    325     </para>
    326 
    327 <screen role="root"><userinput>ninja install</userinput></screen>
     324      Now, as the &root; user:
     325    </para>
     326
     327<screen role="root"><userinput>ninja install &amp;&amp;
     328cp bin/FileCheck /usr/bin</userinput></screen>
    328329<!-- as of version 13.0.0, the install process seems to install the html
    329330     documentation and the manual pages. The llvm html documentation
     
    457458          clang-offload-bundler, clang-offload-packager, clang-offload-wrapper,
    458459          clang-refactor, clang-rename, clang-repl, clang-scan-deps,
    459           diagtool, dsymutil, git-clang-format, hmaptool, intercept-build, llc, lli,
     460          diagtool, dsymutil, FileCheck, git-clang-format, hmaptool, intercept-build, llc, lli,
    460461          llvm-addr2line (symlink to llvm-symbolizer),
    461462          llvm-ar, llvm-as, llvm-bcanalyzer,
     
    705706      </varlistentry>
    706707
     708      <varlistentry id="FileCheck">
     709        <term><command>FileCheck</command></term>
     710        <listitem>
     711          <para>
     712            is a tool that reads two files (one from standard input,
     713            and one specified on the command line) and uses one to verify the other.
     714          </para>
     715          <indexterm zone="llvm FileCheck">
     716            <primary sortas="b-FileCheck">FileCheck</primary>
     717          </indexterm>
     718        </listitem>
     719      </varlistentry>
     720
    707721      <varlistentry id="dsymutil">
    708722        <term><command>dsymutil</command></term>
  • general/prog/perl-modules/perl-io-socket-ssl.xml

    rf56d2e7 r0f9a1f08  
    66
    77  <!ENTITY my-download-http "&perl_authors;/id/S/SU/SULLR/IO-Socket-SSL-&IO-Socket-SSL-version;.tar.gz">
    8   <!ENTITY my-md5sum "f2f8fae0c2fde670a3031cbbf0b4fc4c">
     8  <!ENTITY my-md5sum "5fea30979d562d128c15026b736ea7c5">
    99
    1010  <!ENTITY IO-Socket-SSL-download-http "&perl_authors;/id/S/SU/SULLR/IO-Socket-SSL-&IO-Socket-SSL-version;.tar.gz">
  • general/prog/rust.xml

    rf56d2e7 r0f9a1f08  
    77  <!ENTITY rust-download-http "https://static.rust-lang.org/dist/rustc-&rust-version;-src.tar.xz">
    88  <!ENTITY rust-download-ftp  " ">
    9   <!ENTITY rust-md5sum        "e77ac3a786d013604061b17f99dd9b27">
    10   <!ENTITY rust-size          "131 MB">
    11   <!-- Gentle Reminder: buildsize is how much the user requires for the real
    12        install, i.e. the source with its DESTDIR *plus* the DESTDIR.  You
    13        can 'mkdir /tmp/RUST ; cp -a install/* /tmp/RUST' and then run 'du -sch'
    14        to measure it, or du -sm to look at the size of the build tree before and
    15        after the tests. -->
    16 
    17   <!ENTITY rust-buildsize     "10 GB (516 MB installed) including 266 MB of ~/.cargo files for the user building this. Add 6.2 GB including extra 243 MB of ~/.cargo files if running the tests">
    18   <!ENTITY rust-time          "21 SBU (including download time; add 10 SBU for tests, both on a 4-core machine)">
     9  <!ENTITY rust-md5sum        "96b082a8b44707eafa9d696923f40c28">
     10  <!ENTITY rust-size          "136 MB">
     11  <!ENTITY rust-buildsize     "9.1 GB (323 MB installed); add 6.2 GB if running the tests">
     12  <!ENTITY rust-time          "17 SBU (including download time; add 23 SBU for tests, both on a 4-core machine)">
    1913]>
    2014
     
    4741    <para>
    4842      As with many  other programming languages, rustc (the rust compiler)
    49       needs a binary from which to bootstrap. It will download a stage0 binary
    50       and many cargo crates (these are actually .tar.gz source archives) at
    51       the start of the build, so you cannot compile it without an internet
    52       connection.
    53     </para>
    54 
    55     <para>
    56       These crates will then remain in various forms (cache, directories of
    57       extracted source), in <filename class="directory">~/.cargo</filename> for
    58       ever more. It is common for large <application>rust</application> packages
    59       to use multiple versions of some crates. If you purge the files before
    60       updating this package, very few crates will need to be updated by the
    61       packages in this book which use it (and they will be downloaded as
    62       required). But if you retain an older version as a fallback option and
    63       then use it (when <emphasis>not</emphasis> building in
    64       <filename class="directory">/usr</filename>), it is likely that it will
    65       then have to re-download some crates. For a full download (i.e. starting
    66       with an empty or missing <filename class="directory">~/.cargo</filename>)
    67       downloading the external cargo files for this version only takes a minute
    68       or so on a fast network.
     43      needs a binary from which to bootstrap. It will download a stage0
     44      binary at the start of the build, so you cannot compile it without an
     45      Internet connection.
    6946    </para>
    7047
     
    8966      <para>
    9067        If you prefer, you can of course change the prefix to <filename
    91         class="directory">/usr</filename> and omit the
    92         <command>ldconfig</command> and the actions to add rustc to the PATH.
     68        class="directory">/usr</filename>.
    9369      </para>
    9470    </note>
     
    138114        often reasonably consistent, but as with all compilations using
    139115        <command>rustc</command> there can be some very slow outliers.
    140       </para>
    141       <para>
    142         Unusually, a DESTDIR-style method is being used to install this package.
    143         This is because running the install as root not only downloads all of the
    144         cargo files again (to <filename>/root/.cargo</filename>), it then spends
    145         a very long time recompiling. Using this method saves a lot of time, at
    146         the cost of extra disk space.
    147116      </para>
    148117    </note>
     
    258227    <para>
    259228      To install into the
    260       <filename class="directory">/opt</filename> directory, remove the symlink
     229      <filename class="directory">/opt</filename> directory, remove any
     230      existing <filename>/opt/rustc</filename> symlink
    261231      and create a new directory (i.e. with a different name if trying a
    262       modified build).
     232      modified build of the same version).
    263233      As the <systemitem class="username">root</systemitem>
    264234      user:
    265235    </para>
    266236
    267 <screen role="root"><userinput>mkdir /opt/rustc-&rust-version;             &amp;&amp;
     237<screen role="root"><userinput>mkdir /opt/rustc-&rust-version;         &amp;&amp;
    268238ln -svfn rustc-&rust-version; /opt/rustc</userinput></screen>
    269239
     
    284254<screen><userinput>cat &lt;&lt; EOF &gt; config.toml
    285255<literal># see config.toml.example for more possible options
    286 # See the 8.4 book for an example using shipped LLVM
    287 # e.g. if not installing clang, or using a version before 10.0
     256# See the 8.4 book for an old example using shipped LLVM
     257# e.g. if not installing clang, or using a version before 13.0
     258
     259# tell x.py to not keep printing an annoying warning
     260changelog-seen = 2
     261
    288262[llvm]
    289263# by default, rust will build for a myriad of architectures
     
    297271docs = false
    298272
    299 # install cargo as well as rust
     273# install extended tools: cargo, clippy, etc
    300274extended = true
     275
     276# Do not query new versions of dependencies online.
     277locked-deps = true
     278
     279# Specify which extended tools (those from the default install).
     280tools = ["cargo", "clippy", "rustfmt"]
     281
     282# Use the source code shipped in the tarball for the dependencies.
     283# The combination of this and the "locked-deps" entry avoids downloading
     284# many crates from Internet, and makes the Rustc build more stable.
     285vendor = true
    301286
    302287[install]
     
    306291[rust]
    307292channel = "stable"
    308 rpath = false
    309 
    310 # BLFS does not install the FileCheck executable from llvm,
    311 # so disable codegen tests
    312 codegen-tests = false
     293description = "for BLFS &version;"
     294
     295# BLFS used to not install the FileCheck executable from llvm,
     296# so disabled codegen tests.  The assembly tests rely on FileCheck
     297# and cannot easily be disabled, so those will anyway fail if
     298# FileCheck has not been installed.
     299#codegen-tests = false
    313300
    314301[target.x86_64-unknown-linux-gnu]
     
    341328       src/tools/cargo/Cargo.toml &amp;&amp; -->
    342329
    343 <screen><userinput>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi" &amp;&amp;
    344 { [ ! -e /usr/include/libssh2.h ] ||
     330<screen><userinput>{ [ ! -e /usr/include/libssh2.h ] ||
    345331  export LIBSSH2_SYS_USE_PKG_CONFIG=1; } &amp;&amp;
    346 python3 ./x.py build --exclude src/tools/miri</userinput></screen>
     332python3 ./x.py build</userinput></screen>
    347333
    348334    <note>
     
    358344
    359345    <para>
    360       To run the tests issue <command>python3 ./x.py test --verbose
    361       --no-fail-fast | tee rustc-testlog</command>: as with the build, that
    362       will use all available CPUs.
    363     </para>
    364 
    365     <para>
    366       At a minimum, 51 tests will fail: all 46 of the tests in
    367       the <quote>assembly</quote> suite which are not skipped (various lints
    368       cause the warnings in these tests to be treated as errors), and
    369       5 other tests, 4 of which involve the
    370       <filename>rustdoc-ui/issue-98690.rs</filename> file, and another one,
    371       <filename>run-make-fulldeps/long-linker-command-lines</filename>.
    372 <!--  If <command>gdb</command> is installed,  another failure
    373       (debuginfo/function-names.rs) can be expected.
    374       # seems ok with 11.2 ken -->
     346      To run the tests (again using all available CPUs) issue:
     347    </para>
     348
     349<screen remap="test"><userinput>python3 ./x.py test --verbose --no-fail-fast | tee rustc-testlog</userinput></screen>
     350
     351    <para>
     352      If <command>FileCheck</command> from <application>LLVM</application> has
     353      not been installed, all 47 tests from the <quote>assembly</quote> suite
     354      will fail.
    375355    </para>
    376356
     
    397377    </para>
    398378
    399 <!--
    400  The total number
    401       of tests varies depending on which dependencies are present, e.g. more
    402       will be run if <command>gdb</command> is available. If you wish, the
    403       total number which were considered can be found if you run:
    404     </para>
    405 
    406 <screen remap="test"><userinput>egrep 'running [[:digit:]]+ test' rustc-testlog | awk '{ sum += $2 } END { print sum }'</userinput></screen>-->
    407 
    408     <para>
    409       The number of tests which failed can be found by running:
    410     </para>
    411 
    412 <screen remap="test"><userinput>grep '^test result:' rustc-testlog | awk  '{ sum += $6 } END { print sum }'</userinput></screen>
    413 
    414     <para>
    415       And similarly if you care about how many tests passed use $4, for those
    416       which were ignored (i.e. skipped) use $8 (and $10 for 'measured', $12 for
    417       'filtered out' but both are probably zero).
    418     </para>
    419 
    420     <para>
    421       Still as your normal user, do a DESTDIR install:
    422     </para>
    423 
    424 <screen><userinput>DESTDIR=${PWD}/install python3 ./x.py install &amp;&amp;
    425 unset LIBSSH2_SYS_USE_PKG_CONFIG</userinput></screen>
    426 
    427     <para>
    428       Now, as the <systemitem class="username">root</systemitem> user
    429       install the files from the DESTDIR:
    430     </para>
    431 
    432 <screen role="root"><userinput>chown -R root:root install &amp;&amp;
    433 cp -a install/* /</userinput></screen>
     379    <para>
     380      The number of tests which passed and failed can be found by running:
     381    </para>
     382
     383<!-- split into two lines for narrower screen windows -->
     384<screen remap="test"><userinput>grep '^test result:' rustc-testlog |
     385 awk '{sum1 += $4; sum2 += $6} END { print sum1 " passed; " sum2 " failed" }'</userinput></screen>
     386
     387    <para>
     388      The other available fields are $8 for those which were ignored
     389      (i.e. skipped),  $10 for 'measured' and $12 for 'filtered out' but both
     390      those last two are probably zero.
     391    </para>
     392
     393    <para>
     394      Now, as the &root; user, install the package:
     395    </para>
     396
     397<screen role='root'><userinput>python3 ./x.py install</userinput></screen>
    434398
    435399  </sect2>
    436400
    437401  <sect2 role="commands">
    438     <title>Command Explanations</title>
     402    <title>Command Explanations</title>                 
    439403
    440404    <para>
     
    447411    <para>
    448412      <command>targets = "X86"</command>: this avoids building all the available
    449       linux cross-compilers (Aarch64, MIPS, PowerPC, SystemZ, etc). Unfortunately,
     413      linux cross-compilers (AArch64, MIPS, PowerPC, SystemZ, etc). Unfortunately,
    450414      rust insists on installing source files for these below
    451415      <filename class="directory">/opt/rustc/lib/src</filename>.
     
    453417
    454418    <para>
    455       <command>extended = true</command>: this installs Cargo alongside Rust.
     419      <command>extended = true</command>: this installs several tools
     420      (specified by the <literal>tools</literal> entry) alongside
     421      <command>rustc</command>.
     422    </para>
     423
     424    <para>
     425      <command>tools = ["cargo", "clippy", "rustfmt"]</command>: if the tools
     426      are not scecified, the absence of <application>Miri</application> now
     427      causes the install to fail. But <application>Miri</application> is not
     428      built in the stable channel. Some of the other tools are unlikely to
     429      be useful unless using (old) code analyzers or editing the standard library.
     430      This set match those from the 'default' profile in binary command
     431      <command>rustup</command> which are recommended for most users, except that
     432      the documentation was disabled at the start of the '[build]' section.
    456433    </para>
    457434
     
    460437      can be used, the default in <filename>config.toml</filename> is to use
    461438      development features, which is not appropriate for a released version.
    462     </para>
    463 
    464     <para>
    465       <command>rpath = false</command>: by default, <command>rust</command> can
    466       be run from where it was built, without being installed. That adds DT_RPATH
    467       entries to all of the ELF files, which produces very messy output from
    468       <command>ldd</command>, showing the libraries in the place they were built,
    469       even if they have been deleted from there after the install.
    470439    </para>
    471440
     
    489458    </para>-->
    490459
    491     <para>
     460    <!-- https://github.com/alexcrichton/ssh2-rs/issues/173 -->
     461    <para>
     462      <command>export LIBSSH2_SYS_USE_PKG_CONFIG=1</command>: Allow
     463      <command>cargo</command> to link to system libssh2.
     464    </para>
     465
     466<!--<para>
    492467      <command>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi"</command>:
    493468      This adds a link to libffi to any RUSTFLAGS you may already be passing
    494469      to the build. On some systems, linking fails to include libffi unless
    495470      this is used. The reason why this is needed is not clear.
    496     </para>
    497 
    498     <para>
    499       <command>--exclude src/tools/miri</command>: For a long time, the miri
    500       crate (an interpreter for the Midlevel Intermediate Representation)
    501       has failed to build on releases. It is optional, but the failure
    502       messages can persuade people that the whole build failed.  However,
    503       although it is not built in the main compile, with rustc-1.35.0 it
    504       now got compiled during the install, but it was broken in that version.
    505       <!-- might be unbroken in 1.36.0, if so remove broken from description
    506        of miri below. https://github.com/rust-lang/rust/issues/61830 -->
    507       Omitting it should save a little time. Even if this switch is
    508       not given, miri is not installed.
    509     </para>
     471      2023-01-14 : assumed to be no longer needed, but it is some years
     472      since one person reported needing this, keep it commented for the moment.
     473    </para>-->
    510474
    511475    <para>
     
    517481      <command>--no-fail-fast</command>: this switch ensures that the test suite
    518482      will not stop at the first error.
    519     </para>
    520 
    521     <!-- https://github.com/alexcrichton/ssh2-rs/issues/173 -->
    522     <para>
    523       <command>export LIBSSH2_SYS_USE_PKG_CONFIG=1</command>: Allow
    524       <command>cargo</command> to link to system libssh2.
    525     </para>
    526 
    527     <para>
    528       <command>DESTDIR=${PWD}/install python3 ./x.py install</command>: This
    529       effects a DESTDIR-style install in the source tree,creating an <filename
    530       class="directory">install</filename> directory. Note that DESTDIR installs
    531       need an absolute path, passing 'install' will not work.
    532     </para>
    533 
    534     <para>
    535       <command>chown -R root:root install</command>: the DESTDIR install
    536       was run by a regular user, who owns the files. For security, change their
    537       owner before doing a simple copy to install them.
    538483    </para>
    539484
     
    554499
    555500      <para>
    556         As the <systemitem class="username">root</systemitem> user, update
    557         the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
    558         run-time cache file:
    559       </para>
    560 
    561 <screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
    562 <literal># Begin rustc addition
    563 
    564 /opt/rustc/lib
    565 
    566 # End rustc addition</literal>
    567 EOF
    568 
    569 ldconfig</userinput></screen>
    570 
    571       <indexterm zone="rust rustc-config">
    572         <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
    573       </indexterm>
    574 
    575       <para>
    576501        As the <systemitem class="username">root</systemitem> user, create
    577502        the <filename>/etc/profile.d/rustc.sh</filename> file:
     
    608533      <segtitle>Installed Directories</segtitle>
    609534
    610       <seglistitem>
     535      <seglistitem>                     
    611536        <seg>
    612           cargo-clippy, cargo-fmt, cargo-miri (optional), cargo, clippy-driver,
    613           miri (optional), rls, rust-analyzer, rust-demangler, rust-gdb,
     537          cargo-clippy, cargo-fmt, cargo, clippy-driver, rust-gdb,
    614538          rust-gdbgui, rust-lldb, rustc, rustdoc, and rustfmt
    615539        </seg>
     
    657581      </varlistentry>
    658582
    659       <varlistentry id="cargo-miri">
     583<!--  <varlistentry id="cargo-miri">
    660584        <term><command>cargo-miri</command></term>
    661585        <listitem>
     
    668592          </indexterm>
    669593        </listitem>
    670       </varlistentry>
     594      </varlistentry>-->
    671595
    672596      <varlistentry id="cargo">
     
    694618      </varlistentry>
    695619
    696       <varlistentry id="miri">
     620<!--  <varlistentry id="miri">
    697621        <term><command>miri</command></term>
    698622        <listitem>
     
    745669          </indexterm>
    746670        </listitem>
    747       </varlistentry>
     671      </varlistentry> -->
    748672
    749673      <varlistentry id="rust-gdb">
Note: See TracChangeset for help on using the changeset viewer.