File: HACKING

package info (click to toggle)
clisp 1%3A2.49.20210628.gitde01f0f-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 55,488 kB
  • sloc: lisp: 123,912; ansic: 76,710; xml: 27,403; sh: 10,447; fortran: 7,308; makefile: 1,453; perl: 164; sed: 13
file content (95 lines) | stat: -rw-r--r-- 2,681 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
All you need to know when hacking (modifying) GNU clisp or when building
it off the git repository.


Requirements
============

You will need reasonably recent versions of the build tools:

  * A C compiler; for the 'debug_gcsafety' build also a C++ compiler.
    Such as GNU GCC.
    + Homepage:
      http://gcc.gnu.org/

  * GNU automake
    + Homepage:
      http://www.gnu.org/software/automake/

  * GNU autoconf
    + Homepage:
      http://www.gnu.org/software/autoconf/

  * GNU m4
    + Homepage:
      http://www.gnu.org/software/m4/

  * Either an internet connection or a recent copy of GNU gnulib.
    + Homepage:
      http://www.gnu.org/software/gnulib/

  * GNU tar (for creating distributable tarballs)
    + Homepage:
      http://www.gnu.org/software/tar/

  * GNU Wget
    + Homepage:
      https://www.gnu.org/software/wget/

And, of course, the packages listed in the DEPENDENCIES file.


Building off the git repository
===============================

Checkout for users of GNU clisp
-------------------------------

If you don't intend to contribute to GNU clisp, only to grab the source and
build it, start with
  $ git clone https://gitlab.com/gnu-clisp/clisp.git

Checkout for contributors of GNU clisp
--------------------------------------

If you intend to contribute to GNU clisp, you need to (once)
  1. create a user account on gitlab.com,
  2. upload an SSH key of yours (see <https://gitlab.com/help/ssh/README>).

Then start with
  $ git clone git@gitlab.com:gnu-clisp/clisp.git

I also recommend
  $ git config user.name ...
  $ git config user.email ...
(see <https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup>)
and, since we don't want merge commits on the 'master' branch:
  $ git config pull.rebase true

For rebasing the ChangeLog file automatically, I invite you to install
git-merge-changelog
<http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c>
and configure it by adding lines such as these to clisp/.git/config:
[merge "merge-changelog"]
        name = GNU-style ChangeLog merge driver
        driver = /home/me/bin/git-merge-changelog %O %A %B

After the checkout
------------------

The repository contains a pre-built 'configure' script, therefore
you can proceed with the usual "./configure" immediately.


Submitting patches
==================

Patches should be submitted at https://sourceforge.net/p/clisp/patches/ .

To produce a sequence of patch files, you can use a shell command like
  $ git format-patch -3

For the style of a ChangeLog entry, see the "Change Logs" section of
the GNU coding standards:

  http://www.gnu.org/prep/standards/html_node/Change-Logs.html