Package: guix-patches;
Reported by: Skylar Hill <stellarskylark <at> posteo.net>
Date: Wed, 1 Feb 2023 09:13:01 UTC
Severity: normal
Tags: patch
Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Cc: tracker <at> debbugs.gnu.org Subject: bug#61207: closed ([PATCH] gnu: Add opentaxsolver.) Date: Sat, 18 Feb 2023 11:47:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 18 Feb 2023 12:46:31 +0100 with message-id <873573tcvc.fsf <at> nicolasgoaziou.fr> and subject line Re: [bug#61207] [PATCH v2] gnu: Add opentaxsolver. has caused the debbugs.gnu.org bug report #61207, regarding [PATCH] gnu: Add opentaxsolver. to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 61207: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61207 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Skylar Hill <stellarskylark <at> posteo.net> To: guix-patches <at> gnu.org Subject: [PATCH] gnu: Add opentaxsolver. Date: Wed, 01 Feb 2023 04:44:24 +0000[Message part 3 (text/plain, inline)]Hello, everyone, With tax season coming up in the US, I wanted to use OpenTaxSolver to prepare my tax return. However, it wasn't packaged on Guix! OTS assumes it'll be run directly from an unpacked tarball, so a patch is also included to fix some of the issues that causes (namely that an unmodified build will try to save files to the store instead of the user's home directory). This is my first time trying to package something for Guix, so if there are any glaring issues or mistakes here, please let me know! Skylar Hill[0001-gnu-Add-opentaxsolver.patch (text/plain, inline)]From ec431fbcc49c8bb57ea6c11bb3fb4f5a93aa1a10 Mon Sep 17 00:00:00 2001 From: Skylar Hill <stellarskylark <at> posteo.net> Date: Tue, 31 Jan 2023 22:30:25 -0600 Subject: [PATCH] gnu: Add opentaxsolver. * gnu/packages/opentaxsolver.scm (opentaxsolver): New variable. --- gnu/packages/opentaxsolver.scm | 94 +++++++++++++++++++ .../opentaxsolver-file-browser-fix.patch | 58 ++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 gnu/packages/opentaxsolver.scm create mode 100644 gnu/packages/patches/opentaxsolver-file-browser-fix.patch diff --git a/gnu/packages/opentaxsolver.scm b/gnu/packages/opentaxsolver.scm new file mode 100644 index 0000000000..85ba40a2ea --- /dev/null +++ b/gnu/packages/opentaxsolver.scm @@ -0,0 +1,94 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Skylar Hill <stellarskylark <at> posteo.net> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages opentaxsolver) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system glib-or-gtk) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config)) + +;; The version number seems to consist of two separate parts, a typical +;; version number (ots-version) and a tax year. At time of writing, the +;; version is 2022_20.00. Both parts are used separately in the tarball uri, +;; it is convenient to define both as separate variables. + +(define tax-year "2022") +(define ots-version "20.00") + +(define-public opentaxsolver + (package + (name "opentaxsolver") + (version (string-append tax-year "_" ots-version)) + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/opentaxsolver/OTS_" + tax-year + "/v" + ots-version + "_linux/OpenTaxSolver" + version + "_linux64.tgz")) + (sha256 + (base32 + "06k0a72bmwdmr71dvrp8b4vl8vilnggsh92hrp7wjdgcjj9m074w")) + (patches (search-patches "opentaxsolver-file-browser-fix.patch")))) + (build-system glib-or-gtk-build-system) + + (arguments + '(#:phases (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + ;; The provided Build_taxsolve_packages.sh would do this, but + ;; then we can't configure CC=gcc in the make calls, which + ;; errors. Also, the provided `make clean` doesn't delete the + ;; GUI. + (delete-file "Run_taxsolve_GUI") + (delete-file-recursively "bin") + (mkdir "bin") + (chdir "src/Gui_gtk") + (invoke "make" "CC=gcc") + (chdir "..") + (invoke "make" "CC=gcc"))) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + ;; OTS was designed to be run straight out of the unpacked + ;; tarball. Thus, the installation procedure is extremely + ;; cursed. Also note we don't use the provided + ;; Run_taxsolve_GUI because it's pointless in this context. + (copy-recursively "../bin" bin) + (copy-recursively "../tax_form_files" + (string-append out "/tax_form_files")) + (copy-recursively "formdata" + (string-append out "/src/formdata")))))))) + (inputs (list (specification->package "gtk+@2"))) + (native-inputs (list gcc pkg-config)) + (synopsis "Yearly tax preparation tool") + (description + "OpenTaxSolver is a free, safe, and secure program for calculating tax form entries for federal and state personal income taxes. It automatically fills out and prints your forms for mailing. + +Invoke with @code{ots_gui2} rather than the usual @code{Run_taxsolve_GUI}.") + (home-page "https://opentaxsolver.sourceforge.net/") + (license license:gpl2+))) diff --git a/gnu/packages/patches/opentaxsolver-file-browser-fix.patch b/gnu/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 <stellarskylark <at> posteo.net> +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[]="20.00"; + #include <string.h> + #include <stdlib.h> + #include <ctype.h> ++#include <unistd.h> + #include <sys/stat.h> + // #include "backcompat.c" + #include "gtk_utils.c" /* Include the graphics library. */ +@@ -109,6 +110,7 @@ char toolpath[MaxFname]="", *start_cmd; + int pending_compute=0, supported_pdf_form=1; + int filingstatus_mfj=1; + int round_to_whole_nums=0; ++char *working_dir[MaxFname+512]; + + 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 != 0) + strcpy( cpt, "_xxxx.txt" ); + // printf("OTS_save_taxfile: dir='%s', wc='%s', fname='%s'\n", directory_dat, wildcards_fb, filename_fb ); +- Browse_Files( "File to Save As:", 2048, directory_dat, wildcards_fb, filename_fb, Save_Tax_File ); ++ Browse_Files( "File to Save As:", 2048, working_dir, wildcards_fb, filename_fb, Save_Tax_File ); + } + + +@@ -3878,7 +3880,7 @@ void pick_file( GtkWidget *wdg, void *data ) + strcpy( wildcards_fb, ".txt" ); + strcpy( filename_fb, "" ); + // printf("OTS_pick_file: dir='%s', wc='%s', fname='%s'\n", directory_dat, wildcards_fb, filename_fb ); +- Browse_Files( "Select File", 2048, directory_dat, wildcards_fb, filename_fb, receive_filename ); ++ Browse_Files( "Select File", 2048, working_dir, wildcards_fb, filename_fb, receive_filename ); + } + + +@@ -4019,6 +4021,7 @@ int main(int argc, char *argv[] ) + invocation_path[k] = '\0'; + // printf("Invocation path = '%s'\n", invocation_path); + set_ots_path(); ++ getcwd(working_dir, MaxFname+512); + + /* Decode any command-line arguments. */ + argn = 1; k=1; +-- +2.38.1 + -- 2.38.1
[Message part 5 (message/rfc822, inline)]
From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> To: Skylar Hill <stellarskylark <at> posteo.net> Cc: dev <at> jpoiret.xyz, 61207-done <at> debbugs.gnu.org Subject: Re: [bug#61207] [PATCH v2] gnu: Add opentaxsolver. Date: Sat, 18 Feb 2023 12:46:31 +0100Hello, Skylar Hill <stellarskylark <at> posteo.net> writes: > Subject: [PATCH v3] gnu: Add opentaxsolver I added a proper commit message and applied your patch, with slight fixes to indentation. > + (description > + "OpenTaxSolver is a program for calculating tax form entries for federal and > +state personal income taxes. It automatically fills out and prints your forms > +for mailing.") I added two spaces between sentences as requested by Texinfo syntax. Regards, -- Nicolas Goaziou
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.