[DOC] Step by step guide to make a debian package for GNU Guile 1.8.8

Step 1: Prepare your build environment.

sudo apt install devscripts

Step 2: Clone the texmacs branch of guile.

git clone --depth 10 -b texmacs --single-branch  git@github.com:texmacs/guile.git

Step 3: Make your own debs.

cd guile
dpkg-buildpackage -us -uc -b

Great! Now the wanted debs has been generated:

$ ls ../*deb
../guile-1.8_1.8.8+1-10_amd64.deb         ../guile-1.8-dev_1.8.8+1-10_amd64.deb  ../guile-1.8-libs_1.8.8+1-10_amd64.deb
../guile-1.8-dbgsym_1.8.8+1-10_amd64.deb  ../guile-1.8-doc_1.8.8+1-10_all.deb    ../guile-1.8-libs-dbgsym_1.8.8+1-10_amd64.deb

Install guile-1.8, guile-1.8-dev, guile-1.8-libs via dpkg.


1 Like

I try in ubuntu 20.04 and I got
git clone --depth 10 -b texmacs --single-branch git@github.com:texmacs/guile.git
dpkg-buildpackage -us -uc -b
dpkg-buildpackage: info: source package guile-1.8
dpkg-buildpackage: info: source version 1.8.8+1-10
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Rob Browning rlb@defaultvalue.org
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build .
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 0001-Change-guile-tut-to-guile-tut-1.8.patch
dpkg-source: info: applying 0002-Handle-the-DFSG-package-split.patch
dpkg-source: info: applying 0003-Fix-the-SRFI-60-copy-bit-documentation.patch
dpkg-source: info: applying 0004-Define-_GNU_SOURCE-to-fix-the-GNU-kFreeBSD-build.patch
dpkg-source: info: applying 0005-Don-t-access-uninitialised-memory-in-scm_to_sockaddr.patch
dpkg-source: info: applying 0006-Make-sockets.test-more-robust.patch
dpkg-source: info: applying 0007-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch
dpkg-source: info: applying 0008-Fix-problems-in-guile-tut.texi-that-cause-makeinfo-t.patch
dpkg-source: info: applying 0009-Fix-r5rs.texi-makeinfo-failure-by-applying-changes-f.patch
dpkg-source: info: applying 0010-Fix-test-suite-failure-caused-by-formfeed-difference.patch
dpkg-source: info: applying 0011-Fix-incompatibility-with-automake-1.13-specify-seria.patch
dpkg-source: info: applying 0012-remove-spurious-declarations-in-c-tokenize.lex.patch
dpkg-checkbuilddeps: error: Unmet build dependencies: texinfo flex
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

It might be better to add another extra step to automatically install the build dependencies:

Step 2.5: Install build dependencies from APT:

mk-build-deps --install --root-cmd sudo --remove

And it seems to me that dpkg-buildpackage could be replaced by automatic debuild. See this answer and Debian manual.

1 Like