From patchwork Mon Jun 28 17:02:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Timotej Lazar X-Patchwork-Id: 30765 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6755927BC81; Mon, 28 Jun 2021 18:09:37 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,SPF_HELO_PASS,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 16FDB27BC78 for ; Mon, 28 Jun 2021 18:09:36 +0100 (BST) Received: from localhost ([::1]:51694 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lxulL-0007Rh-5l for patchwork@mira.cbaines.net; Mon, 28 Jun 2021 13:09:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33108) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lxufy-0002zA-8u for guix-patches@gnu.org; Mon, 28 Jun 2021 13:04:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:40835) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lxufy-0003Js-1J for guix-patches@gnu.org; Mon, 28 Jun 2021 13:04:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lxufx-0006ix-Ny for guix-patches@gnu.org; Mon, 28 Jun 2021 13:04:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49235] [PATCH v3] gnu: Add oneko. References: <20210626192049.20405-1-timotej.lazar@araneo.si> In-Reply-To: <20210626192049.20405-1-timotej.lazar@araneo.si> Resent-From: Timotej Lazar Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 28 Jun 2021 17:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49235 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 49235@debbugs.gnu.org Cc: leo.prikler@student.tugraz.at, Timotej Lazar Received: via spool by 49235-submit@debbugs.gnu.org id=B49235.162489982625813 (code B ref 49235); Mon, 28 Jun 2021 17:04:01 +0000 Received: (at 49235) by debbugs.gnu.org; 28 Jun 2021 17:03:46 +0000 Received: from localhost ([127.0.0.1]:52381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxufY-0006hx-82 for submit@debbugs.gnu.org; Mon, 28 Jun 2021 13:03:46 -0400 Received: from araneo.si ([90.157.193.204]:51246) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxufS-0006hh-NR for 49235@debbugs.gnu.org; Mon, 28 Jun 2021 13:03:35 -0400 Received: from araneo.si (localhost.lan [127.0.0.1]) by araneo.si (OpenSMTPD) with ESMTP id c8806dcb; Mon, 28 Jun 2021 17:03:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=araneo.si; h=from:to:cc :subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=20180623; bh=T9Vd7I0u80B67Ng3g5NqV 4dKM4U=; b=lt0GDEAxkNlxTACjae7dR/J9JBGQxGfi0WMqtadIIUI1zWReTT+Je RjVZPM9FtYs9PM3O4LQFvOJQL8Agro2olIQXbIIyownCkwoL/hkzr4SlfOaESnMA q08DJ131KyUvh0pZqVvlxjwmGmXlj0z8m2M1SvF2GRZX28UJn9s/1bsnzYgylCsY 3N6E8uPQsknBqVFH0vS+3gHur6m1dW8JQXUhqL6JsL7vZm/DGJADVHJBmyVL4wdQ 0IIJJBwMgmoZRW5CaMzRj158yDX97j1PoXviS7snUoRMFC0IEgfsT0iaK5FOE2Uj dCkPPmJnWI33kMV0j9i6/5K6lSCreO91w== Received: by araneo.si (OpenSMTPD) with ESMTPSA id 5eb2b1b6 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 28 Jun 2021 17:03:28 +0000 (UTC) From: Timotej Lazar Date: Mon, 28 Jun 2021 19:02:37 +0200 Message-Id: <20210628170237.6721-1-timotej.lazar@araneo.si> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/toys.scm (oneko): New variable. --- I’ve changed the snippet to also delete all files related to nonfree bitmaps. I also adjusted the name & comment for the patch. On closer inspection it turns out that iconv messes up the Japanese manpage a bit, so I copied it as is. I see some other options: 1. don’t include it at all; 2. use some fork from github where this has already been done; or 3. convert and fix it manually, and include it as a patch. I’m inclined to include it as is, for the “historical value” of using the original source (1,2), and to avoid having to carry another patch in Guix (3). Let me know if you’d prefer another solution! gnu/local.mk | 1 + .../oneko-remove-nonfree-characters.patch | 307 ++++++++++++++++++ gnu/packages/toys.scm | 63 +++- 3 files changed, 370 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/oneko-remove-nonfree-characters.patch diff --git a/gnu/local.mk b/gnu/local.mk index f507fe566f..7d1fc8157c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1499,6 +1499,7 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \ %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \ + %D%/packages/patches/oneko-remove-nonfree-characters.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \ diff --git a/gnu/packages/patches/oneko-remove-nonfree-characters.patch b/gnu/packages/patches/oneko-remove-nonfree-characters.patch new file mode 100644 index 0000000000..4f80e53995 --- /dev/null +++ b/gnu/packages/patches/oneko-remove-nonfree-characters.patch @@ -0,0 +1,307 @@ +Remove options and code to use bitmaps of the BSD daemon and other characters +with copyright issues. The bitmaps themselves are deleted in a source snippet. +diff --git a/cursors/cursor.include b/cursors/cursor.include +index ef96d72..1dc3dc2 100644 +--- a/cursors/cursor.include ++++ b/cursors/cursor.include +@@ -2,9 +2,3 @@ + #include "mouse_cursor_mask.xbm" + #include "bone_cursor.xbm" + #include "bone_cursor_mask.xbm" +-#include "bsd_cursor.xbm" +-#include "bsd_cursor_mask.xbm" +-#include "card_cursor.xbm" +-#include "card_cursor_mask.xbm" +-#include "petal_cursor.xbm" +-#include "petal_cursor_mask.xbm" +diff --git a/oneko.c b/oneko.c +index d2b81fe..04fa59f 100644 +--- a/oneko.c ++++ b/oneko.c +@@ -33,7 +33,7 @@ XColor theBackgroundColor; /* $@?'(J ($@%P%C%/%0%i%&%s%I(J) */ + + int Synchronous = False; + /* Types of animals */ +-#define BITMAPTYPES 6 ++#define BITMAPTYPES 3 + typedef struct _AnimalDefaults { + char *name; + int speed, idle, bitmap_width, bitmap_height; +@@ -51,12 +51,6 @@ AnimalDefaultsData AnimalDefaultsDataTable[] = + mouse_cursor_width,mouse_cursor_height, mouse_cursor_x_hot,mouse_cursor_y_hot }, + { "dog" , 10, 6, 32, 32, 125000L, 0, 0, bone_cursor_bits,bone_cursor_mask_bits, + bone_cursor_width,bone_cursor_height, bone_cursor_x_hot,bone_cursor_y_hot }, +- { "bsd_daemon" , 16, 6, 32, 32, 300000L, 22, 20, bsd_cursor_bits,bsd_cursor_mask_bits, +- bsd_cursor_width,bsd_cursor_height, bsd_cursor_x_hot,bsd_cursor_y_hot }, +- { "sakura" , 13, 6, 32, 32, 125000L, 0, 0, card_cursor_bits,card_cursor_mask_bits, +- card_cursor_width,card_cursor_height, card_cursor_x_hot,card_cursor_y_hot }, +- { "tomoyo" , 10, 6, 32, 32, 125000L, 32, 32, petal_cursor_bits,petal_cursor_mask_bits, +- petal_cursor_width,petal_cursor_height, petal_cursor_x_hot,petal_cursor_y_hot }, + }; + + /* +@@ -154,70 +148,70 @@ typedef struct { + + BitmapGCData BitmapGCDataTable[] = + { +- { &Mati2GC, &Mati2Xbm, mati2_bits, mati2_tora_bits, mati2_dog_bits, mati2_bsd_bits, mati2_sakura_bits, mati2_tomoyo_bits, +- &Mati2Msk, mati2_mask_bits, mati2_mask_bits, mati2_dog_mask_bits, mati2_bsd_mask_bits, mati2_sakura_mask_bits, mati2_tomoyo_mask_bits }, +- { &Jare2GC, &Jare2Xbm, jare2_bits, jare2_tora_bits, jare2_dog_bits, jare2_bsd_bits, jare2_sakura_bits, jare2_tomoyo_bits, +- &Jare2Msk, jare2_mask_bits, jare2_mask_bits, jare2_dog_mask_bits, jare2_bsd_mask_bits, jare2_sakura_mask_bits, jare2_tomoyo_mask_bits }, +- { &Kaki1GC, &Kaki1Xbm, kaki1_bits, kaki1_tora_bits, kaki1_dog_bits, kaki1_bsd_bits, kaki1_sakura_bits, kaki1_tomoyo_bits, +- &Kaki1Msk, kaki1_mask_bits, kaki1_mask_bits, kaki1_dog_mask_bits, kaki1_bsd_mask_bits, kaki1_sakura_mask_bits, kaki1_tomoyo_mask_bits }, +- { &Kaki2GC, &Kaki2Xbm, kaki2_bits, kaki2_tora_bits, kaki2_dog_bits, kaki2_bsd_bits, kaki2_sakura_bits, kaki2_tomoyo_bits, +- &Kaki2Msk, kaki2_mask_bits, kaki2_mask_bits, kaki2_dog_mask_bits, kaki2_bsd_mask_bits, kaki2_sakura_mask_bits, kaki2_tomoyo_mask_bits }, +- { &Mati3GC, &Mati3Xbm, mati3_bits, mati3_tora_bits, mati3_dog_bits, mati3_bsd_bits, mati3_sakura_bits, mati3_tomoyo_bits, +- &Mati3Msk, mati3_mask_bits, mati3_mask_bits, mati3_dog_mask_bits, mati3_bsd_mask_bits, mati3_sakura_mask_bits, mati3_tomoyo_mask_bits }, +- { &Sleep1GC, &Sleep1Xbm, sleep1_bits, sleep1_tora_bits, sleep1_dog_bits, sleep1_bsd_bits, sleep1_sakura_bits, sleep1_tomoyo_bits, +- &Sleep1Msk, sleep1_mask_bits, sleep1_mask_bits, sleep1_dog_mask_bits, sleep1_bsd_mask_bits, sleep1_sakura_mask_bits, sleep1_tomoyo_mask_bits }, +- { &Sleep2GC, &Sleep2Xbm, sleep2_bits, sleep2_tora_bits, sleep2_dog_bits, sleep2_bsd_bits, sleep2_sakura_bits, sleep2_tomoyo_bits, +- &Sleep2Msk, sleep2_mask_bits, sleep2_mask_bits, sleep2_dog_mask_bits, sleep2_bsd_mask_bits, sleep2_sakura_mask_bits, sleep2_tomoyo_mask_bits }, +- { &AwakeGC, &AwakeXbm, awake_bits, awake_tora_bits, awake_dog_bits, awake_bsd_bits, awake_sakura_bits, awake_tomoyo_bits, +- &AwakeMsk, awake_mask_bits, awake_mask_bits, awake_dog_mask_bits, awake_bsd_mask_bits, awake_sakura_mask_bits, awake_tomoyo_mask_bits }, +- { &Up1GC, &Up1Xbm, up1_bits, up1_tora_bits, up1_dog_bits, up1_bsd_bits, up1_sakura_bits, up1_tomoyo_bits, +- &Up1Msk, up1_mask_bits, up1_mask_bits, up1_dog_mask_bits, up1_bsd_mask_bits, up1_sakura_mask_bits, up1_tomoyo_mask_bits }, +- { &Up2GC, &Up2Xbm, up2_bits, up2_tora_bits, up2_dog_bits, up2_bsd_bits, up2_sakura_bits, up2_tomoyo_bits, +- &Up2Msk, up2_mask_bits, up2_mask_bits, up2_dog_mask_bits, up2_bsd_mask_bits, up2_sakura_mask_bits, up2_tomoyo_mask_bits }, +- { &Down1GC, &Down1Xbm, down1_bits, down1_tora_bits, down1_dog_bits, down1_bsd_bits, down1_sakura_bits, down1_tomoyo_bits, +- &Down1Msk, down1_mask_bits, down1_mask_bits, down1_dog_mask_bits, down1_bsd_mask_bits, down1_sakura_mask_bits, down1_tomoyo_mask_bits }, +- { &Down2GC, &Down2Xbm, down2_bits, down2_tora_bits, down2_dog_bits, down2_bsd_bits, down2_sakura_bits, down2_tomoyo_bits, +- &Down2Msk, down2_mask_bits, down2_mask_bits, down2_dog_mask_bits, down2_bsd_mask_bits, down2_sakura_mask_bits, down2_tomoyo_mask_bits }, +- { &Left1GC, &Left1Xbm, left1_bits, left1_tora_bits, left1_dog_bits, left1_bsd_bits, left1_sakura_bits, left1_tomoyo_bits, +- &Left1Msk, left1_mask_bits, left1_mask_bits, left1_dog_mask_bits, left1_bsd_mask_bits, left1_sakura_mask_bits, left1_tomoyo_mask_bits }, +- { &Left2GC, &Left2Xbm, left2_bits, left2_tora_bits, left2_dog_bits, left2_bsd_bits, left2_sakura_bits, left2_tomoyo_bits, +- &Left2Msk, left2_mask_bits, left2_mask_bits, left2_dog_mask_bits, left2_bsd_mask_bits, left2_sakura_mask_bits, left2_tomoyo_mask_bits }, +- { &Right1GC, &Right1Xbm, right1_bits, right1_tora_bits, right1_dog_bits, right1_bsd_bits, right1_sakura_bits, right1_tomoyo_bits, +- &Right1Msk, right1_mask_bits, right1_mask_bits,right1_dog_mask_bits, right1_bsd_mask_bits, right1_sakura_mask_bits, right1_tomoyo_mask_bits }, +- { &Right2GC, &Right2Xbm, right2_bits, right2_tora_bits, right2_dog_bits, right2_bsd_bits, right2_sakura_bits, right2_tomoyo_bits, +- &Right2Msk, right2_mask_bits, right2_mask_bits, right2_dog_mask_bits, right2_bsd_mask_bits, right2_sakura_mask_bits, right2_tomoyo_mask_bits }, +- { &UpLeft1GC, &UpLeft1Xbm, upleft1_bits, upleft1_tora_bits, upleft1_dog_bits, upleft1_bsd_bits, upleft1_sakura_bits, upleft1_tomoyo_bits, +- &UpLeft1Msk, upleft1_mask_bits, upleft1_mask_bits, upleft1_dog_mask_bits, upleft1_bsd_mask_bits, upleft1_sakura_mask_bits, upleft1_tomoyo_mask_bits }, +- { &UpLeft2GC, &UpLeft2Xbm, upleft2_bits, upleft2_tora_bits, upleft2_dog_bits, upleft2_bsd_bits, upleft2_sakura_bits, upleft2_tomoyo_bits, +- &UpLeft2Msk, upleft2_mask_bits, upleft2_mask_bits,upleft2_dog_mask_bits, upleft2_bsd_mask_bits, upleft2_sakura_mask_bits, upleft2_tomoyo_mask_bits }, +- { &UpRight1GC, &UpRight1Xbm, upright1_bits, upright1_tora_bits, upright1_dog_bits, upright1_bsd_bits, upright1_sakura_bits, upright1_tomoyo_bits, +- &UpRight1Msk, upright1_mask_bits, upright1_mask_bits,upright1_dog_mask_bits, upright1_bsd_mask_bits, upright1_sakura_mask_bits, upright1_tomoyo_mask_bits }, +- { &UpRight2GC, &UpRight2Xbm, upright2_bits, upright2_tora_bits, upright2_dog_bits, upright2_bsd_bits, upright2_sakura_bits, upright2_tomoyo_bits, +- &UpRight2Msk, upright2_mask_bits, upright2_mask_bits,upright2_dog_mask_bits, upright2_bsd_mask_bits, upright2_sakura_mask_bits, upright2_tomoyo_mask_bits }, +- { &DownLeft1GC, &DownLeft1Xbm, dwleft1_bits, dwleft1_tora_bits, dwleft1_dog_bits, dwleft1_bsd_bits, dwleft1_sakura_bits, dwleft1_tomoyo_bits, +- &DownLeft1Msk, dwleft1_mask_bits, dwleft1_mask_bits, dwleft1_dog_mask_bits, dwleft1_bsd_mask_bits, dwleft1_sakura_mask_bits, dwleft1_tomoyo_mask_bits }, +- { &DownLeft2GC, &DownLeft2Xbm, dwleft2_bits, dwleft2_tora_bits, dwleft2_dog_bits, dwleft2_bsd_bits, dwleft2_sakura_bits, dwleft2_tomoyo_bits, +- &DownLeft2Msk, dwleft2_mask_bits, dwleft2_mask_bits, dwleft2_dog_mask_bits, dwleft2_bsd_mask_bits, dwleft2_sakura_mask_bits, dwleft2_tomoyo_mask_bits }, +- { &DownRight1GC, &DownRight1Xbm, dwright1_bits, dwright1_tora_bits, dwright1_dog_bits, dwright1_bsd_bits, dwright1_sakura_bits, dwright1_tomoyo_bits, +- &DownRight1Msk, dwright1_mask_bits, dwright1_mask_bits, dwright1_dog_mask_bits, dwright1_bsd_mask_bits, dwright1_sakura_mask_bits, dwright1_tomoyo_mask_bits }, +- { &DownRight2GC, &DownRight2Xbm, dwright2_bits, dwright2_tora_bits, dwright2_dog_bits, dwright2_bsd_bits, dwright2_sakura_bits, dwright2_tomoyo_bits, +- &DownRight2Msk, dwright2_mask_bits, dwright2_mask_bits, dwright2_dog_mask_bits, dwright2_bsd_mask_bits, dwright2_sakura_mask_bits, dwright2_tomoyo_mask_bits }, +- { &UpTogi1GC, &UpTogi1Xbm, utogi1_bits, utogi1_tora_bits, utogi1_dog_bits, utogi1_bsd_bits, utogi1_sakura_bits, utogi1_tomoyo_bits, +- &UpTogi1Msk, utogi1_mask_bits, utogi1_mask_bits, utogi1_dog_mask_bits, utogi1_bsd_mask_bits, utogi1_sakura_mask_bits, utogi1_tomoyo_mask_bits }, +- { &UpTogi2GC, &UpTogi2Xbm, utogi2_bits, utogi2_tora_bits, utogi2_dog_bits, utogi2_bsd_bits, utogi2_sakura_bits, utogi2_tomoyo_bits, +- &UpTogi2Msk, utogi2_mask_bits, utogi2_mask_bits, utogi2_dog_mask_bits, utogi2_bsd_mask_bits, utogi2_sakura_mask_bits, utogi2_tomoyo_mask_bits }, +- { &DownTogi1GC, &DownTogi1Xbm, dtogi1_bits, dtogi1_tora_bits, dtogi1_dog_bits, dtogi1_bsd_bits, dtogi1_sakura_bits, dtogi1_tomoyo_bits, +- &DownTogi1Msk, dtogi1_mask_bits, dtogi1_mask_bits, dtogi1_dog_mask_bits, dtogi1_bsd_mask_bits, dtogi1_sakura_mask_bits, dtogi1_tomoyo_mask_bits }, +- { &DownTogi2GC, &DownTogi2Xbm, dtogi2_bits, dtogi2_tora_bits, dtogi2_dog_bits, dtogi2_bsd_bits, dtogi2_sakura_bits, dtogi2_tomoyo_bits, +- &DownTogi2Msk, dtogi2_mask_bits, dtogi2_mask_bits, dtogi2_dog_mask_bits, dtogi2_bsd_mask_bits, dtogi2_sakura_mask_bits, dtogi2_tomoyo_mask_bits }, +- { &LeftTogi1GC, &LeftTogi1Xbm, ltogi1_bits, ltogi1_tora_bits, ltogi1_dog_bits, ltogi1_bsd_bits, ltogi1_sakura_bits, ltogi1_tomoyo_bits, +- &LeftTogi1Msk, ltogi1_mask_bits, ltogi1_mask_bits,ltogi1_dog_mask_bits, ltogi1_bsd_mask_bits, ltogi1_sakura_mask_bits, ltogi1_tomoyo_mask_bits }, +- { &LeftTogi2GC, &LeftTogi2Xbm, ltogi2_bits, ltogi2_tora_bits, ltogi2_dog_bits, ltogi2_bsd_bits, ltogi2_sakura_bits, ltogi2_tomoyo_bits, +- &LeftTogi2Msk, ltogi2_mask_bits, ltogi2_mask_bits,ltogi2_dog_mask_bits, ltogi2_bsd_mask_bits, ltogi2_sakura_mask_bits, ltogi2_tomoyo_mask_bits }, +- { &RightTogi1GC, &RightTogi1Xbm, rtogi1_bits, rtogi1_tora_bits, rtogi1_dog_bits, rtogi1_bsd_bits, rtogi1_sakura_bits, rtogi1_tomoyo_bits, +- &RightTogi1Msk, rtogi1_mask_bits, rtogi1_mask_bits,rtogi1_dog_mask_bits, rtogi1_bsd_mask_bits, rtogi1_sakura_mask_bits, rtogi1_tomoyo_mask_bits }, +- { &RightTogi2GC, &RightTogi2Xbm, rtogi2_bits, rtogi2_tora_bits, rtogi2_dog_bits, rtogi2_bsd_bits, rtogi2_sakura_bits, rtogi2_tomoyo_bits, +- &RightTogi2Msk, rtogi2_mask_bits, rtogi2_mask_bits,rtogi2_dog_mask_bits, rtogi2_bsd_mask_bits, rtogi2_sakura_mask_bits, rtogi2_tomoyo_mask_bits }, ++ { &Mati2GC, &Mati2Xbm, mati2_bits, mati2_tora_bits, mati2_dog_bits, ++ &Mati2Msk, mati2_mask_bits, mati2_mask_bits, mati2_dog_mask_bits }, ++ { &Jare2GC, &Jare2Xbm, jare2_bits, jare2_tora_bits, jare2_dog_bits, ++ &Jare2Msk, jare2_mask_bits, jare2_mask_bits, jare2_dog_mask_bits }, ++ { &Kaki1GC, &Kaki1Xbm, kaki1_bits, kaki1_tora_bits, kaki1_dog_bits, ++ &Kaki1Msk, kaki1_mask_bits, kaki1_mask_bits, kaki1_dog_mask_bits }, ++ { &Kaki2GC, &Kaki2Xbm, kaki2_bits, kaki2_tora_bits, kaki2_dog_bits, ++ &Kaki2Msk, kaki2_mask_bits, kaki2_mask_bits, kaki2_dog_mask_bits }, ++ { &Mati3GC, &Mati3Xbm, mati3_bits, mati3_tora_bits, mati3_dog_bits, ++ &Mati3Msk, mati3_mask_bits, mati3_mask_bits, mati3_dog_mask_bits }, ++ { &Sleep1GC, &Sleep1Xbm, sleep1_bits, sleep1_tora_bits, sleep1_dog_bits, ++ &Sleep1Msk, sleep1_mask_bits, sleep1_mask_bits, sleep1_dog_mask_bits }, ++ { &Sleep2GC, &Sleep2Xbm, sleep2_bits, sleep2_tora_bits, sleep2_dog_bits, ++ &Sleep2Msk, sleep2_mask_bits, sleep2_mask_bits, sleep2_dog_mask_bits }, ++ { &AwakeGC, &AwakeXbm, awake_bits, awake_tora_bits, awake_dog_bits, ++ &AwakeMsk, awake_mask_bits, awake_mask_bits, awake_dog_mask_bits }, ++ { &Up1GC, &Up1Xbm, up1_bits, up1_tora_bits, up1_dog_bits, ++ &Up1Msk, up1_mask_bits, up1_mask_bits, up1_dog_mask_bits }, ++ { &Up2GC, &Up2Xbm, up2_bits, up2_tora_bits, up2_dog_bits, ++ &Up2Msk, up2_mask_bits, up2_mask_bits, up2_dog_mask_bits }, ++ { &Down1GC, &Down1Xbm, down1_bits, down1_tora_bits, down1_dog_bits, ++ &Down1Msk, down1_mask_bits, down1_mask_bits, down1_dog_mask_bits }, ++ { &Down2GC, &Down2Xbm, down2_bits, down2_tora_bits, down2_dog_bits, ++ &Down2Msk, down2_mask_bits, down2_mask_bits, down2_dog_mask_bits }, ++ { &Left1GC, &Left1Xbm, left1_bits, left1_tora_bits, left1_dog_bits, ++ &Left1Msk, left1_mask_bits, left1_mask_bits, left1_dog_mask_bits }, ++ { &Left2GC, &Left2Xbm, left2_bits, left2_tora_bits, left2_dog_bits, ++ &Left2Msk, left2_mask_bits, left2_mask_bits, left2_dog_mask_bits }, ++ { &Right1GC, &Right1Xbm, right1_bits, right1_tora_bits, right1_dog_bits, ++ &Right1Msk, right1_mask_bits, right1_mask_bits,right1_dog_mask_bits }, ++ { &Right2GC, &Right2Xbm, right2_bits, right2_tora_bits, right2_dog_bits, ++ &Right2Msk, right2_mask_bits, right2_mask_bits, right2_dog_mask_bits }, ++ { &UpLeft1GC, &UpLeft1Xbm, upleft1_bits, upleft1_tora_bits, upleft1_dog_bits, ++ &UpLeft1Msk, upleft1_mask_bits, upleft1_mask_bits, upleft1_dog_mask_bits }, ++ { &UpLeft2GC, &UpLeft2Xbm, upleft2_bits, upleft2_tora_bits, upleft2_dog_bits, ++ &UpLeft2Msk, upleft2_mask_bits, upleft2_mask_bits,upleft2_dog_mask_bits }, ++ { &UpRight1GC, &UpRight1Xbm, upright1_bits, upright1_tora_bits, upright1_dog_bits, ++ &UpRight1Msk, upright1_mask_bits, upright1_mask_bits,upright1_dog_mask_bits }, ++ { &UpRight2GC, &UpRight2Xbm, upright2_bits, upright2_tora_bits, upright2_dog_bits, ++ &UpRight2Msk, upright2_mask_bits, upright2_mask_bits,upright2_dog_mask_bits }, ++ { &DownLeft1GC, &DownLeft1Xbm, dwleft1_bits, dwleft1_tora_bits, dwleft1_dog_bits, ++ &DownLeft1Msk, dwleft1_mask_bits, dwleft1_mask_bits, dwleft1_dog_mask_bits }, ++ { &DownLeft2GC, &DownLeft2Xbm, dwleft2_bits, dwleft2_tora_bits, dwleft2_dog_bits, ++ &DownLeft2Msk, dwleft2_mask_bits, dwleft2_mask_bits, dwleft2_dog_mask_bits }, ++ { &DownRight1GC, &DownRight1Xbm, dwright1_bits, dwright1_tora_bits, dwright1_dog_bits, ++ &DownRight1Msk, dwright1_mask_bits, dwright1_mask_bits, dwright1_dog_mask_bits }, ++ { &DownRight2GC, &DownRight2Xbm, dwright2_bits, dwright2_tora_bits, dwright2_dog_bits, ++ &DownRight2Msk, dwright2_mask_bits, dwright2_mask_bits, dwright2_dog_mask_bits }, ++ { &UpTogi1GC, &UpTogi1Xbm, utogi1_bits, utogi1_tora_bits, utogi1_dog_bits, ++ &UpTogi1Msk, utogi1_mask_bits, utogi1_mask_bits, utogi1_dog_mask_bits }, ++ { &UpTogi2GC, &UpTogi2Xbm, utogi2_bits, utogi2_tora_bits, utogi2_dog_bits, ++ &UpTogi2Msk, utogi2_mask_bits, utogi2_mask_bits, utogi2_dog_mask_bits }, ++ { &DownTogi1GC, &DownTogi1Xbm, dtogi1_bits, dtogi1_tora_bits, dtogi1_dog_bits, ++ &DownTogi1Msk, dtogi1_mask_bits, dtogi1_mask_bits, dtogi1_dog_mask_bits }, ++ { &DownTogi2GC, &DownTogi2Xbm, dtogi2_bits, dtogi2_tora_bits, dtogi2_dog_bits, ++ &DownTogi2Msk, dtogi2_mask_bits, dtogi2_mask_bits, dtogi2_dog_mask_bits }, ++ { &LeftTogi1GC, &LeftTogi1Xbm, ltogi1_bits, ltogi1_tora_bits, ltogi1_dog_bits, ++ &LeftTogi1Msk, ltogi1_mask_bits, ltogi1_mask_bits,ltogi1_dog_mask_bits }, ++ { &LeftTogi2GC, &LeftTogi2Xbm, ltogi2_bits, ltogi2_tora_bits, ltogi2_dog_bits, ++ &LeftTogi2Msk, ltogi2_mask_bits, ltogi2_mask_bits,ltogi2_dog_mask_bits }, ++ { &RightTogi1GC, &RightTogi1Xbm, rtogi1_bits, rtogi1_tora_bits, rtogi1_dog_bits, ++ &RightTogi1Msk, rtogi1_mask_bits, rtogi1_mask_bits,rtogi1_dog_mask_bits }, ++ { &RightTogi2GC, &RightTogi2Xbm, rtogi2_bits, rtogi2_tora_bits, rtogi2_dog_bits, ++ &RightTogi2Msk, rtogi2_mask_bits, rtogi2_mask_bits,rtogi2_dog_mask_bits }, + { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } + }; + +@@ -1512,8 +1506,6 @@ GetArguments(argc, argv, theDisplayName) + } + else { + char *av = argv[ArgCounter] + 1; +- if (strcmp(av, "bsd") == 0) +- av = "bsd_daemon"; + for (loop=0;loopl9g(J True $@$H$7$^$9!#(J + $@$r;H$&$3$H$KN10U$7$F$/$@$5$$!#(J + $@%O!<%I%j%s%/$"$k$$$O%=%U%H%j%s%/$K$h$C$F!"$3$N%W%m%0%i%`$r(J tora $@$H$7$F(J + $@5/F0$7$?>l9g$K$O!"%G%U%)%k%H$G(J \fB-tora\fP $@%*%W%7%g%s$,M-8z$H$J$j$^$9!#(J +-.PP +-BSD $@%G!<%b%s$O(J Marshall Kirk McKusick $@;a$NCx:nJ*$G$9!#$9$Y$F$N8"Mx$O(J +-$@J];}$5$l$F$$$^$9!#(J +-BSD Daemon Copyright 1988 by Marshall Kirk McKusick. All Rights Reserved. +-.PP +-$@LZG7K\:y$*$h$SBgF;;{CN@$$OL!2h!X%+!<%I%-%c%W%?!<$5$/$i!Y!J(JCLAMP, $@9VCL(J +-$@ ;;; Copyright © 2019 Jesse Gibbons -;;; Copyright © 2019, 2020 Timotej Lazar +;;; Copyright © 2019, 2020, 2021 Timotej Lazar ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2021 Leo Famulari ;;; @@ -21,6 +21,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages toys) + #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages gtk) @@ -36,6 +37,66 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public oneko + (package + (name "oneko") + (version "1.2.sakura.5") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.daidouji.com/oneko/distfiles/oneko-" version ".tar.gz")) + (sha256 + (base32 "0bxjlbafn10sfi5d06420pg70rpvsiy5gdbm8kspd6qy4kqhabic")) + (patches (search-patches "oneko-remove-nonfree-characters.patch")) + (modules '((guix build utils))) + (snippet + ;; Remove bitmaps with copyright issues. + '(begin + (for-each delete-file-recursively + (cons* "bitmaps/bsd" "bitmaps/sakura" "bitmaps/tomoyo" + "bitmasks/bsd" "bitmasks/sakura" "bitmasks/tomoyo" + (find-files "cursors" "(bsd|card|petal).*\\.xbm"))) + #t)))) + (build-system gnu-build-system) + (native-inputs + `(("imake" ,imake))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext))) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (invoke "xmkmf") + ;; Fix incorrectly generated compiler flags. + (substitute* "Makefile" + (("(CDEBUGFLAGS = ).*" _ front) (string-append front "-O2\n"))) + #t)) + (replace 'install + (lambda* (#:key outputs make-flags #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/" ,name "-" ,version)) + (man (string-append out "/share/man")) + (man6 (string-append man "/man6")) + (man6-ja (string-append man "/ja/man6"))) + (install-file "oneko" bin) + (mkdir-p man6) + (mkdir-p man6-ja) + (copy-file "oneko.man" (string-append man6 "/oneko.6")) + (copy-file "oneko.man.jp" (string-append man6-ja "/oneko.6")) + (for-each (lambda (file) (install-file file doc)) + (find-files "." "README.*"))) + #t))))) + (home-page "http://www.daidouji.com/oneko/") + (synopsis "Cute cat chasing your mouse pointer") + (description "Displays a cat or another animated character that chases the +mouse pointer around the screen while you work.") + (license license:public-domain))) ; see https://directory.fsf.org/wiki/Oneko + (define-public sl (package (name "sl")