From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id /tlyKCuURl9bBgAA0tVLHw (envelope-from ) for ; Wed, 26 Aug 2020 16:56:11 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id YIjfIyuURl95EQAAB5/wlQ (envelope-from ) for ; Wed, 26 Aug 2020 16:56:11 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2EF63940631 for ; Wed, 26 Aug 2020 16:56:10 +0000 (UTC) Received: from localhost ([::1]:38586 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kAyiX-0001LA-GQ for larch@yhetil.org; Wed, 26 Aug 2020 12:56:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57324) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kAyiQ-0001Kw-Jx for bug-guix@gnu.org; Wed, 26 Aug 2020 12:56:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57322) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kAyiQ-0003Az-BF for bug-guix@gnu.org; Wed, 26 Aug 2020 12:56:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kAyiQ-0005q0-Aq for bug-guix@gnu.org; Wed, 26 Aug 2020 12:56:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#43061: freedink package is needlessly complex Resent-From: Jesse Gibbons Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 26 Aug 2020 16:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43061 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 43061@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.159846092622386 (code B ref -1); Wed, 26 Aug 2020 16:56:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Aug 2020 16:55:26 +0000 Received: from localhost ([127.0.0.1]:40635 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAyhq-0005p0-2b for submit@debbugs.gnu.org; Wed, 26 Aug 2020 12:55:26 -0400 Received: from lists.gnu.org ([209.51.188.17]:45674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAyhl-0005oh-4b for submit@debbugs.gnu.org; Wed, 26 Aug 2020 12:55:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57226) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kAyhj-0000rS-QH for bug-guix@gnu.org; Wed, 26 Aug 2020 12:55:20 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]:40624) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kAyhg-0002yY-UE for bug-guix@gnu.org; Wed, 26 Aug 2020 12:55:19 -0400 Received: by mail-pf1-x430.google.com with SMTP id k18so1277238pfp.7 for ; Wed, 26 Aug 2020 09:55:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=oirC6NXR7BzyDbPIFtiOdPMEIAatg2XFAl3d40RQg9Y=; b=OUKIGNzGKiuE8gzekfmRmrSoL5DGpG1gttCrAmykFO7FO+iRaKVbrDqqoTAI0v19aI AjZVQpOIj+ndKcvyfcDUtJ6bcUhX2GOxIarv0WG0tPoOo2BiIclIB7AKlLEsXHp1uwr/ vzeFCmieLpqULMkw/2PPcTbpnzNnfQDKIWRMWjQ6L95QjvNOlYVfxis7x+567zlUJpLD Pjvivc4c+CfXvnRkyi2sD3TKypEUDzN/XYs39wNC3zxhCPcLRrVlh0oATyH99Y45NtDa CYsB6QNEtvVjVIFHVkDpN5dLe2wAbv1jzXDY//zFtCwS4Bf6g8MUoMdAINGnKf5Z9u5h 0Rgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=oirC6NXR7BzyDbPIFtiOdPMEIAatg2XFAl3d40RQg9Y=; b=e/2SbKJusQohdo6au2e9mRASPr4bedhhB8dkZAafgcsD+dBHMoYIcb56z22RIis5gZ X3UMSzx3g6Mzvt8WOs4W6KnXILx+bB/CxC53QASotZzP1UfxNF7obR8KtXpRM+u5ud5F mY5xZXoioyRkg8sDDxitPQBmMBqcdb6PnY0zETbB6DSjCXOIUBn0+PvVppmcZNbrKZxz Wcrjj/LnaxDaEFI6CrlO+G0dpZkShxpH3ZDEftUdCg/5B3p3asY/QCdbhqrbrr3Bp35q YM4VvoQfaix448LwKXkhTkjZBIBtDI/sdHy1hWI8U2ZcZkBPOKbvWTA8yCRIGynWMkt3 gyfg== X-Gm-Message-State: AOAM5300pVgkGq843DpRwm/VIey2bgpe5kOXcJSQn7PzWjyHK9C08Cxm T89cRTr+IrKySCy1sqMdOG0uMysG0RKBRw== X-Google-Smtp-Source: ABdhPJzdoWy36VcFDB2/syLkhBQ7lfdQIDy01tvmZWyGGKYFCeDJ6Yed/Z00uNC6STmRmpN2hxag+g== X-Received: by 2002:a63:60e:: with SMTP id 14mr11028767pgg.343.1598460913948; Wed, 26 Aug 2020 09:55:13 -0700 (PDT) Received: from [192.168.1.25] ([38.141.58.134]) by smtp.gmail.com with ESMTPSA id d4sm2572534pju.56.2020.08.26.09.55.12 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Aug 2020 09:55:13 -0700 (PDT) From: Jesse Gibbons Message-ID: <5dadebde-37e5-ce5e-6107-8e45dfeefa8d@gmail.com> Date: Wed, 26 Aug 2020 10:55:10 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Icedove/68.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Received-SPF: pass client-ip=2607:f8b0:4864:20::430; envelope-from=jgibbons2357@gmail.com; helo=mail-pf1-x430.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -2.1 (--) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=OUKIGNzG; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: shi6zDIcAxwA TL;DR The freedink package is defined in a complex way that breaks guix's custom source build features and the GUI wrapper. The freedink package wraps the freedink-engine and freedink-data packages so the resulting executable bin/freedink runs the freedink engine pointed at the output of freedink-data. The wrapped packages are not exported from gnu/packages/games.scm. Because of these two design choices, -> guix build --sources=all freedink does not list the freedink-data source. -> the only way to get the freedink-data source is to run guix build --sources=transitive freedink. This is not ideas because it gets the source for bash as well. -> "guix build --with-source=freedink-data=..." has no effect on freedink, so guix cannot be used to facilitate freedoms 1 and 3 with freedink, unlike most other packages. To be clear,  freedoms 1 (to modify the software) and 3 (to distribute the modified software) are not violated, but a very nice feature of guix that makes them less complex does not work with freedink. To achieve a guix install or pack of freedink as it is currently defined with custom sources and/or data, one must define new freedink packages, which is more work than one or two simple command-line flags. -> freedink-dfarc does not find "dinkedit" or "dink", which are links to binaries built in freedink-engine. Once again, freedoms 1 and 3 are a little more difficult to exercise than reasonably expected given what guix provides, but not violated. To point freedink-dfarc to the correct binaries, one must copy the store location in the wrapper script produced by freedink. Obviously, this store location will not automatically be updated when freedink-engine is upgraded. -> Because the wrapper hard-codes a location to look for the data, I suspect (but have yet to confirm) that an attempt to use freedink-dfarc to build a modified version of freedink will ultimately throw an error. There must be a way to re-package freedink such that: 1) It works with the custom source build features provided by guix. 2) The guix wrapper freedink-dfarc is neither necessary for running freedink, nor broken when used to run freedink. The solution could be as simple as publicly exposing freedink-engine and freedink-data, and redefining the freedink package to simply take the two packages as inputs and produce a wrapper script. The script should probably have a name other than "freedink" or "dink" so all three packages can optionally co-exist in the same profile without a name conflict. I will try this solution and send a patch if it passes the following tests: -> The sources for all freedink-related packages can be produced with "guix build --source" or "guix build --sources=all" -> all freedink-related packages can be installed and packed with modified local sources specified by --with-source -> installing freedink does not add anything to the profile other than a wrapper script. -> There is no name conflict between the executables provided by freedink-engine and freedink If anyone knows why freedink is packaged the way it is and thinks it is better that way, I want to know your reasons before I begin to attempt to fix this issue, because those reasons could lead me to a different approach. I suspect freedink is not the only package with these issues. -Jesse