Subject: Re: [bug#34034] [PATCH]: Add Bochs

From: Guy fleury <[email-masked]>
Date: Fri, 11 Jan 2019 06:52:31 +0100

hi

Le ven. 11 janv. 2019 à 00:42, Leo Famulari <[email-masked]> a écrit :

> On Thu, Jan 10, 2019 at 07:18:04PM +0100, Guy fleury wrote:
> > From 0380fab2ad7195407fc29afb830a86dbfae03b3f Mon Sep 17 00:00:00 2001
> > From: guy fleury iteriteka <[email-masked]>
> > Date: Thu, 10 Jan 2019 17:33:30 +0100
> > Subject: [PATCH] gnu: Add Bochs
>
> Thank you!
>
> > +    (outputs '("out"))
>
> This is the default, so it's okay to leave it out.
>
> > +     `(#:tests? #f)) ;; no tests exits
>
> "No tests exist"
>
> > +    (inputs
> > +     `(("glib" ,glib)
> > +       ("gtk+" ,gtk+)
> > +       ("libxrandr" ,libxrandr)))
>
> I noticed that it doesn't keep references to glib and gtk+:
>
> ------
> $  guix gc --references $(./pre-inst-env guix build --no-grafts bochs)
> /gnu/store/2dk55i5wdhcbh2z8hhn3r55x4873iyp1-libxext-1.3.3
> /gnu/store/3vlscch2sxybd34qx2ianpg92crm9akm-libxdmcp-1.1.2
> /gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib
> /gnu/store/6lwn8v33r2z2l2pgky2dnzim3696dwnn-libbsd-0.9.1
> /gnu/store/8baabfjazsr7s4y0jig1sn84xnxf75xa-libx11-1.6.6
> /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28
> /gnu/store/hnj08aavzpsi72wvi4qqrp5dqbyqxqqs-libxcb-1.13
> /gnu/store/mawqhgh0bdxpa4gjxs1fjyhwvv6i8w5g-libxau-1.0.8
> /gnu/store/mbbj3j86amqls868hip0l85q9lx8gbcn-libxrandr-1.5.1
> /gnu/store/x6fyr53k53sd5ghnh3abpnr1mqsy3xig-bochs-2.6.9
> /gnu/store/xrvwszmahcb7k2zcyag3vmqwswzrbvcg-libxrender-0.9.10
> ------
>
thanks for this tips.

> So, I think it's possible to omit those two inputs.
>
> > +     "Bochs is an emulator which can emulate Intel x86 CPU, common I/O
> > +devices, and a custom BIOS.  It can also compiled to emulate many
> different
>
> "It can also be compiled to ..."
>
> > +Bochs can running most Operating Systems inside the emulation including
> Linux,
> > +DOS or Microsoft Windows.")
>
> "Bochs can run most operating systems ..."
>
> > +    (license license:lgpl2.0)))
>
> I checked some of the source files and I think it is lgpl2.0+.
>
> Can you send an updated patch? :)
>
From ed8c4f10dd669de42539dc44437c5729230be59d Mon Sep 17 00:00:00 2001
From: guy fleury iteriteka <[email-masked]>
Date: Thu, 10 Jan 2019 17:33:30 +0100
Subject: [PATCH] gnu: Add Bochs

---
 gnu/packages/virtualization.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 274f827cd..6deda2e86 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2018 Danny Milosavljevic <[email-masked]>
 ;;; Copyright © 2018 Sou Bunnbu <[email-masked]>
 ;;; Copyright © 2018 Julien Lepiller <[email-masked]>
+;;; Copyright © 2019 Guy Fleury Iteriteka <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1058,3 +1059,30 @@ and the user can specify exactly what parts of the filesystem should be visible
 in the sandbox.  Any such directories specified is mounted nodev by default,
 and can be made readonly.")
     (license license:lgpl2.0+)))
+
+(define-public bochs
+  (package
+    (name "bochs")
+    (version "2.6.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://sourceforge.net/projects/bochs/files/bochs/"
+                           version "/bochs-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f)) ;; no tests exit
+    (inputs
+     `(("libxrandr" ,libxrandr)))
+    (home-page "http://bochs.sourceforge.net/")
+    (synopsis "Emulator for x86 PC")
+    (description
+     "Bochs is an emulator which can emulate Intel x86 CPU, common I/O
+devices, and a custom BIOS.  It can also be compiled to emulate many different
+x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors.
+Bochs can run most Operating Systems inside the emulation including Linux,
+DOS or Microsoft Windows.")
+    (license license:lgpl2.0+)))
-- 
2.19.2