diff --git a/.gitignore b/.gitignore index e53bcf1e..885a67ee 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,4 @@ /pre-inst-env /mes/module/mes/boot-0.scm /scripts/mescc +/doc/images/gcc-mesboot-graph.png diff --git a/GNUmakefile b/GNUmakefile index 1d493276..caf58894 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -115,9 +115,17 @@ endif info: ${top_builddest}doc/mes.info -${top_builddest}doc/mes.info: doc/mes.texi ${top_builddest}doc/version.texi GNUmakefile +${top_builddest}doc/mes.info: doc/mes.texi ${top_builddest}doc/version.texi doc/images/gcc-mesboot-graph.dot GNUmakefile $(MAKEINFO) -o $@ -I ${top_builddest}doc -I doc $< +${top_builddest}doc/images/gcc-mesboot-graph.png: doc/images/gcc-mesboot-graph.dot +ifdef DOT + $(DOT) -T png $< > $@ +else + touch $@ +$(warning info: graphvis missing: no images) +endif + install-info: info man: ${top_builddest}doc/mes.1 ${top_builddest}doc/mescc.1 @@ -132,7 +140,7 @@ ${top_builddest}doc/mescc.1: ${top_builddest}src/mes ${top_builddest}scripts/mes html: ${top_builddest}mes/index.html -${top_builddest}mes/index.html: doc/mes.texi +${top_builddest}mes/index.html: doc/mes.texi ${top_builddest}doc/images/gcc-mesboot-graph.png $(MAKEINFO) --html -o ${top_builddest}doc/mes $< pdf: ${top_builddest}doc/mes.pdf diff --git a/build-aux/export.make b/build-aux/export.make index d28aa755..6814ed10 100644 --- a/build-aux/export.make +++ b/build-aux/export.make @@ -46,6 +46,10 @@ ifdef BLOOD_ELF export BLOOD_ELF endif +ifdef DOT +export DOT +endif + ifdef M1 export M1 endif diff --git a/build-aux/manifest.scm b/build-aux/manifest.scm index 89684205..d02fd6d2 100644 --- a/build-aux/manifest.scm +++ b/build-aux/manifest.scm @@ -16,5 +16,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with Mes. If not, see . +(use-modules (guix packages)) +(set! %load-path (cons "guix" %load-path)) (include "../.guix.scm") (packages->manifest (map cadr (package-direct-inputs mes))) diff --git a/configure b/configure index 720cfdf0..c5fdf77f 100755 --- a/configure +++ b/configure @@ -363,6 +363,7 @@ Some influential environment variables: (make-dep "hex2" '(0 3)) (make-dep "tcc" '(0 9 26) #:optional? #t #:version-option "-v") (make-dep "makeinfo" '(5) #:optional? #t) + (make-dep "dot" '(2) #:version-option "-V") (make-dep "help2man" '(1 47) #:optional? #t) (make-dep "perl" '(5) #:optional? #t) (make-dep "git" '(2) #:optional? #t)))) diff --git a/doc/images/gcc-mesboot-graph.dot b/doc/images/gcc-mesboot-graph.dot new file mode 100644 index 00000000..d153b069 --- /dev/null +++ b/doc/images/gcc-mesboot-graph.dot @@ -0,0 +1,153 @@ +digraph "Guix package" { + "31010176" [label = "gcc-mesboot-4.7.4", shape = box, fontname = Helvetica]; + "31010176" -> "30785536" [color = peachpuff4]; + "31010176" -> "30785728" [color = peachpuff4]; + "31010176" -> "30785920" [color = peachpuff4]; + "31010176" -> "16584064" [color = peachpuff4]; + "31010176" -> "32377472" [color = peachpuff4]; + "31010176" -> "47218240" [color = peachpuff4]; + "31010176" -> "32377856" [color = peachpuff4]; + "30785536" [label = "binutils-mesboot-2.20.1a", shape = box, fontname = Helvetica]; + "30785536" -> "47984832" [color = dimgrey]; + "30785536" -> "30785920" [color = dimgrey]; + "30785536" -> "30785728" [color = dimgrey]; + "30785536" -> "16584064" [color = dimgrey]; + "30785536" -> "32377472" [color = dimgrey]; + "30785536" -> "47218048" [color = dimgrey]; + "30785536" -> "32377856" [color = dimgrey]; + "30785536" -> "16584064" [color = dimgrey]; + "30785536" -> "32377856" [color = dimgrey]; + "30785536" -> "47986368" [color = dimgrey]; + "30785536" -> "47985408" [color = dimgrey]; + "47984832" [label = "binutils-mesboot0-2.20.1a", shape = box, fontname = Helvetica]; + "47984832" -> "16584064" [color = darkviolet]; + "47984832" -> "32377856" [color = darkviolet]; + "47984832" -> "47986368" [color = darkviolet]; + "47984832" -> "47985408" [color = darkviolet]; + "16584064" [label = "bootstrap-binaries-0", shape = box, fontname = Helvetica]; + "32377856" [label = "make-boot0-4.2.1", shape = box, fontname = Helvetica]; + "32377856" -> "16583680" [color = darkgoldenrod]; + "32377856" -> "16583488" [color = darkgoldenrod]; + "32377856" -> "16583872" [color = darkgoldenrod]; + "32377856" -> "16584064" [color = darkgoldenrod]; + "32377856" -> "16584064" [color = darkgoldenrod]; + "16583680" [label = "glibc-bootstrap-0", shape = box, fontname = Helvetica]; + "16583488" [label = "gcc-bootstrap-0", shape = box, fontname = Helvetica]; + "16583488" -> "16583680" [color = blue]; + "16583872" [label = "binutils-bootstrap-0", shape = box, fontname = Helvetica]; + "47986368" [label = "mes-boot-0.17-rc", shape = box, fontname = Helvetica]; + "47986368" -> "16584064" [color = blue]; + "47986368" -> "47986752" [color = blue]; + "47986752" [label = "mescc-tools-boot-0.4-1.f02b8f4", shape = box, fontname = Helvetica]; + "47986752" -> "16584064" [color = dimgrey]; + "47985408" [label = "tcc-boot-0.9.27", shape = box, fontname = Helvetica]; + "47985408" -> "16584064" [color = magenta]; + "47985408" -> "47986368" [color = magenta]; + "47985408" -> "47985600" [color = magenta]; + "47985600" [label = "tcc-boot0-0.9.26-2.1f518ea", shape = box, fontname = Helvetica]; + "47985600" -> "16584064" [color = dimgrey]; + "47985600" -> "47986368" [color = dimgrey]; + "47985600" -> "47986752" [color = dimgrey]; + "30785920" [label = "glibc-mesboot-2.2.5", shape = box, fontname = Helvetica]; + "30785920" -> "47984832" [color = darkseagreen]; + "30785920" -> "47984640" [color = darkseagreen]; + "30785920" -> "16584064" [color = darkseagreen]; + "30785920" -> "32377472" [color = darkseagreen]; + "30785920" -> "47217856" [color = darkseagreen]; + "30785920" -> "32377856" [color = darkseagreen]; + "30785920" -> "29541120" [color = darkseagreen]; + "47984640" [label = "gcc-core-mesboot-2.95.3", shape = box, fontname = Helvetica]; + "47984640" -> "16584064" [color = red]; + "47984640" -> "47984832" [color = red]; + "47984640" -> "32377472" [color = red]; + "47984640" -> "32377856" [color = red]; + "47984640" -> "47985408" [color = red]; + "32377472" [label = "diffutils-boot0-3.6", shape = box, fontname = Helvetica]; + "32377472" -> "32377856" [color = blue]; + "32377472" -> "16583680" [color = blue]; + "32377472" -> "16583488" [color = blue]; + "32377472" -> "16583872" [color = blue]; + "32377472" -> "16584064" [color = blue]; + "32377472" -> "16584064" [color = blue]; + "47217856" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica]; + "47217856" -> "32375552" [color = darkviolet]; + "47217856" -> "32377856" [color = darkviolet]; + "47217856" -> "32377472" [color = darkviolet]; + "47217856" -> "32377088" [color = darkviolet]; + "47217856" -> "32376704" [color = darkviolet]; + "47217856" -> "16583680" [color = darkviolet]; + "47217856" -> "16583488" [color = darkviolet]; + "47217856" -> "16583872" [color = darkviolet]; + "47217856" -> "16584064" [color = darkviolet]; + "47217856" -> "16584064" [color = darkviolet]; + "32375552" [label = "perl-boot0-5.26.0", shape = box, fontname = Helvetica]; + "32375552" -> "32377856" [color = red]; + "32375552" -> "32377472" [color = red]; + "32375552" -> "32377088" [color = red]; + "32375552" -> "32376704" [color = red]; + "32375552" -> "16583680" [color = red]; + "32375552" -> "16583488" [color = red]; + "32375552" -> "16583872" [color = red]; + "32375552" -> "16584064" [color = red]; + "32375552" -> "16584064" [color = red]; + "32377088" [label = "findutils-boot0-4.6.0", shape = box, fontname = Helvetica]; + "32377088" -> "32377856" [color = darkseagreen]; + "32377088" -> "32377472" [color = darkseagreen]; + "32377088" -> "16583680" [color = darkseagreen]; + "32377088" -> "16583488" [color = darkseagreen]; + "32377088" -> "16583872" [color = darkseagreen]; + "32377088" -> "16584064" [color = darkseagreen]; + "32377088" -> "16584064" [color = darkseagreen]; + "32376704" [label = "file-boot0-5.30", shape = box, fontname = Helvetica]; + "32376704" -> "32377856" [color = darkgoldenrod]; + "32376704" -> "16583680" [color = darkgoldenrod]; + "32376704" -> "16583488" [color = darkgoldenrod]; + "32376704" -> "16583872" [color = darkgoldenrod]; + "32376704" -> "16584064" [color = darkgoldenrod]; + "32376704" -> "16584064" [color = darkgoldenrod]; + "29541120" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica]; + "29541120" -> "30006848" [color = blue]; + "30006848" [label = "perl-5.26.0", shape = box, fontname = Helvetica]; + "30785728" [label = "gcc-mesboot0-2.95.3", shape = box, fontname = Helvetica]; + "30785728" -> "47984832" [color = blue]; + "30785728" -> "47984640" [color = blue]; + "30785728" -> "30785920" [color = blue]; + "30785728" -> "16584064" [color = blue]; + "30785728" -> "32377472" [color = blue]; + "30785728" -> "32377856" [color = blue]; + "30785728" -> "47217664" [color = blue]; + "47217664" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica]; + "47217664" -> "32375552" [color = darkseagreen]; + "47217664" -> "32377856" [color = darkseagreen]; + "47217664" -> "32377472" [color = darkseagreen]; + "47217664" -> "32377088" [color = darkseagreen]; + "47217664" -> "32376704" [color = darkseagreen]; + "47217664" -> "16583680" [color = darkseagreen]; + "47217664" -> "16583488" [color = darkseagreen]; + "47217664" -> "16583872" [color = darkseagreen]; + "47217664" -> "16584064" [color = darkseagreen]; + "47217664" -> "16584064" [color = darkseagreen]; + "47218048" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica]; + "47218048" -> "32375552" [color = blue]; + "47218048" -> "32377856" [color = blue]; + "47218048" -> "32377472" [color = blue]; + "47218048" -> "32377088" [color = blue]; + "47218048" -> "32376704" [color = blue]; + "47218048" -> "16583680" [color = blue]; + "47218048" -> "16583488" [color = blue]; + "47218048" -> "16583872" [color = blue]; + "47218048" -> "16584064" [color = blue]; + "47218048" -> "16584064" [color = blue]; + "47218240" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica]; + "47218240" -> "32375552" [color = red]; + "47218240" -> "32377856" [color = red]; + "47218240" -> "32377472" [color = red]; + "47218240" -> "32377088" [color = red]; + "47218240" -> "32376704" [color = red]; + "47218240" -> "16583680" [color = red]; + "47218240" -> "16583488" [color = red]; + "47218240" -> "16583872" [color = red]; + "47218240" -> "16584064" [color = red]; + "47218240" -> "16584064" [color = red]; + +} diff --git a/doc/images/gcc-mesboot-graph.png b/doc/images/gcc-mesboot-graph.png deleted file mode 100644 index 79ee36d3..00000000 Binary files a/doc/images/gcc-mesboot-graph.png and /dev/null differ diff --git a/doc/mes.texi b/doc/mes.texi index 7ce739d4..c2ec05bf 100644 --- a/doc/mes.texi +++ b/doc/mes.texi @@ -505,8 +505,8 @@ gcc-source + binutils + gcc-core + glibc => gcc @c sed -i s,package-with-bootstrap-guile,identity, gnu/packages/{commencement,mes}.scm -@c ./pre-inst-env guix graph gcc-mesboot | dot -T png > -@c gcc-mesboot-graph.png +@c ~/src/guix-bootstrap/pre-inst-env guix graph gcc-mesboot > doc/images/gcc-mesboot-graph.dot +@c dot -T png doc/images/gcc-mesboot-graph.dot > doc/images/gcc-mesboot-graph.png Here's a generated dependency diagram to give you impression, it is not complete or correct. diff --git a/guix/git/mes.scm b/guix/git/mes.scm index 2198cbd1..650ecc18 100644 --- a/guix/git/mes.scm +++ b/guix/git/mes.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages commencement) #:use-module (gnu packages cross-base) #:use-module (gnu packages gcc) + #:use-module (gnu packages graphviz) #:use-module (gnu packages guile) #:use-module (gnu packages man) #:use-module (gnu packages mes) @@ -135,6 +136,7 @@ hex2 linker.") `(("i686-linux-binutils" ,(cross-binutils triplet)) ("i686-linux-gcc" ,(cross-gcc triplet))) '()) + ("graphviz" ,graphviz) ("help2man" ,help2man) ("perl" ,perl) ; build-aux/gitlog-to-changelog ("texinfo" ,texinfo)))