Re: Declarative and Minimalistic Computing: CfP for FOSDEM 2024
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
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
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
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
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
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
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
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
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!
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
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
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
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
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
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
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
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?
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
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
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
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
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!
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
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!
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
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
Hello everyone, On 11/16/2017 12:13 PM, Ludovic Courtès wrote: > Hi Samuel, :-) > > Samuel Thibaultskribis: > >> 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
On 08/26/2017 03:04 PM, Ludovic Courtès wrote: > Leo Famulariskribis: > >> 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
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
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
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
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
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
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
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
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
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
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
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
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
Hello Rene, I am currently looking into that. Manolis
Re: [PATCH 2/2] gnu: Add the Hurd.
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.
Hello Rene, I pushed the patch to core-updates. Thank you, Manolis
Re: [PATCH 2/2] gnu: Add GNU Mach.
Awesome Rene, thank you. Manolis
Re: [PATCH] gnu: grep: Fix for gnulib library.
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.
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.
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
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
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
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 !!
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
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
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
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
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
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.
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.
Hello Kei, On 2 January 2017 at 22:11, Kei Kebreauwrote: > > 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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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!
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.
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.
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.
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.
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 DolstraDate: 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.
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.
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.
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
Congratulations Ricardo and best of luck with your new duties :-D Manolis
Re: FOSDEM 2016 was awesome! Let's do FOSDEM 2017
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.
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.
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
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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".
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.
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.
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.
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.
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