Re: Declarative and Minimalistic Computing: CfP for FOSDEM 2024

2023-12-17 Thread Manolis Ragkousis
We are working on a decision on which talks to accept, we will have it 
ready by tomorrow evening.


On 11/12/23 15:57, Manolis Ragkousis wrote:
We are excited to announce the Call for Participation for the 
Declarative and Minimalistic Computing devroom at FOSDEM on February, 
2024! The submission deadline for talk proposals is December 1st, 2023.


FOSDEM is one of the most important free software conferences and is
hosted annually at Université libre de Bruxelles in Brussels,
Belgium. This year FOSDEM will be a physical conference. Talks will be 
done in person.


We accept talks from languages that attempt to minimize use of hardware
and software while trying to make systems simpler, more robust and more
secure. If you are working on improving today's systems taking
declarative/minimalistic approaches feel free to submit a talk
proposal. Examples include the Scheme/Lisp family of programmings 
languages. In past editions, this devroom has received presentations 
from a varied number of language communities, including Forth, Guile, 
Lua, Nim, Racket, Raku and Tcl as well as several experimental projects 
that push minimalism in new directions.


Minimalism and declarative programming are two important topics for
this devroom. Minimalism matters. Minimalism allows for smaller
systems that take less resources and consume less energy. More
importantly, free and open source minimalism allows for secure systems
that are easy to understand. Declarative programming is a programming
paradigm that expresses the logic of a computation without describing
its control flow. Many languages that apply this style attempt to
minimize or eliminate side effects by describing what the program must
accomplish in terms of the problem domain, rather than describe how to
accomplish it as a sequence of the programming language primitives.

Finally, in this year's conference, we will honor the late Joe Armstrong 
for his pioneering contributions to concurrent and fault-tolerant 
computing systems. Armstrong is best known as the principal inventor of 
the Erlang programming language, which embodies the principles of 
concurrency, distribution, and fault-tolerance, making it a cornerstone 
in the realm of declarative and minimalistic computing. Erlang has been 
instrumental in powering highly scalable and reliable systems, 
particularly in telecommunications and distributed systems.


We want to invite you to submit a talk on declarative and minimalistic
computing that fits that description. We are especially happy to
receive talk submissions from members of groups underrepresented in
free software.

If you have something you’d like to share with your fellow developers,
please E-mail us! Reach out to
pjotr.public...@thebird.nl or manolis...@gmail.com if you run into any
trouble.

The deadline for submission is December 1st. Proposals must be submitted 
on FOSDEM's conference management system: <https://pretalx.fosdem.org/>. 
Heads up that this year FOSDEM is not relying on the good old Pentabarf 
but on Pretalx. All submissions must go through pretalx: 
<https://fosdem.org/submit>


When submitting your talk make doubly sure to select "Declarative and
Minimalistic Computing devroom" as track (if you don't we won't find
it), and include the following information:

   * The title and subtitle of your talk
   * A short abstract of one paragraph
   * A longer description if you wish to do so
   * Links to related websites/blogs etc

To see what a final talk looks like see

   https://archive.fosdem.org/2021/schedule/event/gnumes/

Let's make this a fun day!

= Organizers =

Pjotr Prins, Manolis Ragkousis, Jonhathan McHugh, Bonface Munyoki, Arun 
Isaac, Ludovic Courtès, Amirouche Boubekki,

Hisham Muhammad, Jan Nieuwenhuizen, Ricardo Wurmus, Alex
Sassmannshausen, William Byrd, Oliver Propst, Efraim Flashner, Julien 
Lepiller


= Code of conduct =

   - https://fosdem.org/2024/practical/conduct/

= Original proposal =

   - https://libreplanet.org/wiki/FOSDEM2024-devroom-proposal

= Important dates: =

   - Dec 1st 2023:  submission deadline for talk proposals
   - Dec 15th 2023:  announcement of the final schedule
   - Feb 4th 2024:  FOSDEM!




Declarative and Minimalistic Computing: CfP for FOSDEM 2024

2023-11-12 Thread Manolis Ragkousis
We are excited to announce the Call for Participation for the 
Declarative and Minimalistic Computing devroom at FOSDEM on February, 
2024! The submission deadline for talk proposals is December 1st, 2023.


FOSDEM is one of the most important free software conferences and is
hosted annually at Université libre de Bruxelles in Brussels,
Belgium. This year FOSDEM will be a physical conference. Talks will be 
done in person.


We accept talks from languages that attempt to minimize use of hardware
and software while trying to make systems simpler, more robust and more
secure. If you are working on improving today's systems taking
declarative/minimalistic approaches feel free to submit a talk
proposal. Examples include the Scheme/Lisp family of programmings 
languages. In past editions, this devroom has received presentations 
from a varied number of language communities, including Forth, Guile, 
Lua, Nim, Racket, Raku and Tcl as well as several experimental projects 
that push minimalism in new directions.


Minimalism and declarative programming are two important topics for
this devroom. Minimalism matters. Minimalism allows for smaller
systems that take less resources and consume less energy. More
importantly, free and open source minimalism allows for secure systems
that are easy to understand. Declarative programming is a programming
paradigm that expresses the logic of a computation without describing
its control flow. Many languages that apply this style attempt to
minimize or eliminate side effects by describing what the program must
accomplish in terms of the problem domain, rather than describe how to
accomplish it as a sequence of the programming language primitives.

Finally, in this year's conference, we will honor the late Joe Armstrong 
for his pioneering contributions to concurrent and fault-tolerant 
computing systems. Armstrong is best known as the principal inventor of 
the Erlang programming language, which embodies the principles of 
concurrency, distribution, and fault-tolerance, making it a cornerstone 
in the realm of declarative and minimalistic computing. Erlang has been 
instrumental in powering highly scalable and reliable systems, 
particularly in telecommunications and distributed systems.


We want to invite you to submit a talk on declarative and minimalistic
computing that fits that description. We are especially happy to
receive talk submissions from members of groups underrepresented in
free software.

If you have something you’d like to share with your fellow developers,
please E-mail us! Reach out to
pjotr.public...@thebird.nl or manolis...@gmail.com if you run into any
trouble.

The deadline for submission is December 1st. Proposals must be submitted 
on FOSDEM's conference management system: <https://pretalx.fosdem.org/>. 
Heads up that this year FOSDEM is not relying on the good old Pentabarf 
but on Pretalx. All submissions must go through pretalx: 
<https://fosdem.org/submit>


When submitting your talk make doubly sure to select "Declarative and
Minimalistic Computing devroom" as track (if you don't we won't find
it), and include the following information:

  * The title and subtitle of your talk
  * A short abstract of one paragraph
  * A longer description if you wish to do so
  * Links to related websites/blogs etc

To see what a final talk looks like see

  https://archive.fosdem.org/2021/schedule/event/gnumes/

Let's make this a fun day!

= Organizers =

Pjotr Prins, Manolis Ragkousis, Jonhathan McHugh, Bonface Munyoki, Arun 
Isaac, Ludovic Courtès, Amirouche Boubekki,

Hisham Muhammad, Jan Nieuwenhuizen, Ricardo Wurmus, Alex
Sassmannshausen, William Byrd, Oliver Propst, Efraim Flashner, Julien 
Lepiller


= Code of conduct =

  - https://fosdem.org/2024/practical/conduct/

= Original proposal =

  - https://libreplanet.org/wiki/FOSDEM2024-devroom-proposal

= Important dates: =

  - Dec 1st 2023:  submission deadline for talk proposals
  - Dec 15th 2023:  announcement of the final schedule
  - Feb 4th 2024:  FOSDEM!



Guix Days and Fosdem 2024

2023-09-17 Thread Manolis Ragkousis

Hello everyone,

It's that time of the year again. We should start preparing for the Guix 
Days 2024 and a Declarative and Minimalistic Computing devroom proposal.


I have created the pages at [1] devroom proposal and [2] Guix days. I 
copy pasted the text from last year and updated the year.


We need to update the topic and possible talks, decide on who to honor 
in the devroom, etc.


Please update the pages with any input you have or ping us.

Looking forward to seeing you all again soon!

Manolis and Pjotr


[1] https://libreplanet.org/wiki/FOSDEM2024-devroom-proposal
[2] https://libreplanet.org/wiki/Group:Guix/FOSDEM2024



Blog posts license

2023-02-11 Thread Manolis Ragkousis

Hello everyone,

Yes, I agree for my
contribution to the blog posts with the license under CC-BY-SA 4.0 and
GFDL version 1.3 or later


Thank you,
Manolis



Help needed with Fosdem devroom coordination

2023-02-02 Thread Manolis Ragkousis
Hello everyone,

In the Declarative and Minimalistic Computing devroom we need help
with coordination, either online or live. A couple of talks each will
be enough.

I am attaching the schedule csv with the full program. Even if you
pick one talk, you could really help us out.

Thank you,
Manolis
ID,Event title,Speakers,Event state,Day,Start time,Room,Duration,Durai,Day,Start,End,Location,Order,Co 1,Co 2
14144,Introduction to Pre-Scheme ,Andrew Whatson,accepted confirmed00:45:00,30,Saturday,10:30:00 AM,,Remote,1,Bonface Munyoki,Arun Isaac
13944,LIPS Scheme Powerful introspection and extensibility,jcubic,accepted confirmed00:40:00,30,Saturday,11:00:00 AM,,Remote,2,Bonface Munyoki,Arun Isaac
14210,Inside the FIM (Fbi IMproved) Scriptable Image Viewer About a Small Command Language Powering an Image Viewer,Michele Martone,accepted confirmed00:30:00,30,Saturday,11:30:00 AM,,Remote,3,Bonface Munyoki,Arun Isaac
13677,Bringing RISC-V to Guix's bootstrap What's done and what we need to do,Ekaitz Zarraga,accepted confirmed00:30:00,30,Saturday,12:00:00 PM,,Remote,4,Bonface Munyoki,Arun Isaac
14663,Using GNU Guix Containers with FHS (Filesystem Hierarchy Standard) Support ,John Kehayias,accepted confirmed00:30:00,30,Saturday,12:30:00 PM,,Remote,5,Bonface Munyoki,Arun Isaac
14416,Creating minimal Guix System images Declaring just what is necessary,Efraim Flashner,accepted confirmed00:25:00,30,Saturday,01:00:00 PM,,Remote,6,Bonface Munyoki,Arun Isaac
14432,Self-conscious Reflexive Interpreters ,William Byrd,accepted confirmed01:00:00,60,Saturday,01:30:00 PM,,Remote,7,Bonface Munyoki,Arun Isaac
14325,"GNU Guix and Open science, a crush? ",Simon Tournier,accepted confirmed00:25:00,25,Saturday,03:00:00 PM,,On,8,Pjotr Prins,Manolis Ragkousis
14445,"How Replicant, a 100% free software Android distribution, uses (or doesn't use) Guix ",Denis Carikli (GNUtoo),accepted confirmed00:30:00,30,Saturday,03:25:00 PM,,On,9,Pjotr Prins,Manolis Ragkousis
14287,Zig and Guile for fast code and a REPL ,Pjotr Prins,accepted confirmed00:30:00,25,Saturday,03:55:00 PM,,On,10,Pjotr Prins,Manolis Ragkousis
14177,Whippet: A new production embeddable garbage collector Replacing Guile's engine while the car is running,Andy Wingo,accepted confirmed00:40:00,35,Saturday,04:20:00 PM,,On,11,Pjotr Prins,Manolis Ragkousis
14225,"Exploring WebAssembly with Forth (and vice versa) Artisanal, minimal, just-in-time compilation for the web and beyond",Remko Tron?on,accepted confirmed00:30:00,25,Saturday,04:55:00 PM,,On,12,Pjotr Prins,Manolis Ragkousis
14114,Algebraic Effects and Types as First-Class Features in the Fuzion Language Giving a pure functional solution for non-functional aspects.,Fridtjof Siebert,accepted confirmed00:40:00,25,Saturday,05:20:00 PM,,On,13,Pjotr Prins,Manolis Ragkousis
14040,"IDP-Z3, a reasoning engine for FO(.) A truly declarative approach to programming.",Pierre Carbonnelle,accepted confirmed00:30:00,25,Saturday,05:45:00 PM,,On,14,Pjotr Prins,Manolis Ragkousis
13998,I have an idea: build a language that can run backwards (please tell me if it's stupid),Steven Goodwin,accepted confirmed00:15:00,20,Saturday,06:10:00 PM,,On,15,Pjotr Prins,Manolis Ragkousis
15033,LuaRocks and the challenges of minimalism ,Hisham Muhammad,accepted confirmed,2023-02-04,,K.3.201,00:20:00,30,Saturday,06:30:00 PM,,On,16,Pjotr Prins,Manolis Ragkousis
14367,Reviving Reverse Polish Lisp Building an open-source HP48-like calculator,Christophe de Dinechin,accepted confirmed00:30:00,30,Sunday,09:00:00 AM,,Remote,17,Bonface Munyoki,Arun Isaac
14167,Literate Storytelling: Interpreting Syntaxes for Explorers Demonstration of the use of syntaxes to facilitate the search of information,Jonathan McHugh,accepted confirmed00:30:00,30,Sunday,09:30:00 AM,,Remote,18,Bonface Munyoki,Arun Isaac
14974,An Introduction to Guix Home Declarative $HOME configuration with Scheme!,David Wilson,accepted confirmed00:30:00,30,Sunday,10:00:00 AM,,Remote,19,Bonface Munyoki,Arun Isaac
13883,tissue-the minimalist git+plain text issue tracker ,Arun Isaac,accepted confirmed00:30:00,30,Saturday,10:30:00 AM,,Remote,20,Bonface Munyoki,Arun Isaac
570,,,
9.5,,,
,,,
,,Minutes,Hours
On-campus,,240,4
Prerecorded,,330,5.5
,,570,9.5


FOSDEM 2023 - Declarative and Minimalistic Computing - Call for Participation

2022-11-13 Thread Manolis Ragkousis

We are excited to announce a devroom on Declarative and Minimalistic
Computing at FOSDEM on 4th of February, 2023!

FOSDEM is one of the most important free software conferences and is
hosted annually at Université libre de Bruxelles in Brussels,
Belgium. This year FOSDEM will be a physical
conference. Talks will be done in person and we will also have virtual 
talks!


We accept talks from languages that attempt to minimize use of hardware
and software while trying to make systems simpler, more robust and more
secure. If you are working on improving today's systems taking
declarative/minimalistic approaches feel free to submit a talk
proposal. Examples include the Scheme/Lisp family of programmings 
languages. In past editions, this devroom has received presentations 
from a varied number of language communities, including Forth, Guile, 
Lua, Nim, Racket, Raku and Tcl as well as several experimental projects 
that push minimalism in new directions.


Minimalism and declarative programming are two important topics for
this devroom. Minimalism matters. Minimalism allows for smaller
systems that take less resources and consume less energy. More
importantly, free and open source minimalism allows for secure systems
that are easy to understand. Declarative programming is a programming
paradigm that expresses the logic of a computation without describing
its control flow. Many languages that apply this style attempt to
minimize or eliminate side effects by describing what the program must
accomplish in terms of the problem domain, rather than describe how to
accomplish it as a sequence of the programming language primitives.

Finally, in this year's virtual conference we will honour the late 
Professor [https://en.wikipedia.org/wiki/Dennis_Ritchie Dennis Ritchie] 
the creator of the C programming language and the Unix operating system. 
C was designed as a minimal language that reflects the underlying CPU 
architecture closely, i.e., a high-level assembler. C is very popular 
today and the Linux kernel is almost completely written in C. In this 
edition we will also invite speakers that are working on new projects 
and minimalistic languages in the spirit of C.


We want to invite you to submit a talk on declarative and minimalistic
computing that fits that description. We are especially happy to
receive talk submissions from members of groups underrepresented in
free software.

If you have something you’d like to share with your fellow developers,
please E-mail us! Talks considered for the devroom will have to
be entered in

  - https://penta.fosdem.org/submission/FOSDEM23

The deadline for submission is December 3rd. If you have a FOSDEM
pentabarf account from a previous year, please use that
account. Otherwise add one on
https://penta.fosdem.org/user/new_account. Reach out to
pjotr.public...@thebird.nl or manolis...@gmail.com if you run into any
trouble.

When submitting your talk make doubly sure to select "Declarative and
Minimalistic Computing devroom" as track (if you don't we won't find
it), and include the following information:

  * The title and subtitle of your talk
  * A short abstract of one paragraph
  * A longer description if you wish to do so
  * Links to related websites/blogs etc

To see what a final talk looks like see

  https://archive.fosdem.org/2021/schedule/event/gnumes/

Let's make this a fun day!

= Organizers =

Pjotr Prins, Manolis Ragkousis, Jonhathan McHugh, Bonface Munyoki, Arun 
Isaac, Ludovic Courtès, Amirouche Boubekki,

Hisham Muhammad, Jan Nieuwenhuizen, Ricardo Wurmus, Alex
Sassmannshausen, William Byrd, Oliver Propst, Efraim Flashner, Julien 
Lepiller


= Code of conduct =

  - https://fosdem.org/2023/practical/conduct/

= Original proposal =

  - https://libreplanet.org/wiki/FOSDEM2023-devroom-proposal

= Important dates: =

  - Dec 3rd 2022:  submission deadline for talk proposals
  - Dec 15th 2022:  announcement of the final schedule
  - Feb  4th 2023:  FOSDEM!

https://libreplanet.org/wiki/FOSDEM2023-devroom-declarative-and-minimalistic-computing-cfp



Re: Clarifying blog post licensing

2022-01-26 Thread Manolis Ragkousis

I agree!

On 1/26/22 11:24, Ludovic Courtès wrote:

Hello Guix!

With a few exceptions, our blog posts do not have a license, which is
not great as it prevents sharing and reuse, at least by those outside
Guix circles (we discussed it in the past but never got around to fixing
it).

I’d like us to clarify that, with a footer on blog posts saying that,
unless otherwise stated, posts are dual-licensed under CC-BY-SA 4.0 and
GFDL 1.3+ (the latter so we can reuse material in the cookbook and in
the manual).  Patch below.

What do people think?

If maintainers and everyone agrees, I’d like to publicly email all the
authors asking them whether they agree with the proposed licensing
terms, or whether they’d like a different free license.  The script
below enumerates blog post authors (the list needs a bit of cleanup
still):

--8<---cut here---start->8---
scheme@(guile-user)> ,pp authors
$22 = ("A collective of GNU maintainers"
  "Andreas Enge"
  "Chris Marusich"
  "Chris Marusich and Léo Le Bouter"
  "Christopher Baines"
  "Christopher Lemmer Webber"
  "Danjela Lura"
  "Danny Milosavljevic"
  "David Thompson"
  "Efraim Flashner"
  "Florian Pelz"
  "Guix Hackers"
  "Gábor Boskovits"
  "Jakob L. Kreuze"
  "Jan (janneke) Nieuwenhuizen"
  "Jan Nieuwenhuizen"
  "Joshua Branson"
  "Julien Lepiller"
  "Konrad Hinsen"
  "Laura Lazzati"
  "Ludovic (civodul) Courtès"
  "Ludovic Courtès"
  "Ludovic Courtès and Leo Famulari"
  "Magali Lemes"
  "Manolis Ragkousis"
  "Marius (mbakke) Bakke"
  "Marius Bakke"
  "Mathieu Othacehe"
  "Maxim Cournoyer"
  "Pierre Neidhardt"
  "Pjotr Prins"
  "Ricardo (rekado) Wurmus"
  "Ricardo Wurmus"
  "Roel Janssen"
  "Simon Tournier"
  "Tatiana Sholokhova"
  "Tobias Geerinckx-Rice"
  "sirgazil")
--8<---cut here---end--->8---

How does that sound?

Thanks,
Ludo’.


diff --git a/website/apps/blog/templates/post.scm 
b/website/apps/blog/templates/post.scm
index de02c6c..0d6b08e 100644
--- a/website/apps/blog/templates/post.scm
+++ b/website/apps/blog/templates/post.scm
@@ -60,4 +60,19 @@
#:label tag
#:url (guix-url (tag-url-path tag)))
   " ")) ; NOTE: Force space for readability in non-CSS browsers.
-   (sort tags tag-first?
+   (sort tags tag-first?)))
+
+(div
+ (@ (class "license"))
+ ,(G_ `(p "Unless otherwise stated, blog posts on this site are
+copyrighted by their respective authors and published under the terms of
+the " ,(G_
+`(a (@ (href 
"https://creativecommons.org/licenses/by-sa/4.0/;))
+"CC-BY-SA 4.0"))
+  " license and those of the "
+  ,(G_
+`(a (@ (href
+"https://www.gnu.org/licenses/fdl-1.3.html;))
+"GNU Free Documentation License"))
+  " (version 1.3 or later, with no Invariant Sections, no
+Front-Cover Texts, and no Back-Cover Texts)."
diff --git a/website/static/blog/css/post.css b/website/static/blog/css/post.css
index 57d7f0d..95035ba 100644
--- a/website/static/blog/css/post.css
+++ b/website/static/blog/css/post.css
@@ -38,3 +38,8 @@ article {
  article.limit-width {
  max-width: 720px;
  }
+
+.license {
+font-size: 0.8em;
+line-height: 1.4em;
+}




Re: Celebrating ten years of Guix

2022-01-15 Thread Manolis Ragkousis
I still remember sending my first patch in 2014 and the happiness of 
getting it accepted. I am using Guix everywhere and has made my life so 
much simpler to experiment with things.


I love the Guix Community! Looking forward to another 10 year and beyond :D

On 1/15/22 06:52, Pjotr Prins wrote:

On Wed, Jan 12, 2022 at 03:27:32PM +0100, Ludovic Courtès wrote:

Hello Guix!

This year marks the tenth anniversary of Guix; what if we used that as a
pretext to join forces and organize “special events” throughout the
year?  Obviously the Guix Days are already a great start!


Great idea.

In 2014 I watched your first presentation of Guix at FOSDEM. I was
sold on the spot! We use Guix containers and services through all our
deployments - it is a massive success story.

https://guix.gnu.org/guix-fosdem-20140201.pdf

Onwards and upwards!

Pj.





FOSDEM 2022 - Declarative and Minimalistic Computing - Call for Participation

2021-12-02 Thread Manolis Ragkousis

We are excited to announce a devroom on Declarative and Minimalistic
Computing at FOSDEM on 5th and 6th of February, 2022, online!

FOSDEM is one of the most important free software conferences and is
hosted annually at Université libre de Bruxelles in Brussels,
Belgium. Unfortunately again this year FOSDEM will not run a physical
conference but will be online only. Talks will be pre-recorded with
some live content including Q sessions and discussion panels.

We accept talks from languages that attempt to minimize use of hardware
and software while trying to make systems simpler, more robust and more
secure. If you are working on improving today's systems taking
declarative/minimalistic approaches feel free to submit a talk
proposal. Examples include the Scheme/Lisp family of programmings 
languages. In past editions, this devroom has received presentations 
from a varied number of language communities, including Forth, Guile, 
Lua, Nim, Racket, Raku and Tcl as well as several experimental projects 
that push minimalism in new directions.


Minimalism and declarative programming are two important topics for
this devroom. Minimalism matters. Minimalism allows for smaller
systems that take less resources and consume less energy. More
importantly, free and open source minimalism allows for secure systems
that are easy to understand. Declarative programming is a programming
paradigm that expresses the logic of a computation without describing
its control flow. Many languages that apply this style attempt to
minimize or eliminate side effects by describing what the program must
accomplish in terms of the problem domain, rather than describe how to
accomplish it as a sequence of the programming language primitives.

Finally, in this year's virtual conference we will honor the late Professor
[https://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist) John 
McCarthy] as the founder of AI and the inventor of LISP. McCarthy with

his work pioneered artificial intelligence, developed the Lisp
programming language family and kickstarted our modern computing world.

We want to invite you to submit a talk on declarative and minimalistic
computing that fits that description. We are especially happy to
receive talk submissions from members of groups underrepresented in
free software.

If you have something you’d like to share with your fellow developers,
please E-mail us! Talks considered for the devroom will have to
be entered in

  - https://penta.fosdem.org/submission/FOSDEM22

The deadline for submission is December 20th. If you have a FOSDEM
pentabarf account from a previous year, please use that
account. Otherwise add one on
https://penta.fosdem.org/user/new_account. Reach out to
pjotr.public...@thebird.nl or manolis...@gmail.com if you run into any
trouble.

When submitting your talk make doubly sure to select "Declarative and
Minimalistic Computing devroom" as track (if you don't we won't find
it), and include the following information:

  * The title and subtitle of your talk
  * A short abstract of one paragraph
  * A longer description if you wish to do so
  * Links to related websites/blogs etc
  * Presentations has to be pre-recorded and streamed before the event.
  * Start recording early!

To see what a final talk looks like see

  https://archive.fosdem.org/2021/schedule/event/gnumes/

For accepted talks

  * Once your talk was accepted, we will assign you an organizer to 
help you to produce the pre-recorded content.
  * The organizer will review the content and ensure it has the 
required quality. He is also responsible for ensuring the content is 
into the system and ready to broadcast.
  * During the stream of your talk, you must be available online for 
the Q/A session


Let's make this a fun day!

= Organizers =

Pjotr Prins, Manolis Ragkousis, Ludovic Courtès, Amirouche Boubekki,
Hisham Muhammad, Jan Nieuwenhuizen, Ricardo Wurmus, Alex
Sassmannshausen, William Byrd, Oliver Propst, Efraim Flashner, Julien 
Lepiller


= Code of conduct =

  - https://fosdem.org/2022/practical/conduct/

= Original proposal =

  - https://libreplanet.org/wiki/FOSDEM2022-devroom-proposal

= Important dates: =

  - Dec 20th 2021:  submission deadline for talk proposals
  - Dec 31th 2021:  announcement of the final schedule
  - Jan 14th 2021:  submission deadline for recordings
  - Feb  5th 2022:  FOSDEM!

= Links: =

   - 
https://libreplanet.org/wiki/FOSDEM2022-devroom-declarative-and-minimalistic-computing-cfp




Re: FOSDEM + Guix Day: hurrah!

2021-02-11 Thread Manolis Ragkousis
Can't wait for next year, hopefully in Brussels :D

Sent from ProtonMail mobile

 Original Message 
On Feb 11, 2021, 12:07, Ludovic Courtès wrote:

> Hello Guix!
>
> With all the excitement and activity these days, I almost forgot to say
> it: *big thanks* to Pjotr and Manolis for organizing the FOSDEM
> “Declarative and Minimalistic Computing” devroom, with a great program!
> It was a delightful day for me, so thanks also to the speakers and to
> those who hosted the sessions.
>
> Thanks again to everyone who participated in the Guix Day! It’s always
> pleasant to be able to discuss things live, especially these days.
>
> Cheers,
> Ludo’.

Re: Declarative and Minimalistic Computing devroom CfP

2020-12-09 Thread Manolis Ragkousis
Hello all,

The date of the submission deadline for recordings was a typo. I have
updated the CfP at the wiki link
https://libreplanet.org/wiki/FOSDEM2021-devroom-declarative-and-minimalistic-computing
to the 7th of January.

Of course keep in mind that this is not a hard deadline, and we can
change this based on the current situation. So please don't worry :)

Thank you!
Manolis

On 12/1/20 10:14 PM, Manolis Ragkousis wrote:
> We are excited to announce a devroom on Declarative and Minimalistic
> Computing at FOSDEM on Sunday February 7th 2021, online!
> 
> FOSDEM is one of the most important free software conferences and is
> hosted annually at Université libre de Bruxelles in Brussels,
> Belgium. Unfortunately this year FOSDEM will not run a physical
> conference but will be online only. Talks will be pre-recorded with
> some live content including Q sessions and discussion panels.
> 
> We accept talks from languages that attempt to minimize use of hardware
> and software while try to make systems simpler, more robust and more
> secure. If you are working on improving today's systems taking
> declarative/minimalistic approaches feel free to submit a talk
> proposal. Examples are Scheme/Lisp family of programmings languages.
> 
> Minimalism and declarative programming are two important topic for
> this devroom. Minimalism matters. Minimalism allows for smaller
> systems that take less resources and consume less energy. More
> importantly, free and open source minimalism allows for secure systems
> that are easy to understand. Declarative programming is a programming
> paradigm that expresses the logic of a computation without describing
> its control flow. Many languages that apply this style attempt to
> minimize or eliminate side effects by describing what the program must
> accomplish in terms of the problem domain, rather than describe how to
> accomplish it as a sequence of the programming language primitives.
> 
> Finally, in this year's virtual conference we will honour the late
> Professor Edsger Dijkstra as a pioneer who laid foundations for many
> of these ideas.
> 
> We have a room Sunday 6 February 2021. We want to invite you to submit
> a talk on declarative and minimalistic computing that fits that
> description. We are especially happy to receive talk submissions from
> members of groups underrepresented in free software.
> 
> If you have something you’d like to share with your fellow developers,
> please E-mail us! Talks considered for the devroom will have to
> be entered in
> 
>   - https://penta.fosdem.org/submission/FOSDEM21
> 
> The deadline for submission is December 15th. If you have a FOSDEM
> pentabarf account from a previous year, please use that
> account. Otherwise add one on
> https://penta.fosdem.org/user/new_account. Reach out to
> pjotr.public...@thebird.nl or manolis...@gmail.com if you run into any
> trouble.
> 
> When submitting your talk make doubly sure to select "Declarative and
> Minimalistic Computing devroom" as track (if you don't we won't find
> it), and include the following information:
> 
>   * The title and subtitle of your talk
>   * A short abstract of one paragraph
>   * A longer description if you wish to do so
>   * Links to related websites/blogs etc
>   * Presentations has to be pre-recorded and streamed before the event.
>   * Start recording early!
> 
> To see what a final talk looks like see
> 
>   https://archive.fosdem.org/2020/schedule/event/gnumes/
> 
> For accepted talks
> 
>   * Once your talk was accepted, we will assign you an organiser to help
> you to produce the pre-recorded content.
>   * The organiser will review the content and ensure it has the required
> quality. He is also responsable to ensure the content is into the system
> and ready to broadcast.
>   * During the stream of your talk, you must be available online for the
> Q/A session
> 
> Let's make this a fun day!
> 
> = Organisers =
> 
> Manolis Ragkousis, Ludovic Courtès, Jan Nieuwenhuizen, Pjotr Prins
> (pjotr.public...@thebird.nl), William Byrd, Ricardo Wurmus, Alex
> Sassmannshausen, Amirouche Boubekki, Efraim Flashner, Bonface M. K.
> 
> = Code of conduct =
> 
>   - https://fosdem.org/2021/practical/conduct/
> 
> = Original proposal =
> 
>   - https://libreplanet.org/wiki/FOSDEM2021-devroom-proposal
> 
> = Important dates: =
> 
>   - Dec 15th 2020:  submission deadline for talk proposals
>   - Dec 15th 2020:  submission deadline for recordings
>   - Dec 31th 2020:  announcement of the final schedule
>   - Feb  6th 2021:  FOSDEM!
> 
> https://libreplanet.org/wiki/FOSDEM2021-devroom-declarative-and-minimalistic-computing
> 



Re: Declarative and Minimalistic Computing devroom CfP

2020-12-06 Thread Manolis Ragkousis
Hello Arun,

Yes it is a typo, it should have been the 20th.

I will update it
https://libreplanet.org/wiki/FOSDEM2021-devroom-declarative-and-minimalistic-computing

Thank you,
Manolis

On Sun, 6 Dec 2020 at 20:03, Arun Isaac  wrote:
>
>
> > = Important dates: =
> >
> >   - Dec 15th 2020:  submission deadline for talk proposals
> >   - Dec 15th 2020:  submission deadline for recordings
>
> Is there a typo here? Are the submission deadlines for the talk
> proposals and the recordings both on Dec 15?
>
> >   - Dec 31th 2020:  announcement of the final schedule
> >   - Feb  6th 2021:  FOSDEM!
> >
> > https://libreplanet.org/wiki/FOSDEM2021-devroom-declarative-and-minimalistic-computing



Declarative and Minimalistic Computing devroom CfP

2020-12-01 Thread Manolis Ragkousis
We are excited to announce a devroom on Declarative and Minimalistic
Computing at FOSDEM on Sunday February 7th 2021, online!

FOSDEM is one of the most important free software conferences and is
hosted annually at Université libre de Bruxelles in Brussels,
Belgium. Unfortunately this year FOSDEM will not run a physical
conference but will be online only. Talks will be pre-recorded with
some live content including Q sessions and discussion panels.

We accept talks from languages that attempt to minimize use of hardware
and software while try to make systems simpler, more robust and more
secure. If you are working on improving today's systems taking
declarative/minimalistic approaches feel free to submit a talk
proposal. Examples are Scheme/Lisp family of programmings languages.

Minimalism and declarative programming are two important topic for
this devroom. Minimalism matters. Minimalism allows for smaller
systems that take less resources and consume less energy. More
importantly, free and open source minimalism allows for secure systems
that are easy to understand. Declarative programming is a programming
paradigm that expresses the logic of a computation without describing
its control flow. Many languages that apply this style attempt to
minimize or eliminate side effects by describing what the program must
accomplish in terms of the problem domain, rather than describe how to
accomplish it as a sequence of the programming language primitives.

Finally, in this year's virtual conference we will honour the late
Professor Edsger Dijkstra as a pioneer who laid foundations for many
of these ideas.

We have a room Sunday 6 February 2021. We want to invite you to submit
a talk on declarative and minimalistic computing that fits that
description. We are especially happy to receive talk submissions from
members of groups underrepresented in free software.

If you have something you’d like to share with your fellow developers,
please E-mail us! Talks considered for the devroom will have to
be entered in

  - https://penta.fosdem.org/submission/FOSDEM21

The deadline for submission is December 15th. If you have a FOSDEM
pentabarf account from a previous year, please use that
account. Otherwise add one on
https://penta.fosdem.org/user/new_account. Reach out to
pjotr.public...@thebird.nl or manolis...@gmail.com if you run into any
trouble.

When submitting your talk make doubly sure to select "Declarative and
Minimalistic Computing devroom" as track (if you don't we won't find
it), and include the following information:

  * The title and subtitle of your talk
  * A short abstract of one paragraph
  * A longer description if you wish to do so
  * Links to related websites/blogs etc
  * Presentations has to be pre-recorded and streamed before the event.
  * Start recording early!

To see what a final talk looks like see

  https://archive.fosdem.org/2020/schedule/event/gnumes/

For accepted talks

  * Once your talk was accepted, we will assign you an organiser to help
you to produce the pre-recorded content.
  * The organiser will review the content and ensure it has the required
quality. He is also responsable to ensure the content is into the system
and ready to broadcast.
  * During the stream of your talk, you must be available online for the
Q/A session

Let's make this a fun day!

= Organisers =

Manolis Ragkousis, Ludovic Courtès, Jan Nieuwenhuizen, Pjotr Prins
(pjotr.public...@thebird.nl), William Byrd, Ricardo Wurmus, Alex
Sassmannshausen, Amirouche Boubekki, Efraim Flashner, Bonface M. K.

= Code of conduct =

  - https://fosdem.org/2021/practical/conduct/

= Original proposal =

  - https://libreplanet.org/wiki/FOSDEM2021-devroom-proposal

= Important dates: =

  - Dec 15th 2020:  submission deadline for talk proposals
  - Dec 15th 2020:  submission deadline for recordings
  - Dec 31th 2020:  announcement of the final schedule
  - Feb  6th 2021:  FOSDEM!

https://libreplanet.org/wiki/FOSDEM2021-devroom-declarative-and-minimalistic-computing



Re: `guix build hello' now succeeds on the Hurd

2020-03-10 Thread Manolis Ragkousis
Hello Jan,

First of all awesome work!!

On 3/10/20 10:59 AM, Jan Nieuwenhuizen wrote:
> I briefly looked at more work-in-progress daemon patches by Manolis, but
> stopped when I found that it needs [t]his "new" libhurdutils library...
> @Manolis?
> 

This is that work
https://github.com/Phant0mas/Hurd/commit/3501ee22ad4150b3b2cf9a386d2350b9a68aecd8.patch

It was working, needed some cleanup but it never got merged. What is
does is implement mount and bind mounts using the hurd firmlinks.

>> Merging what you have—the earlier the better.  :-)
>>> Shall I push this to savannah as `wip-hurd' (possibly save wip-hurd->
>>> `wip-hurd-old?);

I don't think we need to keep the old wip-hurd. Just get rid of it.

Manolis



[FOSDEM] FOSDEM 2020 Minimalistic, Experimental and Emerging Languages Devroom CfP

2019-10-11 Thread Manolis Ragkousis
We are excited to announce a devroom on minimalistic, experimental
and/or emerging languages (with big ideas) at FOSDEM on Sunday
February 2nd 2020!

FOSDEM is one of the most important free software conferences and is
hosted annually at Université libre de Bruxelles in Brussels,
Belgium. FOSDEM is fantastic, check last year's schedule for Saturday
(https://archive.fosdem.org/2019/schedule/day/saturday/)

We accept talks from languages that have interesting ideas or
prospects, but are not considered main stream (yet). If you are
working on an experimental or emerging language feel free to
submit a talk proposal.

Minimalism is an important topic for this devroom. Minimalism
matters. Minimalism allows for smaller systems that take less
resources and consume less energy. More importantly, free and open
source minimalism allows for secure systems that are easy to
understand. Finally, we believe that minimalism is educational and
brings back the fun of the early days of computing where people learn
to understand systems from the ground up. Speakers will be asked to
accentuate the educational side of their projects.

We have a room Sunday 2 February 2020. We want to invite you to submit
a talk on the use of minimalistic, experimental and/or emerging
languages that fits that description. We are especially happy to
receive talk submissions from members of any underrepresented groups.

If you have something you’d like to share with your fellow developers,
please E-mail us! Talks considered for the devroom will have to
be entered in

  - https://penta.fosdem.org/submission/FOSDEM20

The deadline for submission is November 26th. If you have a FOSDEM
pentabarf account from a previous year, please use that
account. Otherwise add one on
https://penta.fosdem.org/user/new_account. Reach out to
pjotr.public...@thebird.nl if you run into any trouble.

When submitting your talk make doubly sure to select "Minimalistic
devroom" as track (if you don't we won't find it), and include the
following information:

  * The title and subtitle of your talk
  * A short abstract of one paragraph
  * A longer description if you wish to do so
  * Links to related websites/blogs etc

To see what a final talk looks like see

  https://archive.fosdem.org/2019/schedule/event/gnumes/

Let's make this a fun day!

= Organisers =

Manolis Ragkousis, Peter Munch-Ellingsen, Steph Hobbs, Ludovic
Courtès, Jan Nieuwenhuizen & Pjotr Prins (pjotr.public...@thebird.nl)

= Code of conduct =

  - https://fosdem.org/2020/practical/conduct/

= Original proposal =

  - https://libreplanet.org/wiki/FOSDEM2020-devroom-proposal

= Important dates: =

  - Nov 26th 2019:  submission deadline for talk proposals
  - Dec 15th 2019:  announcement of the final schedule
  - Feb  2nd 2020:  FOSDEM!



Guix Days FOSDEM 2020

2019-08-23 Thread Manolis Ragkousis
Hello everyone,

We are also preparing the GNU Guix days fringe event two days before
FOSDEM 2020. Like last year we can have it at ICAB!

The page for the event is here [1]. Those who are going to attend please
add you name or send an email to me or Pjotr. Also please add topic
ideas to talk about and work!

Let's make this year GNU Guix Days an even better success!

Manolis and Pj

[1] https://libreplanet.org/wiki/Group:Guix/FOSDEM2020



FOSDEM 2020 "Minimalistic Languages - for big ideas" devroom proposal

2019-08-20 Thread Manolis Ragkousis
Hello everyone,

It's time we get started again for FOSDEM 2020! Please read the proposal
in [1] and offer suggestions and updates to the text. We have a deadline
for the devroom proposal until the 20th of September, but we would like
to have the proposal ready before that!

Also start thinking about talk ideas!

The devroom will allow all of our projects to cooperate, share ideas and
improve! To get an idea check [2].

Let's make this year's FOSDEM even better, with an even greater
"Minimalistic Languages - for big ideas" devroom.

Manolis and Pj

[1] https://libreplanet.org/wiki/FOSDEM2020-devroom-proposal
[2] https://archive.fosdem.org/2019/schedule/track/minimalistic_languages/



Re: Hurd status?

2019-04-13 Thread Manolis Ragkousis
Hello Svante,

Unfortunately I am so overworked that I am not able to work a lot on the
project at the current time. Rene is doing some progress with actually
getting GuixSD up and running.

Thank you,
Manolis

On 4/13/19 12:31 PM, Svante Signell wrote:
> Hello,
> 
> I've followed this list for some time now, but not subscribed until
> now. I know Manolis Ragkousis has been working on making GNU/Hurd
> running under Guix and Shepherd. What is the current status? How much
> work is needed to be fully supported? And which are the current
> problems?
> 
> What about also supporting kFreeBSD?
> 
> Thanks! 
> 
> 



Re: build failed: acquiring/releasing lock

2019-01-25 Thread Manolis Ragkousis
Hello Rene,

madvise() is not implemented on GNU/Hurd and I had once started
implementing a fix for guile [1]. We need to restart that old thread and
find a correct solution to this.

In the meantime you could use that patch for guile as a workaround.

Manolis

[1] https://lists.gnu.org/archive/html/guile-devel/2017-06/msg0.html

On 1/25/19 6:23 AM, Rene wrote:
> Hello,
> 
> I have the following error in Debian/Hurd; I have reviewed the file 
> `nix/libstore/pathlocks.cc` but I do not finish by understanding how it works.
> 
> ---
> ./pre-inst-env guix build hello
> madvise failed: Function not implemented
> madvise failed: Function not implemented
> guix build: error: build failed: acquiring/releasing lock: Invalid argument
> ---
> 
> Attached the log, rpctrace.
> 
> Thank you
> Rene
> 



Re: GNU/Hurd update

2018-12-19 Thread Manolis Ragkousis
Hello Ludo,

On 12/16/18 5:42 PM, Ludovic Courtès wrote:
> 
> For comparison, this is what it looks like on GNU/Linux:
> 
> --8<---cut here---start->8---
> stat("/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/lib/guile/2.2/ccache/ice-9/command-line.go",
>  {st_mode=S_IFREG|0444, st_size=81741, ...}) = 0
> openat(AT_FDCWD, 
> "/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4/lib/guile/2.2/ccache/ice-9/command-line.go",
>  O_RDONLY|O_CLOEXEC) = 7
> lseek(7, 0, SEEK_END)   = 81741
> mmap(NULL, 81741, PROT_READ, MAP_PRIVATE, 7, 0) = 0x7fd08126d000
> close(7)= 0
> mprotect(0x7fd08127d000, 8128, PROT_READ|PROT_WRITE) = 0
> openat(AT_FDCWD, 
> "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/share/locale/en_US.utf8/LC_MESSAGES/messages.mo",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> openat(AT_FDCWD, 
> "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/share/locale/en_US/LC_MESSAGES/messages.mo",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> openat(AT_FDCWD, 
> "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/share/locale/en.utf8/LC_MESSAGES/messages.mo",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> openat(AT_FDCWD, 
> "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/share/locale/en/LC_MESSAGES/messages.mo",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> write(1, "guile", 5guile)= 5
> write(1, " (", 2 ()   = 2
> write(1, "GNU Guile", 9GNU Guile)= 9
> write(1, ") ", 2) )   = 2
> write(1, "2.2.4", 52.2.4)= 5
> […]
> --8<---cut here---end--->8---
> 
> We can recognize th stat/seek/mmap/mprotect sequence, but then the
> GNU/Linux version keeps going instead of exiting.
> 
> Rene, Manolis: any ideas?  :-)
> 

I don't seem to have access to darnassus any more. I will rebuild the
bootstrap tarballs and on the weekend I will try them on a local debian
hurd vm.

Manolis





Re: GC Warning: Out of Memory

2018-12-14 Thread Manolis Ragkousis
Hello Ludo,

On 12/14/18 1:02 PM, Ludovic Courtès wrote:
> You must be using a personal branch, no?  It seems that ‘master’ cannot
> be used natively on GNU/Hurd because we lack binaries under
> gnu/packages/bootstrap/i586-gnu:
> 
> --8<---cut here---start->8---
> $ guix build hello -s i586-gnu -n
> guix build: error: could not find bootstrap binary 'tar' for system 'i586-gnu'
> --8<---cut here---end--->8---
> 
> Manolis, I suppose we could cross-compile ‘bootstrap-tarballs’ to

Rene is using a personal branch based with modification based on the
guix-hurd work.

Rene are you still using the binaries I had provided?

Theoretically we could do that. But unfortunately 1) the Guix to Hurd
cross-compilation support breaks faster that I can keep up trying to fix
2) even when we get the binaries we will definitely have issues with the
initial tool-chain.

Can the current master build `guix build --target=i586-pc-gnu
bootstrap-tarballs` ?

Manolis



FOSDEM 2019

2018-08-21 Thread Manolis Ragkousis
g/software/guile/libraries/
  - GNU Guix: http://www.gnu.org/software/guix
  - MES and bootstrappable: https://gitlab.com/janneke/mes and
http://bootstrappable.org

* Why should FOSDEM accept this proposal?

GNU Guile is a core component of the successful and long running GNU
project, and today the fresh Lisp language is being discovered by a
new generation of programmers.  In 2016 we had our first half day
Guile devroom at FOSDEM and it was a great success: the devroom was
full for every talk!  In 2017 we were lucky to get a full day which
was also full all day. FOSDEM gives a great impulse by getting
developers together and projects like MES started there.  Both years,
together with the LUA devroom we overlapped a session where we
discussed the future of small languages (we are interested in sharing
the devroom with LUA again if we can not have a full day).

This would be the second opportunity for GNU Guile related projects
world-wide to meet at FOSDEM.  Similar to last year, we will invite
speakers from other projects that are loosely coupled to the Guile
environment (e.g. projects that use Guile purely as an extension
language, such as gdb and Lilypond).

In short, having this devroom will allow us to dig deeper into the
details of language design and reproducible software in particular,
whilst giving back to the free software community as a whole.

* Devroom organisers

  - Ludovic Courtès (l...@gnu.org) - GNU Guile project leader
  - Ricardo Wurmus (ricardo.wur...@mdc-berlin.de)
  - Pjotr Prins (pjotr.public...@thebird.nl)
  - Alex Sassmannshausen (alex.sassmannshau...@gmail.com)
  - Tobias Geerinckx-Rice 
  - Manolis Ragkousis 


Re: FOSDEM 2018 and announcing a GNU Guix/Guile day!

2018-01-18 Thread Manolis Ragkousis
Hello Carlo,

Don't worry I added your name. See you there!

Manolis

On 01/18/18 20:14, Carlo Zancanaro wrote:
> On Tue, Dec 05 2017, Manolis Ragkousis wrote:
>> If you are going to attend please add your name to the wiki, or just
>> respond to this email, so we can order enough lunches! Of course
>> everyone is welcome to come whether they register or not!
> 
> Apparently I can't create an account in order to edit the wiki, but I am
> planning to attend!
> 
> Carlo



Re: Iso image size

2017-12-08 Thread Manolis Ragkousis
Hello,

On 12/08/2017 10:37 AM, ng0 wrote:
> So why focus on the artifical size of optical disks, especially a
> format that has been considered old by most if not all other distros
> above the size of tiny distros?
> 
> If this may sound like harsh criticism: I'm only curious.
> 

2 things come to my mind:

1) cds are still cheaper than dvds or blurays.
2) It's easier to find a cheap cd/dvd player than a cheap bluray player.

Manolis



Re: FOSDEM 2018 and announcing a GNU Guix/Guile day!

2017-12-05 Thread Manolis Ragkousis
Hello everyone,

We now have a wiki page for our FOSDEM GNU Guix/Guile day. [1]

If you are going to attend please add your name to the wiki, or just
respond to this email, so we can order enough lunches! Of course
everyone is welcome to come whether they register or not!

Also if you know anyone wanting to sponsor the event, please do tell him
to contact me or Pjotr!

Looking forward to seeing everyone there!

Manolis

[1] https://libreplanet.org/wiki/Group:Guix/FOSDEM2018



Re: boot the Hurd with Guix

2017-11-27 Thread Manolis Ragkousis
Hello Rene :D

On 11/27/17 21:05, ren...@openmailbox.org wrote:
> Hello,
> 
> This is the demo generated with Guix:
> 
> https://github.com/methalo/boot-hurd
> 
> The binary files were generated in Debian/Hurd and placed in an 'img' file.
> 
> The command used to generate the binaries is:
> 
> './pre-inst-env guix system init ~/light.scm /guix'
> 
> To test Hurd, execute:
> 
> 'sudo qemu-system-i386 -enable-kvm -m 1G -hda guixsdhurd.img -curses'
> 
> I hope to upload the patches soon to github, for now I need to understand 
> Guix/Guile to create the patches properly.
> 
> Comments and help is welcome.
> 

The repo has only a Readme file. I think you forgot to add the rest of
the files :P

Keep up the awesome work!!

Manolis



Re: boot the Hurd with Guix

2017-11-16 Thread Manolis Ragkousis
Hello everyone,

On 11/16/2017 12:13 PM, Ludovic Courtès wrote:
> Hi Samuel,  :-)
> 
> Samuel Thibault  skribis:
> 
>> Ludovic Courtès, on lun. 13 nov. 2017 11:42:01 +0100, wrote:
>>> PS: guix-daemon no longer depends on ‘lsof’, but it still depends on /proc.
>>
>> Does our procfs have everything it needs already?
> 
> It needs /proc/PID/{exe,cwd,fd,maps,environ}:
> 
>   
> https://git.savannah.gnu.org/cgit/guix.git/tree/nix/scripts/list-runtime-roots.in
> 
> That said, it’s quite optional: the worst that can happen if one of
> these things is missing is that something can be reclaimed “prematurely”
> from /gnu/store.  I say “prematurely” with quotes because users are
> supposed to register “real” GC roots anyway, as with ‘guix package -i’
> or ‘guix build --root’.

That reminds me, Rene have you tried running 'guix gc -C' ? What is the
output? Because I have a problem with this on Guix on Hurd and I haven't
managed to fix it yet.



Re: 'core-updates' status

2017-08-26 Thread Manolis Ragkousis

On 08/26/2017 03:04 PM, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> 
>> On Fri, Aug 25, 2017 at 08:34:21PM +0200, Marius Bakke wrote:
>>> 'core-updates' has finished building on x86_64 on i686, and the grafting
>>> failures should now be fixed.  Are we ready to merge this branch? :-)
>>
>> I think it's ready. There are a handful of failing packages left, but I
>> assume they will be fixed by their users after the merge :)
> 
> Seconded!  I upgraded my whole profile a couple of days ago, and I’m
> still alive.  :-)
> 
> I’ll look at the cross-compilation issue, but it’s too late to realize
> there’s a problem in this area I’m afraid.
> 
> Ludo’.
> 

It's broken both in master and core-updates, so it must be a while this
problem went unnoticed . I will file a bug report per Leo's suggestion.
I am currently trying to find when/where did it break.

Thank you,
Manolis



Re: 'core-updates' status

2017-08-25 Thread Manolis Ragkousis
On 08/25/17 21:34, Marius Bakke wrote:
> Hello!
> 
> 'core-updates' has finished building on x86_64 on i686, and the grafting
> failures should now be fixed.  Are we ready to merge this branch? :-)
> 

Does cross-compilation work? Because I cannot cross-compile anything for
any target I tried (i686-linux, i586-gnu).

http://paste.lisp.org/display/354303

Manolis



Re: core-updates on Hurd

2017-07-09 Thread Manolis Ragkousis
On 07/09/17 13:20, Ricardo Wurmus wrote:
> 
> Manolis Ragkousis <manolis...@gmail.com> writes:
> 
>> For example trying ./pre-inst-env guix build hello it fails with:
>>
>> 166<--165(pid2386)->io_write ("guix build: error: lstat: No such file or
>> directory: "/home/manolis/repos/guix/g" -1)guix build: error: lstat: No
>> such file or directory: "/home/manolis/repos/guix/gnu/packages/zation.scm"
>>  = 0 104
>>
>> Not here that there is no file named
>> "/home/manolis/repos/guix/gnu/packages/zation.scm". Could it be
>> something that there is something wrong with the guix build command?
> 
> There is no file called “zation.scm” but “serialization.scm”.
> 

Exactly Ricardo, for some reason files are getting corrupted.



Re: core-updates on Hurd

2017-07-09 Thread Manolis Ragkousis
Hello again,

I rebased my guix repo on the latest core-updates and you are correct.
On Hurd while building running make inside guix, something is going
wrong and changes the filenames guix is looking for while trying to
build packages.

For example trying ./pre-inst-env guix build hello it fails with:

166<--165(pid2386)->io_write ("guix build: error: lstat: No such file or
directory: "/home/manolis/repos/guix/g" -1)guix build: error: lstat: No
such file or directory: "/home/manolis/repos/guix/gnu/packages/zation.scm"
 = 0 104

Not here that there is no file named
"/home/manolis/repos/guix/gnu/packages/zation.scm". Could it be
something that there is something wrong with the guix build command?

Manolis

On 07/09/17 10:15, Manolis Ragkousis wrote:
> Hey Rene,
> 
> There seems to be something really wrong with your installation of guix.
> Files are missing. Did you delete something by hand?
> 
> 
> 105<--153(pid1070)->dir_lookup
> ("usr/local/share/locale/en_US.UTF-8/LC_MESSAGES/guix.mo" 1 0) =
> 0x4002 (No such file or directory)
>   105<--153(pid1070)->dir_lookup
> ("usr/local/share/locale/en_US.utf8/LC_MESSAGES/guix.mo" 1 0) =
> 0x4002 (No such file or directory)
>   105<--153(pid1070)->dir_lookup
> ("usr/local/share/locale/en_US/LC_MESSAGES/guix.mo" 1 0) = 0x4002
> (No such file or directory)
>   105<--153(pid1070)->dir_lookup
> ("usr/local/share/locale/en.UTF-8/LC_MESSAGES/guix.mo" 1 0) = 0x4002
> (No such file or directory)
>   105<--153(pid1070)->dir_lookup
> ("usr/local/share/locale/en.utf8/LC_MESSAGES/guix.mo" 1 0) = 0x4002
> (No such file or directory)
>   105<--153(pid1070)->dir_lookup
> ("usr/local/share/locale/en/LC_MESSAGES/guix.mo" 1 0) = 0x4002 (No
> such file or directory)
>  168<--167(pid1070)->io_write ("guix build: error: lstat: No such file
> or directory: "/home/buzz/guix/gnu/packag" -1) = 0 95
> 
> Manolis
> 



Re: core-updates on Hurd

2017-07-09 Thread Manolis Ragkousis
Hey Rene,

There seems to be something really wrong with your installation of guix.
Files are missing. Did you delete something by hand?


105<--153(pid1070)->dir_lookup
("usr/local/share/locale/en_US.UTF-8/LC_MESSAGES/guix.mo" 1 0) =
0x4002 (No such file or directory)
  105<--153(pid1070)->dir_lookup
("usr/local/share/locale/en_US.utf8/LC_MESSAGES/guix.mo" 1 0) =
0x4002 (No such file or directory)
  105<--153(pid1070)->dir_lookup
("usr/local/share/locale/en_US/LC_MESSAGES/guix.mo" 1 0) = 0x4002
(No such file or directory)
  105<--153(pid1070)->dir_lookup
("usr/local/share/locale/en.UTF-8/LC_MESSAGES/guix.mo" 1 0) = 0x4002
(No such file or directory)
  105<--153(pid1070)->dir_lookup
("usr/local/share/locale/en.utf8/LC_MESSAGES/guix.mo" 1 0) = 0x4002
(No such file or directory)
  105<--153(pid1070)->dir_lookup
("usr/local/share/locale/en/LC_MESSAGES/guix.mo" 1 0) = 0x4002 (No
such file or directory)
 168<--167(pid1070)->io_write ("guix build: error: lstat: No such file
or directory: "/home/buzz/guix/gnu/packag" -1) = 0 95

Manolis



Re: bootstrap-tarballs fails

2017-07-02 Thread Manolis Ragkousis
Just reproduced it as well. I would like to add that the problem existed
on all cross-compilation targets, not only Hurd.

Cross-compilation on core-updates works now.

Manolis

On 07/02/17 15:32, rennes wrote:
> Hi Ludovic,
> 
>> Something is wrong here: the “*boot0” packages are not cross-compilable,
>> they should never show up here.
>>
>> What branch are you on?  On master on GNU/Linux I don’t see them on the
>> list of things to build:
> 
> I'm working on core-updates branch on GNU/Linux, I've updated my
> repository and compiled it again. Now compiles correctly!
> Thanks



Re: core-updates on Hurd

2017-06-23 Thread Manolis Ragkousis
Hey Rene,

On 06/23/17 05:45, rennes wrote:
> Good day,
> 
> currently the guix core-updates branch on GNU/Hurd, after start
> guix-daemon and issue the command './pre-inst-env guix build hello'
> fails with:
> -- 
> guix build: error: lstat: No such file or directory:
> "/home/jin/guix/gnu/packages/zation.scm"
> -- 
> 

it sounds to me like there is something wrong with your clone of the
repo. Could you run make clean && make ?

Manolis



Re: fails make on core-updates

2017-06-19 Thread Manolis Ragkousis
On Jun 19, 2017 15:32, "rennes"  wrote:

Hello,


> Could it be that you had sale .o files?  What version of GCC are you
> using?
>

I completely delete the repository and re-clone. It works now.
Thanks


Next time you could avoid such extreme measures. Running git clean -dfx
would clean all extra files from that local repo.


Re: Cross-compilation to GNU/Hurd broken on core-updates

2017-06-08 Thread Manolis Ragkousis
Hey Ludo,

Locally on the latest core-updates
70eea6ea14590a5a13656148915bd62f5fecf5f7 running `./pre-inst-env guix
build --target=i586-pc-gnu bootstrap-tarballs --fallback' builds
successfully.

10:27:47 manolis@aeneas ~/repos/guix [env]$ ./pre-inst-env guix build
--target=i586-pc-gnu bootstrap-tarballs --fallback
/gnu/store/wxc24a87bqqd3dwhbg8wh8ahmwycn1lj-bootstrap-tarballs-0

Are you sure the problem was on core-updates? Or am I missing something?

Manolis



Re: Cross-compilation to GNU/Hurd broken on core-updates

2017-06-07 Thread Manolis Ragkousis
Hello Ludo,

I will reproduce it locally and track the problem. Probably a package
update in core-updates is causing this. I will report back.

Manolis

On 06/08/17 01:01, Ludovic Courtès wrote:
> Hello Manolis and all!
> 
> On ‘core-updates’, the cross-compiler for i586-pc-gnu fails to build:
> 
>   https://hydra.gnu.org/build/2099030
> 
> The relevant part is:
> 
> --8<---cut here---start->8---
> checking whether i586-pc-gnu-gcc supports -Wall... yes
> checking for socket libraries... checking for connect... 
> /gnu/store/s1r43qhlmcf1fhnrsjgsnc40862070cl-bash-minimal-4.4.12/bin/bash 
> ../../gcc-5.4.0/gcc/../move-if-change tmp-constants.h insn-constants.h
> echo timestamp > s-constants
> build/genenums ../../gcc-5.4.0/gcc/common.md 
> ../../gcc-5.4.0/gcc/config/i386/i386.md \
>> tmp-enums.c
> /gnu/store/s1r43qhlmcf1fhnrsjgsnc40862070cl-bash-minimal-4.4.12/bin/bash 
> ../../gcc-5.4.0/gcc/../move-if-change tmp-enums.c insn-enums.c
> yes
> checking for gethostbyname... echo timestamp > s-enums
> g++ -c -DIN_GCC -DGENERATOR_FILE -I. -Ibuild -I../../gcc-5.4.0/gcc 
> -I../../gcc-5.4.0/gcc/build -I../../gcc-5.4.0/gcc/../include  
> -I../../gcc-5.4.0/gcc/../libcpp/include  \
>   -o build/min-insn-modes.o min-insn-modes.c
> yes
> 
> checking for exported symbols... 
> /tmp/guix-build-gcc-5.4.0.drv-0/gcc-5.4.0/libcc1/configure: line 14531: -T: 
> command not found
> yes
> checking for -rdynamic... 
> /gnu/store/s1r43qhlmcf1fhnrsjgsnc40862070cl-bash-minimal-4.4.12/bin/bash 
> ../../gcc-5.4.0/gcc/../move-if-change tmp-gtype.state gtype.state
> g++ -c -DIN_GCC -DGENERATOR_FILE -I. -Ibuild -I../../gcc-5.4.0/gcc 
> -I../../gcc-5.4.0/gcc/build -I../../gcc-5.4.0/gcc/../include  
> -I../../gcc-5.4.0/gcc/../libcpp/include  \
>   -o build/gencheck.o ../../gcc-5.4.0/gcc/gencheck.c
> build/gengtype  \
> -r gtype.state
> /tmp/guix-build-gcc-5.4.0.drv-0/gcc-5.4.0/libcc1/configure: line 14541: -T: 
> command not found
> no
> checking for library containing dlopen... echo timestamp > s-gtype
> if [ xinfo = xinfo ]; then \
>   makeinfo --split-size=500 --split-size=500 --no-split -I . -I 
> ../../gcc-5.4.0/gcc/doc \
>   -I ../../gcc-5.4.0/gcc/doc/include -o doc/gccint.info 
> ../../gcc-5.4.0/gcc/doc/gccint.texi; \
> fi
> g++ -DIN_GCC -DGENERATOR_FILE  -o build/gencheck \
> build/gencheck.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a
> -ldl
> checking for -fPIC -shared... yes
> configure: error: 
>Building GCC with plugin support requires a host that supports
>-fPIC, -shared, -ldl and -rdynamic.
> make[1]: *** [Makefile:9376: configure-libcc1] Error 1
> --8<---cut here---end--->8---
> 
> I’m not sure if anything changed in this area compared to ‘master’.
> 
> Ideas?
> 
> Thanks,
> Ludo’.
> 



Re: Cross-compilation to GNU/Hurd broken on core-updates

2017-06-07 Thread Manolis Ragkousis
Hello Ludo,

I will reproduce it locally and track the problem. Probably a package
update in core-updates is causing this. I will report back.

Manolis

On 06/08/17 01:01, Ludovic Courtès wrote:
> Hello Manolis and all!
> 
> On ‘core-updates’, the cross-compiler for i586-pc-gnu fails to build:
> 
>   https://hydra.gnu.org/build/2099030
> 
> The relevant part is:
> 
> --8<---cut here---start->8---
> checking whether i586-pc-gnu-gcc supports -Wall... yes
> checking for socket libraries... checking for connect... 
> /gnu/store/s1r43qhlmcf1fhnrsjgsnc40862070cl-bash-minimal-4.4.12/bin/bash 
> ../../gcc-5.4.0/gcc/../move-if-change tmp-constants.h insn-constants.h
> echo timestamp > s-constants
> build/genenums ../../gcc-5.4.0/gcc/common.md 
> ../../gcc-5.4.0/gcc/config/i386/i386.md \
>> tmp-enums.c
> /gnu/store/s1r43qhlmcf1fhnrsjgsnc40862070cl-bash-minimal-4.4.12/bin/bash 
> ../../gcc-5.4.0/gcc/../move-if-change tmp-enums.c insn-enums.c
> yes
> checking for gethostbyname... echo timestamp > s-enums
> g++ -c -DIN_GCC -DGENERATOR_FILE -I. -Ibuild -I../../gcc-5.4.0/gcc 
> -I../../gcc-5.4.0/gcc/build -I../../gcc-5.4.0/gcc/../include  
> -I../../gcc-5.4.0/gcc/../libcpp/include  \
>   -o build/min-insn-modes.o min-insn-modes.c
> yes
> 
> checking for exported symbols... 
> /tmp/guix-build-gcc-5.4.0.drv-0/gcc-5.4.0/libcc1/configure: line 14531: -T: 
> command not found
> yes
> checking for -rdynamic... 
> /gnu/store/s1r43qhlmcf1fhnrsjgsnc40862070cl-bash-minimal-4.4.12/bin/bash 
> ../../gcc-5.4.0/gcc/../move-if-change tmp-gtype.state gtype.state
> g++ -c -DIN_GCC -DGENERATOR_FILE -I. -Ibuild -I../../gcc-5.4.0/gcc 
> -I../../gcc-5.4.0/gcc/build -I../../gcc-5.4.0/gcc/../include  
> -I../../gcc-5.4.0/gcc/../libcpp/include  \
>   -o build/gencheck.o ../../gcc-5.4.0/gcc/gencheck.c
> build/gengtype  \
> -r gtype.state
> /tmp/guix-build-gcc-5.4.0.drv-0/gcc-5.4.0/libcc1/configure: line 14541: -T: 
> command not found
> no
> checking for library containing dlopen... echo timestamp > s-gtype
> if [ xinfo = xinfo ]; then \
>   makeinfo --split-size=500 --split-size=500 --no-split -I . -I 
> ../../gcc-5.4.0/gcc/doc \
>   -I ../../gcc-5.4.0/gcc/doc/include -o doc/gccint.info 
> ../../gcc-5.4.0/gcc/doc/gccint.texi; \
> fi
> g++ -DIN_GCC -DGENERATOR_FILE  -o build/gencheck \
> build/gencheck.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a
> -ldl
> checking for -fPIC -shared... yes
> configure: error: 
>Building GCC with plugin support requires a host that supports
>-fPIC, -shared, -ldl and -rdynamic.
> make[1]: *** [Makefile:9376: configure-libcc1] Error 1
> --8<---cut here---end--->8---
> 
> I’m not sure if anything changed in this area compared to ‘master’.
> 
> Ideas?
> 
> Thanks,
> Ludo’.
> 



Fwd: Re: Planning for the next release

2017-05-12 Thread Manolis Ragkousis
Forgot to cc the list
-- Forwarded message --
From: "Manolis Ragkousis" <manolis...@gmail.com>
Date: May 12, 2017 21:17
Subject: Re: Planning for the next release
To: "Ricardo Wurmus" <rek...@elephly.net>
Cc:

Hey Ricardo,

On May 12, 2017 08:45, "Ricardo Wurmus" <rek...@elephly.net> wrote:


We also need to fix the glibc on hurd (the patch for i686 should not be
applied there), but I haven’t been able to reproduce the failure on
hydra.  https://hydra.gnu.org/build/2036383/nixlog/1/raw

What do you think?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net


I was not aware of this problem. Maybe I should keep a closer look to hydra
:P

I can't reproduce it on x86_64. Does it only appear on x86?

Manolis


Re: cross-compiling in core-updates

2017-04-28 Thread Manolis Ragkousis
The reason for the cascading errors is bash-minimal.

Trying to build `./pre-inst-env guix build bash-minimal'
on core-updates ends up with :

The following derivation will be built:
   /gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv
@ build-started
/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv -
x86_64-linux
/usr/local/var/log/guix/drvs/1r//0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv.bz2
ice-9/psyntax.scm:1534:32: In procedure expand-macro:
ice-9/psyntax.scm:1534:32: Syntax error:
/gnu/store/k84sww1zzh33a5hw8bcmsa5yp7w628a8-bash-minimal-4.4.12-guile-builder:1:2285:
source expression failed to match any pattern in form (%modify-phases
phases* (delete (quote move-development-files)))
builder for
`/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
failed with exit code 1
@ build-failed
/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv - 1
builder for
`/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
failed with exit code 1
guix build: error: build failed: build of
`/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv' failed

It's the same issue Sergei reported and commit 78dea6f1d4a did not fix it.

On 04/26/17 00:26, Sergei Trofimovich wrote:
> On Tue, 25 Apr 2017 17:10:58 +0300
> Manolis Ragkousis <manolis...@gmail.com> wrote:
> 
>> Hello Rene,
>>
>> I am currently looking into that.
>>
>> Manolis
> 
> I've tracked it down to guile-2.-0>2.2 bump.
> 'define-syntax %modify-phases' somehow changed the meaning:
> https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00315.html
> but I know almost nothing on how all the nested guix's quotations interact.
> 
> Would be nice to hear from those who Know Things (CCed Andy and Ludovic :)
> 



Re: cross-compiling in core-updates

2017-04-25 Thread Manolis Ragkousis
Hello Rene,

I am currently looking into that.

Manolis


Re: [PATCH 2/2] gnu: Add the Hurd.

2017-04-09 Thread Manolis Ragkousis
Hello Efraim,

On 04/09/17 05:41, Efraim Flashner wrote:
> On Sat, Apr 08, 2017 at 05:06:57PM +0300, manolis...@gmail.com wrote:
>> From: Manolis Ragkousis <manolis...@gmail.com>
>>
>> +   (modify-phases %standard-phases
>> + (add-before 'build 'pre-build
>> + (lambda _
>> +   ;; Don't change the ownership of any file at this 
>> time.
>> +   (substitute* "daemons/Makefile"
>> + (("-o root -m 4755") ""))
>> +   (substitute* "utils/Makefile"
>> + (("-o root -m 4755") ""))
>> +   #t)))
> 
> These substitute* lines could be written as:
> (substitute* '("daemons/Makefile" "utils/Makefile")
>   (("-o root -m 4775") ""))
> 

Yes you are right. I will fix it and push to master. :)

Manolis



Re: [PATCH] gnu: grep: Fix for gnulib library.

2017-04-08 Thread Manolis Ragkousis
Hello Rene,

I pushed the patch to core-updates.

Thank you,
Manolis



Re: [PATCH 2/2] gnu: Add GNU Mach.

2017-03-21 Thread Manolis Ragkousis
Awesome Rene, thank you.

Manolis



Re: [PATCH] gnu: grep: Fix for gnulib library.

2017-03-13 Thread Manolis Ragkousis
On 03/13/17 10:31, Efraim Flashner wrote:
> more (if (hurd ...)) patches does also make it easier to merge in
> changes for those not using hurd when the time comes, and it allows
> those actively using hurd to make changes to more low-level packages
> without worrying about how it affects the other architectures/kernels.
> 

Yes I agree, but here we have an upstream grep patch, which in the next
version will be in. No need to add unnecessary if statements.

Also I think it's a good idea to keep things kernel agnostic as much as
possible.

Manolis



Re: [PATCH] gnu: grep: Fix for gnulib library.

2017-03-11 Thread Manolis Ragkousis
Hello Ludo,

On 03/11/2017 01:31 PM, Ludovic Courtès wrote:
> Hi!
> 
> ren...@openmailbox.org skribis:
> 
>> From f76585a44afdc41187df768eec79fb723713cf0c Mon Sep 17 00:00:00 2001
>> From: rennes 
>> Date: Tue, 21 Feb 2017 23:21:49 -0600
>> Subject: [PATCH] gnu: grep: Fix for gnulib library.
>>
>> * gnu/packages/patches/grep-gnulib-lock.patch: New file. 
>>  
>> * gnu/local.mk (dist_patch_DATA): Add it.
> 
> Looks like we missed this ‘core-updates’ cycle.  :-/
> 
> To apply it without triggering a full rebuild, you could instead add a
> phase that invokes ‘patch’ to apply it, only when the cross-compilation
> target or system is GNU/Hurd.
> 
> Like:
> 
>   ,@(if (gnu/hurd?)
> `((add-before 'configure 'patch …))
> '())  ;nothing
> 
> Could you try that?

Even though this would work, maybe we should wait for the next
core-updates circle in order to avoid more (if (hurd)..) patches.

Rene WDYT?

Manolis



Re: [PATCH] gnu: fontconfig: Fix for PATH_MAX.

2017-03-10 Thread Manolis Ragkousis
Hello Ludo,

On 03/06/2017 11:25 PM, Ludovic Courtès wrote:
> 
> BTW, I’d encourage you to team up with the Debian folks so that all the
> PATH_MAX patches end up upstream.  Otherwise they’ll end up occupying
> half of our repo.  ;-)

Thank to Rene's effort this one is already in upstream :). Next time
fontconfig has a new release we will remove this patch.

Manolis



Re: export variable CONFFLAGS

2017-03-02 Thread Manolis Ragkousis
Hello Rene

On 02/28/2017 07:45 AM, ren...@openmailbox.org wrote:
> Hello,
> I am trying to export the variable 'CONFFLAGS' for 'apr' package on
> GNU/Hurd as follows:
> 
> (arguments
>  #:make-flags ("CONFFLAGS+=apr_cv_struct_ipmreq=no"
> (string-append "PREFIX=" %output))
> 
> 
> This way does not work!, the Debian project does it as follows:
> 
> ifeq (hurd,$(DEB_HOST_ARCH_OS))
>   CONFFLAGS += apr_cv_struct_ipmreq=no
> endif
> 
> This due to the Hurd does not support multicast yet.
> 
> Thanks

Is '(string-append "PREFIX=" %output)' really needed?

Also I think CONFFLAGS is the variable debian package recipes use to
save the configuration options for that package.

Could you use #:configure-flags '("apr_cv_struct_ipmreq=no") and try again?

Thank you
Manolis




Re: Hurd bootstrap tarballs

2017-03-02 Thread Manolis Ragkousis
Just for future reference this was fixed with commit
751702676e0dcf39657082138f45340b65ae4d3e.

Manolis

On 02/24/2017 04:17 PM, Manolis Ragkousis wrote:
> I am already into it. The sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> part is the problem.
> 
> I was thinking on breaking the patch into two and only apply the second
> one when using glibc/linux. Will report back.
> 
> Manolis
> 
> On 02/24/17 11:47, Andreas Enge wrote:
>> Hello,
>>
>> on core-updates, building the hurd tarballs fails due to a patch that does
>> not apply to glibc:
>>http://hydra.gnu.org/build/1845884
>>
>> Could you have a look, please, Manolis? :-)
>>
>> Thanks,
>>
>> Andreas
>>
>>



Re: Hurd bootstrap tarballs

2017-02-24 Thread Manolis Ragkousis
I am already into it. The sysdeps/unix/sysv/linux/bits/fcntl-linux.h
part is the problem.

I was thinking on breaking the patch into two and only apply the second
one when using glibc/linux. Will report back.

Manolis

On 02/24/17 11:47, Andreas Enge wrote:
> Hello,
> 
> on core-updates, building the hurd tarballs fails due to a patch that does
> not apply to glibc:
>http://hydra.gnu.org/build/1845884
> 
> Could you have a look, please, Manolis? :-)
> 
> Thanks,
> 
> Andreas
> 
> 



Re: ANNOUNCE: Guix on Aarch64 !!

2017-02-20 Thread Manolis Ragkousis
On 02/20/2017 04:32 PM, Efraim Flashner wrote:
> Its my pleasure to announce that guix now has all the code necessary to
> support aarch64! Currently support is limited to the core-updates
> branch, but that shouldn't be too much of a problem, since currently
> everything needs to be built from source.

Yaaay!! I am already building on my arm64 machine! Well done! :D

Manolis



Re: bug#25463: guile-2.0.13 Check errors

2017-02-19 Thread Manolis Ragkousis
Hello,

On 02/11/2017 11:03 PM, Ludovic Courtès wrote:
> Hello!
> 
> ren...@openmailbox.org skribis:
> 
>> I am trying to build guile version 2.0.13 in GNU Hurd through Guix
>> package manager, in the 'Check' phase I have 4 errors; I am attaching
>> the build log(config.zip), environment
>> variables(environment-variables) and test log(check-guile.zip).
>>
>> This is a grep of errors, any idea how I can deal with this?
>>
>> /*-*/
>> ERROR: 00-repl-server.test: repl-server: simple expression -
>> arguments: ((system-error "fport_fill_input" "~A" ("Transport endpoint
>> is not connected") (1073741881)))
>> ERROR: 00-repl-server.test: repl-server: HTTP inter-protocol attack - 
>> arguments: ((system-error "fport_fill_input" "~A" ("Transport endpoint
>> is not connected") (1073741881)))
> 
> The Guix package for Guile incorporates a patch that corresponds to
> Guile commit 2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4, which fixes a
> race condition for these tests.
> 

While using guile 2.0.14, which has commit 2fbde7f02adb8c6, the bug is
still present. Any ideas on what could be causing this Ludo?

Manolis



export 
BASH_LOADABLES_PATH="/gnu/store/yp9sv3bxqmfs6ccwqpgrh4b1xgwfmgby-bash-4.4.11/lib/bash"
export 
CPLUS_INCLUDE_PATH="/gnu/store/kv1fll5g4d8i7fw6lpnfmvh0bpqx63xr-gcc-5.4.0/include:/gnu/store/f24mf0bhal2cq2d3gcmndc0q5vldm55z-glibc-2.23/include:/gnu/store/xv680p7pyv2cdx36asjy2vzwv71yxipc-file-boot0-5.28/include:/gnu/store/7iwm17i5fax2as55niv85rbwyx8ncyan-libffi-3.2.1/include:/gnu/store/lww8qzam6v020h7ln8b44c0k62dgprjq-readline-7.0/include:/gnu/store/l572k641i8416abxwnzrpmdp9rwx13gc-libunistring-0.9.7/include:/gnu/store/a4jvbp8c1y9jisr2xs4wjwshq76j11yr-libltdl-2.4.6/include:/gnu/store/ydf34bv6gw92nwhjg35clxchp72s4wj5-libgc-7.4.2/include:/gnu/store/x1rq5mdlbccsrdss6k4r9v00j8zbkp95-gmp-6.1.2/include:/gnu/store/s6578zzds1sksfxm78mdlwmvgizf5w3p-hurd-core-headers-0.9/include:/gnu/store/1qinaapzsx7ldf7pnlqrd9lmj5cwhz75-ncurses-6.0/include"
export 
C_INCLUDE_PATH="/gnu/store/kv1fll5g4d8i7fw6lpnfmvh0bpqx63xr-gcc-5.4.0/include:/gnu/store/f24mf0bhal2cq2d3gcmndc0q5vldm55z-glibc-2.23/include:/gnu/store/xv680p7pyv2cdx36asjy2vzwv71yxipc-file-boot0-5.28/include:/gnu/store/7iwm17i5fax2as55niv85rbwyx8ncyan-libffi-3.2.1/include:/gnu/store/lww8qzam6v020h7ln8b44c0k62dgprjq-readline-7.0/include:/gnu/store/l572k641i8416abxwnzrpmdp9rwx13gc-libunistring-0.9.7/include:/gnu/store/a4jvbp8c1y9jisr2xs4wjwshq76j11yr-libltdl-2.4.6/include:/gnu/store/ydf34bv6gw92nwhjg35clxchp72s4wj5-libgc-7.4.2/include:/gnu/store/x1rq5mdlbccsrdss6k4r9v00j8zbkp95-gmp-6.1.2/include:/gnu/store/s6578zzds1sksfxm78mdlwmvgizf5w3p-hurd-core-headers-0.9/include:/gnu/store/1qinaapzsx7ldf7pnlqrd9lmj5cwhz75-ncurses-6.0/include"
export 
GUILE_SYSTEM_COMPILED_PATH="/gnu/store/5bgjirxr6qgs8bpa3mn9j86x7nr6z652-guile-bootstrap-2.0/lib/guile/2.0/ccache"
export 
GUILE_SYSTEM_PATH="/gnu/store/5bgjirxr6qgs8bpa3mn9j86x7nr6z652-guile-bootstrap-2.0/share/guile/2.0"
export HOME="/homeless-shelter"
export LD_ORIGIN_PATH="/gnu/store"
export 
LIBRARY_PATH="/gnu/store/yp9sv3bxqmfs6ccwqpgrh4b1xgwfmgby-bash-4.4.11/lib:/gnu/store/f24mf0bhal2cq2d3gcmndc0q5vldm55z-glibc-2.23/lib:/gnu/store/xv680p7pyv2cdx36asjy2vzwv71yxipc-file-boot0-5.28/lib:/gnu/store/7iwm17i5fax2as55niv85rbwyx8ncyan-libffi-3.2.1/lib:/gnu/store/lww8qzam6v020h7ln8b44c0k62dgprjq-readline-7.0/lib:/gnu/store/l572k641i8416abxwnzrpmdp9rwx13gc-libunistring-0.9.7/lib:/gnu/store/a4jvbp8c1y9jisr2xs4wjwshq76j11yr-libltdl-2.4.6/lib:/gnu/store/ydf34bv6gw92nwhjg35clxchp72s4wj5-libgc-7.4.2/lib:/gnu/store/x1rq5mdlbccsrdss6k4r9v00j8zbkp95-gmp-6.1.2/lib:/gnu/store/s6578zzds1sksfxm78mdlwmvgizf5w3p-hurd-core-headers-0.9/lib:/gnu/store/1qinaapzsx7ldf7pnlqrd9lmj5cwhz75-ncurses-6.0/lib"
export NIX_BUILD_CORES="1"
export NIX_BUILD_TOP="/tmp/guix-build-guile-2.0.14.drv-0"
export NIX_STORE="/gnu/store"
export OLDPWD
export 
PATH="/gnu/store/0rqa4ls1g8m8km4nfqcsyadgw6jqqnsj-pkg-config-0.29.1/bin:/gnu/store/yp9sv3bxqmfs6ccwqpgrh4b1xgwfmgby-bash-4.4.11/bin:/gnu/store/kv1fll5g4d8i7fw6lpnfmvh0bpqx63xr-gcc-5.4.0/bin:/gnu/store/rpsm2lfadm8pl7cgyfkdw8dygvx2rdb2-ld-wrapper-boot3-0/bin:/gnu/store/f24mf0bhal2cq2d3gcmndc0q5vldm55z-glibc-2.23/bin:/gnu/store/f24mf0bhal2cq2d3gcmndc0q5vldm55z-glibc-2.23/sbin:/gnu/store/wn2z27fd0zzdyya5fq5si6q2j4ckjgzq-ld-wrapper-boot0-0/bin:/gnu/store/0d6x5r6vn48dr265krm83dsavhk5bs9m-binutils-cross-boot0-2.27/bin:/gnu/store/w570h7qvhd3qllm4wxrnrpjrxqwlflgb-make-boot0-4.2.1/bin:/gnu/store/5nznhj7fcv8whv1n24srmg0pcdf8d6qk-diffutils-boot0-3.5/bin:/gnu/store/1zvidsd4ynws9dc19g9drbzfmkv0gqas-findutils-boot0-4.6.0/bin:/gnu/store/xv680p7pyv2cdx36asjy2vzwv71yxipc-file-boot0-5.28/bin:/gnu/store/2vzzgpdpch9y2yqk257v6bq4yyszxi43-bootstrap-binaries-0/bin:/gnu/store/lww8qzam6v020h7ln8b44c0k62dgprjq-readline-7.0/bin:/gnu/store/s6578zzds1sksfxm78mdlwmvgizf5w3p-hurd-core-headers-0.9/bin:/gnu/store/1qinaapzsx7ldf7pnlqrd9lmj5cwhz75-ncurses-6.0/bin"
export 

Re: bug#25463: guile-2.0.13 Check errors

2017-02-12 Thread Manolis Ragkousis
Hello Renes,

On 02/12/17 10:37, ren...@openmailbox.org wrote:
> Now the following error is left:
> 
> Running time.test
> FAIL: time.test: internal-time-units-per-second: versus times and sleep
> Running tree-il.test
> 
> Totals for this test run:
> passes: 39537
> failures:   1
> unexpected passes:  0
> expected failures:  9
> unresolved test cases:  582
> untested test cases:1
> unsupported test cases: 10
> errors: 0
> 
> 

Locally on Hurd I am using this patch
http://paste.lisp.org/display/338954 on the glibc/hurd package to work
around that test failure. Ideally we need to modify the way guile
handles time.[1]

Manolis


[1]
https://lists.gnu.org/archive/html/bug-hurd/2015-10/msg00019.html



Re: Porting with Guix

2017-01-07 Thread Manolis Ragkousis
Hello everyone,

Continuing my last email the deadlock in "gctest" originates from file
phtread_support.c:2007

#ifndef NO_PTHREAD_TRYLOCK
if (1 == GC_nprocs || GC_collecting) {
  pthread_mutex_lock(_allocate_ml)
} else {
GC_generic_lock(_allocate_ml);
}

When it tries to lock GC_allocate_ml, it's already used and so
pthread_mutex_lock locks the whole program.

(gdb) p GC_allocate_ml
$2 = {__held = 1, __lock = 0, __cthreadscompat1 = 0x0, __queue = 0x0,
__attr = 0x0, __data = 0x0, __owner = 0x0, __locks = 0}

This appears to happen after a thread switch.

I will report back when I have more.

Manolis



Re: Porting with Guix

2017-01-06 Thread Manolis Ragkousis
Hello everyone,

On 01/05/17 02:23, ren...@openmailbox.org wrote:
>  gnu/store/1h7p18gpn84kdww5i542k93arw4hhgs8-libgc-7.6.0/lib
>  make[2]: Leaving directory
> '/tmp/guix-build-libgc-7.6.0.drv-0/gc-7.6.0'
>  make  check-TESTS
>  make[2]: Entering directory
> '/tmp/guix-build-libgc-7.6.0.drv-0/gc-7.6.0'
>  make[3]: Entering directory
> '/tmp/guix-build-libgc-7.6.0.drv-0/gc-7.6.0'
>  PASS: cordtest
>  building of
> `/gnu/store/y3icscjhkk7pa7dg21xqy46riysi36rn-libgc-7.6.0.drv' timed
>  out after 3600 seconds of silence
>  @ build-failed
> /gnu/store/y3icscjhkk7pa7dg21xqy46riysi36rn-libgc-7.6.0.drv - tim
>  eout
> 

Libgc test "gctest" is entering a deadlock in version 7.6.0. The same
error does not appear in version 7.4.2 which debian/hurd uses. I am
trying to find what is causing this.

Manolis



Re: FOSDEM social dinner

2017-01-06 Thread Manolis Ragkousis
Hello Alex,

On 01/06/17 11:46, Alex Sassmannshausen wrote:
> Hello,
> 
> Guile has a dev room at FOSDEM this year — for a whole day!  The dev
> room will be on Sunday.
> 
> Whilst organising it, we had the idea that it would be fun to have a
> Guile/Guix user & dev dinner on the Saturday evening.  I'm hereby
> officially opening registration for that :-D
> 
> I have not chosen a restaurant yet, but it will be something that
> provides a varietary of dietary options (omnivore, veggie, vegan).  If
> you are interested in coming along, just drop me a line to confirm.
> 
> So — who's in for Guile social dinner on Saturday 4 February 2017 in
> Brussels?
> 
> Best wishes,
> 
> Alex
> 

Awesome! Count me in as well!

Manolis



Re: [PATCH] gnu: Use hurd-triplet? to check if GNU/Hurd.

2017-01-03 Thread Manolis Ragkousis
Hello,

On 01/03/17 16:56, Ludovic Courtès wrote:
> Is it just 9b5f498deff516a9799a132fb04b40fb9ccfd7a6?  That commit could
> also go to master.

Actually we also need b810a85019ab3c4ee1f889d0751b8eb06157dadc which
sets gcc-5 as default. The latest Hurish glibc needs it.

Manolis



Re: [PATCH] gnu: Use hurd-triplet? to check if GNU/Hurd.

2017-01-02 Thread Manolis Ragkousis
Hello Kei,

On 2 January 2017 at 22:11, Kei Kebreau  wrote:
>
> LGTM. I assume this one will be pushed to master as well?
>
> P.S. Is there currently a way to successfully build the bootstrap
> binaries for Hurd from Guix on x86_64 Linux?

If you merge master into core-updates locally, it's as simple as `guix
build --target=i586-pc-gnu bootstrap-tarballs'

You need to merge the two branches, because the one needs some patches
from the other.

Manolis



Re: [PATCH] guix: build: make-bootstrap: Copy libpthread_nonshared.a to the new system.

2017-01-02 Thread Manolis Ragkousis
Sometimes I forget that people can't see what I think in my head :P

On 01/02/17 20:25, David Craven wrote:
>>(define %libc-object-files-rx "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|\
>> -util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|libc(rt|)_nonshared\\.a)$")
>> +util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\
>> +_nonshared\\.a)$")
> 
> Adding libpthread_nonshared.a increases the size of the bootstrap
> binaries doesn't it? If you explain why it is needed we'll have to
> accept it... ;)
> 

Directly from libpthread's Makefile:

# What we install as libpthread.so for programs to link against is in fact a
# link script.  It contains references for the various libraries we need.
# The libpthread.so object is not complete since some functions are only
# defined in libpthread_nonshared.a.

Manolis



Re: [PATCH] gnu: glibc-hurd: Disable werror.

2017-01-02 Thread Manolis Ragkousis
Hello David,

As it only changes glibc/hurd it will not cause any rebuilds. If no one
objects I will push it to master.

Manolis

On 01/02/17 19:57, David Craven wrote:
> LGTM. Does it need to go into core-updates?



Re: [PATCH] gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd systems.

2016-12-07 Thread Manolis Ragkousis
Hello Ludo,

> 
>> ;; `cross-libc' already returns a cross libc, so clear
>> ;; %CURRENT-TARGET-SYSTEM.
>> (parameterize ((%current-target-system #f))
>> - (cross-libc target)
>> + (cross-libc target )
> 
> Nope.  :-)

Oops :-).

Fixed and pushed to master.

Thank you,
Manolis



Re: MinGW cross-compilation support

2016-12-07 Thread Manolis Ragkousis
Hello everyone,

On 12/07/16 11:36, Ludovic Courtès wrote:
> Hello Guix!
> 
> After all this time I’m happy to report that I’ve finally merged MinGW
> cross-compilation support, woohoo!
> 
> So we should now be able to do:
> 
>   guix build --target=i686-w64-mingw32 guile
> 
> to cross-compile Guile to MinGW.
> 
> Hydra will build the cross-compilation toolchain and some example
> packages.

Yay! Well done!

> 
> Adding a new cross-compilation target is a commitment.  So I hope you
> and others will make sure it remains functional and useful!
> 
> I also think that together with Manolis and everyone else who’s played
> with cross-compilation, we must clean up the mess that this has become.
> ;-)  Namely, we must more clearly separate target-specific things and
> also separate build-side from host-side code (in cross-base.scm).

You are right, now and then cross-compilation breaks with no apparent
reason as the code gets bigger and more complex (especially after adding
non-Linux targets).

I was thinking that maybe we need to abstract and remove all the target
specific from cross-base.scm into new files. I haven't thought about the
actual implementation yet, but it could be something like what I did
with (cross-kernel-headers ...), which simplifies how (cross-libc ...)
chooses which headers to use.

Everyone please share any ideas you have :-)

Manolis



Re: [PATCH] gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd systems.

2016-12-07 Thread Manolis Ragkousis
Hello Ludo,

This is an old patch which I had forgotten I hadn't pushed to
core-updates back then.

This is the updated version with your suggestions and checked that it
works with latest core-updates.

Thank you,
Manolis
From 0e21f4484f67dfd6ed132e9e5b5934f3098c98b3 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Wed, 30 Nov 2016 16:49:48 +0200
Subject: [PATCH] gnu: make-bootstrap: Produce the correct
 %glibc-bootstrap-tarball for Hurd systems.

* gnu/packages/make-bootstrap.scm (%glibc-bootstrap-tarball): Make it a procedure.
  (%glibc-stripped): Make it a procedure and move the kernel specific part from
  here to ...
* guix/build/make-bootstrap.scm (make-stripped-libc): ... here. New file.
* Makefile.am (MODULES): Add it.
---
 Makefile.am |  1 +
 gnu/packages/make-bootstrap.scm | 69 -
 guix/build/make-bootstrap.scm   | 84 +
 3 files changed, 109 insertions(+), 45 deletions(-)
 create mode 100644 guix/build/make-bootstrap.scm

diff --git a/Makefile.am b/Makefile.am
index 9d62f48..0e3ddac 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -112,6 +112,7 @@ MODULES =	\
   guix/build/graft.scm\
   guix/build/bournish.scm			\
   guix/build/qt-utils.scm			\
+  guix/build/make-bootstrap.scm			\
   guix/search-paths.scm\
   guix/packages.scm\
   guix/import/utils.scm\
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index f31db6a..85f3231 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages multiprecision)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -84,7 +85,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; `cross-libc' already returns a cross libc, so clear
;; %CURRENT-TARGET-SYSTEM.
(parameterize ((%current-target-system #f))
- (cross-libc target)
+ (cross-libc target )
 
   ;; Standard inputs with the above libc and corresponding GCC.
 
@@ -332,61 +333,39 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
#t
 (inputs `(("binutils" ,%binutils-static)
 
-(define %glibc-stripped
+(define (%glibc-stripped)
   ;; GNU libc's essential shared libraries, dynamic linker, and headers,
   ;; with all references to store directories stripped.  As a result,
   ;; libc.so is unusable and need to be patched for proper relocation.
+  (define (hurd-triplet? triplet)
+(and (string-suffix? "-gnu" triplet)
+ (not (string-contains triplet "linux"
+
   (let ((glibc (glibc-for-bootstrap)))
 (package (inherit glibc)
   (name "glibc-stripped")
   (build-system trivial-build-system)
   (arguments
-   `(#:modules ((guix build utils))
+   `(#:modules ((guix build utils)
+(guix build make-bootstrap))
  #:builder
  (begin
-   (use-modules (guix build utils))
-
-   (setvbuf (current-output-port) _IOLBF)
-   (let* ((out(assoc-ref %outputs "out"))
-  (libdir (string-append out "/lib"))
-  (incdir (string-append out "/include"))
-  (libc   (assoc-ref %build-inputs "libc"))
-  (linux  (assoc-ref %build-inputs "kernel-headers")))
- (mkdir-p libdir)
- (for-each (lambda (file)
- (let ((target (string-append libdir "/"
-  (basename file
-   (copy-file file target)
-   (remove-store-references target)))
-   (find-files (string-append libc "/lib")
-   "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|util).*\\.so(\\..*)?|libc_nonshared\\.a)$"))
-
- (copy-recursively (string-append libc "/include") incdir)
-
- ;; Copy some of the Linux-Libre headers that glibc headers
- ;; refer to.
- (mkdir (string-append incdir "/linux"))
- (for-each (lambda (file)
- (copy-file (string-append linux "/include/linux/" file)
-(string-append incdir "/linux/"
-   (basename file
-   '("limits.h" "errno.h" "socket.h" "kernel.h"
- "sysctl.h" "param.h" "ioctl.h" "types.h"
- "posix_types.h" "stdde

Re: [PATCH] gnu: glibc-hurd: Force mach/hurd/libpthread subdirs to build first.

2016-11-30 Thread Manolis Ragkousis
Updated the patch with your suggestions, added you as a co-author and I
pushed it to core-updates.

Thank you,
Manolis



Re: [PATCH] gnu: cross-libc: Use the correct libc.

2016-10-31 Thread Manolis Ragkousis
On 10/31/16 19:49, Ludovic Courtès wrote:
> Before pushing, please make sure that:
> 
>   ./pre-inst-env guix build -s x86_64-linux coreutils
>   ./pre-inst-env guix build -s armhf-linux coreutils
>   ./pre-inst-env guix build --target=arm-linux-gnueabihf coreutils -n
> 
> are unchanged (I suppose they have substitutes available.)
> 

Done and done.

Thank you Ludo!



Re: [PATCH] gnu: Add GNU Radio.

2016-09-26 Thread Manolis Ragkousis
Hello Ricardo,

Because I was afk for 2 weeks, thanks to some personal matters, I didn't
have time to work on Guix at all.

I am slowly catching up and will push it when it's ready. Your concerns
were right, it doesn't work as expected.

Manolis




Re: [PATCH] gnu: Add linux-pam.

2016-08-27 Thread Manolis Ragkousis
Hello Rene,

First of all thank you for helping with the port :-).

Now on the patch.

> Subject: [PATCH] gnu: Add linux-pam.

Maybe we should change the name of the patch to "[PATCH] gnu: Make
linux-pam build on non Linux systems."

Other than that looks good to me. As Ricardo said check the status of
the patch upstream because it will help all projects involved.

@Ricardo: If you are okay with it, I will sign it and push it to master
(or core-updates?).

Thank you again for testing things out,
Manolis



On 08/27/16 07:47, ren...@openmailbox.org wrote:
> This is a patch for linux-pam, at compile on the Hurd system searches
> the file fsuid.h. The patch was taken from the Debian project.
> 
>  * This patch is prerequisite for lsh/openssh packages.
>  * The patch was build and installed on Linux and the Hurd systems.
> 
> Thanks



Re: [PATCH] gnu: Add python-cheetah.

2016-08-21 Thread Manolis Ragkousis
Hello Leo,

> Does this python2-cheetah work as expected? Needing to make changes to
> the Python 2 version of a package is the reason we introduced the
> python2-variant system.

This package only works with python 2. Actually if you try to build
python-cheetah, you will get:

phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
running "python setup.py" with command "build" and parameters ()
Traceback (most recent call last):
  File "setup.py", line 10, in 
import SetupTools
  File
"/tmp/guix-build-python-cheetah-2.4.4.drv-0/Cheetah-2.4.4/SetupTools.py",
line 50
except DistutilsPlatformError, x:
 ^
SyntaxError: invalid syntax

I followed the other recipes as an example to write this one. Only
python2-cheetah works as expected.

Thank you,
Manolis


6bjwal0vhnzldn4sw1wwn0affy0k4f-python-cheetah-2.4.4.drv.bz2
Description: application/bzip


Re: [PATCH] gnu: Add GNU Radio.

2016-08-16 Thread Manolis Ragkousis
I am resending my response because I forgot to cc the list.

On 08/16/16 16:02, Manolis Ragkousis wrote:
> Hey Ricardo,
> 
> Maybe I should check again the output of my gnuradio package. I will
> report back.
> 
> Manolis
> 



[PATCH] gnu: Add GNU Radio.

2016-08-16 Thread Manolis Ragkousis
Hello,

I noticed that we didn't have GNU Radio packaged, so here you go.

Manolis
>From 7456142768bcdbd0782f475cd55c928f92c18472 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Tue, 16 Aug 2016 14:23:17 +0300
Subject: [PATCH] gnu: Add GNU Radio.

* gnu/packages/gnuradio.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk  |  1 +
 gnu/packages/gnuradio.scm | 53 +++
 2 files changed, 54 insertions(+)
 create mode 100644 gnu/packages/gnuradio.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7416850..f298e69 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -149,6 +149,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/gnucash.scm			\
   %D%/packages/gnunet.scm			\
   %D%/packages/gnupg.scm			\
+  %D%/packages/gnuradio.scm			\
   %D%/packages/gnustep.scm			\
   %D%/packages/gnuzilla.scm			\
   %D%/packages/gnu-pw-mgr.scm			\
diff --git a/gnu/packages/gnuradio.scm b/gnu/packages/gnuradio.scm
new file mode 100644
index 000..9479b47
--- /dev/null
+++ b/gnu/packages/gnuradio.scm
@@ -0,0 +1,53 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis...@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages gnuradio)
+  #:use-module (guix licenses)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (guix utils)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages boost))
+
+(define-public gnuradio
+  (package
+(name "gnuradio")
+(version "3.7.10")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://gnuradio.org/releases/gnuradio/gnuradio-;
+   version ".tar.gz"))
+   (sha256
+(base32
+ "0j8vyd66ci89d0jzvg8wiyranmrz1r5a51hmg21cd78spr8qij54"
+(build-system cmake-build-system)
+(native-inputs `(("boost" ,boost)
+ ("python" ,python-2)
+ ("python2-cheetah" ,python2-cheetah)))
+(home-page "http://gnuradio.org/;)
+(synopsis "GNU Radio")
+(description
+ "GNU Radio is a toolkit for implementing software radios.  Its signal
+processing blocks can be combined with low-cost external RF hardware to
+create software-defined radios.  Without hardware, it can be used for
+simulation.  Radio applications are primarily written in Python, with C++
+support for performance-critical processing tasks.")
+(license gpl3+)))
-- 
2.9.2



[PATCH] gnu: Add python-cheetah.

2016-08-16 Thread Manolis Ragkousis
This patch adds python2-cheetah.

Manolis
>From 7899fa820ea826b71375d805185a99cf8de0fc8f Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Tue, 16 Aug 2016 14:06:03 +0300
Subject: [PATCH] gnu: Add python-cheetah.

* gnu/packages/python.scm (python-cheetah, python2-cheetah): New variables.
---
 gnu/packages/python.scm | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5cc54d0..a450a0c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2016 Sou Bunnbu <iyzs...@gmail.com>
 ;;; Copyright © 2016 Troy Sankey <sankey...@gmail.com>
 ;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is>
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis...@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -9886,3 +9887,40 @@ relays publish about themselves.")
 
 (define-public python2-stem
   (package-with-python2 python-stem))
+
+(define-public python-cheetah
+  (package
+(name "python-cheetah")
+(version "2.4.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/;
+ "cd/b0/c2d700252fc251e91c08639ff41a8a5203b627f4e0a2ae18a6b662ab32ea/"
+ "Cheetah-" version ".tar.gz"))
+   (sha256
+(base32
+ "0l5mm4lnysjkzpjr95q5ydm9xc8bv43fxmr79ypybrf1y0lq4c5y"
+(build-system python-build-system)
+(home-page "http://www.cheetahtemplate.org;)
+(synopsis
+ "Python-powered template engine and code generator")
+(description
+ "Cheetah is an open source template engine and code generation tool.
+It can be used standalone or combined with other tools and frameworks. Web
+development is its principle use, but Cheetah is very flexible and is also
+being used to generate C++ game code, Java, sql, form emails and even Python
+ code.")
+(license (non-copyleft "file://LICENSE"
+   "See COPYING in the distribution."
+
+(define-public python2-cheetah
+  (let ((base (package-with-python2 python-cheetah)))
+(package
+  (inherit base)
+  (name "python2-cheetah")
+  (native-inputs
+   `(("python2-setuptools" ,python2-setuptools)
+ ("python2-markdown" ,python2-markdown)
+ ,@(package-native-inputs base))
-- 
2.9.2



[GSoC] Porting GuixSD to GNU/Hurd Update

2016-08-15 Thread Manolis Ragkousis
Hello Guix, Hello Hurd,

As GSoC is coming to an end I think it's time to sum up my work till
now, report issues I had and then talk about what our next steps are.

First I would like to mention what were the two main objectives of the
project and also what was the status of the port when the project
started, so I can give you a better understanding of the progress.

The objectives were:
1) Achieve build isolation in the daemon on the Hurd.
2) Modify Guix so it can produce a working image, while isolating any
cases of Linux assumptions.
3) Boot to GuixSD/Hurd

When the project started the guix-daemon could work on GNU/Hurd but the
builds were being affected by the system state. Normally the daemon
creates a chrooted environment to make the builds, inside /tmp, and bind
mounts the parts of the system it needs. This way it achieves isolation.

On Hurd though, because of the lack of mount(), the above could not
work. But with the help of my libhurdutil library, which I wrote at the
beginning of this project, I created 2 wrappers inside
nix/libutil/call.(hh.cc) for mount() and umount2(), called nixMount()
and nixUmount2(), and depending on the system the implementation
changes. On Hurd I am using /hurd/firmlink to offer the same
functionality to bind-mounts.

It seems to work but I am testing it thoroughly so we don't have any
unpleasant surprises in the future. We will have fully isolated builds
on Hurd as soon as I am sure that my code works as expected and it's
merged in Guix upstream.

Now on the GuixSD side, I will start on a big issue I had. If you check
the daemon, and specifically nix/libstore/build.cc:2205-2228, you will
see that when, for example, guix tries to create a 32 bit vm/image from
a 64 bit machine, the daemon actually builds the 32 bit binaries on 32
bit personality mode.

As a result it is not possible to build GuixSD/Hurd vm/images from
Linux, for now. But this is not a big problem because we can do it from
Guix running on Hurd :-). The approach I used, was to add a second hard
drive on my Hurd vm, mount it, and try to directly deploy a GuixSD
system on that drive.  Currently Guix can build most of the binaries for
the system but it still needs work to actually boot into one. You can
see the result of this work on the currect core-updates (and on my
github repo for some hacky commits).

I have also created a new module called (guix build syscalls-tools)
which contains some of the code from (guix build syscalls) which will be
used by a (guix build hurd) module, which will contain call wrappers for
some Hurd libraries. This work is still in my github repo because it
needs some work.

There was one more problem that appeared after we started using
C_INCLUDE_PATH in our cross-builds. As it seems MiG needs glibc in order
to be built.  That's why for now I patch cross-mig with the
glibc-headers so I don't have to depend on the Linux ones. But I will
talk more on this in a different email.

I think that's enough for now. I avoid talking about things discussed in
other mails, but if you want please feel free to ask me :-)

To sum things up, we almost have build isolation working but GuixSD
still needs some work to become bootable. From here on I will
finish/test my guix-daemon code, and then I will continue on finishing
the low-level call wrappers for the Hurd libraries, in order to get the
bootable system. We are close :-).

The repos which you can check any code not yet in upstream Guix or Hurd are:
https://github.com/Phant0mas/Guix-on-Hurd
https://github.com/Phant0mas/Hurd

I think that's it for now. I want to thank all of you for your help and
support and for answering my questions, and thank my two mentors Justus
and Ludo for their invaluable help (you guys are awesome :-)).

I would also like to state that thanks to the latest work from the Hurd
guys on Gnumach and Hurd, debian/hurd is more stable than ever!!

I am sure I forgot some things so feel free to ask anything or correct
me. :-)

Thank you,
Manolis








Re: core-updates merged!

2016-08-13 Thread Manolis Ragkousis
Hello Leo

On 08/10/16 22:49, Leo Famulari wrote:
> Since this required me to re-sign these commits, will somebody please
> review the differences between WIP-core-updates and core-updates-next,
> to make sure I've done the right thing?
> 
> When I get the "okay", I will rename the branch to core-updates, and
> then it will be "open for business" :)

Seems good to me. My local changes apply cleanly to the new branch and
my patches work as expected.

Thank you for taking care of this.
Manolis



Re: [PATCH] gnu: cross-libc: Use the correct libc.

2016-08-12 Thread Manolis Ragkousis
Hey Leo,

On 08/12/16 21:40, Leo Famulari wrote:
> Can you try applying it on top of WIP-core-updates [0]?
> 
> And perhaps reviewing the new branch as requested in [0], while you're
> at it?
> 
> [0]
> http://lists.gnu.org/archive/html/guix-devel/2016-08/msg00731.html
> 

The patch applied cleanly to WIP-core-updates and I am currently
checking the new branch.

Manolis



[PATCH] gnu: cross-libc: Use the correct libc.

2016-08-11 Thread Manolis Ragkousis
Hello everyone,

I noticed that in commit ef21276053b980 from core-updates-next I am
using (cross-libc-for-target ...) only in one place while I should have
used (let ((libc (cross-libc-for-target target))) (package ...

With this patch I fix this.

Thank you,
Manolis
From b0481b1af1ea64cdfc1dcac6f2c1f9a24dc9a70b Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Thu, 11 Aug 2016 21:28:00 +0300
Subject: [PATCH] gnu: cross-libc: Use the correct libc.

* gnu/packages/cross-base.scm (cross-libc): Use cross-libc-for-target
to determine the correct libc to use.
---
 gnu/packages/cross-base.scm | 102 ++--
 1 file changed, 51 insertions(+), 51 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index b4324c2..1524451 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -464,62 +464,62 @@ XBINUTILS and the cross tool chain."
   ((or "i586-pc-gnu" "i586-gnu") glibc/hurd)
   (_ glibc/linux)))
 
-  (package (inherit glibc)
-(name (string-append "glibc-cross-" target))
-(arguments
- (substitute-keyword-arguments
- `(;; Disable stripping (see above.)
-   #:strip-binaries? #f
+  ;; Use (cross-libc-for-target ...) to determine the correct libc to use.
+  (let ((libc (cross-libc-for-target target)))
+(package (inherit libc)
+  (name (string-append "glibc-cross-" target))
+  (arguments
+   (substitute-keyword-arguments
+   `(;; Disable stripping (see above.)
+ #:strip-binaries? #f
 
-   ;; This package is used as a target input, but it should not have
-   ;; the usual cross-compilation inputs since that would include
-   ;; itself.
-   #:implicit-cross-inputs? #f
+ ;; This package is used as a target input, but it should not have
+ ;; the usual cross-compilation inputs since that would include
+ ;; itself.
+ #:implicit-cross-inputs? #f
 
-   ;; We need SRFI 26.
-   #:modules ((guix build gnu-build-system)
-  (guix build utils)
-  (srfi srfi-26))
+ ;; We need SRFI 26.
+ #:modules ((guix build gnu-build-system)
+(guix build utils)
+(srfi srfi-26))
 
-   ;; Package-arguments does not use the correct libc, so we use
-   ;; (cross-libc-for-target ...) to determine the correct one.
-   ,@(package-arguments (cross-libc-for-target target)))
-   ((#:configure-flags flags)
-`(cons ,(string-append "--host=" target)
+ ,@(package-arguments libc))
+ ((#:configure-flags flags)
+  `(cons ,(string-append "--host=" target)
,flags))
-   ((#:phases phases)
-`(alist-cons-before
-  'configure 'set-cross-kernel-headers-path
-  (lambda* (#:key inputs #:allow-other-keys)
-(let* ((kernel (assoc-ref inputs "kernel-headers"))
-   (cpath (string-append kernel "/include")))
-  (for-each (cut setenv <> cpath)
-'("CROSS_C_INCLUDE_PATH"
-  "CROSS_CPLUS_INCLUDE_PATH"
-  "CROSS_OBJC_INCLUDE_PATH"
-  "CROSS_OBJCPLUS_INCLUDE_PATH"))
-  (setenv "CROSS_LIBRARY_PATH"
-  (string-append kernel "/lib")) ;for Hurd's libihash
-  #t))
-  ,phases
-
-;; Shadow the native "kernel-headers" because glibc's recipe expects the
-;; "kernel-headers" input to point to the right thing.
-(propagated-inputs `(("kernel-headers" ,xheaders)))
-
-;; FIXME: 'static-bash' should really be an input, not a native input, but
-;; to do that will require building an intermediate cross libc.
-(inputs '())
+ ((#:phases phases)
+  `(alist-cons-before
+'configure 'set-cross-kernel-headers-path
+(lambda* (#:key inputs #:allow-other-keys)
+  (let* ((kernel (assoc-ref inputs "kernel-headers"))
+ (cpath (string-append kernel "/include")))
+(for-each (cut setenv <> cpath)
+  '("CROSS_C_INCLUDE_PATH"
+"CROSS_CPLUS_INCLUDE_PATH"
+"CROSS_OBJC_INCLUDE_PATH"
+"CROSS_OBJCPLUS_INCLUDE_PATH"))
+(setenv "CROSS_LIBRARY_PATH"
+(string-append kernel "/lib")) ;for Hurd's libihash
+#t))
+,phases
+
+  ;; Shadow the native "kernel-headers" because glibc's

[PATCH] daemon: Break CHROOT_ENABLED into smaller macros.

2016-08-11 Thread Manolis Ragkousis
Hello,

This is an updated version of my previous "daemon: Break CHROOT_ENABLED
into CHROOT_ENABLED and CLONE_ENABLED." patch which also changes how
pivot_root() is defined.

Thank you,
Manolis
From aea4bf23b699b7ef5d7007b81f296b77324d5b6c Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Sun, 7 Aug 2016 17:48:30 +0300
Subject: [PATCH] daemon: Break CHROOT_ENABLED into smaller macros.

We need to check for CLONE_NEWNS only when we want to use the
Linux specific clone(). Otherwise we use fork().  Also we define
pivot_root() only if SYS_pivot_root is defined.

* nix/libstore/build.cc (CHROOT_ENABLED): Break into CHROOT_ENABLED
and CLONE_ENABLED.  Define pivot_root() only if SYS_pivot_root is defined.
(DerivationGoal::startBuilder): Replace CHROOT_ENABLED with CLONE_ENABLED.
---
 nix/libstore/build.cc | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index ae78e65..156ae8c 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -51,7 +51,12 @@
 #include 
 #endif
 
-#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_PRIVATE) && defined(CLONE_NEWNS) && defined(SYS_pivot_root)
+#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_PRIVATE)
+#define CLONE_ENABLED defined(CLONE_NEWNS)
+
+#if defined(SYS_pivot_root)
+#define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, new_root,put_old))
+#endif
 
 #if CHROOT_ENABLED
 #include 
@@ -1998,7 +2003,7 @@ void DerivationGoal::startBuilder()
- The UTS namespace ensures that builders see a hostname of
  localhost rather than the actual hostname.
 */
-#if CHROOT_ENABLED
+#if CLONE_ENABLED
 if (useChroot) {
 	char stack[32 * 1024];
 	int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | SIGCHLD;
@@ -2179,10 +2184,8 @@ void DerivationGoal::runChild()
 if (mkdir("real-root", 0) == -1)
 throw SysError("cannot create real-root directory");
 
-#define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, new_root, put_old))
 if (pivot_root(".", "real-root") == -1)
 throw SysError(format("cannot pivot old root directory onto '%1%'") % (chrootRootDir + "/real-root"));
-#undef pivot_root
 
 if (chroot(".") == -1)
 throw SysError(format("cannot change root directory to '%1%'") % chrootRootDir);
-- 
2.9.2



[PATCH] Build sandbox support etc. unconditionally on Linux.

2016-08-10 Thread Manolis Ragkousis
Hello,

This patch is from upstream nix, commit 8f67325, modified to apply to
our master. It deals with the issue of the CHROOT_ENABLED macro and
makes my life easier to apply Hurd specific changes to the daemon.

Thank you,
Manolis
From cb5f4c8d2a01ce32f9b15bf3b41728b36a6738a9 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra 
Date: Tue, 9 Aug 2016 20:14:54 +0300
Subject: [PATCH] Build sandbox support etc. unconditionally on Linux.

---
 nix/libstore/build.cc   | 40 ++--
 nix/libstore/local-store.cc |  9 ++---
 nix/libutil/affinity.cc | 10 +-
 3 files changed, 17 insertions(+), 42 deletions(-)

diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index ae78e65..3c48e97 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -32,36 +32,18 @@
 #include 
 
 /* Includes required for chroot support. */
-#if HAVE_SYS_PARAM_H
-#include 
-#endif
-#if HAVE_SYS_MOUNT_H
-#include 
-#endif
-#if HAVE_SYS_SYSCALL_H
-#include 
-#endif
-#if HAVE_SCHED_H
-#include 
-#endif
-
-/* In GNU libc 2.11,  does not define `MS_PRIVATE', but
-does.  */
-#if !defined MS_PRIVATE && defined HAVE_LINUX_FS_H
-#include 
-#endif
-
-#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_PRIVATE) && defined(CLONE_NEWNS) && defined(SYS_pivot_root)
-
-#if CHROOT_ENABLED
+#if __linux__
 #include 
 #include 
 #include 
 #include 
-#endif
-
-#if __linux__
 #include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, new_root, put_old))
 #endif
 
 #if HAVE_STATVFS
@@ -1817,7 +1799,7 @@ void DerivationGoal::startBuilder()
 }
 
 if (useChroot) {
-#if CHROOT_ENABLED
+#if __linux__
 /* Create a temporary directory in which we set up the chroot
environment using bind-mounts.  We put it in the Nix store
to ensure that we can create hard-links to non-directory
@@ -1998,7 +1980,7 @@ void DerivationGoal::startBuilder()
- The UTS namespace ensures that builders see a hostname of
  localhost rather than the actual hostname.
 */
-#if CHROOT_ENABLED
+#if __linux__
 if (useChroot) {
 	char stack[32 * 1024];
 	int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | SIGCHLD;
@@ -2046,7 +2028,7 @@ void DerivationGoal::runChild()
 
 commonChildInit(builderOut);
 
-#if CHROOT_ENABLED
+#if __linux__
 if (useChroot) {
 /* Initialise the loopback interface. */
 AutoCloseFD fd(socket(PF_INET, SOCK_DGRAM, IPPROTO_IP));
@@ -2179,10 +2161,8 @@ void DerivationGoal::runChild()
 if (mkdir("real-root", 0) == -1)
 throw SysError("cannot create real-root directory");
 
-#define pivot_root(new_root, put_old) (syscall(SYS_pivot_root, new_root, put_old))
 if (pivot_root(".", "real-root") == -1)
 throw SysError(format("cannot pivot old root directory onto '%1%'") % (chrootRootDir + "/real-root"));
-#undef pivot_root
 
 if (chroot(".") == -1)
 throw SysError(format("cannot change root directory to '%1%'") % chrootRootDir);
diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc
index 347e8a7..782e4e8 100644
--- a/nix/libstore/local-store.cc
+++ b/nix/libstore/local-store.cc
@@ -22,16 +22,11 @@
 #include 
 #include 
 
-#if HAVE_UNSHARE && HAVE_STATVFS && HAVE_SYS_MOUNT_H
+#if __linux__
 #include 
 #include 
 #include 
-#endif
-
-#if HAVE_LINUX_FS_H
-#include 
 #include 
-#include 
 #endif
 
 #include 
@@ -501,7 +496,7 @@ void LocalStore::openDB(bool create)
bind mount.  So make the Nix store writable for this process. */
 void LocalStore::makeStoreWritable()
 {
-#if HAVE_UNSHARE && HAVE_STATVFS && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_REMOUNT)
+#if __linux__
 if (getuid() != 0) return;
 /* Check if /nix/store is on a read-only mount. */
 struct statvfs stat;
diff --git a/nix/libutil/affinity.cc b/nix/libutil/affinity.cc
index 3e21f43..3cbdf87 100644
--- a/nix/libutil/affinity.cc
+++ b/nix/libutil/affinity.cc
@@ -2,14 +2,14 @@
 #include "util.hh"
 #include "affinity.hh"
 
-#if HAVE_SCHED_H
+#if __linux__
 #include 
 #endif
 
 namespace nix {
 
 
-#if HAVE_SCHED_SETAFFINITY
+#if __linux__
 static bool didSaveAffinity = false;
 static cpu_set_t savedAffinity;
 #endif
@@ -17,7 +17,7 @@ static cpu_set_t savedAffinity;
 
 void setAffinityTo(int cpu)
 {
-#if HAVE_SCHED_SETAFFINITY
+#if __linux__
 if (sched_getaffinity(0, sizeof(cpu_set_t), ) == -1) return;
 didSaveAffinity = true;
 printMsg(lvlDebug, format("locking this thread to CPU %1%") % cpu);
@@ -32,7 +32,7 @@ void setAffinityTo(int cpu)
 
 int lockToCurrentCPU()
 {
-#if HAVE_SCHED_SETAFFINITY
+#if __linux__
 int cpu = sched_getcpu();
 if (cpu != -1) setAffinityTo(cpu);
 return cpu;
@@ -44,7 +44,7 @@ int lockToCurrentCPU()
 
 void restoreAffinity()
 {
-#if 

Re: [PATCH] daemon: Break CHROOT_ENABLED into CHROOT_ENABLED and CLONE_ENABLED.

2016-08-09 Thread Manolis Ragkousis
Hello again,

I was looking at nix's git repo and Eelco's 8f67325 commit is a better
solution to the issue. I cherry picked it and modified it to apply to
our version of the daemon which I will send in another mail.

For this reason forget this patch.

Thank you,
Manolis

On 08/08/16 15:25, Manolis Ragkousis wrote:
> Hello everyone,
> 
> This patch breaks CHROOT_ENABLED into CHROOT_ENABLED and CLONE_ENABLED.
> 
> If you check the code below, you will see that in case clone() is not
> available it will use fork(), which is the case on Hurd.
> 
> But because CHROOT_ENABLED checks for others things, like mount.h and
> pivot_root(), it never actually got to the second part of the code
> below. This is fixed with my patch.
> 
> #if CHROOT_ENABLED
> if (useChroot) {
>   char stack[32 * 1024];
>   int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS |
> SIGCHLD;
>   if (!fixedOutput) flags |= CLONE_NEWNET;
>   pid = clone(childEntry, stack + sizeof(stack) - 8, flags, this);
>   if (pid == -1)
>   throw SysError("cloning builder process");
> } else
> #endif
> {
> pid = fork();
> if (pid == 0) runChild();
> }
> 
> Thank you,
> Manolis
> 



[PATCH] daemon: Break CHROOT_ENABLED into CHROOT_ENABLED and CLONE_ENABLED.

2016-08-08 Thread Manolis Ragkousis
Hello everyone,

This patch breaks CHROOT_ENABLED into CHROOT_ENABLED and CLONE_ENABLED.

If you check the code below, you will see that in case clone() is not
available it will use fork(), which is the case on Hurd.

But because CHROOT_ENABLED checks for others things, like mount.h and
pivot_root(), it never actually got to the second part of the code
below. This is fixed with my patch.

#if CHROOT_ENABLED
if (useChroot) {
char stack[32 * 1024];
int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS |
SIGCHLD;
if (!fixedOutput) flags |= CLONE_NEWNET;
pid = clone(childEntry, stack + sizeof(stack) - 8, flags, this);
if (pid == -1)
throw SysError("cloning builder process");
} else
#endif
{
pid = fork();
if (pid == 0) runChild();
}

Thank you,
Manolis
From 51d96cdea9aec679680c08add3a5ac03065760ba Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Sun, 7 Aug 2016 17:48:30 +0300
Subject: [PATCH] daemon: Break CHROOT_ENABLED into CHROOT_ENABLED and
 CLONE_ENABLED.

We need to check for CLONE_NEWNS only when we want to use the
Linux specific clone(). Otherwise we use fork().

* nix/libstore/build.cc (CHROOT_ENABLED): Break into CHROOT_ENABLED
and CLONE_ENABLED.
(DerivationGoal::startBuilder): Replace CHROOT_ENABLED with CLONE_ENABLED.
---
 nix/libstore/build.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index ae78e65..b8a5ce6 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -51,7 +51,8 @@
 #include 
 #endif
 
-#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_PRIVATE) && defined(CLONE_NEWNS) && defined(SYS_pivot_root)
+#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(MS_PRIVATE) && defined(SYS_pivot_root)
+#define CLONE_ENABLED defined(CLONE_NEWNS)
 
 #if CHROOT_ENABLED
 #include 
@@ -1998,7 +1999,7 @@ void DerivationGoal::startBuilder()
- The UTS namespace ensures that builders see a hostname of
  localhost rather than the actual hostname.
 */
-#if CHROOT_ENABLED
+#if CLONE_ENABLED
 if (useChroot) {
 	char stack[32 * 1024];
 	int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | SIGCHLD;
-- 
2.9.2



Re: [PATCH] gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd systems.

2016-07-26 Thread Manolis Ragkousis
Hello everyone,

This is an updated version of the patch. There was a reference to
another patch of mine, so it couldn't apply cleanly on core-updates-next.

Ludo is it okay to push to core-updates-next?

On 06/17/16 19:09, Manolis Ragkousis wrote:
> Hello everyone,
> 
> This is a patch from wip-hurd modified to apply on core-updates.
> 
> Thank you,
> Manolis
> 

Thank you,
Manolis
From a8541a554f9e1653c78b6b45f323426e330d5215 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Mon, 25 Jul 2016 16:53:40 +0300
Subject: [PATCH] gnu: make-bootstrap: Produce the correct
 %glibc-bootstrap-tarball for Hurd systems.

* gnu/packages/make-bootstrap.scm (%glibc-bootstrap-tarball): Make it a procedure.
  (%glibc-stripped): Make it a procedure and move the kernel specific part from
  here to ...
* guix/build/make-bootstrap.scm (make-stripped-libc): ... here. New file.
* Makefile.am (MODULES): Add it.
---
 Makefile.am |  1 +
 gnu/packages/make-bootstrap.scm | 67 +++-
 guix/build/make-bootstrap.scm   | 84 +
 3 files changed, 108 insertions(+), 44 deletions(-)
 create mode 100644 guix/build/make-bootstrap.scm

diff --git a/Makefile.am b/Makefile.am
index 0771447..fff2500 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -107,6 +107,7 @@ MODULES =	\
   guix/build/emacs-utils.scm			\
   guix/build/graft.scm\
   guix/build/bournish.scm			\
+  guix/build/make-bootstrap.scm \
   guix/search-paths.scm\
   guix/packages.scm\
   guix/import/utils.scm\
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index def9c23..45c09a4 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -33,6 +33,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages multiprecision)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -325,61 +326,39 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
#t
 (inputs `(("binutils" ,%binutils-static)
 
-(define %glibc-stripped
+(define (%glibc-stripped)
   ;; GNU libc's essential shared libraries, dynamic linker, and headers,
   ;; with all references to store directories stripped.  As a result,
   ;; libc.so is unusable and need to be patched for proper relocation.
+  (define (hurd-triplet? triplet)
+(and (string-suffix? "-gnu" triplet)
+ (not (string-contains triplet "linux"
+
   (let ((glibc (glibc-for-bootstrap)))
 (package (inherit glibc)
   (name "glibc-stripped")
   (build-system trivial-build-system)
   (arguments
-   `(#:modules ((guix build utils))
+   `(#:modules ((guix build utils)
+(guix build make-bootstrap))
  #:builder
  (begin
-   (use-modules (guix build utils))
-
-   (setvbuf (current-output-port) _IOLBF)
-   (let* ((out(assoc-ref %outputs "out"))
-  (libdir (string-append out "/lib"))
-  (incdir (string-append out "/include"))
-  (libc   (assoc-ref %build-inputs "libc"))
-  (linux  (assoc-ref %build-inputs "kernel-headers")))
- (mkdir-p libdir)
- (for-each (lambda (file)
- (let ((target (string-append libdir "/"
-  (basename file
-   (copy-file file target)
-   (remove-store-references target)))
-   (find-files (string-append libc "/lib")
-   "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|util).*\\.so(\\..*)?|libc_nonshared\\.a)$"))
-
- (copy-recursively (string-append libc "/include") incdir)
-
- ;; Copy some of the Linux-Libre headers that glibc headers
- ;; refer to.
- (mkdir (string-append incdir "/linux"))
- (for-each (lambda (file)
- (copy-file (string-append linux "/include/linux/" file)
-(string-append incdir "/linux/"
-   (basename file
-   '("limits.h" "errno.h" "socket.h" "kernel.h"
- "sysctl.h" "param.h" "ioctl.h" "types.h"
- "posix_types.h" "stddef.h"))
-
- (copy-recursively (string-append linux "/include/asm")
-   (string-append incdir "/asm"))
-  

Re: Ricardo Wurmus appointed co-maintainer

2016-07-26 Thread Manolis Ragkousis
Congratulations Ricardo and best of luck with your new duties :-D

Manolis



Re: FOSDEM 2016 was awesome! Let's do FOSDEM 2017

2016-07-26 Thread Manolis Ragkousis
Hello Pjotr,

On 07/26/16 05:19, Pjotr Prins wrote:
> FOSDEM 2017 call for proposals has started:
> 
>   https://fosdem.org/2017/news/2016-07-20-call-for-participation/
> 
> We need help with writing the proposal (we can build on last years
> this time), we need help on selecting talks and we need help creating
> the schedule. Finally, if we get a slot, we need help to organise the
> day.
> 
> Who wants to be part of this exciting day? 
> 
> Pj.

Count me in!!

Do we have a libreplanet page to suggest talks as last year?

Manolis



Re: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd systems.

2016-07-20 Thread Manolis Ragkousis
Hello,

On 07/20/16 10:16, Vincent Legoll wrote:
> Hello,
> 
> There's a lot of things specific to hurd in there, wouldn't that better
> be located in a separate hurd.scm or something like that ?
> 

Well in the way I handle it in the patch, cross-libc no longer contains
any headers at all.  Cross-libc now expects that xheaders will point to
the right headers to be used.

And considering that cross-kernel-headers changes packages needed to
create the cross-toolchain, (in our case from (gnu packages linux) and
(gnu packages hurd)), it must be inside (gnu packages cross-base).

I do agree though that in the future I must find a way to reduce the too
many conditionals.

Thank you,
Manolis



Re: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd systems.

2016-07-19 Thread Manolis Ragkousis
Hello Ludo,

This is the updated patch. I have tested it as suggested and it works.

It applies on core-updates-next.

Thank you,
Manolis
From e599bc5b7208be48d4fff0868fb3b53a964dae11 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Wed, 8 Jun 2016 17:15:00 +0300
Subject: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd
 systems.

* gnu/packages/cross-base.scm (cross-kernel-headers): Add new variable.
  Add xgnumach-headers, xmig, xhurd-headers, xglibc/hurd-headers,
  xhurd-minimal, xhurd-core-headers.
  (cross-libc): Add cross-libc-for-target.
  [arguments]: Set "CROSS_LIBRARY_PATH".
  [propagated-inputs]: Use "cross-kernel-headers" to determine the correct headers.
  [native-inputs]: Use "cross-mig" when target is GNU/Hurd.
---
 gnu/packages/cross-base.scm | 169 +---
 1 file changed, 161 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 3bd30fd..b4324c2 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <l...@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <m...@netris.org>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <jann...@gnu.org>
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis...@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages commencement)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -33,6 +35,7 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 regex)
   #:export (cross-binutils
 cross-libc
 cross-gcc))
@@ -292,12 +295,12 @@ GCC that does not target a libc; otherwise, target that libc."
 (files '("lib" "lib64")
 (native-search-paths '(
 
-(define* (cross-libc target
- #:optional
- (xgcc (cross-gcc target))
- (xbinutils (cross-binutils target)))
-  "Return a libc cross-built for TARGET, a GNU triplet.  Use XGCC and
-XBINUTILS and the cross tool chain."
+(define* (cross-kernel-headers target
+   #:optional
+   (xgcc (cross-gcc target))
+   (xbinutils (cross-binutils target)))
+  "Return headers depending on TARGET."
+
   (define xlinux-headers
 (package (inherit linux-libre-headers)
   (name (string-append (package-name linux-libre-headers)
@@ -320,6 +323,147 @@ XBINUTILS and the cross tool chain."
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-libre-headers)
 
+  (define xgnumach-headers
+(package (inherit gnumach-headers)
+  (name (string-append (package-name gnumach-headers)
+   "-cross-" target))
+
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ,@(package-native-inputs gnumach-headers)
+
+  (define xmig
+(package (inherit mig)
+  (name (string-append "mig-cross"))
+  (arguments
+   `(#:modules ((guix build gnu-build-system)
+(guix build utils)
+(srfi srfi-26))
+ #:phases (alist-cons-before
+   'configure 'set-cross-headers-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((mach (assoc-ref inputs "cross-gnumach-headers"))
+(cpath (string-append mach "/include")))
+   (for-each (cut setenv <> cpath)
+ '("CROSS_C_INCLUDE_PATH"
+   "CROSS_CPLUS_INCLUDE_PATH"
+   "CROSS_OBJC_INCLUDE_PATH"
+   "CROSS_OBJCPLUS_INCLUDE_PATH"
+   %standard-phases)
+ #:configure-flags (list ,(string-append "--target=" target))
+ ,@(package-arguments mig)))
+
+  (propagated-inputs `(("cross-gnumach-headers" ,xgnumach-headers)))
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ,@(package-native-inputs mig)
+
+  (define xhurd-headers
+(package (inherit hurd-headers)
+  (name (string-append (package-name hurd-headers)
+   "-cross-" target))
+
+  (propagated-inputs `(("cross-mig" ,xmig)))
+  (na

Rebasing core-updates-next branch

2016-07-11 Thread Manolis Ragkousis
Hello Guix,

Core-updates-next has not been updated for some time so I think it's
time to do that.  I was planning to rebase core-updates-next on
core-updates and create a new core-updates-next.

There is a problem though. Rebasing changes the pgp signature of the
commit. The affected commits are the ones below.

a08539d gnu: guile: Use "site-ccache" for the compiled search path.
14af4d1 build: Correctly determine the system type for GNU/Hurd systems.
5b32f07 gnu: wrap-python3: Create more symlinks.
788eb97 gnu: sqlite: Update to 3.13.0.
bd46fdc utils: Fix 'modify-phases' docstring.
d35bc36 gnu: curl: Update to 7.49.1.
98e8dc6 packages: Use '--no-backup-if-mismatch' for patching.

I have cc'ed the authors of those commits.  If you are okay with it, I
will sign those commits with my key and push the new core-udpates-next.

Thank you,
Manolis



Re: [PATCH] gnu: Add fontconfig-path-max.

2016-07-04 Thread Manolis Ragkousis
Hello,

On 07/04/16 07:02, ren...@openmailbox.org wrote:
> The current release is 2.12.0, and still uses the constant PATH_MAX.
> And I have not found any related patch for this detail.

Could you send the related patches to fontconfig upstream and see what
they think about them?

Thank you,
Manolis



Re: [PATCH] gnu: Add fontconfig-path-max.

2016-07-03 Thread Manolis Ragkousis
Hello Rennes,

I am sorry for the long delay, I somehow missed the patch. Leo thank you
for telling me.

On 06/18/16 22:02, ren...@openmailbox.org wrote:
> Hello Guix team,
> 
> i'm doing tests whith GNU Guix on GNU Hurd, compiling fontconfig and
> there is an error during compilation:

Once again thank you :-)
> 
> a) fontconfig uses the constant PATH_MAX.
> 
> Reviewing the documentation about the treatment of constant for Hurd;
> i've attached a patch for review.
> 
> References:
> https://www.gnu.org/software/hurd/community/gsoc/project_ideas/maxpath.html
> https://www.gnu.org/software/hurd/hurd/porting/guidelines.html
> 
> and i've a couple of questions about:
> 
> a) How Guix identify if it is a Linux or Hurd system at compile or
> install the package?.
> b) i searches in ML an example, but i not found.

Currently we apply patches regardless of where it is running.

But one way to check the system is like in (gnu packages base)

(define* (glibc-for-target #:optional
   (target (or (%current-target-system)
   (%current-system
  "Return the glibc for TARGET, GLIBC/LINUX for a Linux host or
GLIBC/HURD for a Hurd host"
  (match target
((or "i586-pc-gnu" "i586-gnu") glibc/hurd)
(_ glibc/linux)))

If %current-target-system is not #f then we are cross-building for the
value inside it. %current-system has the value of the system we are
running on.

Now regarding the patch, what is the status on upstream? Are those
fontconfig patches present in fontconfig upstream?

Other than that, it looks good to me.

Thank you for helping on this,
Manolis.




[PATCH] gnu: commencement: Add support for a native GNU/Hurd system.

2016-06-24 Thread Manolis Ragkousis
Hello everyone,

This patch is from wip-hurd modified to apply to core-udpates.

If it's okay I will push it to core-updates-next.

Thank you,
Manolis
From 151868431cf3faafbf388dd2815745b3760ac12f Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Fri, 24 Jun 2016 16:10:15 +0300
Subject: [PATCH] gnu: commencement: Add support for a native GNU/Hurd system.

* gnu/packages/commencement.scm (kernel-headers-boot0,
  ld-wrapper-boot0, bison-boot0, flex-boot0, gnumach-headers-boot0,
  mig-boot0, hurd-headers-boot0, hurd-minimal-boot0,
  hurd-kernel-headers-boot0): New variables.
  (bison-boot1): Remove.
  (%boot1-inputs): Add ld-wrapper-boot0.
  (glibc-final-with-bootstrap-bash)[arguments]: Allow libpthread
  to find libihash.
  [propagated-inputs]: Use kernel-headers-boot0.
  [inputs]: Add "mig".
  (glibc-final)[arguments]: Use kernel-headers-boot0.
  (static-bash-for-glibc, bash-final)[native-inputs]: Use bison-boot0.
---
 gnu/packages/commencement.scm | 158 ++
 1 file changed, 128 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 8c82644..8866ab0 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -27,15 +27,18 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages m4)
+  #:use-module (gnu packages indent)
   #:use-module (gnu packages file)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages pkg-config)
   #:use-module (guix packages)
@@ -46,7 +49,8 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 vlist)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:use-module (ice-9 regex))
 
 ;;; Commentary:
 ;;;
@@ -289,6 +293,44 @@
(current-source-location)
#:guile %bootstrap-guile
 
+(define bison-boot0
+  ;; This Bison is needed to build MiG so we need it early in the process.
+  ;; It is also needed to rebuild Bash's parser, which is modified by
+  ;; its CVE patches.  Remove it when it's no longer needed.
+  (let* ((m4(package-with-bootstrap-guile
+ (package-with-explicit-inputs m4 %boot0-inputs
+   (current-source-location)
+   #:guile %bootstrap-guile)))
+ (bison (package (inherit bison)
+  (propagated-inputs `(("m4" ,m4)))
+  (inputs '());remove Flex...
+  (arguments
+   '(#:tests? #f  ;... and thus disable tests
+
+ ;; Zero timestamps in liby.a; this must be done
+ ;; explicitly here because the bootstrap Binutils don't
+ ;; do that (default is "cru".)
+ #:make-flags '("ARFLAGS=crD" "RANLIB=ranlib -D"
+"V=1"))
+(package
+  (inherit (package-with-bootstrap-guile
+(package-with-explicit-inputs bison %boot0-inputs
+  (current-source-location)
+  #:guile %bootstrap-guile)))
+  (native-inputs `(("perl" ,perl-boot0))
+
+(define flex-boot0
+  ;; This Flex is needed to build MiG.
+  (let* ((flex (package (inherit flex)
+ (native-inputs `(("bison" ,bison-boot0)))
+ (propagated-inputs `(("m4" ,m4)))
+ (inputs `(("indent" ,indent)))
+ (arguments '(#:tests? #f)
+(package-with-bootstrap-guile
+ (package-with-explicit-inputs flex %boot0-inputs
+   (current-source-location)
+   #:guile %bootstrap-guile
+
 (define (linux-libre-headers-boot0)
   "Return Linux-Libre header files for the bootstrap environment."
   ;; Note: this is wrapped in a thunk to nicely handle circular dependencies
@@ -302,6 +344,63 @@
   `(("perl" ,perl-boot0)
 ,@%boot0-inputs)
 
+(define gnumach-headers-boot0
+  (package-with-bootstrap-guile
+   (package-with-explicit-inputs gnumach-headers
+ %boot0-inputs
+ (current-source-location)
+ #:guile %bootstrap-guile)))
+
+(define mig-boot0
+  (let* ((mig (pa

Re: [PATCH] build: Correctly determine the system type for GNU/Hurd systems.

2016-06-23 Thread Manolis Ragkousis
Hello everyone,

On 06/19/16 16:57, Ludovic Courtès wrote:
> I wonder why this is needed though; normally, when building on
> i586-unknown-gnu*, the next case:
> 
> --8<---cut here---start->8---
>  case "$host_os" in
>linux-gnu*)
> # For backward compatibility, strip the `-gnu' part.
> guix_system="$machine_name-linux";;
>*)# ← THIS CASE
> # Strip the version number from names such as `gnu0.3',
> # `darwin10.2.0', etc.
> guix_system="$machine_name-`echo $host_os | "$SED" 
> -e's/[0-9.]*$//g'`";;
>  esac
> --8<---cut here---end--->8---
> 
> … should produce “i586-gnu”, no?  What did you observe?  To put it
> differently, what does ./build-aux/config.guess return on a GNU/Hurd
> system?

It produces "i686-gnu0.8" which is problematic and we expect "i586-gnu"
for our binaries to work.

I will push the updated patch to core-updates.

Thank you,
Manolis



[PATCH] build: Remove unneeded conditionals for (guix build syscalls).

2016-06-17 Thread Manolis Ragkousis
Hello everyone,

This patch reverts the changes made in commit
12e5b26643e2269e8f30d8399886d4302c3c09d1 by Ludo which are no longer
needed because of commit 4f8cede062cf89a8326842c6a60e8e0178a78b2c.

The reason I didn't use git revert is because it couldn't work so I had
to remove the changes manually.

Thank you,
Manolis
From 092430944b12fc23d3ece26cb72baf3443217bee Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Fri, 17 Jun 2016 22:44:37 +0300
Subject: [PATCH] build: Remove unneeded conditionals for (guix build
 syscalls).

* m4/guix.m4: Remove 'GUIX_CHECK_LIBC_MOUNT'.
* configure.ac: Remove 'BUILD_SYSCALLS_MODULE'.
* Makefile.am (MODULES): Add 'guix/build/syscalls.scm'.
  (EXTRA_DIST): Remove conditional on BUILD_SYSCALLS_MODULE.
---
 Makefile.am  | 15 +--
 configure.ac |  5 -
 m4/guix.m4   | 13 -
 3 files changed, 1 insertion(+), 32 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 2ecb6ee..0dfade8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -99,6 +99,7 @@ MODULES =	\
   guix/build/rpath.scm\
   guix/build/cvs.scm\
   guix/build/svn.scm\
+  guix/build/syscalls.scm   \
   guix/build/gremlin.scm			\
   guix/build/emacs-utils.scm			\
   guix/build/graft.scm\
@@ -157,13 +158,6 @@ MODULES +=	\
 
 endif
 
-if BUILD_SYSCALLS_MODULE
-
-MODULES +=	\
-  guix/build/syscalls.scm
-
-endif
-
 if BUILD_DAEMON_OFFLOAD
 
 MODULES +=	\
@@ -384,13 +378,6 @@ EXTRA_DIST +=	\
 
 endif !BUILD_DAEMON_OFFLOAD
 
-if !BUILD_SYSCALLS_MODULE
-
-EXTRA_DIST +=	\
-  guix/build/syscalls.scm
-
-endif !BUILD_SYSCALLS_MODULE
-
 
 CLEANFILES =	\
   $(GOBJECTS)	\
diff --git a/configure.ac b/configure.ac
index 7c6fcc9..1f5c549 100644
--- a/configure.ac
+++ b/configure.ac
@@ -86,11 +86,6 @@ dnl Check whether (srfi srfi-37) works, and provide our own if it doesn't.
 GUIX_CHECK_SRFI_37
 AM_CONDITIONAL([INSTALL_SRFI_37], [test "x$ac_cv_guix_srfi_37_broken" = xyes])
 
-dnl Check whether (guix build syscalls) can be built.
-GUIX_CHECK_LIBC_MOUNT
-AM_CONDITIONAL([BUILD_SYSCALLS_MODULE],
-  [test "x$guix_cv_libc_has_mount" = "xyes"])
-
 dnl Decompressors, for use by the substituter and other modules.
 AC_PATH_PROG([GZIP], [gzip])
 AC_PATH_PROG([BZIP2], [bzip2])
diff --git a/m4/guix.m4 b/m4/guix.m4
index 3396e05..6880b5d 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -283,19 +283,6 @@ AC_DEFUN([GUIX_ASSERT_CXX11], [
   fi
 ])
 
-dnl GUIX_CHECK_LIBC_MOUNT
-dnl
-dnl Check whether libc provides 'mount'.  On GNU/Hurd it doesn't (yet).
-AC_DEFUN([GUIX_CHECK_LIBC_MOUNT], [
-  AC_CACHE_CHECK([whether libc provides 'mount'], [guix_cv_libc_has_mount],
-[GUILE_CHECK([retval], [(dynamic-func \"mount\" (dynamic-link))])
- if test "$retval" = 0; then
-   guix_cv_libc_has_mount="yes"
- else
-   guix_cv_libc_has_mount="no"
- fi])
-])
-
 dnl GUIX_LIBGCRYPT_LIBDIR VAR
 dnl
 dnl Attempt to determine libgcrypt's LIBDIR; store the result in VAR.
-- 
2.8.3



[PATCH] build: Correctly determine the system type for GNU/Hurd systems.

2016-06-17 Thread Manolis Ragkousis
Hello everyone,

With this patch, anyone wanting to use Guix on his Hurd system will no
longer need to pass the system type to configure.

If it's okay I will push it to core-updates.

Thank you,
Manolis
From b4aae91b25930b8f5cdb8af802e480eca8caf12e Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Sat, 26 Mar 2016 16:53:40 +0200
Subject: [PATCH] build: Correctly determine the system type for GNU/Hurd
 systems.

* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add case for gnu.
---
 m4/guix.m4 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/m4/guix.m4 b/m4/guix.m4
index 2d3dfd2..3396e05 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -74,6 +74,9 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
linux-gnu*)
 	  # For backward compatibility, strip the `-gnu' part.
 	  guix_system="$machine_name-linux";;
+   gnu*)
+  # When on Hurd, use i586 always.
+  guix_system="i586-gnu";;
*)
 	  # Strip the version number from names such as `gnu0.3',
 	  # `darwin10.2.0', etc.
-- 
2.8.3



[PATCH] gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd systems.

2016-06-17 Thread Manolis Ragkousis
Hello everyone,

This is a patch from wip-hurd modified to apply on core-updates.

Thank you,
Manolis
From 255c32331d56862ea1148fcc0efb924b0f4b511c Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Fri, 17 Jun 2016 18:11:44 +0300
Subject: [PATCH] gnu: make-bootstrap: Produce the correct
 %glibc-bootstrap-tarball for Hurd systems.

* gnu/packages/make-bootstrap.scm (%glibc-bootstrap-tarball): Make it a procedure.
  (%glibc-stripped): Make it a procedure and move the kernel specific part from
  here to ...
* guix/build/make-bootstrap.scm (make-stripped-libc): ... here. New file.
* Makefile.am (MODULES): Add it.
---
 Makefile.am |  1 +
 gnu/packages/make-bootstrap.scm | 67 +++-
 guix/build/make-bootstrap.scm   | 84 +
 3 files changed, 108 insertions(+), 44 deletions(-)
 create mode 100644 guix/build/make-bootstrap.scm

diff --git a/Makefile.am b/Makefile.am
index 44838d3..2ecb6ee 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -104,6 +104,7 @@ MODULES =	\
   guix/build/graft.scm\
   guix/build/bournish.scm			\
   guix/build/cross-base.scm \
+  guix/build/make-bootstrap.scm \
   guix/search-paths.scm\
   guix/packages.scm\
   guix/import/utils.scm\
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index def9c23..45c09a4 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -33,6 +33,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages multiprecision)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -325,61 +326,39 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
#t
 (inputs `(("binutils" ,%binutils-static)
 
-(define %glibc-stripped
+(define (%glibc-stripped)
   ;; GNU libc's essential shared libraries, dynamic linker, and headers,
   ;; with all references to store directories stripped.  As a result,
   ;; libc.so is unusable and need to be patched for proper relocation.
+  (define (hurd-triplet? triplet)
+(and (string-suffix? "-gnu" triplet)
+ (not (string-contains triplet "linux"
+
   (let ((glibc (glibc-for-bootstrap)))
 (package (inherit glibc)
   (name "glibc-stripped")
   (build-system trivial-build-system)
   (arguments
-   `(#:modules ((guix build utils))
+   `(#:modules ((guix build utils)
+(guix build make-bootstrap))
  #:builder
  (begin
-   (use-modules (guix build utils))
-
-   (setvbuf (current-output-port) _IOLBF)
-   (let* ((out(assoc-ref %outputs "out"))
-  (libdir (string-append out "/lib"))
-  (incdir (string-append out "/include"))
-  (libc   (assoc-ref %build-inputs "libc"))
-  (linux  (assoc-ref %build-inputs "kernel-headers")))
- (mkdir-p libdir)
- (for-each (lambda (file)
- (let ((target (string-append libdir "/"
-  (basename file
-   (copy-file file target)
-   (remove-store-references target)))
-   (find-files (string-append libc "/lib")
-   "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|util).*\\.so(\\..*)?|libc_nonshared\\.a)$"))
-
- (copy-recursively (string-append libc "/include") incdir)
-
- ;; Copy some of the Linux-Libre headers that glibc headers
- ;; refer to.
- (mkdir (string-append incdir "/linux"))
- (for-each (lambda (file)
- (copy-file (string-append linux "/include/linux/" file)
-(string-append incdir "/linux/"
-   (basename file
-   '("limits.h" "errno.h" "socket.h" "kernel.h"
- "sysctl.h" "param.h" "ioctl.h" "types.h"
- "posix_types.h" "stddef.h"))
-
- (copy-recursively (string-append linux "/include/asm")
-   (string-append incdir "/asm"))
- (copy-recursively (string-append linux "/include/asm-generic")
-   (string-append incdir "/asm-generic"))
-
- #t
-  (inputs `(("libc" ,(let ((target (%current-target-system)))
+   (use-modules (

Re: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd systems.

2016-06-16 Thread Manolis Ragkousis
Hello,

Here is the updated patch.

On 06/12/16 19:38, Ludovic Courtès wrote:
> Could you move this procedure, as well as xgnumach-headers and co., to
> the top level?  That way there’d be less “clutter” in the definition of
> ‘cross-libc’ itself.  WDYT?

I created (guix build cross-base) which exports cross-mig,
cross-kernel-headers and cross-libc-for-target, which is what we need to
produce a working cross-libc.  Cross-mig is only used when target is
GNU/Hurd.

> 
> Other than that it LGTM, but if, and only if, you can verify that this
> does not cause any regression for other cross-compilation targets.
> Normally this should not change derivations at all so you don’t even
> need to build them.  Just run this:
> 
>   ./pre-inst-env guix build gcc --target=mips64el-linux-gnu -d
> 
> both before and after the change, and the result should be the same .drv
> file name.

The derivations are not the same so I will have to build it and see if
it works. I will report back on that.

Thank you,
Manolis
From f8aedd6fdb1b3f9a93c1786c29f7fc7e40eea7a1 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Thu, 16 Jun 2016 16:13:22 +0300
Subject: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd
 systems.

* guix/build/cross-base.scm: New file.  Add cross-mig, cross-kernel-headers
  and cross-libc-for-target.
* gnu/packages/cross-base.scm (cross-libc): Use the new file.  Use
  cross-libc-for-target.
  [arguments]: Add 'KERNEL/lib' to 'CROSS_LIBRARY_PATH'.
  [propagated-inputs]: Use "cross-kernel-headers" to determine the correct headers.
  [native-inputs]: Use "cross-mig" when target is GNU/Hurd.
* Makefile.am (MODULES): Add it.
---
 Makefile.am |   1 +
 gnu/packages/cross-base.scm | 111 +++-
 guix/build/cross-base.scm   | 205 
 3 files changed, 255 insertions(+), 62 deletions(-)
 create mode 100644 guix/build/cross-base.scm

diff --git a/Makefile.am b/Makefile.am
index 50cde52..44838d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -103,6 +103,7 @@ MODULES =	\
   guix/build/emacs-utils.scm			\
   guix/build/graft.scm\
   guix/build/bournish.scm			\
+  guix/build/cross-base.scm \
   guix/search-paths.scm\
   guix/packages.scm\
   guix/import/utils.scm\
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 718e56e..be7870a 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <l...@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <m...@netris.org>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <jann...@gnu.org>
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis...@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,9 +31,11 @@
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build cross-base)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 regex)
   #:export (cross-binutils
 cross-libc
 cross-gcc))
@@ -290,75 +293,59 @@ GCC that does not target a libc; otherwise, target that libc."
  (xbinutils (cross-binutils target)))
   "Return a libc cross-built for TARGET, a GNU triplet.  Use XGCC and
 XBINUTILS and the cross tool chain."
-  (define xlinux-headers
-(package (inherit linux-libre-headers)
-  (name (string-append (package-name linux-libre-headers)
-   "-cross-" target))
+  (let ((libc (cross-libc-for-target target)))
+(package (inherit libc)
+  (name (string-append "glibc-cross-" target))
   (arguments
(substitute-keyword-arguments
-   `(#:implicit-cross-inputs? #f
- ,@(package-arguments linux-libre-headers))
+   `(;; Disable stripping (see above.)
+ #:strip-binaries? #f
+
+ ;; This package is used as a target input, but it should not have
+ ;; the usual cross-compilation inputs since that would include
+ ;; itself.
+ #:implicit-cross-inputs? #f
+
+ ;; We need SRFI 26.
+ #:modules ((guix build gnu-build-system)
+(guix build utils)
+(srfi srfi-26))
+
+ ,@(package-arguments libc))
+ ((#:configure-flags flags)
+  `(cons ,(string-append "--host=" target)
+ ,flags))
  ((#:phases phases)
-  `(alist-replace
-'build
-(lambda _
-  (setenv "ARCH" ,(system->linux-architecture target))
-  (format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH"

Re: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd systems.

2016-06-12 Thread Manolis Ragkousis
Hello everyone,

The previous version of my patch was not using target to correctly
determine which glibc to inherit. It was using %current-target-system
which caused me many problems.

With this version I modified it to use cross-libc-for-target so there
will not be any problems in case %current-target-system is not set.

Thank you,
Manolis


From 92689506f1969ac67631f77024511a5c96f341e8 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Wed, 8 Jun 2016 17:15:00 +0300
Subject: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd
 systems.

* gnu/packages/cross-base.scm (cross-libc): Add xgnumach-headers, xmig,
  xhurd-headers, xglibc/hurd-headers, xhurd-minimal, xhurd-core-headers,
  cross-kernel-headers and cross-libc-for-target.  Use "cross-libc-for-target"
  to determine the correct libc to use.
  [arguments]: Set "CROSS_LIBRARY_PATH".
  [propagated-inputs]: Use "cross-kernel-headers" to determine the correct headers.
  [native-inputs]: Use "cross-mig" when target is GNU/Hurd.
---
 gnu/packages/cross-base.scm | 226 
 1 file changed, 185 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 9d0f86a..a1e02c3 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <l...@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <m...@netris.org>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <jann...@gnu.org>
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis...@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages commencement)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -33,6 +35,7 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 regex)
   #:export (cross-binutils
 cross-libc
 cross-gcc))
@@ -311,53 +314,194 @@ XBINUTILS and the cross tool chain."
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-libre-headers)
 
-  (package (inherit glibc)
-(name (string-append "glibc-cross-" target))
-(arguments
- (substitute-keyword-arguments
- `(;; Disable stripping (see above.)
-   #:strip-binaries? #f
+  (define xgnumach-headers
+(package (inherit gnumach-headers)
+  (name (string-append (package-name gnumach-headers)
+   "-cross-" target))
 
-   ;; This package is used as a target input, but it should not have
-   ;; the usual cross-compilation inputs since that would include
-   ;; itself.
-   #:implicit-cross-inputs? #f
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ,@(package-native-inputs gnumach-headers)
+
+  (define xmig
+(package (inherit mig)
+  (name (string-append "mig-cross"))
+  (arguments
+   `(#:modules ((guix build gnu-build-system)
+(guix build utils)
+(srfi srfi-26))
+ #:phases (alist-cons-before
+   'configure 'set-cross-headers-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((mach (assoc-ref inputs "cross-gnumach-headers"))
+(cpath (string-append mach "/include")))
+   (for-each (cut setenv <> cpath)
+ '("CROSS_C_INCLUDE_PATH"
+   "CROSS_CPLUS_INCLUDE_PATH"
+   "CROSS_OBJC_INCLUDE_PATH"
+   "CROSS_OBJCPLUS_INCLUDE_PATH"
+   %standard-phases)
+ #:configure-flags (list ,(string-append "--target=" target))
+ ,@(package-arguments mig)))
+
+  (propagated-inputs `(("cross-gnumach-headers" ,xgnumach-headers)))
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ,@(package-native-inputs mig)
+
+  (define xhurd-headers
+(package (inherit hurd-headers)
+  (name (string-append (package-name hurd-headers)
+   "-cross-" target))
+
+  (propagated-inputs `(("cross-mig" ,xmig)))
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ("cross-mig" ,xmig)
+

[PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd systems.

2016-06-08 Thread Manolis Ragkousis
Hello everyone,

This is a simplified version of the patch from wip-hurd for core-updates.

I want to point some things out.

In this version we only have one cross-libc which inherits from the
correct libc in base.scm through the use of the glibc-macro.  This
simplifies things a lot.

-(propagated-inputs `(("kernel-headers" ,xlinux-headers)))
+(propagated-inputs `(("kernel-headers" ,(cross-kernel-headers
target

The correct headers are determined by (cross-kernel-headers target).

 (native-inputs `(("cross-gcc" ,xgcc)
  ("cross-binutils" ,xbinutils)
+ ,@(if (string-match (or "i586-pc-gnu" "i586-gnu")
target)
+   `(("cross-mig" ,xmig))
+   '())
  ,@(package-inputs glibc) ;FIXME: static-bash
  ,@(package-native-inputs glibc)

cross-mig is added only when target is i586-gnu or i586-pc-gnu.

@@ -343,12 +483,14 @@ XBINUTILS and the cross tool chain."
   "CROSS_CPLUS_INCLUDE_PATH"
   "CROSS_OBJC_INCLUDE_PATH"
   "CROSS_OBJCPLUS_INCLUDE_PATH"))
+  ;; We need this for GNU/Hurd.
+  (setenv "CROSS_LIBRARY_PATH" (string-append kernel "/lib"))
   #t))
   ,phases

When target is Hurd, we need to setup CROSS_LIBRARY_PATH for libpthread
to find libihash from hurd-core-headers/lib. The way I did it works for
Hurd and doesn't create any problems when targeting Linux.

-   ,@(package-arguments glibc))
+   ;; Package-arguments does not use the correct libc, so we use
+   ;; (cross-libc-for-target ...) to determine the correct one.
+   ,@(package-arguments (cross-libc-for-target target)))

,@(package-arguments glibc)) was not detecting the correct libc so I
used (cross-libc-for-target target) to fix that. Maybe there is a better
solution for this.

WDYT?

Thank you,
Manolis
From 63749df1aabfbceeefd500208bb66fb85a013e82 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Wed, 8 Jun 2016 17:15:00 +0300
Subject: [PATCH] gnu: cross-libc: Cross build the correct libc for GNU/Hurd
 systems.

* gnu/packages/cross-base.scm (cross-libc): Add xgnumach-headers, xmig,
  xhurd-headers, xglibc/hurd-headers, xhurd-minimal, xhurd-core-headers,
  cross-kernel-headers and cross-libc-for-target.
  [arguments]: Set "CROSS_LIBRARY_PATH".
  [propagated-inputs]: Use "cross-kernel-headers" to determine the correct headers.
  [native-inputs]: Use "cross-mig" when target is GNU/Hurd.
---
 gnu/packages/cross-base.scm | 149 +++-
 1 file changed, 147 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 58cd38b..db2e104 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <l...@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <m...@netris.org>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <jann...@gnu.org>
+;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis...@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages commencement)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -33,6 +35,7 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 regex)
   #:export (cross-binutils
 cross-libc
 cross-gcc))
@@ -311,6 +314,141 @@ XBINUTILS and the cross tool chain."
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-libre-headers)
 
+  (define xgnumach-headers
+(package (inherit gnumach-headers)
+  (name (string-append (package-name gnumach-headers)
+   "-cross-" target))
+
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ,@(package-native-inputs gnumach-headers)
+
+  (define xmig
+(package (inherit mig)
+  (name (string-append "mig-cross"))
+  (arguments
+   `(#:modules ((guix build gnu-build-system)
+(guix build utils)
+(srfi srfi-26))
+ #:phases (alist-cons-before
+   'configure 'set-cross-headers-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((mach (assoc-ref inputs "cross-gnumach-headers"

[PATCH] gnu: cross-gcc-arguments: Add Hurd-core-headers lib directory to the "CROSS_LIBRARY_PATH".

2016-06-08 Thread Manolis Ragkousis
Hello everyone,

Thanks to the previous patch for cross-libc, this patch is the only
change needed for cross-gcc to work properly when targeting GNU/Hurd.

Thank you,
Manolis

>From 77b12cc2aa1a79a2f15b96d80a14d76e3501aeb1 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Wed, 8 Jun 2016 17:46:19 +0300
Subject: [PATCH] gnu: cross-gcc-arguments: Add Hurd-core-headers lib directory
 to the "CROSS_LIBRARY_PATH".

* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Add Hurd-core-headers lib
directory to the "CROSS_LIBRARY_PATH".
---
 gnu/packages/cross-base.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index db2e104..fd2fc4e 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -187,7 +187,9 @@ may be either a libc package or #f.)"
   "CROSS_OBJC_INCLUDE_PATH"
   "CROSS_OBJCPLUS_INCLUDE_PATH")))
 (setenv "CROSS_LIBRARY_PATH"
-(string-append libc "/lib"))
+(string-append libc "/lib"
+   ;; We need this for GNU/Hurd.
+   ":" kernel "/lib"))
 (for-each
  (lambda (var)
(and=> (getenv var)
-- 
2.8.2



Re: [PATCH] gnu: base: Add glibc-for-target macro.

2016-06-07 Thread Manolis Ragkousis
Hello Ludo,

On 06/07/16 16:48, Ludovic Courtès wrote:
> LGTM, but please double-check that:
> 
>   ./pre-inst-env guix build inkscape -d
> 
> is the same both with and without the patch.

Yes it produced the same derivation.

> 
>> +(define-public glibc/hurd
>> +  ;; The Hurd's libc variant.
>> +  (package (inherit glibc/linux)
>> +(name "glibc-hurd")
> 
> I assume this definition was just moved higher in the file, right?

Yes it was just moved higher in the file so the macro could work properly.

Pushed to core-updates.

Thank you,
Manolis



Re: [PATCH] gnu: hurd: Remove inputs no longer needed and move configure flags.

2016-06-07 Thread Manolis Ragkousis
Hello Efraim,

On 06/07/16 15:19, Efraim Flashner wrote:
>> ;; Reduce set of dependencies.
>> -   "--without-parted")
>> +   "--without-parted"
>> +   "--disable-ncursesw"
>> +   "--disable-test"
>> +   "--without-libbz2"
>> +   "--without-libz"
>> +   "--without-parted"
> 
> you have "--withput-parted" twice in this list

Oops, I missed that. I will update it and push the patch to core-updates
as it will not cause any rebuilds.

Thank you,
Manolis



[PATCH] gnu: gnumach-headers: Use "--build=i586-pc-gnu" only when not cross-building.

2016-06-07 Thread Manolis Ragkousis
Hello,

This is another patch from wip-hurd for core-updates.

Thank you,
Manolis
>From 56c07fb4c8685e7705dccb4ac1814cb8a9c06451 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Tue, 7 Jun 2016 15:01:22 +0300
Subject: [PATCH] gnu: gnumach-headers: Use "--build=i586-pc-gnu" only when not
 cross-building.

* gnu/packages/hurd.scm (gnumach-headers)[arguments]: Use "--build=i586-pc-gnu"
  only when not cross-building.
---
 gnu/packages/hurd.scm | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 72e4061..a858194 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -55,7 +55,11 @@
 
   ;; GNU Mach supports only IA32 currently, so cheat so that we can at
   ;; least install its headers.
-  #:configure-flags '("--build=i686-pc-gnu")
+  ,@(if (%current-target-system)
+'()
+;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
+;; <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
+'(#:configure-flags '("--build=i586-pc-gnu")))
 
   #:tests? #f))
 (home-page "https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html;)
-- 
2.8.2



[PATCH] gnu: hurd: Remove inputs no longer needed and move configure flags.

2016-06-07 Thread Manolis Ragkousis
Hello,

This is another patch from wip-hurd modified for core-updates.

Thank you,
Manolis
>From 984de2d0e26b1ddd860d0468453ee8679ced756d Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Tue, 7 Jun 2016 14:45:55 +0300
Subject: [PATCH] gnu: hurd: Remove inputs no longer needed and move configure
 flags.

* gnu/packages/hurd.scm (hurd-minimal)[arguments]: Move configure-flags from here..
  (hurd-headers)[arguments]: ..to here.
  (hurd-headers, hurd-minimal)[native-inputs]: Remove "autoconf".
---
 gnu/packages/hurd.scm | 82 ++-
 1 file changed, 35 insertions(+), 47 deletions(-)

diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 2b2e162..72e4061 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -21,12 +21,12 @@
   #:use-module (guix download)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (guix git-download))
 
@@ -108,11 +108,7 @@ communication.")
 "1pbc4aqgzxvkgivw80ghp3w755cl0fwxmg357vq7chimj64jk78d"
 (build-system gnu-build-system)
 (native-inputs
- `(;; Autoconf shouldn't be necessary but there seems to be a bug in the
-   ;; build system triggering its use.
-   ("autoconf" ,autoconf)
-
-   ("mig" ,mig)))
+ `(("mig" ,mig)))
 (arguments
  `(#:phases (alist-replace
  'install
@@ -122,10 +118,20 @@ communication.")
 
#:configure-flags '(;; Pretend we're on GNU/Hurd; 'configure' wants
;; that.
-   "--build=i686-pc-gnu"
+   ,@(if (%current-target-system)
+  '()
+  '("--host=i586-pc-gnu"))
 
;; Reduce set of dependencies.
-   "--without-parted")
+   "--without-parted"
+   "--disable-ncursesw"
+   "--disable-test"
+   "--without-libbz2"
+   "--without-libz"
+   "--without-parted"
+   ;; Skip the clnt_create check because it expects
+   ;; a working glibc causing a circular dependency.
+   "ac_cv_search_clnt_create=no")
 
#:tests? #f))
 (home-page "http://www.gnu.org/software/hurd/hurd.html;)
@@ -140,46 +146,28 @@ Library and other user programs.")
 (name "hurd-minimal")
 (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers)))
 (native-inputs
- `(("autoconf" ,(autoconf-wrapper))
-   ("mig" ,mig)))
-
+ `(("mig" ,mig)))
 (arguments
- `(#:phases (alist-replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
-   (let ((out (assoc-ref outputs "out")))
- ;; We need to copy libihash.a to the output directory manually,
- ;; since there is no target for that in the makefile.
- (mkdir-p (string-append out "/include"))
- (copy-file "libihash/ihash.h"
-(string-append out "/include/ihash.h"))
- (mkdir-p (string-append out "/lib"))
- (copy-file "libihash/libihash.a"
-(string-append out "/lib/libihash.a"))
- #t))
- (alist-replace
-  'build
-  (lambda _
-(zero? (system* "make" "-Clibihash" "libihash.a")))
-  (alist-cons-before
-   'configure 'bootstrap
-   (lambda _
- (zero? (system* "autoreconf" "-vfi")))
-   %standard-phases)))
-   #:configure-flags '(;; Pretend we're on GNU/Hurd; 'configure' wants
-   ;; that.
-   "--host=i686-pc-gnu"
-
-   ;; Reduce set of dependencies.
-   "--disable-ncursesw"
-   "--disable-test"
-   "--without-libbz2"
-   "--without-libz"
-   "--without-pa

  1   2   3   >