Skip to content

Commit 187d075

Browse files
committed
website: updates
1 parent b2c0438 commit 187d075

File tree

5 files changed

+202
-39
lines changed

5 files changed

+202
-39
lines changed
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
---
2+
title: xPack GCC v13.2.0-1 released
3+
seo_title: Version 13.2.0-1 released
4+
description: Version 13.2.0-1 is a new release of xPack GCC.
5+
keywords:
6+
- xpack
7+
- gcc
8+
- release
9+
10+
date: 2023-08-31 20:35:32 +0300
11+
12+
authors: ilg-ul
13+
14+
# To be listed in the Releases page.
15+
tags:
16+
- releases
17+
18+
# ----- Custom properties -----------------------------------------------------
19+
20+
21+
version: "13.2.0-1"
22+
npm_subversion: "1"
23+
24+
download_url: https://github.com/xpack-dev-tools/gcc-xpack/releases/tag/v13.2.0-1/
25+
26+
---
27+
28+
import {PageMetadata} from '@docusaurus/theme-common';
29+
import Image from '@theme/IdealImage';
30+
import CodeBlock from '@theme/CodeBlock';
31+
32+
{/* ------------------------------------------------------------------------ */}
33+
34+
Version **13.2.0-1** is a new release; it follows the official GNU GCC release.
35+
36+
<!-- truncate -->
37+
38+
<PageMetadata title={frontMatter.seo_title} />
39+
40+
41+
The [xPack GCC](https://xpack.github.io/gcc/)
42+
is a standalone cross-platform binary distribution of
43+
[GCC](https://gcc.gnu.org).
44+
45+
There are separate binaries for **Windows** (x64),
46+
**macOS** (x64, arm64)
47+
and **GNU/Linux** (x64, arm64 and arm).
48+
49+
:::note Raspberry Pi
50+
51+
The main targets for the GNU/Linux Arm
52+
binaries are the **Raspberry Pi** class devices (armv7l and aarch64;
53+
armv6 is not supported).
54+
55+
:::
56+
57+
## Download
58+
59+
The binary files are available from <a href={frontMatter.download_url}>GitHub Releases</a>.
60+
61+
## Prerequisites
62+
63+
- x64 GNU/Linux: any system with **GLIBC 2.27** or higher
64+
(like Ubuntu 18 or later, Debian 10 or later, RedHat 8 or later,
65+
Fedora 29 or later, etc)
66+
- arm64/arm GNU/Linux: any system with **GLIBC 2.27** or higher
67+
(like Raspberry Pi OS, Ubuntu 18 or later, Debian 10 or later, RedHat 8 or later,
68+
Fedora 29 or later, etc)
69+
- x64 Windows: Windows 7 with the Universal C Runtime
70+
([UCRT](https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c)),
71+
Windows 8, Windows 10
72+
- x64 macOS: 10.13 or later
73+
- arm64 macOS: 11.6 or later
74+
75+
## Install
76+
77+
The easiest way to install this specific version, is by using **xpm**:
78+
79+
<CodeBlock language="console"> {
80+
`xpm install @xpack-dev-tools/gcc@${frontMatter.version}.${frontMatter.npm_subversion} -verbose
81+
`} </CodeBlock>
82+
83+
Comprehensive instructions for installing **xPack GCC** on different platforms
84+
can be found in the [Install Guide](/docs/install/).
85+
86+
## Compliance
87+
88+
The xPack GCC generally follows the official
89+
[GCC](https://gcc.gnu.org/releases.html) releases.
90+
91+
The current version is based on:
92+
93+
- GCC version [13.2.0](https://gcc.gnu.org/gcc-13/) from July 27, 2023;
94+
- binutils version
95+
[2.41](https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00009.html)
96+
from July 30, 2023.
97+
98+
## Supported languages
99+
100+
The supported languages are:
101+
102+
- C
103+
- C++
104+
- Obj-C
105+
- Obj-C++
106+
- Fortran
107+
108+
Note: Obj-C/C++ support is minimalistic.
109+
110+
Starting with August 2022, support for 32-bit multilib was added on x86
111+
GNU/Linux; it can be enabled via the `-m32` compile option.
112+
113+
## Changes
114+
115+
Compared to the upstream, there are no functional changes.
116+
117+
## Bug fixes
118+
119+
- none
120+
121+
## Enhancements
122+
123+
- none
124+
125+
## Known problems
126+
127+
- [[#8]](https://github.com/xpack-dev-tools/gcc-xpack/issues/8) due to
128+
an error in the binutils build script, in certain conditions, on GNU/Linux,
129+
the linker complained about a dependency to `libpthread.so` and/or
130+
`libm.so`; fixed in 2024-02-24.
131+
132+
## Documentation
133+
134+
To save space and bandwidth, the original GNU GCC documentation is available
135+
[online](https://gcc.gnu.org/onlinedocs/).
136+
137+
## Build
138+
139+
The binaries for all supported platforms
140+
(Windows, macOS and GNU/Linux) were built using the
141+
[xPack Build Box (XBB)](https://xpack.github.io/xbb/), a set
142+
of build environments based on slightly older distributions, that should be
143+
compatible with most recent systems.
144+
145+
For the prerequisites and more details on the build procedure, please see the
146+
[Maintainer Info](/docs/maintainer/) page.
147+
148+
## CI tests
149+
150+
Before publishing, a set of simple tests were performed on an exhaustive
151+
set of platforms. The results are available from:
152+
153+
- [GitHub Actions](https://github.com/xpack-dev-tools/gcc-xpack/actions/)
154+
- [Tra

website/docs/getting-started/index.mdx

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ import ReleaseSchedule from './_release-schedule.mdx'
3737

3838
## Overview
3939

40-
**xPack GCC** is a standalone
41-
cross-platform (Windows, macOS, GNU/Linux) binary
40+
**xPack GCC** is a
41+
standalone, cross-platform (Windows, macOS, GNU/Linux) binary
4242
distribution of GCC,
4343
aimed at reproducible builds.
4444

@@ -48,7 +48,7 @@ aimed at reproducible builds.
4848
To be **reproducible**, an operation must remain stable over time and
4949
across different environments. In other words, if builds are repeated
5050
after some time, possibly on a different machine or platform, the
51-
resulting behavior must be functionally equivalent.
51+
resulting behaviour must be functionally equivalent.
5252

5353
</details>
5454

@@ -65,7 +65,7 @@ this project also includes the
6565

6666
<UpgradeNotice/>
6767

68-
## What are xpm packages? (xPacks)
68+
## What are xpm packages? (xPacks) {#xpm-packages}
6969

7070
**xpm packages**, abbreviated as **xPacks**, are versatile,
7171
language-neutral software packages. They have been successfully
@@ -74,16 +74,16 @@ utilised in C/C++ projects.
7474
<details>
7575
<summary>What the heck are xpm packages / xPacks? Please, do not introduce another package format!</summary>
7676

77-
While the initial appearance may seem complex, utilizing
77+
Although the initial appearance may seem complex, utilising
7878
xpm packages is, in fact, straightforward.
7979
The design rationale is to automate frequent
80-
operations that occur during software development, in this case the
80+
operations that occur during software development, such as the
8181
installation of
8282
dependencies, and to ensure reproducibility.
8383

8484
These packages are managed by **[xpm](https://xpack.github.io/xpm/)**
8585
(the xPack Project Manager),
86-
a program that complements the **[npm](https://docs.npmjs.com/cli/)** CLI
86+
a programme that complements the **[npm](https://docs.npmjs.com/cli/)** CLI
8787
(the popular JavaScript package manager), with new language-neutral features.
8888

8989
The xPacks Framework **does NOT introduce a new package format**; instead,
@@ -98,34 +98,40 @@ are extracted into separate folders within the project.
9898

9999
Based on the content, there are two types of xpm packages:
100100

101-
- **source packages** (that install source files, usually libraries) and
102-
- **binary packages** (that install executables/binary files, usually tools).
101+
- packages with source libraries (**source** xpm packages)
102+
- packages with executables, usually platform-specific binary
103+
tools (**binary** xpm packages)
103104

104-
Binary packages include references to archives with the platform specific
105-
binaries (such as `.tar.gz` for Unix or `.zip` for Windows).
105+
**Source xpm packages** are regular npm packages that include **library
106+
source files**, typically in **C/C++**, though there are no language
107+
restrictions.
106108

107-
These archives are also expanded along the package metadata. Since they
108-
include executables, links/forwarders to
109+
**Binary xpm packages** are also regular npm packages, but with minimal
110+
content, typically just the `package.json` file. Since these packages
111+
provide executables for multiple platforms, some of which are quite
112+
large, it is not practical to include all binaries within the npm
113+
package itself. Instead, the `package.json` file contains references
114+
(URLs) to platform-specific binary archives (e.g., `.tar.gz` for Unix or
115+
`.zip` for Windows).
116+
117+
These archives are also expanded along with the package metadata.
118+
Links/forwarders to
109119
these executables are created in a `.bin` folder,
110120
eliminating the need to add multiple folders to the `PATH`.
111121

112-
Given that some binary packages, such as toolchains, can have very large
113-
archives, the packages are extracted only once into a user global location to
114-
conserve space. In projects, instead of duplicating the content of these
115-
archives, symbolic links are created.
116-
117-
Simply put, xpm packages can be used to further automate the
118-
installation of source libraries and tools.
122+
In summary, xpm packages can enhance and automate the installation
123+
process for source libraries and tools.
119124

120125
</details>
121126

122127
## Features
123128

124129
All binaries are:
125130

126-
- **self-contained** (include all required libraries)
127-
- **file-system relocatable** (can be installed in any location)
128-
- built on slightly older systems (to make them run on both old and new systems)
131+
- **Self-contained** (include all required libraries).
132+
- **File-system relocatable** (can be installed in any location).
133+
- Built on slightly older systems (to ensure compatibility with both
134+
old and new systems).
129135

130136
<details>
131137
<summary>Compatibility with older systems</summary>
@@ -154,17 +160,17 @@ location, including in user folders.
154160

155161
The main advantages of using the **xPack GCC** are:
156162

157-
- a convenient, uniform and portable install/uninstall/upgrade
163+
- A convenient, uniform and portable install/uninstall/upgrade
158164
procedure; the same procedure is used for all major
159-
platforms (**x64 Windows**, **x64 macOS**, **arm64 macOS**, **x64 GNU/Linux**, **arm64 GNU/Linux**, **arm GNU/Linux**)
160-
- multiple versions of the same package can be installed at the same time on
161-
the same system
162-
- no need to worry about dependent libraries, they are all included
163-
- not affected by system updates that
164-
might change the versions of the dependent libraries
165-
- significantly lighter and easier to use than Docker images that provide
166-
similar functionality and are GNU/Linux centric
167-
- projects can be tied to specific tools versions; this provides a good
165+
platforms (**x64 Windows**, **x64 macOS**, **arm64 macOS**, **x64 GNU/Linux**, **arm64 GNU/Linux**, **arm GNU/Linux**).
166+
- Multiple versions of the same package can be installed at the same time on
167+
the same system.
168+
- No need to worry about dependent libraries, they are all included.
169+
- Not affected by system updates that
170+
might change the versions of the dependent libraries.
171+
- Significantly lighter and easier to use than Docker images that provide
172+
similar functionality and are GNU/Linux centric.
173+
- Projects can be tied to specific tools versions; this provides a good
168174
reproducibility, especially useful in **CI/CD** environments.
169175

170176
<OtherBenefits/>

website/docs/install/index.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,22 +63,22 @@ as <a href={`https://www.npmjs.com/package/@xpack-dev-tools/gcc`}><code>@xpack-d
6363
the [`npmjs.com`](https://www.npmjs.com) registry.
6464

6565
<details>
66-
<summary>xPacks refresher</summary>
66+
<summary>xpm packages (xPacks) refresher</summary>
6767

68-
xPacks (short for xpm packages) are general-purpose,
68+
**xpm packages**, abbreviated as **xPacks**, are general-purpose,
6969
language-neutral software packages.
7070
They use **the same format as npm packages**,
7171
which is a collection of files/folders
7272
and a `package.json` file with the package metadata.
7373

7474
**xpm** can install source and binary packages.
75-
Binary xPacks include references to regular archives with the platform
75+
Binary packages include references to regular archives with the platform
7676
specific binaries (such as `.tar.gz` for Unix or `.zip` for Windows).
7777
These archives are unpacked and links/forwarders to
7878
the executables are created in a `.bin` folder.
7979

8080
For more details, please see the previous explanation in the
81-
[Getting Started](/docs/getting-started/#xpacks) page.
81+
[Getting Started](/docs/getting-started/#xpm-packages) page.
8282

8383
</details>
8484

@@ -426,7 +426,7 @@ install the packages globally will fail with _already installed_.
426426
<details>
427427
<summary>PATH setup</summary>
428428

429-
In order to access the GNU RISC-V Embedded GCC binaries installed in
429+
In order to access the GCC binaries installed in
430430
the user global xPacks store,
431431
the project build configurations need a PATH adjustment:
432432

website/docs/user/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# DO NOT EDIT!
44
# Automatically generated from xbb-helper/templates/docusaurus/common.
55

6-
title: User Information
6+
title: User's Guide
77
description: User information, including the versioning scheme, usage of shared libraries, and RPATH configuration on GNU/Linux.
88
keywords:
99
- xpack

website/docusaurus.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,12 @@ const config: Config = {
102102
organizationName: 'xpack-dev-tools', // Usually your GitHub org/user name.
103103
projectName: 'gcc-xpack', // Usually your repo name.
104104

105+
onBrokenAnchors: 'throw',
105106
onBrokenLinks: 'throw',
106107
onBrokenMarkdownLinks: 'throw',
107108

109+
onDuplicateRoutes: 'throw',
110+
108111
// Useful for the sitemap.xml, to avoid redirects, since
109112
// GitHub redirects all to trailing slash.
110113
trailingSlash: true,

0 commit comments

Comments
 (0)