From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id yI+SLl696WNnxQAAbAwnHQ (envelope-from ) for ; Mon, 13 Feb 2023 05:32:30 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id IJOcLV696WOaTwEAG6o9tA (envelope-from ) for ; Mon, 13 Feb 2023 05:32:30 +0100 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 49EC12EF2B for ; Mon, 13 Feb 2023 05:32:30 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pRQVi-0003wE-NS; Sun, 12 Feb 2023 23:32:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRQVX-0003oj-Gb for guix-patches@gnu.org; Sun, 12 Feb 2023 23:32:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pRQVX-0006dH-7i for guix-patches@gnu.org; Sun, 12 Feb 2023 23:32:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pRQVX-0000gG-3C for guix-patches@gnu.org; Sun, 12 Feb 2023 23:32:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61207] [PATCH v3] gnu: Add opentaxsolver. Resent-From: Skylar Hill Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 13 Feb 2023 04:32:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61207 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nicolas Goaziou Cc: dev@jpoiret.xyz, 61207@debbugs.gnu.org X-Debbugs-Original-Cc: Josselin Poiret , 61207@debbugs.gnu.org, Josselin Poiret via Guix-patches via Received: via spool by submit@debbugs.gnu.org id=B.16762627092570 (code B ref -1); Mon, 13 Feb 2023 04:32:03 +0000 Received: (at submit) by debbugs.gnu.org; 13 Feb 2023 04:31:49 +0000 Received: from localhost ([127.0.0.1]:47331 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRQVI-0000fH-8F for submit@debbugs.gnu.org; Sun, 12 Feb 2023 23:31:48 -0500 Received: from lists.gnu.org ([209.51.188.17]:57436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRPKv-0006sc-A9 for submit@debbugs.gnu.org; Sun, 12 Feb 2023 22:17:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRPKu-0006Di-TI for guix-patches@gnu.org; Sun, 12 Feb 2023 22:17:00 -0500 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRPKq-0002Wr-DW for guix-patches@gnu.org; Sun, 12 Feb 2023 22:17:00 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 6F3392400DB for ; Mon, 13 Feb 2023 04:16:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1676258214; bh=5bYOGhQNdv+JujJGIdJIspJsG8Z7bJgQo/4mZaNyI+4=; h=From:To:Cc:Subject:Date:From; b=I2lgBcHBNjPQk43x/jZndmLidapDpy0eGZ89BDwGJkdNH1O9z9OIZsawkNYiBeDdv sFzaQ0xy5bSHdnDJXbzG4AxoeiClJF26ib7+maWeyHxauiXKc7AN+arTUkOTM8q41I Shdd0VyMu+1z65FZiLpKXqLQO2nKuvOcW8NlYOdSsxxvMccJd6MA4iHAUMjEKxTEAK lAba6MA0jO5z8r5pnPUSMxknLR9L3HL0720HKVa4BCQ3RcXIF14gAYevJMLuqTV6Ab 9tvzfGeF+WFm6W7A2Qmr6y7ZoQUWhJCrJ54z0izy1PiR6KYLS6+5G8QoESh557IHnl zPEzwKSc7b7Yw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4PFTyr1nZzz6tmB; Mon, 13 Feb 2023 04:16:51 +0100 (CET) From: Skylar Hill References: <87edr6x169.fsf@jpoiret.xyz> <87mt5jsvt6.fsf@nicolasgoaziou.fr> Date: Mon, 13 Feb 2023 03:16:49 +0000 In-Reply-To: <87mt5jsvt6.fsf@nicolasgoaziou.fr> (Nicolas Goaziou's message of "Sat, 11 Feb 2023 23:07:22 +0100") Message-ID: <87cz6ez23i.fsf_-_@posteo.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=185.67.36.65; envelope-from=stellarskylark@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 12 Feb 2023 23:31:45 -0500 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+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1676262750; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=sekvy4uX5tMeXhfSJ3zr9WzK/JFGn15ch0pGtxjTsxc=; b=ol8JxoruHQLYM81r/ufaMfbGxzMqQoAmmGzAwG3EjPVngJgFZpftibG/CO4Ie2eMeO03We yRxsbZ8KtJmfBG8aIPo/ndEOrQlimFQ3gGR8qnSK55yqI1rgAYUXIxcdW1bUrUAuaL9WSJ pteWSlrXwRWPBovS9AexJmdscSXI+5HacuSee0rYJa2+RE8i4OwcybxLil5BIkZpTrYFky jsqxpYWqIS3mhBkSjVVa+eqitwUO8SjfjzVfIFin17rQEmSof+UxtlWhGvu1PKR8mpOZNc KwwlbxmgknRebP+hTFNFVGkW4ce8/qs+5VUuRBeWEllDRnFAoTwtRp+NtUbEiQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=I2lgBcHB; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1676262750; a=rsa-sha256; cv=none; b=uLf936Yh8n6BqCLCys/yZJwC84okRaIZArm12ltKwLKHqCz8ujpbk4jgz7vD/0V2MxP1oZ RMiN6IjT9B9ulrSu134UjVuUR7OTmjZ4YwMvkxgX4FiRPtn6bX8YnQNAnb0IDbTfzJMDOI qWeVWpIUywOsw5mCGBBpfdN7L1mbX0n0TjvunzP6IApvEbKs/FnQtWZoaWmTqmrVuNHgxJ z8fJs1Rqcm3EDNegrGCa6QD/t3YmtTo9sqFTlFDFD6WnIbaXQ4SRJ3cyjmvkgV6Ddw2Tea 3SFju5egcZQesWRUcJxLKkjEsJ03eRfUuMEWiwxC3/s2VyIZ11uTE1kITKw0EA== X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: 6.23 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=I2lgBcHB; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 49EC12EF2B X-Spam-Score: 6.23 X-TUID: ZEFoZNpN58Go --=-=-= Content-Type: text/plain Oops, my last email came back undeliverable to the bug tracker address. Not sure why. As a summary, just in case this one manages to get through, the new patch addresses the issues Nicolas brought up, and I confirmed with Aston Roberts, the OTS maintainer, that everything is released under GPL. Here's the patch again, again just in case it gets through. --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline; filename=v3-0001-gnu-Add-opentaxsolver.patch Content-Transfer-Encoding: quoted-printable Content-Description: Patch version 3 >From f5f2b8b4539d48b474b131ece87b65dbfd9b2532 Mon Sep 17 00:00:00 2001 From: Skylar Hill Date: Sun, 12 Feb 2023 20:47:23 -0600 Subject: [PATCH v3] gnu: Add opentaxsolver --- gnu/local.mk | 1 + gnu/packages/finance.scm | 71 +++++++++++++++++++ .../opentaxsolver-file-browser-fix.patch | 58 +++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 gnu/packages/patches/opentaxsolver-file-browser-fix.pat= ch diff --git a/gnu/local.mk b/gnu/local.mk index cdb99813d0..148bd6e908 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1616,6 +1616,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/opensles-add-license-file.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-3.0-c-rehash-in.patch \ + %D%/packages/patches/opentaxsolver-file-browser-fix.patch \ %D%/packages/patches/open-zwave-hidapi.patch \ %D%/packages/patches/orpheus-cast-errors-and-includes.patch \ %D%/packages/patches/osip-CVE-2017-7853.patch \ diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index c9c8e9b823..252f5e422c 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -33,6 +33,7 @@ ;;; Copyright =C2=A9 2022 Collin J. Doering ;;; Copyright =C2=A9 2022 Justin Veilleux ;;; Copyright =C2=A9 2023 Frank Pursel +;;; Copyright =C2=A9 2023 Skylar Hill ;;; ;;; This file is part of GNU Guix. ;;; @@ -2271,3 +2272,73 @@ (define-public p2pool Monero node and what it mines, but you get frequent payouts like on a regu= lar pool.") (license license:gpl3))) + +(define-public opentaxsolver + ;; The OTS version is formatted like tax-year_version. So, at time of + ;; writing, the version is 2022_20.00. Each part of this is used in + ;; different places in the source uri, so it's convenient to have them + ;; separately like this. + (let ((tax-year "2022") + (ots-version "20.00")) + (package + (name "opentaxsolver") + (version (string-append tax-year "_" ots-version)) + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/opentaxsolver/OT= S_" + tax-year "/v" ots-version + "_linux/OpenTaxSolver" version "_linux= 64.tgz")) + (sha256 + (base32 + "06k0a72bmwdmr71dvrp8b4vl8vilnggsh92hrp7wjdgcjj9m074w")) + (patches (search-patches + "opentaxsolver-file-browser-fix.patch")))) + (build-system glib-or-gtk-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + ;; OTS does provide a shellscript that does exactly + ;; this, but we need to do it ourselves to specify + ;; the correct compiler and to delete the GUI + ;; binaries. + (replace 'build + (lambda _ + (delete-file "Run_taxsolve_GUI") + (delete-file-recursively "bin") + (mkdir "bin") + (chdir "src/Gui_gtk") + (invoke "make" + (string-append "CC=3D" + #$(cc-for-target))) + (chdir "..") + (invoke "make" + (string-append "CC=3D" + #$(cc-for-target))))) + ;; OTS doesn't provide a `make install` target, + ;; because it assumes it'll be run from the + ;; tarball. So, we do it ourselves, making sure to + ;; replicate the directory structure of the tarball. + (replace 'install + (lambda _ + (copy-recursively "../bin" + (string-append #$output "/bin")) + (symlink (string-append #$output "/bin/ots_gui2") + (string-append #$output "/bin/Run_taxsolve_GUI")) + (copy-recursively "../tax_form_files" + (string-append #$output + "/tax_form_files")) + (copy-recursively "formdata" + (string-append #$output + "/src/formdata"))))) + #:tests? #f)) + (inputs (list gtk+-2)) + (native-inputs (list pkg-config)) + (synopsis "Yearly tax preparation tool") + (description + "OpenTaxSolver is a program for calculating tax form entries for fe= deral and +state personal income taxes. It automatically fills out and prints your fo= rms +for mailing.") + (home-page "https://opentaxsolver.sourceforge.net/") + (license license:gpl2+)))) diff --git a/gnu/packages/patches/opentaxsolver-file-browser-fix.patch b/gn= u/packages/patches/opentaxsolver-file-browser-fix.patch new file mode 100644 index 0000000000..0e6be74f85 --- /dev/null +++ b/gnu/packages/patches/opentaxsolver-file-browser-fix.patch @@ -0,0 +1,58 @@ +From 96fda11a53a89c6647031f2c05ef12f1a9df6a08 Mon Sep 17 00:00:00 2001 +From: Skylar Hill +Date: Tue, 31 Jan 2023 21:02:18 -0600 +Subject: [PATCH] Change default directory in file browser + +--- + src/Gui_gtk/ots_gui2.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/Gui_gtk/ots_gui2.c b/src/Gui_gtk/ots_gui2.c +index ff3366b..1247933 100644 +--- a/src/Gui_gtk/ots_gui2.c ++++ b/src/Gui_gtk/ots_gui2.c +@@ -82,6 +82,7 @@ char ots_release_package[]=3D"20.00"; + #include + #include + #include ++#include + #include + // #include "backcompat.c" + #include "gtk_utils.c" /* Include the graphics library. */ +@@ -109,6 +110,7 @@ char toolpath[MaxFname]=3D"", *start_cmd; + int pending_compute=3D0, supported_pdf_form=3D1; + int filingstatus_mfj=3D1; + int round_to_whole_nums=3D0; ++char *working_dir[MaxFname+512]; +=20 + void pick_file( GtkWidget *wdg, void *data ); /* Prototype */ + void consume_leading_trailing_whitespace( char *line ); +@@ -2364,7 +2366,7 @@ void save_taxfile( GtkWidget *wdg, void *data ) + if (cpt !=3D 0) + strcpy( cpt, "_xxxx.txt" ); + // printf("OTS_save_taxfile: dir=3D'%s', wc=3D'%s', fname=3D'%s'\n", dir= ectory_dat, wildcards_fb, filename_fb ); +- Browse_Files( "File to Save As:", 2048, directory_dat, wildcards_fb, fil= ename_fb, Save_Tax_File ); ++ Browse_Files( "File to Save As:", 2048, working_dir, wildcards_fb, filen= ame_fb, Save_Tax_File ); + } +=20 +=20 +@@ -3878,7 +3880,7 @@ void pick_file( GtkWidget *wdg, void *data ) + strcpy( wildcards_fb, ".txt" ); + strcpy( filename_fb, "" ); + // printf("OTS_pick_file: dir=3D'%s', wc=3D'%s', fname=3D'%s'\n", direc= tory_dat, wildcards_fb, filename_fb ); +- Browse_Files( "Select File", 2048, directory_dat, wildcards_fb, filenam= e_fb, receive_filename ); ++ Browse_Files( "Select File", 2048, working_dir, wildcards_fb, filename_= fb, receive_filename ); + } +=20 +=20 +@@ -4019,6 +4021,7 @@ int main(int argc, char *argv[] ) + invocation_path[k] =3D '\0'; + // printf("Invocation path =3D '%s'\n", invocation_path); + set_ots_path(); ++ getcwd(working_dir, MaxFname+512); +=20 + /* Decode any command-line arguments. */ + argn =3D 1; k=3D1; +--=20 +2.38.1 + --=20 2.39.1 --=-=-=--