[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new version of paps (printing package for emacs)
From: |
( |
Subject: |
Re: new version of paps (printing package for emacs) |
Date: |
Sun, 08 Jan 2023 11:35:51 +0000 |
On Sun Jan 8, 2023 at 11:02 AM GMT, Gottfried wrote:
> How can I update it myself?
Clone the source code:
git clone https://git.sv.gnu.org/git/guix.git
cd guix
Create a new branch to make your changes in:
git branch wip-update-paps
Now you can either use a git "worktree" (a new directory for your branch) or
the current
directory to edit the branch:
git checkout wip-update-paps # to use the current directory
git worktree add wip-update-paps # i prefer to use a new directory
If you choose to use a worktree, make sure to cd there:
cd wip-update-paps
Build the source code, to make sure everything's working alright:
./bootstrap
./configure --localstatedir=/var
make -j$(nproc) # using multiple jobs makes the build process *much* faster
Now figure out where the package is:
guix show paps
# ---8<---
# location: gnu/packages/pdf.scm:1459:2
# ---8<---
Open up that file:
(define-public paps
(package
(name "paps")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dov/paps/releases/download/v"
version "/paps-" version ".tar.gz"))
(sha256
(base32 "1z1w1fg2bvb8p92n1jlpqp3n9mq42szb2mqhh4xqmmnmfcdkpi9s"))))
(build-system gnu-build-system)
(inputs
(list pango))
(native-inputs
(list intltool pkg-config))
(home-page "https://github.com/dov/paps")
(synopsis "Pango to PostScript converter")
(description
"Paps reads a UTF-8 encoded file and generates a PostScript language
rendering of the file through the Pango Cairo back end.")
(license license:lgpl2.0+)))
Change the ``version'' number to the latest version:
(version "(***VERSION***)")
Now, Guix verifies downloaded code using a hash to check whether it's been
corrupted or tampered with, so we need to change that too. To get the new
hash, use ``guix download'':
guix download
https://github.com/dov/paps/releases/download/v(***VERSION***)/paps-(***VERSION***).tar.gz
This will print out a string that looks a bit like what's currently in the
(sha256 (base32 "...")). Replace that string with the one from ``guix
download''
to update the hash.
Now, rebuild:
make -j$(nproc)
We can use ``./pre-inst-env'' to test out our changes:
./pre-inst-env guix build paps
It'll probably fail with the error you got before, so try adding the needed
autotools dependencies to native-inputs:
(native-inputs
(list autoconf automake intltool libtool m4 pkg-config))
If that doesn't work, try adding gnu-gettext, too:
(native-inputs
(list autoconf automake gnu-gettext intltool libtool m4 pkg-config))
Now build and test again:
make -j$(nproc)
./pre-inst-env guix build paps
If it works, you can send it as a patch to the Guix mailing list. Follow the
instructions on <https://git-send-email.io>'s first two pages to set up Git's
email features, but *don't do anything else from there*.
Now you need to commit your change:
git commit
Your commit message should look something like this:
gnu: paps: Update to (***VERSION***).
* gnu/packages/pdf.scm (paps): Update to (***VERSION***).
This is the typical GNU commit message format, called ChangeLog.
Now use ``git send-email'' to send the patch to guix-patches (see
<https://guix.gnu.org/manual/devel/en/html_node/Sending-a-Patch-Series.html>
for more information):
git send-email -1 --base=master --to=guix-patches@gnu.org
A patch email should appear on the Guix mailing list, ready to be applied
by the maintainers :)
-- (
signature.asc
Description: PGP signature