add cairo and xorg-xdm and upg

This commit is contained in:
joborun linux 2022-04-05 22:50:39 +03:00
parent 1da0e4e904
commit 6c55fb53a5
29 changed files with 564 additions and 32 deletions

View File

@ -0,0 +1,157 @@
From ff4fd6f960deb7afdac233465a1f4e807234ad15 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Sun, 3 Apr 2022 20:03:58 +0930
Subject: [PATCH] Fix type1-subset indexing
Fixes #551
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
---
src/cairo-type1-subset.c | 50 ++++++++++++++++++++++++++--------------
1 file changed, 33 insertions(+), 17 deletions(-)
diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c
index 73f414dc4..0166f7a78 100644
--- a/src/cairo-type1-subset.c
+++ b/src/cairo-type1-subset.c
@@ -70,7 +70,7 @@ typedef struct _cairo_type1_font_subset {
struct {
unsigned int font_id;
char *base_font;
- unsigned int num_glyphs;
+ unsigned int num_glyphs; /* Num /CharStrings in font */
double x_min, y_min, x_max, y_max;
double ascent, descent;
double units_per_em;
@@ -81,6 +81,9 @@ typedef struct _cairo_type1_font_subset {
unsigned long trailer_size;
} base;
+ /* Num glyphs in subset. May be greater than
+ * scaled_font_subset->num_glyphs due to glyphs required by the
+ * SEAC operator. */
int num_glyphs;
/* The glyphs and glyph_names arrays are indexed by the order of
@@ -89,12 +92,12 @@ typedef struct _cairo_type1_font_subset {
* function is used to map the glyph index to the glyph order in
* the Charstrings. */
- glyph_data_t *glyphs;
- char **glyph_names;
cairo_array_t glyphs_array;
+ glyph_data_t *glyphs; /* pointer to first element of above array */
cairo_array_t glyph_names_array;
+ char **glyph_names; /* pointer to first element of above array */
- int num_subrs;
+ int num_subrs; /* Num /Subrs routines in the font */
cairo_bool_t subset_subrs;
struct {
const char *subr_string;
@@ -102,12 +105,17 @@ typedef struct _cairo_type1_font_subset {
const char *np;
int np_length;
cairo_bool_t used;
- } *subrs;
+ } *subrs; /* array with num_subrs elements */
- /* Indexed by subset_index this maps to the glyph order in the
- * glyph_names and glyphs arrays. Has font->num_glyphs
- * elements. */
- int *subset_index_to_glyphs;
+ /* Maps scaled_font_subset index to glyphs_array.
+ * Array size = scaled_font_subset->num_glyphs. */
+ int *scaled_subset_index_to_glyphs;
+
+ /* Keeps track of the glyphs that will be emitted in the subset.
+ * Allocated size = base.num_glyphs. Number of entries = num_glyphs.
+ * Array values are glyph_array indexes.
+ */
+ int *type1_subset_index_to_glyphs;
cairo_output_stream_t *output;
cairo_array_t contents;
@@ -159,7 +167,12 @@ _cairo_type1_font_subset_init (cairo_type1_font_subset_t *font,
_cairo_array_init (&font->glyphs_array, sizeof (glyph_data_t));
_cairo_array_init (&font->glyph_names_array, sizeof (char *));
- font->subset_index_to_glyphs = NULL;
+ font->scaled_subset_index_to_glyphs = calloc (scaled_font_subset->num_glyphs, sizeof font->scaled_subset_index_to_glyphs[0]);
+ if (unlikely (font->scaled_subset_index_to_glyphs == NULL))
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+
+ font->type1_subset_index_to_glyphs = NULL;
font->base.num_glyphs = 0;
font->num_subrs = 0;
font->subset_subrs = TRUE;
@@ -180,7 +193,7 @@ cairo_type1_font_subset_use_glyph (cairo_type1_font_subset_t *font, int glyph)
return;
font->glyphs[glyph].subset_index = font->num_glyphs;
- font->subset_index_to_glyphs[font->num_glyphs] = glyph;
+ font->type1_subset_index_to_glyphs[font->num_glyphs] = glyph;
font->num_glyphs++;
}
@@ -552,7 +565,7 @@ cairo_type1_font_subset_write_header (cairo_type1_font_subset_t *font,
}
} else {
for (i = 1; i < font->scaled_font_subset->num_glyphs; i++) {
- glyph = font->scaled_font_subset->glyphs[i];
+ glyph = font->scaled_subset_index_to_glyphs[i];
_cairo_output_stream_printf (font->output,
"dup %d /%s put\n",
i,
@@ -1391,8 +1404,8 @@ skip_subrs:
font->glyphs = _cairo_array_index (&font->glyphs_array, 0);
font->glyph_names = _cairo_array_index (&font->glyph_names_array, 0);
font->base.num_glyphs = _cairo_array_num_elements (&font->glyphs_array);
- font->subset_index_to_glyphs = calloc (font->base.num_glyphs, sizeof font->subset_index_to_glyphs[0]);
- if (unlikely (font->subset_index_to_glyphs == NULL))
+ font->type1_subset_index_to_glyphs = calloc (font->base.num_glyphs, sizeof font->type1_subset_index_to_glyphs[0]);
+ if (unlikely (font->type1_subset_index_to_glyphs == NULL))
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
backend = font->scaled_font_subset->scaled_font->backend;
@@ -1414,6 +1427,7 @@ skip_subrs:
return status;
cairo_type1_font_subset_use_glyph (font, index);
+ font->scaled_subset_index_to_glyphs[i] = index;
}
/* Go through the charstring of each glyph in use, get the glyph
@@ -1421,7 +1435,7 @@ skip_subrs:
* seac operator (which may cause font->num_glyphs to increase
* while this loop is executing). Also subset the Subrs. */
for (j = 0; j < font->num_glyphs; j++) {
- glyph = font->subset_index_to_glyphs[j];
+ glyph = font->type1_subset_index_to_glyphs[j];
font->build_stack.sp = 0;
font->ps_stack.sp = 0;
status = cairo_type1_font_subset_parse_charstring (font,
@@ -1711,7 +1725,9 @@ _cairo_type1_font_subset_fini (cairo_type1_font_subset_t *font)
free (font->base.base_font);
- free (font->subset_index_to_glyphs);
+ free (font->scaled_subset_index_to_glyphs);
+
+ free (font->type1_subset_index_to_glyphs);
free (font->cleartext);
@@ -1765,7 +1781,7 @@ _cairo_type1_subset_init (cairo_type1_subset_t *type1_subset,
goto fail2;
for (i = 0; i < font.scaled_font_subset->num_glyphs; i++) {
- glyph = font.scaled_font_subset->glyphs[i];
+ glyph = font.scaled_subset_index_to_glyphs[i];
type1_subset->widths[i] = font.glyphs[glyph].width;
}
--
2.35.1

53
cairo/PKGBUILD Normal file
View File

@ -0,0 +1,53 @@
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=cairo
pkgver=1.17.6
pkgrel=02
pkgdesc="2D graphics library with support for multiple output devices"
url="https://cairographics.org/"
arch=(x86_64)
depends=(lzo zlib libpng fontconfig freetype2 libx11 libxext libxrender libxcb
glib2 pixman)
makedepends=(valgrind git meson gtk-doc)
#options=(debug) # uncomment this to have the debug package produced
_commit=b43e7c6f3cf7855e16170a06d3a9c7234c60ca94 # tags/1.17.6^0
source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit"
0001-Fix-type1-subset-indexing.patch)
pkgver() {
cd cairo
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}
prepare() {
cd cairo
# FS#74354
patch -Np1 -i ../0001-Fix-type1-subset-indexing.patch
}
build() {
arch-meson cairo build \
-D spectre=disabled \
-D tee=enabled \
-D tests=disabled \
-D symbol-lookup=disabled \
-D gtk_doc=true
meson compile -C build
}
package() {
meson install -C build --destdir "$pkgdir"
}
#---- license gpg-key sha256sums ----
license=(LGPL MPL)
sha256sums=(SKIP
296be3c73638314bea08fa51b5f1650ea0a2aab2a037ea55e41c319d64ca4c3c) # 0001-Fix-type1-subset-indexing.patch

46
cairo/PKGBUILD-arch Normal file
View File

@ -0,0 +1,46 @@
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Brice Carpentier <brice@daknet.org>
pkgname=cairo
pkgver=1.17.6
pkgrel=2
pkgdesc="2D graphics library with support for multiple output devices"
url="https://cairographics.org/"
arch=(x86_64)
license=(LGPL MPL)
depends=(lzo zlib libpng fontconfig freetype2 libx11 libxext libxrender libxcb
glib2 pixman)
makedepends=(valgrind git meson gtk-doc)
options=(debug)
_commit=b43e7c6f3cf7855e16170a06d3a9c7234c60ca94 # tags/1.17.6^0
source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit"
0001-Fix-type1-subset-indexing.patch)
sha256sums=('SKIP'
'296be3c73638314bea08fa51b5f1650ea0a2aab2a037ea55e41c319d64ca4c3c')
pkgver() {
cd cairo
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}
prepare() {
cd cairo
# FS#74354
patch -Np1 -i ../0001-Fix-type1-subset-indexing.patch
}
build() {
arch-meson cairo build \
-D spectre=disabled \
-D tee=enabled \
-D tests=disabled \
-D symbol-lookup=disabled \
-D gtk_doc=true
meson compile -C build
}
package() {
meson install -C build --destdir "$pkgdir"
}

1
cairo/clean Normal file
View File

@ -0,0 +1 @@
rm -rf {src,pkg,cairo}

13
cairo/deps Normal file
View File

@ -0,0 +1,13 @@
lzo
libpng
fontconfig
freetype2
libx11
libxext
libxrender
libxcb
pixman
valgrind
git
meson
gtk-doc

5
cairo/time Normal file
View File

@ -0,0 +1,5 @@
real 0m56.476s
user 1m28.178s
sys 0m5.384s

View File

@ -5,7 +5,7 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=cups-filters
pkgver=1.28.13
pkgver=1.28.14
pkgrel=01
pkgdesc="OpenPrinting CUPS Filters"
arch=('x86_64')
@ -59,4 +59,4 @@ package() {
license=('custom')
sha256sums=(87282b86de32307afa8b2f920585c7fff0b675625ae712b79f3bfc4a06c3ef70) # cups-filters-1.28.13.tar.xz
sha256sums=(1a2d4579c828296e0b001561bffb5ee0177a62a8043f97d3c43fd8a34c2bfde6) # cups-filters-1.28.14.tar.xz

View File

@ -1,7 +1,7 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=cups-filters
pkgver=1.28.13
pkgver=1.28.14
pkgrel=1
pkgdesc="OpenPrinting CUPS Filters"
arch=('x86_64')
@ -18,7 +18,7 @@ optdepends=('ghostscript: for non-PostScript printers to print with CUPS to conv
'docx2txt: to convert Microsoft OOXML text from DOCX files')
backup=(etc/cups/cups-browsed.conf)
source=(https://www.openprinting.org/download/cups-filters/$pkgname-$pkgver.tar.xz)
sha256sums=('87282b86de32307afa8b2f920585c7fff0b675625ae712b79f3bfc4a06c3ef70')
sha256sums=('1a2d4579c828296e0b001561bffb5ee0177a62a8043f97d3c43fd8a34c2bfde6')
build() {
cd "$pkgname"-$pkgver

View File

@ -1,4 +1,5 @@
real 0m33.188s
user 1m32.608s
sys 0m5.748s
real 0m30.489s
user 1m22.133s
sys 0m5.548s

View File

@ -6,7 +6,7 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=libqalculate
pkgver=4.1.0
pkgver=4.1.1
pkgrel=01
pkgdesc='Multi-purpose desktop calculator'
arch=(x86_64)
@ -31,4 +31,4 @@ package() {
license=(GPL)
sha256sums=(d943e5285bdc0b3cd77b8f7a10391d7c753fc19b0ddd48e5d4179decf709d6ff) # libqalculate-4.1.0.tar.gz
sha256sums=(b5611a91293be40fbe8723a81937e25ffb54e6ad6e60f282d044ed92f2d97002) # libqalculate-4.1.1.tar.gz

View File

@ -2,7 +2,7 @@
# Maintainer: Antonio Rojas <arojas@archlinux.org>
pkgname=libqalculate
pkgver=4.1.0
pkgver=4.1.1
pkgrel=1
pkgdesc='Multi-purpose desktop calculator'
arch=(x86_64)
@ -12,7 +12,7 @@ depends=(libxml2 curl mpfr)
makedepends=(intltool doxygen)
optdepends=('gnuplot: for plotting support')
source=(https://github.com/Qalculate/libqalculate/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz)
sha256sums=('d943e5285bdc0b3cd77b8f7a10391d7c753fc19b0ddd48e5d4179decf709d6ff')
sha256sums=('b5611a91293be40fbe8723a81937e25ffb54e6ad6e60f282d044ed92f2d97002')
build() {
cd $pkgname-$pkgver

View File

@ -12,20 +12,22 @@ pkgver=97.0.2
pkgrel=01
pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
arch=(x86_64)
depends=(gtk3 libxt startup-notification mime-types dbus-glib
ffmpeg4.4 nss ttf-liberation libpulse)
optdepends=('libnotify: Notification integration'
'speech-dispatcher: Text-to-Speech'
'hunspell-en_US: Spell checking, US English')
backup=( usr/lib/librewolf/librewolf.cfg
usr/lib/librewolf/distribution/policies.json)
options=(!emptydirs)
install=librewolf.install
makedepends=(zst sh)
proj_id=12875785
url=https://gitlab.com/api/v4/projects/$proj_id/packages/generic/librewolf/$pkgver-1
source=($url/$pkgname-$pkgver-1-x86_64.pkg.tar.zst{,.sig})
package() {
depends=(gtk3 libxt startup-notification mime-types dbus-glib
ffmpeg4.4 nss ttf-liberation libpulse)
optdepends=('libnotify: Notification integration'
'speech-dispatcher: Text-to-Speech'
'hunspell-en_US: Spell checking, US English')
backup=( usr/lib/librewolf/librewolf.cfg
usr/lib/librewolf/distribution/policies.json)
cp -r "${srcdir}"/usr "${pkgdir}"/
}

View File

@ -9,7 +9,7 @@ pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification w/o zstd"
pkgver=22.0.1
pkgrel=02
pkgrel=03
arch=('x86_64')
#options=(debug) # uncomment this if you want the debug package built
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
@ -32,6 +32,10 @@ build() {
# Build only minimal debug info to reduce size
CFLAGS+=' -g1'
CXXFLAGS+=' -g1'
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/6229
CFLAGS+=' -mtls-dialect=gnu'
CXXFLAGS+=' -mtls-dialect=gnu'
arch-meson mesa-$pkgver build \
-D b_ndebug=false \
-D platforms=x11,wayland \

View File

@ -7,7 +7,7 @@ pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification"
pkgver=22.0.1
pkgrel=2
pkgrel=3
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm'
@ -38,6 +38,10 @@ build() {
CFLAGS+=' -g1'
CXXFLAGS+=' -g1'
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/6229
CFLAGS+=' -mtls-dialect=gnu'
CXXFLAGS+=' -mtls-dialect=gnu'
arch-meson mesa-$pkgver build \
-D b_ndebug=true \
-D platforms=x11,wayland \

8
mesa/mvlist Normal file
View File

@ -0,0 +1,8 @@
sudo mv -v libva-mesa-driver-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/
sudo mv -v mesa-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/
sudo mv -v mesa-vdpau-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/
sudo mv -v opencl-mesa-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/
sudo mv -v vulkan-intel-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/
sudo mv -v vulkan-mesa-layers-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/
sudo mv -v vulkan-radeon-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/
sudo mv -v vulkan-swrast-22.0.1-03-x86_64.pkg.tar.xz /var/cache/jobextra/

View File

@ -1,8 +1,8 @@
/var/cache/jobextra/libva-mesa-driver-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/mesa-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/mesa-vdpau-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/opencl-mesa-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-intel-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-mesa-layers-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-radeon-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-swrast-21.3.7-01-x86_64.pkg.tar.xz
/var/cache/jobextra/libva-mesa-driver-22.0.1-02-x86_64.pkg.tar.xz
/var/cache/jobextra/mesa-22.0.1-02-x86_64.pkg.tar.xz
/var/cache/jobextra/mesa-vdpau-22.0.1-02-x86_64.pkg.tar.xz
/var/cache/jobextra/opencl-mesa-22.0.1-02-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-intel-22.0.1-02-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-mesa-layers-22.0.1-02-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-radeon-22.0.1-02-x86_64.pkg.tar.xz
/var/cache/jobextra/vulkan-swrast-22.0.1-02-x86_64.pkg.tar.xz

View File

@ -6,7 +6,7 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=qalculate-gtk
pkgver=4.1.0
pkgver=4.1.1
pkgrel=01
pkgdesc='GTK frontend for libqalculate'
arch=(x86_64)
@ -30,4 +30,5 @@ package() {
license=(GPL)
sha256sums=(8bab126f4f87e9321572f10e9262bf095c7e72470d4b61e2a173d273673bdeca) # qalculate-gtk-4.1.0.tar.gz
sha256sums=(8bf7dee899ba480e4f82c70cb374ed1229da28f7d3b9b475a089630a8eeb32e5) # qalculate-gtk-4.1.1.tar.gz

View File

@ -2,7 +2,7 @@
# Contributor: Eric Bélanger <eric@archlinux.org>
pkgname=qalculate-gtk
pkgver=4.1.0
pkgver=4.1.1
pkgrel=1
pkgdesc='GTK frontend for libqalculate'
arch=(x86_64)
@ -11,7 +11,7 @@ license=(GPL)
depends=(libqalculate gtk3)
makedepends=(intltool python)
source=(https://github.com/Qalculate/qalculate-gtk/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz)
sha256sums=('8bab126f4f87e9321572f10e9262bf095c7e72470d4b61e2a173d273673bdeca')
sha256sums=('8bf7dee899ba480e4f82c70cb374ed1229da28f7d3b9b475a089630a8eeb32e5')
build() {
cd $pkgname-$pkgver

85
xorg-xdm/PKGBUILD Normal file
View File

@ -0,0 +1,85 @@
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=xorg-xdm
pkgver=1.1.13
pkgrel=01
pkgdesc="X Display Manager no systemd"
arch=('x86_64')
url="https://xorg.freedesktop.org/"
depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'libxcrypt')
makedepends=('xorg-util-macros' 'xtrans')
backup=(etc/X11/xdm/Xaccess etc/X11/xdm/Xresources etc/X11/xdm/Xservers etc/X11/xdm/xdm-config etc/pam.d/xdm etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession)
source=(${url}/releases/individual/app/xdm-${pkgver}.tar.xz{,.sig}
Xsession-loginshell.patch
Xsession-xsm.patch
xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
xdm.pam
nolisten.patch)
prepare() {
cd xdm-${pkgver}
patch -Np0 -i "${srcdir}/Xsession-loginshell.patch"
patch -Np1 -i "${srcdir}/Xsession-xsm.patch"
patch -Np0 -i "${srcdir}/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch"
patch -Np1 -i ../nolisten.patch
autoreconf -vfi
}
build() {
cd xdm-${pkgver}
# FS#63867 XDM's default userPath / systemPath hide /usr/local
unset DEF_USER_PATH
./configure --prefix=/usr \
--disable-xdm-auth \
--disable-static \
--with-xdmconfigdir=/etc/X11/xdm \
--with-xdmscriptdir=/etc/X11/xdm \
--with-pixmapdir=/usr/share/xdm/pixmaps \
--with-systemdsystemunitdir=no \
DEF_USER_PATH="/usr/local/bin:/usr/bin:/bin" \
DEF_SYSTEM_PATH="/usr/local/bin:/usr/bin:/bin"
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
cd xdm-${pkgver}
make check
}
package() {
cd xdm-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/var/lib/xdm"
install -m755 -d "${pkgdir}/etc/pam.d"
install -m644 "${srcdir}/xdm.pam" "${pkgdir}/etc/pam.d/xdm"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
sed -i -e 's/\/X11R6//g' "${pkgdir}"/etc/X11/xdm/*
# sed -i 's|^Alias=.*|Alias=display-manager.service|' \
# "$pkgdir/usr/lib/systemd/system/xdm.service"
}
#---- license gpg-key sha256sums ----
license=('custom')
validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith <alan.coopersmith@oracle.com>
sha256sums=(e58267e8f1478f2f5cd57cbcf2367a36973860c3131a450a3e0816585af03264 # xdm-1.1.13.tar.xz
c6e1688e6148f5325f4020ec775f746224345419dfaf55424384c2af2088d6c8 # xdm-1.1.13.tar.xz.sig
29898ece007a81d313b39a0b4fd461a68b45341e0b41967c61fc89df036bccac # Xsession-loginshell.patch
502970834df0cfba4354f5cac8c01478339d63b6469c5cf12cf8d9356b2864ee # Xsession-xsm.patch
5f380a2d6f77feb910d77f7f6843fce9b00ff7610c159fc029ee44cc6c23a48a # xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0 # xdm.pam
c0ae2a6e9e92f96ee588ef92028dc3e42eca934305fd7fc608ca01bd8e190e60) # nolisten.patch

75
xorg-xdm/PKGBUILD-arch Normal file
View File

@ -0,0 +1,75 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=xorg-xdm
pkgver=1.1.13
pkgrel=1
pkgdesc="X Display Manager"
arch=('x86_64')
url="https://xorg.freedesktop.org/"
license=('custom')
depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'systemd' 'libxcrypt')
makedepends=('xorg-util-macros' 'xtrans')
backup=(etc/X11/xdm/Xaccess etc/X11/xdm/Xresources etc/X11/xdm/Xservers etc/X11/xdm/xdm-config etc/pam.d/xdm etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession)
source=(${url}/releases/individual/app/xdm-${pkgver}.tar.xz{,.sig}
Xsession-loginshell.patch
Xsession-xsm.patch
xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
xdm.pam
nolisten.patch)
sha512sums=('1c7ba51dc8c6989ff6ede3a3abd06e002903609d4ebd31f06ec39fbfee3a80a690c6180f85c3ab135a0de4623261d92a191d1ca5f733cdb3bd2e7e78977b98e5'
'SKIP'
'cf79d5ced77568f346e0955d955438ce27dae99cca21fdd80df779c97cfc03b3b15b561d483f8a8206e1db0785434b816b3474d6cc20c5adb8072c0985254c69'
'9ba9b515d18c595cec402c7d4f2a8c4b9b10d99ee1bb0a86f2c72c813962a325c3c6e85ea5387f11819f8c046761494d6e54df0cb33bb4ab1e87ef354dc61c5b'
'698d401899660708dc17eaa84bd2323426afa4c3c094ff8d4a8d9c54e26e073f40dafed67636855bb230f351523a88f1f1ed1ec443d77d92ef65646b5a6976d5'
'cb912013a294f0801b357a43f3e5313ffa9ac5fcc493b2318843983388eb0b839c84060a97c355e12ca03f3b056644aa4a2bb8a74ed73a0f2405816b8d6efdc0'
'36136bdec96dbe034d93b68f14dbd34663e3423520eb8674a5760c7e6379006b32e42c43691cf6d91f9d683bee07e117c7ffc326c50b9e24f7515495e12cd89b')
validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # Alan Coopersmith <alan.coopersmith@oracle.com>
prepare() {
cd xdm-${pkgver}
patch -Np0 -i "${srcdir}/Xsession-loginshell.patch"
patch -Np1 -i "${srcdir}/Xsession-xsm.patch"
patch -Np0 -i "${srcdir}/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch"
patch -Np1 -i ../nolisten.patch
autoreconf -vfi
}
build() {
cd xdm-${pkgver}
# FS#63867 XDM's default userPath / systemPath hide /usr/local
unset DEF_USER_PATH
./configure --prefix=/usr \
--disable-xdm-auth \
--disable-static \
--with-xdmconfigdir=/etc/X11/xdm \
--with-xdmscriptdir=/etc/X11/xdm \
--with-pixmapdir=/usr/share/xdm/pixmaps \
DEF_USER_PATH="/usr/local/bin:/usr/bin:/bin" \
DEF_SYSTEM_PATH="/usr/local/bin:/usr/bin:/bin"
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
cd xdm-${pkgver}
make check
}
package() {
cd xdm-${pkgver}
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/var/lib/xdm"
install -m755 -d "${pkgdir}/etc/pam.d"
install -m644 "${srcdir}/xdm.pam" "${pkgdir}/etc/pam.d/xdm"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
sed -i -e 's/\/X11R6//g' "${pkgdir}"/etc/X11/xdm/*
sed -i 's|^Alias=.*|Alias=display-manager.service|' \
"$pkgdir/usr/lib/systemd/system/xdm.service"
}

View File

@ -0,0 +1,15 @@
--- config/Xsession.in.orig 2008-06-21 13:57:36.000000000 +0000
+++ config/Xsession.in 2008-06-21 14:01:25.000000000 +0000
@@ -56,11 +56,7 @@
resources=$HOME/.Xresources
if [ -s "$startup" ]; then
- if [ -x "$startup" ]; then
- exec "$startup"
- else
- exec /bin/sh "$startup"
- fi
+ exec /bin/sh -ls -c "$startup"
else
if [ -r "$resources" ]; then
BINDIR/xrdb -load "$resources"

View File

@ -0,0 +1,21 @@
--- xdm/config/Xsession.in.orig 2018-06-18 14:25:14.113681055 +0000
+++ xdm/config/Xsession.in 2018-06-18 14:26:10.313832406 +0000
@@ -51,6 +51,7 @@
startup=$HOME/.xsession
resources=$HOME/.Xresources
+xinitrc=$HOME/.xinitrc
if [ -s "$startup" ]; then
exec /bin/sh -ls -c "$startup"
@@ -58,5 +59,9 @@
if [ -r "$resources" ]; then
BINDIR/xrdb -load "$resources"
fi
- exec BINDIR/xsm
+ if [ -r "$xinitrc" ]; then
+ exec /bin/sh -ls -c "$xinitrc"
+ else
+ exec /bin/sh -l /etc/X11/xinit/xinitrc
+ fi
fi

1
xorg-xdm/clean Normal file
View File

@ -0,0 +1 @@
rm -rf {src,pkg,xdm*.xz*}

9
xorg-xdm/deps Normal file
View File

@ -0,0 +1,9 @@
libxaw
libxinerama
xorg-xrdb
xorg-sessreg
libxft
xorg-util-macros
xtrans
autoconf
automake

1
xorg-xdm/key Normal file
View File

@ -0,0 +1 @@
gpg --recv-keys A2FB9E081F2D130E

8
xorg-xdm/nolisten.patch Normal file
View File

@ -0,0 +1,8 @@
--- xdm/config/Xservers.ws.in.orig 2018-06-18 14:31:07.227964637 +0000
+++ xdm/config/Xservers.ws.in 2018-06-18 14:31:38.378048397 +0000
@@ -9,4 +9,4 @@
XCOMM look like:
XCOMM XTerminalName:0 foreign
XCOMM
-:0 local BINDIR/X :0 DEFAULTVT
+:0 local BINDIR/X :0 DEFAULTVT -nolisten tcp

7
xorg-xdm/sums Normal file
View File

@ -0,0 +1,7 @@
xdm-1.1.13.tar.xz
xdm-1.1.13.tar.xz.sig
Xsession-loginshell.patch
Xsession-xsm.patch
xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
xdm.pam
nolisten.patch

View File

@ -0,0 +1,8 @@
--- config/GiveConsole.sessreg-utmp-fix-bug177890 2006-07-24 04:20:10.000000000 -0400
+++ config/GiveConsole 2006-07-24 04:21:16.000000000 -0400
@@ -8,3 +8,5 @@
# causing serious grief.
#
chown $USER /dev/console
+exec /usr/bin/sessreg -a -w "/var/log/wtmp" -u "/run/utmp" \
+ -x "/etc/X11/xdm/Xservers" -l $DISPLAY -h "" $USER

7
xorg-xdm/xdm.pam Normal file
View File

@ -0,0 +1,7 @@
#%PAM-1.0
auth include system-login
-auth optional pam_gnome_keyring.so
account include system-login
password include system-login
session include system-login
-session optional pam_gnome_keyring.so auto_start