summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/gsoc/project_ideas.mdwn6
-rw-r--r--community/gsoc/project_ideas/gccgo.mdwn29
-rw-r--r--community/gsoc/project_ideas/gnat.mdwn13
-rw-r--r--community/gsoc/project_ideas/language_bindings.mdwn9
-rw-r--r--community/gsoc/project_ideas/perl_python.mdwn9
-rw-r--r--community/weblogs/ArneBab/2011-04-06-application-pyhurd.mdwn56
6 files changed, 94 insertions, 28 deletions
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 38355e70..398f1426 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -82,9 +82,8 @@ ideas](http://wiki.x.org/wiki/Hurd_Porting)**.
X.org for referring to their GSoC projects. Probabaly we should get rid of one
of these pages (to avoid duplication). -->
-Also, note that there is a task about **[porting GCC's implementation of the
-Google Go programming language to
-GNU/Hurd](http://gcc.gnu.org/wiki/SummerOfCode#gccgo_hurd)**.
+<!-- Olaf, wouldn't it make sense to put the following tasks next to each
+other: language_bindings, gnat, gccgo, perl_python. -->
[[!inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]]
@@ -108,6 +107,7 @@ GNU/Hurd](http://gcc.gnu.org/wiki/SummerOfCode#gccgo_hurd)**.
[[!inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/gccgo" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/perl_python" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/gccgo.mdwn b/community/gsoc/project_ideas/gccgo.mdwn
new file mode 100644
index 00000000..26f5a91b
--- /dev/null
+++ b/community/gsoc/project_ideas/gccgo.mdwn
@@ -0,0 +1,29 @@
+[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta title="Porting Google Go (GCC: gccgo)"]]
+
+<!-- See also open_issues/gccgo. -->
+
+The goal of this project is to make the [Google Go programming
+language](http://golang.org/) available on GNU/Hurd in its [[GCC]] *gccgo*
+implementation.
+
+Presumably less work will be needed on the language's frontend itself, but
+rather on the supporting libraries.
+
+Apart from a solid knowledge of the [[POSIX]] API, working knowledge of the
+Google Go programming language is a must. Some Hurd knowledge will have to be
+acquired while working on the project.
+
+Possible mentors: Ian Lance Taylor: gccgo bits, [[Thomas Schwinge
+(tschwinge)|tschwinge]]: Hurd bits.
+
+Exercise: Fix one of the problems preventing *gccgo* from working on the Hurd.
diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn
index 97a4a552..f78c1f64 100644
--- a/community/gsoc/project_ideas/gnat.mdwn
+++ b/community/gsoc/project_ideas/gnat.mdwn
@@ -1,14 +1,16 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2011 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled
-[[GNU Free Documentation License|/fdl]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
-[[!meta title="Porting GNAT"]]
+[[!meta title="Porting GNAT (GCC)"]]
+
+<!-- See also open_issues/gnat. -->
The GNU Ada Translator (GNAT) isn't available for the Hurd so far. There are
also a number of other Debian packages depending on GNAT, and thus not
@@ -19,6 +21,7 @@ requires implementing some explicitly system-specific stuff in GNAT, and maybe
fixing a few other problems. Good knowledge of Ada is a must; some Hurd
knowledge will have to be acquired while working on the project.
-Possible mentors: Samuel Thibault (youpi)
+Possible mentors: Samuel Thibault (youpi), [[Thomas Schwinge
+(tschwinge)|tschwinge]].
Exercise: Fix one of the problems preventing GNAT from working on the Hurd.
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index c8a02390..6b36c50d 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2008, 2009, 2010, 2011 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -6,11 +6,14 @@ id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled
-[[GNU Free Documentation License|/fdl]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="Bindings to Other Programming Languages"]]
+<!-- See also open_issues/gccgo, open_issues/gnat, open_issues/perl, and
+open_issues/python. -->
+
The main idea of the Hurd design is giving users the ability to easily
modify/extend the system's functionality ([[extensible_system|extensibility]]).
This is done by creating [[filesystem_translators|hurd/translator]] and other
diff --git a/community/gsoc/project_ideas/perl_python.mdwn b/community/gsoc/project_ideas/perl_python.mdwn
index 34e877ab..a51393f1 100644
--- a/community/gsoc/project_ideas/perl_python.mdwn
+++ b/community/gsoc/project_ideas/perl_python.mdwn
@@ -1,15 +1,18 @@
-[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010, 2011 Free Software Foundation,
+Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled
-[[GNU Free Documentation License|/fdl]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="Improving Perl or Python Support"]]
+<!-- See also open_issues/perl and open_issues/python. -->
+
Perl and Python are available on the Hurd, but there are quite a lot of test suite
failures. These could be caused by problems in the system-specific
implementation bits of Perl/Python, and/or shortcomings in the actual system
diff --git a/community/weblogs/ArneBab/2011-04-06-application-pyhurd.mdwn b/community/weblogs/ArneBab/2011-04-06-application-pyhurd.mdwn
index 8e887e41..b0e57bfb 100644
--- a/community/weblogs/ArneBab/2011-04-06-application-pyhurd.mdwn
+++ b/community/weblogs/ArneBab/2011-04-06-application-pyhurd.mdwn
@@ -20,19 +20,47 @@ For this years GSoC I want to turn the currently rudimentary Python Bindings of
## Preliminary Schedule
-*still very rough*
-
-0. (before GSoC) Read up on the current C-interface to the Hurd and Cython. Especially grok the Hurd hacking guide. Add docstrings to all existing source files explaining what they do. Add auto-generated API-docs. Deliverable: Easy to understand API-docs of the current PyHurd, a simple way to generate them from the sources. 2 Weeks.
-1. Check the API.
- 1. Implement a Hello World translator, naivly implementing the necessary Mach parts, as example to test the current API.
- 2. redesign and realize an updated low-level API.
- 3. design a pythonic high-level API for translators.
-2. Realize a pythonic trivfs library and an example translator using it.
-3. Mid-Term: trivfs works. Push the code to https://github.com/ArneBab/PyHurd
-4. Implement more complex and specialized translator libraries, along with example translators. This should recreate the Hurd libraries for Python. Ideally seperate the libraries, so programmes can simply import the convenience functionality they need.
-5. Re-implement some hurd specific utils in pyhurd such as settrans.
-6. With the remaining time, create as many interesting translators as possible. Ideas include all compression formats supported by Python, markdown to HTML translators to be accessed with nsmux (file.mdwn,,html), automatic version tracking directories and overlay stores which store changes to nonchanging files like squaschfs, but also simple translators like translator-based write-locking of files by not catching write-accesses.
-7. Push the final code to https://github.com/ArneBab/PyHurd
+ * *Community bonding period.*
+ Read up on the current C-interface to the Hurd and Cython. Especially grok the Hurd hacking guide. Add docstrings to all existing source files (where they are missing) explaining what they do. Add auto-generated API-docs. Deliverable: Easy to understand API-docs of the current PyHurd, a simple way to generate them from the sources automatically.
+ * *May 23.*
+ Coding starts.
+ * *May 30.*
+ Finished a basic Hello World translator, naively implementing the necessary Mach parts directly in the translator.
+ 1. A simple program which gets a Mach port and can receive messages on that port. It has to get and hold its port at startup and send a reply port, needs to use mach_msg to get the messages, should be able to deallocate the port and must have a kill condition (for example 10 received messages).
+ 2. stdout functionality, to print all Mach messages (for debugging and to make sure that they really get received entirely).
+ 3. a parser for the Mach read file message similar to trivfs\_S\_io\_read
+ * *June 6.*
+ Moved the functionality for reading into a simple API using decorators to define actions
+ and ported Hello World to use it:
+
+ """Show Hello World."""
+ from translator import repres
+ @repres.text.event
+ def on_text_read(size):
+ return "Hello, World!"[:size]
+ * *June 13.*
+ Implemented single file read-write in the API. Added a simple writethrough translator. The API code is nicely commented.
+ * *June 20.*
+ Access Control and file attributes. Added lock_file translator which just adjusts the effective file access codes and can be used to lock a file as long as the translator is used. Might be useful for quick testing.
+ * *June 27.*
+ Translator commandline arguments and testing.
+ * *July 4.*
+ Translator: Overlay with backend store: write changes to a different file. Makes any file writeable, but keeps the changes only visible for the user who set up the translator. Effectively single-file unionmount.
+ * *July 11.*
+ Mid-term: trivfs in python works: It is possible to write translators in Python with relative ease.
+ * *July 18.*
+ More complex, specialized and helper translator libraries, along with example translators. This should recreate some of the Hurd libraries for Python and add convenience options.
+ * *July 25.*
+ Full featured setttrans in Python.
+ * *August 1.*
+ Redesigned and realized an updated controlling API with the existing direct Cython bindings.
+ * *August 8.*
+ More translators and integrating into the build system.
+ * *August 15.*
+ Suggested Pencils down. The translator API is easy to use, there are many example translators and there is a full featured settrans command in Python using the easier controlling API which shows how to control the Hurd directly from Python. The code is pushed to <https://github.com/ArneBab/PyHurd> and a git repo at <http://git.savannah.gnu.org/cgit/hurd> and integrated into the build system with a switch to enable building PyHurd.
+ * *August 22.*
+ Firm pencils down.
+
## Initial Fix
@@ -112,7 +140,7 @@ Also i want to get it merged into the main git repositories, so it is directly a
I’d love to work on PyHurd, because it grips me more and more. For example a high level API might get as simple as
from translator.source.text import *
- from translator.representation.tree import *
+ from translator.repres.tree import *
def source_text_changed(text): … (adapt tree object)
def repres_tree_changed(tree): … (adapt text object)
→ 2-way connectingk,5