Skip to content

Commit 145d002

Browse files
committed
website: updates
1 parent 3e10e85 commit 145d002

File tree

5 files changed

+92
-10
lines changed

5 files changed

+92
-10
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{/* DO NOT EDIT! */}
2+
{/* Automatically generated from xbb-helper/templates/docusaurus/common. */}
3+
4+
import Link from '@docusaurus/Link';
5+
6+
{/* ------------------------------------------------------------------------ */}
7+
8+
<details>
9+
<summary>Flatpack & Snap also promise universal packages, why not use them?</summary>
10+
11+
The short answer is… _“because they run only on GNU/Linux”_.
12+
13+
Both [Flatpack](https://flatpak.org) and [Snap](https://snapcraft.io)
14+
hold promise as the future of application distribution. While they may
15+
eventually achieve this, they are currently specific to GNU/Linux, with
16+
very little chance of expanding to other platforms.
17+
18+
</details>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{/* DO NOT EDIT! */}
2+
{/* Automatically generated from xbb-helper/templates/docusaurus/common. */}
3+
4+
import Link from '@docusaurus/Link';
5+
6+
{/* ------------------------------------------------------------------------ */}
7+
8+
<details>
9+
<summary>Nix also provides reproducible builds, why not use it?</summary>
10+
11+
The short answer is… _“because of Windows”_.
12+
13+
[Nix](https://nixos.org/) is a remarkable project that carefully
14+
controls versions down to individual libraries. However, it relies
15+
on file links, which are either unavailable or unreliable on Windows.
16+
17+
As a result, Nix is currently only available on GNU/Linux and, with
18+
some limitations, on macOS. Additionally, mastering the Nix language
19+
requires significant effort.
20+
21+
</details>

website/docs/getting-started/index.mdx

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,16 @@ cross-platform (Windows, macOS, GNU/Linux) binary
2828
distribution of GCC,
2929
aimed at reproducible builds.
3030

31+
<details>
32+
<summary>What are reproducible builds?</summary>
33+
34+
To be **reproducible**, an operation must remain stable over time and
35+
across different environments. In other words, if builds are repeated
36+
after some time, possibly on a different machine or platform, the
37+
resulting behavior must be functionally equivalent.
38+
39+
</details>
40+
3141
<Overview/>
3242

3343
The open source **xPack GCC** project is hosted on GitHub as
@@ -41,6 +51,39 @@ this project also includes the
4151

4252
<UpgradeNotice/>
4353

54+
## xPacks
55+
56+
<details>
57+
<summary>What the heck are xPacks? Please, not yet another package format!</summary>
58+
59+
**xPacks** are general purpose multi-version software packages.
60+
61+
There are two types of xPacks:
62+
63+
- **source xPacks** (that install source files, usually libraries) and
64+
- **binary xPacks** (that install executables/binary files, usually tools).
65+
66+
The xPacks project **does NOT introduce a new package format**; instead,
67+
it uses **the same format as npm**, which is a collection of files/folders
68+
and a `package.json` file with the package metadata. Additionally,
69+
installing binary xPacks also installs the archives with the platform specific
70+
binaries (such as `.tar.gz` for Unix or `.zip` for Windows).
71+
72+
Also, xPacks can be installed from the
73+
same repositories as **npm** packages, whether public or private.
74+
75+
xPacks are managed by **[xpm](https://xpack.github.io/xpm/)**
76+
(the xPack Project Manager),
77+
a program that complements the **[npm](https://docs.npmjs.com/cli/)** CLI (the
78+
popular JavaScript package manager),
79+
with new language-neutral features.
80+
81+
In short, xPacks are just a way to automate installing source libraries and
82+
tools.
83+
84+
</details>
85+
86+
4487
## Features
4588

4689
All binaries are:
@@ -70,7 +113,7 @@ procedure; the same procedure is used for all major
70113
platforms (**x64 Windows**, **x64 macOS**, **arm64 macOS**, **x64 GNU/Linux**, **arm64 GNU/Linux**, **arm GNU/Linux**)
71114
- multiple versions of the same package can be installed at the same time on
72115
the same system
73-
- no need to worry about dependent libraries, all are included
116+
- no need to worry about dependent libraries, they are all included
74117
- significantly lighter and easier to use than Docker images that provide
75118
similar functionality and are GNU/Linux centric
76119
- projects can be tied to specific tools versions; this provides a good
@@ -82,8 +125,9 @@ procedure; the same procedure is used for all major
82125

83126
## Install
84127

85-
The binaries can be installed automatically as **binary xPacks** or manually as
86-
**portable archives**.
128+
The executables and other related files can be installed automatically with
129+
**xpm** via the **binary xPacks** or manually by downloading the
130+
**platform specific archives**.
87131

88132
The details of installing the **xPack GCC** on various platforms are
89133
presented in the

website/docs/install/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import Testing from './_testing.mdx';
3636

3737
The **xPack GCC** can be installed automatically, using the `xpm` command
3838
(the recommended method), or manually, by downloading and unpacking one of the
39-
portable archives.
39+
platform specific archives.
4040

4141
## Automated install
4242

website/src/components/HomepageFeatures/index.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import clsx from 'clsx';
1616
import Heading from '@theme/Heading';
1717
import styles from './styles.module.css';
18+
import Link from '@docusaurus/Link';
1819

1920
type FeatureItem = {
2021
title: string;
@@ -28,10 +29,7 @@ const FeatureList: FeatureItem[] = [
2829
Svg: require('@site/static/img/mosaic.svg').default,
2930
description: (
3031
<>
31-
By design, <b>multiple versions</b> of the same tools can be
32-
installed at the same time on the same
33-
system. The supported platforms are: <b>Windows</b>, <b>macOS</b>, <b>GNU/Linux</b>.
34-
The tools include all required libraries and can be installed in any folder.
32+
The <b>xPack Framework</b> aims to automate the installation of <b>multiple versions</b> of development tools that are otherwise not easily available in common software distributions, across multiple platforms (<b>Windows</b>, <b>macOS</b>, <b>GNU/Linux</b>).
3533
</>
3634
),
3735
},
@@ -40,7 +38,7 @@ const FeatureList: FeatureItem[] = [
4038
Svg: require('@site/static/img/check-badge.svg').default,
4139
description: (
4240
<>
43-
The xPack binaries can be added to projects
41+
The binary xPacks can be added to projects
4442
as <b>development dependencies</b>,
4543
and conveniently installed with <code>xpm install</code>.
4644
This feature also ensures reproducibility, which is particularly
@@ -53,7 +51,8 @@ const FeatureList: FeatureItem[] = [
5351
Svg: require('@site/static/img/globe.svg').default,
5452
description: (
5553
<>
56-
The <b>xpm</b> tool complements <b>npm</b> with
54+
The <b><Link to="https://xpack.github.io/xpm/">xpm</Link></b> CLI tool
55+
complements <b><Link to="https://docs.npmjs.com/cli/">npm</Link></b> with
5756
several extra features specific to <b>C/C++ projects</b>.
5857
This allows the
5958
binary xPacks to nicely integrate into the Node.js ecosystem,

0 commit comments

Comments
 (0)