mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-25 01:50:40 +00:00
afterstep: drop (#545089)
This commit is contained in:
@@ -403,6 +403,11 @@ in
|
||||
as the underlying package isn't being maintained. Working alternatives are
|
||||
libinput and synaptics.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "xserver" "windowManager" "afterstep" ] ''
|
||||
The services.xserver.windowManager.afterstep module and the corresponding
|
||||
package have been removed from Nixpkgs because they were unmaintained
|
||||
upstream.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "xserver" "windowManager" "ragnarwm" ] ''
|
||||
The services.xserver.windowManager.ragnarwm module has been removed
|
||||
because the corresponding package was removed from nixpkgs.
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.xserver.windowManager.afterstep;
|
||||
in
|
||||
{
|
||||
###### interface
|
||||
options = {
|
||||
services.xserver.windowManager.afterstep.enable = mkEnableOption "afterstep";
|
||||
};
|
||||
|
||||
###### implementation
|
||||
config = mkIf cfg.enable {
|
||||
services.xserver.windowManager.session = singleton {
|
||||
name = "afterstep";
|
||||
start = ''
|
||||
${pkgs.afterstep}/bin/afterstep &
|
||||
waitPID=$!
|
||||
'';
|
||||
};
|
||||
environment.systemPackages = [ pkgs.afterstep ];
|
||||
};
|
||||
}
|
||||
@@ -8,7 +8,6 @@ in
|
||||
{
|
||||
imports = [
|
||||
./2bwm.nix
|
||||
./afterstep.nix
|
||||
./berry.nix
|
||||
./bspwm.nix
|
||||
./cwm.nix
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
From 081d9c3284075c65b70837079bd67621c3b64da7 Mon Sep 17 00:00:00 2001
|
||||
From: Moraxyc <i@qaq.li>
|
||||
Date: Sun, 28 Dec 2025 00:39:49 +0800
|
||||
Subject: [PATCH] fix build with c23
|
||||
|
||||
---
|
||||
libAfterBase/fs.c | 2 +-
|
||||
src/ASDocGen/ASDocGen.c | 2 +-
|
||||
src/Ident/Ident.c | 2 +-
|
||||
src/afterstep/dirtree.c | 2 +-
|
||||
src/afterstep/menus.h | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libAfterBase/fs.c b/libAfterBase/fs.c
|
||||
index 731bfd3..954bfd6 100644
|
||||
--- a/libAfterBase/fs.c
|
||||
+++ b/libAfterBase/fs.c
|
||||
@@ -818,7 +818,7 @@ my_scandir (char *dirname, struct direntry *(*namelist[]),
|
||||
}
|
||||
/* Optionally sort the list */
|
||||
if (dcomp)
|
||||
- qsort (*namelist, n, sizeof (struct direntry *), (int (*)())dcomp);
|
||||
+ qsort (*namelist, n, sizeof (struct direntry *), (int (*)(const void *, const void *))dcomp);
|
||||
|
||||
/* Return the count of the entries */
|
||||
return n;
|
||||
diff --git a/src/ASDocGen/ASDocGen.c b/src/ASDocGen/ASDocGen.c
|
||||
index 31d7a70..9a86219 100644
|
||||
--- a/src/ASDocGen/ASDocGen.c
|
||||
+++ b/src/ASDocGen/ASDocGen.c
|
||||
@@ -667,7 +667,7 @@ write_options_keywords(const char *source_dir, const char *syntax_dir, SyntaxDef
|
||||
sorted_list = safecalloc( max_i, sizeof(TermDef*));
|
||||
for (i = 0; i < max_i; i++)
|
||||
sorted_list[i] = &(syntax->terms[i]) ;
|
||||
- qsort(sorted_list, max_i, sizeof(TermDef*), (int (*)())sort_terms_by_alpha );
|
||||
+ qsort(sorted_list, max_i, sizeof(TermDef*), (int (*)(const void *, const void *))sort_terms_by_alpha );
|
||||
for (i = 0; i < max_i; i++)
|
||||
{
|
||||
SyntaxDef *sub_syntax = sorted_list[i]->sub_syntax ;
|
||||
diff --git a/src/Ident/Ident.c b/src/Ident/Ident.c
|
||||
index 1497d06..d6ddad6 100644
|
||||
--- a/src/Ident/Ident.c
|
||||
+++ b/src/Ident/Ident.c
|
||||
@@ -89,7 +89,7 @@ void HandleEvents();
|
||||
void DispatchEvent (ASEvent * event);
|
||||
void process_message (send_data_type type, send_data_type *body);
|
||||
|
||||
-Window make_ident_window();
|
||||
+Window make_ident_window(int width, int height);
|
||||
void fill_window_data();
|
||||
void display_window_data();
|
||||
void add_property( const char *name, const char *value, unsigned long value_encoding, Bool span_cols );
|
||||
diff --git a/src/afterstep/dirtree.c b/src/afterstep/dirtree.c
|
||||
index 46ce782..48f7e30 100644
|
||||
--- a/src/afterstep/dirtree.c
|
||||
+++ b/src/afterstep/dirtree.c
|
||||
@@ -675,7 +675,7 @@ void dirtree_sort (dirtree_t * tree)
|
||||
list = (dirtree_t **) safemalloc (n * sizeof (dirtree_t *));
|
||||
for (n = 0, t = tree->child; t != NULL; t = t->next, n++)
|
||||
list[n] = t;
|
||||
- qsort (list, n, sizeof (dirtree_t *), (int (*)())dirtree_compar);
|
||||
+ qsort (list, n, sizeof (dirtree_t *), (int (*)(const void *, const void *))dirtree_compar);
|
||||
tree->child = list[0];
|
||||
for (i = 1; i < n; i++)
|
||||
list[i - 1]->next = list[i];
|
||||
diff --git a/src/afterstep/menus.h b/src/afterstep/menus.h
|
||||
index 98b2ad3..bb2a5b1 100644
|
||||
--- a/src/afterstep/menus.h
|
||||
+++ b/src/afterstep/menus.h
|
||||
@@ -95,7 +95,7 @@ MenuData* FindPopup( const char* name, int quiet );
|
||||
|
||||
void DeleteMenuItem( MenuDataItem* item );
|
||||
|
||||
-MenuData *CreateMenuData();
|
||||
+MenuData *CreateMenuData(char *name);
|
||||
MenuData *NewMenuData (char *name);
|
||||
void DeleteMenuData (MenuData * menu);
|
||||
|
||||
--
|
||||
2.51.2
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
dbus,
|
||||
fltk_1_3,
|
||||
gtk2,
|
||||
libice,
|
||||
libsm,
|
||||
libtiff,
|
||||
pkg-config,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "afterstep";
|
||||
version = "2.2.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "afterstep";
|
||||
repo = "afterstep";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-j1ADTRZ3Mxv9VNZWhWCFMnM/CJfkphdrgbw9Ca3bBw0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://salsa.debian.org/debian/afterstep/raw/master/debian/patches/44-Fix-build-with-gcc-5.patch";
|
||||
hash = "sha256-RNLB6PuFVA1PsYt2VwLyLyvY2OO3oIl1xk+0/6nwN+4=";
|
||||
})
|
||||
|
||||
# Fix pending upstream inclusion for binutils-2.36 support:
|
||||
# https://github.com/afterstep/afterstep/pull/7
|
||||
(fetchpatch {
|
||||
name = "binutils-2.36.patch";
|
||||
url = "https://github.com/afterstep/afterstep/commit/5e9e897cf8c455390dd6f5b27fec49707f6b9088.patch";
|
||||
hash = "sha256-aGMTyojzXEHGjO9lMT6dwLl01Fd333BUuCIX0FU9ac4=";
|
||||
})
|
||||
|
||||
# fix build with c23
|
||||
# fs.c:821:66: error: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types]
|
||||
# Ident.c:326:1: error: conflicting types for 'make_ident_window'; have 'Window(int, int)' {aka 'long unsigned int(int, int)'}
|
||||
# menuitem.c:85:11: error: conflicting types for 'CreateMenuData'; have 'MenuData *(char *)'
|
||||
./fix-build-with-c23.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Causes fatal ldconfig cache generation attempt on non-NixOS Linux
|
||||
for mkfile in autoconf/Makefile.common.lib.in libAfter{Base,Image}/Makefile.in; do
|
||||
substituteInPlace $mkfile \
|
||||
--replace-fail 'test -w /etc' 'false'
|
||||
done
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dbus
|
||||
fltk_1_3
|
||||
gtk2
|
||||
libice
|
||||
libsm
|
||||
libtiff
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
preConfigure = ''
|
||||
# A strange type of bug: dbus is not immediately found by pkg-config
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)"
|
||||
'';
|
||||
|
||||
# Parallel build fails due to missing dependencies between private libraries:
|
||||
# ld: cannot find ../libAfterConf/libAfterConf.a: No such file or directory
|
||||
# Let's disable parallel builds until it's fixed upstream:
|
||||
# https://github.com/afterstep/afterstep/issues/8
|
||||
enableParallelBuilding = false;
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.afterstep.org/";
|
||||
description = "NEXTStep-inspired window manager";
|
||||
longDescription = ''
|
||||
AfterStep is a window manager for the Unix X Window System. Originally
|
||||
based on the look and feel of the NeXTStep interface, it provides end
|
||||
users with a consistent, clean, and elegant desktop. The goal of AfterStep
|
||||
development is to provide for flexibility of desktop configuration,
|
||||
improving aestetics, and efficient use of system resources.
|
||||
'';
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ ];
|
||||
mainProgram = "afterstep";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -278,6 +278,7 @@ mapAliases {
|
||||
adobe-reader = throw "'adobe-reader' has been removed, as it was broken, outdated and insecure"; # Added 2025-05-31
|
||||
aefs = throw "'aefs' has been removed, as it depends on unsupported fuse2 and unmaintained upstream"; # Added 2026-05-30
|
||||
afpfs-ng = throw "'afpfs-ng' has been removed as it was broken and unmaintained for 10 years"; # Added 2025-05-17
|
||||
afterstep = throw "'afterstep' has been removed as it was unmaintained upstream and depends on the deprecated GTK2 engine."; # Added 2026-07-23
|
||||
afuse = throw "'afuse' has been removed as it is unmaintained upstream, and depends on fuse2, which is deprecated"; # Added 2026-05-05
|
||||
agrep = throw "'agrep' has been removed due to lack of upstream maintenance. Consider using 'tre' or 'ugrep' instead."; # Added 2025-12-28
|
||||
akkoma-emoji = throw "'akkoma-emoji' has been renamed to/replaced by 'blobs_gg'"; # Converted to throw 2025-10-27
|
||||
|
||||
Reference in New Issue
Block a user