Skip to content

Commit 7b7a75e

Browse files
Updates, fixes and new features
Lots of updated software and build/runtime fixes. See changelog.md for a full list.
1 parent 6ab0ae8 commit 7b7a75e

12 files changed

Lines changed: 565 additions & 278 deletions

build-system.sh

Lines changed: 156 additions & 189 deletions
Large diffs are not rendered by default.

changelog.md

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,41 +6,62 @@ Changes:
66
- Added `lsof` utility.
77
- Added Orage calendar program.
88
- Fixed app category icon issue (e84a375).
9+
- Replaced the systemd timers with hwdata package to provide lspci/lsusb data.
10+
- Removed FFmpeg 5.0 workaround for Firefox (Firefox 99+ supports FFmpeg 5.0).
11+
- GTK-Doc documentation is no longer removed.
12+
- Added LLD as part of the LLVM/Clang toolchain.
913

1014
Upgraded software:
1115

1216
- adwaita-icon-theme: `42.0 --> 41.0` (rollback, see commit e84a375)
1317
- AppArmor: `3.0.3 --> 3.0.4`
1418
- Audit: `3.0.7 --> 3.0.8`
19+
- bc: `5.2.2 --> 5.2.3`
1520
- CMake: `3.23.0-rc5 --> 3.23.0`
21+
- cups-filters: `1.28.13 --> 1.28.14`
1622
- Evince: `41.4 --> 42.1`
1723
- Expat: `2.4.7 --> 2.4.8`
1824
- fcron: `3.2.1 --> 3.3.1`
25+
- Firefox: `98.0.2 --> 99.0`
1926
- Fontconfig: `2.13.96 --> 2.14.0`
2027
- FreeType: `2.11.1 --> 2.12.0`
2128
- Gedit: `41.0 --> 42.0`
22-
- Ghostscript: `9.55.0 --> 9.56.0`
29+
- Ghostscript: `9.55.0 --> 9.56.1`
2330
- gnome-online-accounts: `3.40.1 --> 3.44.0`
2431
- GNUPG: `2.2.34 --> 2.3.4`
2532
- GVFS: `1.48.1 --> 1.50.0`
33+
- Gzip: `1.11 --> 1.12`
2634
- HarfBuzz: `4.1.0 --> 4.2.0`
2735
- iceauth: `1.0.8 --> 1.0.9`
2836
- Jinja2: `3.0.3 --> 3.1.1`
29-
- libsndfile: `1.0.31 --> 1.1.0`
30-
- libxfce4ui: `4.17.4 --> 4.17.6`
37+
- JS91: `91.7.1 --> 91.8.0`
3138
- less: `590 --> 600`
39+
- libarchive: `3.6.0 --> 3.6.1`
40+
- libgpg-error: `1.44 --> 1.45`
41+
- libnma: `1.8.36 --> 1.8.38`
42+
- libsndfile: `1.0.31 --> 1.1.0`
43+
- libstemmer: `2.1.0 --> 2.2.0`
3244
- libX11: `1.7.3 --> 1.7.5`
3345
- libXcursor: `1.2.0 --> 1.2.1`
46+
- libxfce4ui: `4.17.4 --> 4.17.6`
47+
- Linux Kernel: `5.17.1 --> 5.17.2`
48+
- LLVM/Clang/LLD: `13.0.1 --> 14.0.0`
3449
- Mesa: `22.0.0 --> 22.0.1`
3550
- mkfontscale: `1.2.1 --> 1.2.2`
51+
- mobile-broadband-provider-info: `20210805 --> 20220315`
52+
- Moreutils: `0.66 --> 0.67`
3653
- NSS: `3.76 --> 3.77`
54+
- OpenSSH: `8.9p1 --> 9.0p1`
3755
- Procps-NG: `3.3.17 --> 4.0.0`
3856
- setxkbmap: `1.3.2 --> 1.3.3`
3957
- Thunar: `4.17.7 --> 4.17.8`
40-
- Vulkan-Headers: `1.3.208 --> 1.3.210`
41-
- Vulkan-Loader: `1.3.208 --> 1.3.210`
58+
- Vim: `8.2.4626 --> 8.2.4700`
59+
- Vulkan-Headers: `1.3.208 --> 1.3.211`
60+
- Vulkan-Loader: `1.3.208 --> 1.3.211`
61+
- whois: `5.5.12 --> 5.5.13`
4262
- xdg-desktop-portal: `1.14.1 --> 1.14.2`
4363
- xfce4-terminal: `0.9.1 --> 1.0.0`
64+
- xfsprogs: `5.14.2 --> 5.15.0`
4465
- Xwayland: `21.1.4 --> 22.1.1`
4566

4667
# MassOS 2022.04

logo/massos-logo-sidetext.png

9.23 KB
Loading
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
From ff4fd6f960deb7afdac233465a1f4e807234ad15 Mon Sep 17 00:00:00 2001
2+
From: Adrian Johnson <ajohnson@redneon.com>
3+
Date: Sun, 3 Apr 2022 20:03:58 +0930
4+
Subject: [PATCH] Fix type1-subset indexing
5+
6+
Fixes #551
7+
8+
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
9+
---
10+
src/cairo-type1-subset.c | 50 ++++++++++++++++++++++++++--------------
11+
1 file changed, 33 insertions(+), 17 deletions(-)
12+
13+
diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c
14+
index 73f414dc4..0166f7a78 100644
15+
--- a/src/cairo-type1-subset.c
16+
+++ b/src/cairo-type1-subset.c
17+
@@ -70,7 +70,7 @@ typedef struct _cairo_type1_font_subset {
18+
struct {
19+
unsigned int font_id;
20+
char *base_font;
21+
- unsigned int num_glyphs;
22+
+ unsigned int num_glyphs; /* Num /CharStrings in font */
23+
double x_min, y_min, x_max, y_max;
24+
double ascent, descent;
25+
double units_per_em;
26+
@@ -81,6 +81,9 @@ typedef struct _cairo_type1_font_subset {
27+
unsigned long trailer_size;
28+
} base;
29+
30+
+ /* Num glyphs in subset. May be greater than
31+
+ * scaled_font_subset->num_glyphs due to glyphs required by the
32+
+ * SEAC operator. */
33+
int num_glyphs;
34+
35+
/* The glyphs and glyph_names arrays are indexed by the order of
36+
@@ -89,12 +92,12 @@ typedef struct _cairo_type1_font_subset {
37+
* function is used to map the glyph index to the glyph order in
38+
* the Charstrings. */
39+
40+
- glyph_data_t *glyphs;
41+
- char **glyph_names;
42+
cairo_array_t glyphs_array;
43+
+ glyph_data_t *glyphs; /* pointer to first element of above array */
44+
cairo_array_t glyph_names_array;
45+
+ char **glyph_names; /* pointer to first element of above array */
46+
47+
- int num_subrs;
48+
+ int num_subrs; /* Num /Subrs routines in the font */
49+
cairo_bool_t subset_subrs;
50+
struct {
51+
const char *subr_string;
52+
@@ -102,12 +105,17 @@ typedef struct _cairo_type1_font_subset {
53+
const char *np;
54+
int np_length;
55+
cairo_bool_t used;
56+
- } *subrs;
57+
+ } *subrs; /* array with num_subrs elements */
58+
59+
- /* Indexed by subset_index this maps to the glyph order in the
60+
- * glyph_names and glyphs arrays. Has font->num_glyphs
61+
- * elements. */
62+
- int *subset_index_to_glyphs;
63+
+ /* Maps scaled_font_subset index to glyphs_array.
64+
+ * Array size = scaled_font_subset->num_glyphs. */
65+
+ int *scaled_subset_index_to_glyphs;
66+
+
67+
+ /* Keeps track of the glyphs that will be emitted in the subset.
68+
+ * Allocated size = base.num_glyphs. Number of entries = num_glyphs.
69+
+ * Array values are glyph_array indexes.
70+
+ */
71+
+ int *type1_subset_index_to_glyphs;
72+
73+
cairo_output_stream_t *output;
74+
cairo_array_t contents;
75+
@@ -159,7 +167,12 @@ _cairo_type1_font_subset_init (cairo_type1_font_subset_t *font,
76+
77+
_cairo_array_init (&font->glyphs_array, sizeof (glyph_data_t));
78+
_cairo_array_init (&font->glyph_names_array, sizeof (char *));
79+
- font->subset_index_to_glyphs = NULL;
80+
+ font->scaled_subset_index_to_glyphs = calloc (scaled_font_subset->num_glyphs, sizeof font->scaled_subset_index_to_glyphs[0]);
81+
+ if (unlikely (font->scaled_subset_index_to_glyphs == NULL))
82+
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
83+
+
84+
+
85+
+ font->type1_subset_index_to_glyphs = NULL;
86+
font->base.num_glyphs = 0;
87+
font->num_subrs = 0;
88+
font->subset_subrs = TRUE;
89+
@@ -180,7 +193,7 @@ cairo_type1_font_subset_use_glyph (cairo_type1_font_subset_t *font, int glyph)
90+
return;
91+
92+
font->glyphs[glyph].subset_index = font->num_glyphs;
93+
- font->subset_index_to_glyphs[font->num_glyphs] = glyph;
94+
+ font->type1_subset_index_to_glyphs[font->num_glyphs] = glyph;
95+
font->num_glyphs++;
96+
}
97+
98+
@@ -552,7 +565,7 @@ cairo_type1_font_subset_write_header (cairo_type1_font_subset_t *font,
99+
}
100+
} else {
101+
for (i = 1; i < font->scaled_font_subset->num_glyphs; i++) {
102+
- glyph = font->scaled_font_subset->glyphs[i];
103+
+ glyph = font->scaled_subset_index_to_glyphs[i];
104+
_cairo_output_stream_printf (font->output,
105+
"dup %d /%s put\n",
106+
i,
107+
@@ -1391,8 +1404,8 @@ skip_subrs:
108+
font->glyphs = _cairo_array_index (&font->glyphs_array, 0);
109+
font->glyph_names = _cairo_array_index (&font->glyph_names_array, 0);
110+
font->base.num_glyphs = _cairo_array_num_elements (&font->glyphs_array);
111+
- font->subset_index_to_glyphs = calloc (font->base.num_glyphs, sizeof font->subset_index_to_glyphs[0]);
112+
- if (unlikely (font->subset_index_to_glyphs == NULL))
113+
+ font->type1_subset_index_to_glyphs = calloc (font->base.num_glyphs, sizeof font->type1_subset_index_to_glyphs[0]);
114+
+ if (unlikely (font->type1_subset_index_to_glyphs == NULL))
115+
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
116+
117+
backend = font->scaled_font_subset->scaled_font->backend;
118+
@@ -1414,6 +1427,7 @@ skip_subrs:
119+
return status;
120+
121+
cairo_type1_font_subset_use_glyph (font, index);
122+
+ font->scaled_subset_index_to_glyphs[i] = index;
123+
}
124+
125+
/* Go through the charstring of each glyph in use, get the glyph
126+
@@ -1421,7 +1435,7 @@ skip_subrs:
127+
* seac operator (which may cause font->num_glyphs to increase
128+
* while this loop is executing). Also subset the Subrs. */
129+
for (j = 0; j < font->num_glyphs; j++) {
130+
- glyph = font->subset_index_to_glyphs[j];
131+
+ glyph = font->type1_subset_index_to_glyphs[j];
132+
font->build_stack.sp = 0;
133+
font->ps_stack.sp = 0;
134+
status = cairo_type1_font_subset_parse_charstring (font,
135+
@@ -1711,7 +1725,9 @@ _cairo_type1_font_subset_fini (cairo_type1_font_subset_t *font)
136+
137+
free (font->base.base_font);
138+
139+
- free (font->subset_index_to_glyphs);
140+
+ free (font->scaled_subset_index_to_glyphs);
141+
+
142+
+ free (font->type1_subset_index_to_glyphs);
143+
144+
free (font->cleartext);
145+
146+
@@ -1765,7 +1781,7 @@ _cairo_type1_subset_init (cairo_type1_subset_t *type1_subset,
147+
goto fail2;
148+
149+
for (i = 0; i < font.scaled_font_subset->num_glyphs; i++) {
150+
- glyph = font.scaled_font_subset->glyphs[i];
151+
+ glyph = font.scaled_subset_index_to_glyphs[i];
152+
type1_subset->widths[i] = font.glyphs[glyph].width;
153+
}
154+
155+
--
156+
2.35.1
157+

patches/fuse-2.9.9-glibc234.patch

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,56 @@
1-
diff -ruN old/configure.ac new/configure.ac
2-
--- old/configure.ac 2019-01-04 13:37:03.000000000 +0000
3-
+++ new/configure.ac 2021-10-26 13:09:18.524659543 +0100
4-
@@ -55,6 +55,7 @@
1+
From ae2352bca9b4e607538412da0cc2a9625cd8b692 Mon Sep 17 00:00:00 2001
2+
From: Sam James <sam@gentoo.org>
3+
Date: Sat, 24 Jul 2021 22:02:45 +0100
4+
Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix
5+
glibc-2.34+)
6+
7+
closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since
8+
it's available in glibc 2.34+, we want to detect it and only define our
9+
fallback if the libc doesn't provide it.
10+
11+
Bug: https://bugs.gentoo.org/803923
12+
Signed-off-by: Sam James <sam@gentoo.org>
13+
---
14+
configure.ac | 1 +
15+
util/ulockmgr_server.c | 6 ++++++
16+
2 files changed, 7 insertions(+)
17+
18+
diff --git a/configure.ac b/configure.ac
19+
index 9946a0efa..a2d481aa9 100644
20+
--- a/configure.ac
21+
+++ b/configure.ac
22+
@@ -55,6 +55,7 @@ fi
523

624
AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat])
725
AC_CHECK_FUNCS([posix_fallocate])
826
+AC_CHECK_FUNCS([closefrom])
927
AC_CHECK_MEMBERS([struct stat.st_atim])
1028
AC_CHECK_MEMBERS([struct stat.st_atimespec])
1129

12-
diff -ruN old/util/ulockmgr_server.c new/util/ulockmgr_server.c
13-
--- old/util/ulockmgr_server.c 2019-01-04 13:33:33.000000000 +0000
14-
+++ new/util/ulockmgr_server.c 2021-10-26 13:09:18.541325848 +0100
15-
@@ -22,6 +22,9 @@
30+
diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c
31+
index 273c7d923..a04dac5c6 100644
32+
--- a/util/ulockmgr_server.c
33+
+++ b/util/ulockmgr_server.c
34+
@@ -22,6 +22,10 @@
1635
#include <sys/socket.h>
1736
#include <sys/wait.h>
1837

1938
+#ifdef HAVE_CONFIG_H
20-
+#include "config.h"
39+
+ #include "config.h"
2140
+#endif
41+
+
2242
struct message {
2343
unsigned intr : 1;
2444
unsigned nofd : 1;
25-
@@ -124,6 +127,7 @@
45+
@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t buflen, int *fdp,
2646
return res;
2747
}
2848

2949
+#if !defined(HAVE_CLOSEFROM)
3050
static int closefrom(int minfd)
3151
{
3252
DIR *dir = opendir("/proc/self/fd");
33-
@@ -141,6 +145,7 @@
53+
@@ -141,6 +146,7 @@ static int closefrom(int minfd)
3454
}
3555
return 0;
3656
}

patches/ghostscript-9.56.0-reversefix.patch

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
--- old/GNUmakefile
2+
+++ new/GNUmakefile
3+
@@ -170,20 +170,19 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
4+
JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
5+
JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
6+
7+
-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
8+
-CPPFLAGS=
9+
+CFLAGS+=-fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
10+
11+
INCLUDES=-Iinclude
12+
13+
-all: snowball$(EXEEXT) libstemmer.a stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
14+
+all: snowball$(EXEEXT) libstemmer.so.0 stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
15+
16+
algorithms.mk: libstemmer/mkalgorithms.pl libstemmer/modules.txt
17+
libstemmer/mkalgorithms.pl algorithms.mk libstemmer/modules.txt
18+
19+
clean:
20+
rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
21+
$(LIBSTEMMER_OBJECTS) $(LIBSTEMMER_UTF8_OBJECTS) $(STEMWORDS_OBJECTS) snowball$(EXEEXT) \
22+
- libstemmer.a stemwords$(EXEEXT) \
23+
+ libstemmer.so.0 stemwords$(EXEEXT) \
24+
libstemmer/modules.h \
25+
libstemmer/modules_utf8.h \
26+
$(C_LIB_SOURCES) $(C_LIB_HEADERS) $(C_LIB_OBJECTS) \
27+
@@ -222,19 +221,19 @@ libstemmer/modules_utf8.h libstemmer/mkinc_utf8.mak: libstemmer/mkmodules.pl lib
28+
29+
libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS)
30+
31+
-libstemmer.a: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
32+
- $(AR) -cru $@ $^
33+
+libstemmer.so.0: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
34+
+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@,-version-script,libstemmer/symbol.map -o $@ $^
35+
36+
examples/%.o: examples/%.c
37+
$(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $<
38+
39+
-stemwords$(EXEEXT): $(STEMWORDS_OBJECTS) libstemmer.a
40+
+stemwords$(EXEEXT): $(STEMWORDS_OBJECTS) libstemmer.so.0
41+
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
42+
43+
tests/%.o: tests/%.c
44+
$(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $<
45+
46+
-stemtest$(EXEEXT): $(STEMTEST_OBJECTS) libstemmer.a
47+
+stemtest$(EXEEXT): $(STEMTEST_OBJECTS) libstemmer.so.0
48+
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
49+
50+
csharp_stemwords$(EXEEXT): $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
51+
52+
--- /dev/null
53+
+++ new/libstemmer/symbol.map
54+
@@ -0,0 +1,6 @@
55+
+SB_STEMMER_0 {
56+
+ global:
57+
+ sb_stemmer_*;
58+
+ local:
59+
+ *;
60+
+};

0 commit comments

Comments
 (0)