From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nils Gillmann Subject: Re: Packaging Inferno Date: Tue, 9 Oct 2018 17:55:25 +0000 Message-ID: <20181009175525.4ch3ml4qovjxiywg@abyayala> References: <87a7nssth1.fsf@GlaDOS.home> <87bm841tlx.fsf@gnu.org> <20181008134722.bulv4wn6up6dmvx2@abyayala> <87o9c3yrkq.fsf@GlaDOS.home> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55721) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9wEf-00023L-HR for guix-devel@gnu.org; Tue, 09 Oct 2018 13:55:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9wEY-0007kL-IB for guix-devel@gnu.org; Tue, 09 Oct 2018 13:55:55 -0400 Content-Disposition: inline In-Reply-To: <87o9c3yrkq.fsf@GlaDOS.home> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Diego Nicola Barbato Cc: guix-devel@gnu.org Diego Nicola Barbato transcribed 12K bytes: > Hello, > > Thank you for your feedback. > > Nils Gillmann writes: > > > Ludovic Courtès transcribed 1.9K bytes: > >> Hello Diego, > >> > >> Diego Nicola Barbato skribis: > >> > >> > I have written a package definition for Inferno and I would like to know > >> > if it would make sense to add it to Guix. I am asking because I am not > >> > sure if it is compatible with the FSDG (bundled fonts, trademarks, ...) > >> > and if it would be of any use to anyone. > >> > >> Removing the proprietary(?) fonts like you did sounds like the right > > @Ludo: The fonts I removed are copyright Bigelow & Holmes. They are > licensed in a way that forbids them from being modified and distributed > except as part of Inferno (or software derived from Inferno) [1]. > > >> thing to do. As for trademarks, please see > >> > >> to determine whether there’s a problem at all. > > @Ludo: Judging from the link there seems to be no problem with the > trademarks after all. The bundled fonts (the ones I did not remove), > however, are provided in a format native to Inferno (and Plan 9) and can > not be rebuilt from source, which might be a problem according to this > [2] thread. > > >> Could you also check whether all the code is GPLv2+ like the ‘license’ > >> field suggests? > > @Ludo: According to the NOTICE files scattered through the source tree > and the Inferno home page [3] different parts of Inferno are licensed > under GPLv2+, LGPLv2+, Expat (MIT-template), Lucent Public License 1.02 > and Freetype. > Am I right to assume that I have to mention all of them in the ‘license’ > field even though the NOTICE in the root of the source tree [4] says > that the "collection" is governed by the GPLv2+? > I could not find the Lucent Public License [5] in the (guix licenses) > module. Should I add it or should I use ‘non-copyleft’? > > >> Do I get it right that the build result is a script that launches > >> Inferno as a GNU/Linux process? It seems like it could be useful. > > @Ludo: That is right. I got the script from here [6]. It starts the > window manager and logs in as the current user; it is supposed to > provide a convenient entry point to start exploring the system. > Alongside this script in %out/bin/ there is also a symlink to the emu > binary which is installed by ‘mk install’ under > %out/usr/inferno/Linux/386/bin/ (Linux/arm/bin on arm machines). This > directory contains several other executables. I am considering making > some of them (like the Limbo compiler) available under %out/bin in the > same way as emu. > > >> Some comments about the package definition: > >> > >> > (build-system trivial-build-system) > >> > (native-inputs `(("bash" ,bash) > >> > ("coreutils" ,coreutils) > >> > ("grep" ,grep) > >> > ("sed" ,sed) > >> > ("awk" ,gawk) > >> > ("xz" ,xz) > >> > ("tar" ,tar) > >> > ("gcc-toolchain" ,gcc-toolchain) )) > >> > (inputs `(("libx11" ,libx11) > >> > ("xorgproto" ,xorgproto) > >> > ("libxext" ,libxext))) > >> > >> Like Efraim wrote, I think using ‘gnu-build-system’ would allow you to > >> simplify the package definition. > > @Ludo: My first attempt at writing the package definition used > ‘gnu-build-system’. I switched to ‘trivial-build-system’ when I realised > that most phases in %standard-phases were ill suited for building > inferno. I will try to rewrite the definition using ‘gnu-build-system’. > > >> > ;; build mk > >> > (invoke "./makemk.sh") > >> > >> It would be ideal if we had a separate package for ‘mk’ (I suppose it > >> can run on POSIX systems, right?). > > @Ludo: This is Plan 9's mk (their version of make), which, I believe, > can run on POSIX systems. Though, if we were to add mk to Guix, i would > rather package the one provided by Plan 9 from Userspace [7] since that > project seems to be more active than Inferno. > > > I can finish my mk package and send it in. > > My mk is the canonical set of mk files as used by bmake. > > Sources are from http://crufty.net/help/sjg/mk-files.htm > > and/or places linked from there. > > > > If this matches the mk mentioned here, I can create this patch. > > @Nils: Your mk package seems to be unrelated to Plan 9's mk. Aha! I have it in 9base, which I have also packaged. At least according to the README in the 9base/mk/ folder it should be compatible. Now I don't know if we want all of 9base... I would leave analyis of that to you. If 9base on its own does not work, I can extract mk or create a package which just builds mk and gets rid of the other files. https://git.suckless.org/9base I haven't checked but would assume that differences exist between 9base (altough it states plan9 + inferno os) and inferno os mk. > >> Once you’ve double-checked the licensing and trademark situation, I > >> think you can go ahead and submit it as a patch (or two patches, with > >> ‘mk’ separately). > >> > >> Thanks! > >> > >> Ludo’. > >> > > Greetings, > > Diego > > > [1]: > > [2]: https://lists.gnu.org/archive/html/bug-guix/2018-10/msg00010.html > [3]: http://inferno-os.org/inferno/licence.html > [4]: > > [5]: https://www.gnu.org/licenses/license-list.html#lucent102 > [6]: https://www.ueber.net/who/mjl/inferno/getting-started.html > [7]: https://9fans.github.io/plan9port/