Bug 254553 - [NEW PORT] emulators/dps8m: simh based simulator for the Honeywell h6180/dps8m Multics processor
Summary: [NEW PORT] emulators/dps8m: simh based simulator for the Honeywell h6180/dps8...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Daniel Engberg
URL: https://gitlab.com/dps8m/dps8m
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-25 15:04 UTC by Gian-Simon Purkert
Modified: 2021-12-23 21:22 UTC (History)
1 user (show)

See Also:


Attachments
dps8m shar Archive (3.54 KB, text/plain)
2021-03-25 15:04 UTC, Gian-Simon Purkert
no flags Details
Patch for dps8m (WIP) (4.13 KB, patch)
2021-04-05 10:48 UTC, Daniel Engberg
no flags Details | Diff
Comilation on FB13 Fixed new Version (1.95 KB, text/plain)
2021-11-04 17:13 UTC, Gian-Simon Purkert
no flags Details
Patch for dps8m (WIP) v2 (2.67 KB, patch)
2021-12-07 22:44 UTC, Daniel Engberg
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gian-Simon Purkert 2021-03-25 15:04:48 UTC
Created attachment 223575 [details]
dps8m shar Archive

DPS8M is a simh based simulator for the Honeywell h6180/dps8m Multics processor.

One can run Multics MR12.5 and MR12.6 with it. 
The fastest start is to download Multics from here:

https://multics-wiki.swenson.org/index.php/Main_Page

https://s3.amazonaws.com/eswenson-multics/public/releases/MR12.6f/QuickStart_MR12.6f.zip

Extract QuickStart_MR12.6f.zip, cd into it and execute "dps8 MR12.6f_boot.ini"
Multics starts an you can login with telnet 127.0.0.1 6180.
Comment 1 Daniel Engberg freebsd_committer freebsd_triage 2021-04-03 21:49:51 UTC
Unless it's a static archive (this seems to be generated on the fly) please use the suggested way for Gitlab mentioned in the handbook.

Is the current ICU license incompatible with dps8m's otherwise I'd recommend you to define the same?
https://svnweb.freebsd.org/ports/head/devel/icu/Makefile?revision=558348&view=markup#l16
Comment 2 Gian-Simon Purkert 2021-04-03 22:10:19 UTC
>Is the current ICU license incompatible with dps8m's otherwise I'd recommend you to define the same?

I don't know, not a Lawyer, it is explicitly mentioned ICU 1.8.1 and later as you can read here:

https://gitlab.com/dps8m/dps8m/-/blob/master/LICENSE

Yes will change it to the "Gitlab-Way".
Comment 3 Gian-Simon Purkert 2021-04-04 09:33:56 UTC
The dist-files are made "on the fly", and are not resolvable thru the commit-hash.

Probably because Github to Gitlab migration, so for now i leave the shar as it is.
Comment 4 Daniel Engberg freebsd_committer freebsd_triage 2021-04-04 17:22:02 UTC
Hi,

That sounds a bit odd, the hash listed here doesn't work?
https://gitlab.com/dps8m/dps8m/-/tags/R2.0 --> https://gitlab.com/dps8m/dps8m/-/commit/2a56f38d5658458da870acee6d04e45c70b79ea5

Best regards,
Daniel
Comment 5 Gian-Simon Purkert 2021-04-04 20:07:09 UTC
Well try it, it's not found in the /archive directory.
Comment 6 Daniel Engberg freebsd_committer freebsd_triage 2021-04-05 06:47:38 UTC
Hi,

Are you following the instructions properly?
https://docs.freebsd.org/en/books/porters-handbook/book.html#makefile-master_sites-gitlab-description

Do note that you do not specify MASTER_SITES

Example:
https://gitlab.com/ecodis/exhale/-/releases/v1.1.3
https://svnweb.freebsd.org/ports/head/audio/exhale/Makefile?revision=567863&view=markup

Best regards,
Daniel
Comment 7 Gian-Simon Purkert 2021-04-05 10:29:53 UTC
>Are you following the instructions properly?

Yes, both the simple and the "more" complete.
Comment 8 Daniel Engberg freebsd_committer freebsd_triage 2021-04-05 10:48:08 UTC
Created attachment 223823 [details]
Patch for dps8m (WIP)

Use USE_GITLAB framework
Comment 9 Daniel Engberg freebsd_committer freebsd_triage 2021-04-05 10:48:56 UTC
Fails to compile on FreeBSD 13.0-RC1 (arm64)

...
LD dps8
ld: error: duplicate symbol: sim_vm_init
>>> defined at dps8_sys.c:107
>>>            ./dps8_sys.o:(sim_vm_init)
>>> defined at scp.c:397
>>>            scp.o:(.bss+0x120) in archive ../simh-master/simh.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [Makefile:304: dps8] Error 1
gmake[2]: *** [Makefile:344: locallibs_then_dps8] Error 2
gmake[2]: Leaving directory '/usr/ports/emulators/dps8m/work/dps8m-R2.0-2a56f38d5658458da870acee6d04e45c70b79ea5/src/dps8'
gmake[1]: *** [Makefile:11: all] Error 2
gmake[1]: Leaving directory '/usr/ports/emulators/dps8m/work/dps8m-R2.0-2a56f38d5658458da870acee6d04e45c70b79ea5'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/emulators/dps8m
Comment 10 Daniel Engberg freebsd_committer freebsd_triage 2021-04-05 10:52:27 UTC
A quick note regarding your patches, you shouldn't hardset compiler instead you should rely on the ports framework.

Best regards,
Daniel
Comment 11 Daniel Engberg freebsd_committer freebsd_triage 2021-09-12 09:02:09 UTC
Closing due to submitter timeout
Comment 12 Gian-Simon Purkert 2021-09-12 09:08:23 UTC
I would like to keep it open, the new version of Multics 12.7 was released some weeks ago, and i just wait until the corresponding version (2.01) of dps8m is getting released.

BTW the newest dps8m compiles now on FB13.
Comment 13 Daniel Engberg freebsd_committer freebsd_triage 2021-11-02 20:55:32 UTC
Looks like upstream got stuck at RC1?
https://gitlab.com/dps8m/dps8m/-/tags
Comment 14 Daniel Engberg freebsd_committer freebsd_triage 2021-11-02 20:56:21 UTC
I meant RC2 sorry :-/
Comment 15 Gian-Simon Purkert 2021-11-03 12:29:39 UTC
(In reply to Daniel Engberg from comment #14)

It's a bit special, let me explain.

First a new Multics Version is released (12.7), then the dps8m emulator gets optimized or extended for that release, but they are quite active i think:

https://gitlab.com/dps8m/dps8m/-/commits/master

2.1 will be the version for 12.7, whereas 2.0 was for 12.6f (f is the patch-version, .7 is the feature-version)
Comment 16 Gian-Simon Purkert 2021-11-04 17:13:23 UTC
Created attachment 229270 [details]
Comilation on FB13 Fixed new Version

-Removed patches (not needed anymore)
-Fix Compilation on FB13 (-fcommon -pthread)
-Added files (punch-card-reader and pdf-printer)
-Added default options from makefile (-Wall -g3 -O3 -fno-strict-aliasing)
Comment 17 Gian-Simon Purkert 2021-11-13 16:34:14 UTC
Hi Daniel,

Could you test the new 'shar'?
Comment 18 Gian-Simon Purkert 2021-12-07 09:58:27 UTC
Ping?
Comment 19 Daniel Engberg freebsd_committer freebsd_triage 2021-12-07 22:44:53 UTC
Created attachment 229966 [details]
Patch for dps8m (WIP) v2

Compile tested on 13-STABLE, 12.2-RELEASE
Comment 20 Daniel Engberg freebsd_committer freebsd_triage 2021-12-07 22:51:20 UTC
Hi,

Can you give this a try? I've adapted your patch to follow guidelines for ports and bumped it to latest commit upstream.

I'm not sure about the DISTVERSION string but that's a minor issue that's easily to change prior to commit.

I think we can stick with the same definition for ICU license as the icu port. Defined C/LDFLAGS are already set by upstream's Makefile so no need to have it in the ports Makefile.
Comment 21 Daniel Engberg freebsd_committer freebsd_triage 2021-12-10 00:36:52 UTC
I also got confirmation that the current style of DISTVERSION is the way to go :-)
Comment 22 Gian-Simon Purkert 2021-12-20 10:21:56 UTC
(In reply to Daniel Engberg from comment #21)

Hy Daniel,

Sorry for the late response, it works great thanks for the minor cleanup's LGTM!
Comment 23 commit-hook freebsd_committer freebsd_triage 2021-12-23 21:21:32 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e84b431b31bb3d65bb30934f2f6f42b3d80cc0f7

commit e84b431b31bb3d65bb30934f2f6f42b3d80cc0f7
Author:     Gian-Simon Purkert <gspurki@gmail.com>
AuthorDate: 2021-12-23 20:41:02 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2021-12-23 21:20:59 +0000

    emulators/dps8m: New port: 'SIMH' based simulator for the Honeywell h6180 / dps8m Multics processor

    PR:             254553
    Approved by:    mentors (implicit)

 emulators/Makefile                                |  1 +
 emulators/dps8m/Makefile (new)                    | 41 +++++++++++++++++++++++
 emulators/dps8m/distinfo (new)                    |  3 ++
 emulators/dps8m/files/patch-src_Makefile.mk (new) | 11 ++++++
 emulators/dps8m/pkg-descr (new)                   |  9 +++++
 5 files changed, 65 insertions(+)
Comment 24 Daniel Engberg freebsd_committer freebsd_triage 2021-12-23 21:22:52 UTC
Committed, thanks!