public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/prog_lang/ada: dev_reference.xml index.xml
@ 2007-09-28 22:59 George Shapovalov (george)
  0 siblings, 0 replies; 2+ messages in thread
From: George Shapovalov (george) @ 2007-09-28 22:59 UTC (permalink / raw
  To: gentoo-commits

george      07/09/28 22:59:53

  Modified:             index.xml
  Added:                dev_reference.xml
  Log:
  updated description of the project, added preliminary version of dev_reference

Revision  Changes    Path
1.3                  xml/htdocs/proj/en/prog_lang/ada/index.xml

file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?rev=1.3&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?rev=1.3&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?r1=1.2&r2=1.3

Index: index.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- index.xml	11 Nov 2006 19:43:28 -0000	1.2
+++ index.xml	28 Sep 2007 22:59:52 -0000	1.3
@@ -6,7 +6,7 @@
 	<name>Ada</name>
 	<longname>Gentoo Resources for Ada</longname>
 
-	<date>11 Nov 2006</date>
+	<date>28 Sep 2007</date>
 
 	<author title="Developer">
 		<mail link="george@gentoo.org">George Shapovalov</mail>
@@ -19,23 +19,24 @@
 
 	<longdescription>
 		<p>
-			This project deals with various Ada compilers and libraries in portage. 
+			This project provides support for Ada compilers and libraries in portage. 
 			At present two gnat compilers are provided, gnat-gcc by FSF and gnat-gpl by 
 			AdaCore. Both are SLOTted and made to coexist, with the selection of the active
-			compiler performed via eselect gnat module. There are multiple Ada libraries
-			under dev-ada that are tuned to use these multiple compilers. Selection of the active
-			lib variant is done simultaneously with the selection of the active compiler
-			via the same eselect gnat command. More details on the setup can be found in the 
+			compiler performed via the eselect gnat module. Various Ada libraries and related 
+			packages are available under dev-ada. The libs support the multi-compiler 
+			situation by being built for every gnat profile that is installed. Selection 
+			of the active lib variant is done simultaneously with the selection of the 
+			active compiler via the same eselect gnat command. More details on the 
+			setup can be found in the 
 			resources section below and the lengthy discussion that lead to this system in 
 			<uri link="https://bugs.gentoo.org/show_bug.cgi?id=111340">bug #111340</uri>.
 		</p>
 		<p>
-			This setup is in the transitional stage at the moment, nearing completion.
-			Its progress can be tracked in the 
+			The implementation of the structure is nearing completion. Its progress can be
+			tracked via:
 			<uri link="https://bugs.gentoo.org/show_bug.cgi?id=137268">bug #137268</uri>. 
-			"Old-style" dev-lang/gnat and dev-ada/asis packages are deprecated and will be 
-			removed when the new setup is fully functional (dev-ada/asis is already masked,
-			dev-ada/asis-{gcc,gpl} should be used instead). One remaining consideration is 
+			"Old-style" dev-lang/gnat and dev-ada/asis packages have been masked and recently removed. 
+			One remaining consideration is 
 			dev-lang/gnat-3.15p, which still seems to have preferential use by some people.
 			However that version no longer works with new binutils and requires an antiquated gcc 
 			backend. Help is sought by those interested to keep this version alive, in case there
@@ -44,7 +45,12 @@
 	</longdescription>
 
 	
+<!--  <herd name="ada" />  -->
+
 <dev role="lead">george</dev>
 
+<resource link="dev_reference.xml">
+	Developer reference: internal structure and organization of Ada packages.
+</resource>
 
 </project>



1.1                  xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml

file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml?rev=1.1&content-type=text/plain

Index: dev_reference.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<guide link="dev_reference.xml" lang="en">

  <title>Developer reference: Internal structure and organization of Ada packages.</title>
  <author title="Author">
	  <mail link="george@gentoo.org">George Shapovalov</mail>
  </author>

  <abstract>
	This is a guide to internal workings of the gnat and gnatbuild eclasses and eselect-gnat module,
	as well as an authoritative reference to packaging principles of Ada libs and other 
	related packages. 
  </abstract>

  <version>1.0</version>
  <date>28 Sep 2007</date>

  <chapter>
	  <title>Overview</title>

	  <section>
		  <title>Introduction</title>
		  <body>
			  <p>
				  Before you start on the internals of the Ada packages you may want to
				  go through the <uri link="ada_ug.xml">user guide</uri> in case you are not familiar with
				  how to activate the chosen gnat profile and where to look for the important files.
			  </p>
			  <p>
				  Ada related packages can be divided into three important categories:
			  </p>
			  <dl>
				  <dt>Compilers and packages that directly extend them.</dt>
				  <dd>
					  Currently two closely related "brands" are supported: 
					  <c>gnat-gcc</c> released by FSF and <c>gnat-gpl</c>, the
					  AdaCore version. The primary example of the "extending" package would
					  be asis, as it is closely tied to a particular version of compiler
					  and installs directly to the same locations where the specs and libs
					  of the corresponding gnat go.  The packages in this category should use the 
					  <c>gnatbuild.eclass</c>.
				  </dd>
				  <dt>Ada libraries</dt>
				  <dd>
					  These are built for every installed gnat and profile-dependent files are
					  installed to profile specific dirs, similarly to those of gnat, however they
					  go in a "library place". This is handled automatically by gnat.eclass, inner 
					  workings of which are discussed <uri link="#doc_chap2">below</uri>.
				  </dd>
				  <dt>Executables/other programs</dt>
				  <dd>The stuff that is to be executed directly or otherwise is not supposed to be linked
					  against. The prominent examples would be gps, c2ada, etc. These require no special 
					  treatment and can be built in a regular way with any active compiler or can 
					  depend on a particular variant.
				  </dd>
			  </dl>
			  <p>
				  The profiles are switched vie eselect-gnat module, the usual way. Its internal workings
				  are also discussed in the <uri link="#doc_chap1">chapter</uri> describing 
				  <c>gnatbuild.eclass</c>.
			  </p>
		  </body>
	  </section>
  </chapter>

  <chapter>
	  <title>gnatbuild.eclass and eselect-gnat</title>

	  <section>
		  <title>Introduction</title>
		  <body>
			  <p>To be completed. </p>
		  </body>
	  </section>
  </chapter>
</guide>

<!-- vim: set tabstop=2: -->
<!-- vim: set shiftwidth=2: -->



-- 
gentoo-commits@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/prog_lang/ada: dev_reference.xml index.xml
@ 2007-09-29 20:20 George Shapovalov (george)
  0 siblings, 0 replies; 2+ messages in thread
From: George Shapovalov (george) @ 2007-09-29 20:20 UTC (permalink / raw
  To: gentoo-commits

george      07/09/29 20:20:19

  Modified:             dev_reference.xml index.xml
  Log:
  another update, dev_reference has only one chapter now

Revision  Changes    Path
1.2                  xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml

file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml?r1=1.1&r2=1.2

Index: dev_reference.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dev_reference.xml	28 Sep 2007 22:59:52 -0000	1.1
+++ dev_reference.xml	29 Sep 2007 20:20:19 -0000	1.2
@@ -31,7 +31,7 @@
 				  Ada related packages can be divided into three important categories:
 			  </p>
 			  <dl>
-				  <dt>Compilers and packages that directly extend them.</dt>
+				  <dt><b>Compilers and packages that directly extend them.</b></dt>
 				  <dd>
 					  Currently two closely related "brands" are supported: 
 					  <c>gnat-gcc</c> released by FSF and <c>gnat-gpl</c>, the
@@ -41,36 +41,52 @@
 					  of the corresponding gnat go.  The packages in this category should use the 
 					  <c>gnatbuild.eclass</c>.
 				  </dd>
-				  <dt>Ada libraries</dt>
+				  <dt><b>Ada libraries</b></dt>
 				  <dd>
 					  These are built for every installed gnat and profile-dependent files are
 					  installed to profile specific dirs, similarly to those of gnat, however they
 					  go in a "library place". This is handled automatically by gnat.eclass, inner 
-					  workings of which are discussed <uri link="#doc_chap2">below</uri>.
+					  workings of which are discussed below.
 				  </dd>
-				  <dt>Executables/other programs</dt>
+				  <dt><b>Executables/other programs</b></dt>
 				  <dd>The stuff that is to be executed directly or otherwise is not supposed to be linked
 					  against. The prominent examples would be gps, c2ada, etc. These require no special 
 					  treatment and can be built in a regular way with any active compiler or can 
-					  depend on a particular variant.
+					  depend on a particular variant. One particular issue should be observed however. 
+					  If the execuables link against any of the 
+					  profile-specific Ada libraries, when user switches gnat profile the particular 
+					  binary versions of these libs will become unavailable. In fact, the linker will
+					  attempt to select the library by name and will try to link against the binary
+					  incompatible variant, resulting in execution failure. To resolve this, such binaries
+					  should be compiled with LD_RUN_PATH defined and containing the locations of the 
+					  needed variants of the libs.
 				  </dd>
 			  </dl>
 			  <p>
-				  The profiles are switched vie eselect-gnat module, the usual way. Its internal workings
-				  are also discussed in the <uri link="#doc_chap1">chapter</uri> describing 
+				  The profiles are switched via eselect-gnat module, the usual way. Its internal workings
+				  are also discussed in the chapter describing 
 				  <c>gnatbuild.eclass</c>.
 			  </p>
 		  </body>
 	  </section>
-  </chapter>
-
-  <chapter>
-	  <title>gnatbuild.eclass and eselect-gnat</title>
 
 	  <section>
-		  <title>Introduction</title>
+		  <title>gnatbuild.eclass and eselect-gnat</title>
 		  <body>
-			  <p>To be completed. </p>
+			  <p>
+				  The <c>gnatbuildeclass</c> has been modelled after the <c>toolchain.eclass</c>,
+				  similarly providing multiple SLOTs tracking the gcc backend variations. One additional
+				  "complication" that we have in Ada case is that there are two related, however different
+				  compilers available, as mentioned above. These are provided as separate packages,
+				  <c>dev-lang/gnat-gcc</c> for FSF's Ada and <c>dev-lang/gnat-gpl</c> for the one by
+				  AdaCore.
+			  </p>
+			  <warn>Maintainer, beware! The last one has changed the license from GMGPL to pure GPL no 
+				  so long ago.</warn>
+			  <p>
+				  It is possible they change it again to GPL-3 and FSF will likely want to do so as well.
+				  Therefore attention needs to be paid to the licenses when these packages are updated.
+			  </p>
 		  </body>
 	  </section>
   </chapter>



1.4                  xml/htdocs/proj/en/prog_lang/ada/index.xml

file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?rev=1.4&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?rev=1.4&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?r1=1.3&r2=1.4

Index: index.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- index.xml	28 Sep 2007 22:59:52 -0000	1.3
+++ index.xml	29 Sep 2007 20:20:19 -0000	1.4
@@ -28,19 +28,12 @@
 			of the active lib variant is done simultaneously with the selection of the 
 			active compiler via the same eselect gnat command. More details on the 
 			setup can be found in the 
-			resources section below and the lengthy discussion that lead to this system in 
+			resource section below and the lengthy discussion that lead to this organization in 
 			<uri link="https://bugs.gentoo.org/show_bug.cgi?id=111340">bug #111340</uri>.
-		</p>
-		<p>
 			The implementation of the structure is nearing completion. Its progress can be
 			tracked via:
 			<uri link="https://bugs.gentoo.org/show_bug.cgi?id=137268">bug #137268</uri>. 
 			"Old-style" dev-lang/gnat and dev-ada/asis packages have been masked and recently removed. 
-			One remaining consideration is 
-			dev-lang/gnat-3.15p, which still seems to have preferential use by some people.
-			However that version no longer works with new binutils and requires an antiquated gcc 
-			backend. Help is sought by those interested to keep this version alive, in case there
-			is such desire.
 		</p>
 	</longdescription>
 



-- 
gentoo-commits@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-09-29 20:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-29 20:20 [gentoo-commits] gentoo commit in xml/htdocs/proj/en/prog_lang/ada: dev_reference.xml index.xml George Shapovalov (george)
  -- strict thread matches above, loose matches on Subject: below --
2007-09-28 22:59 George Shapovalov (george)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox