Menu

Tree [076486] default tip /
 History

Read Only access


File Date Author Commit
 vms_source 2015-08-12 John Malmberg John Malmberg [076486] missing gnv_callproc.c_first
 readme 2014-06-19 John Malmberg John Malmberg [3d388b] Initial commit

Read Me

This is a repository for the VMS files needed for developing cPython starting
with 3.5.

Per http://bugs.python.org/issue16136 and pep-11, all VMS specific code has
been removed from the development version of Python 3.

        "I'm not dead yet, I think I'll go for a walk"

A test build of that Python 3 code reveals that most of the issues that are
needed for it to be built on the VMS platform are either bugs in the VMS
CRTL or are libraries that do not currently exist on VMS.

As such, these are not issues that the Python programmers should need to
deal with.

This repository has been set up to allow a VMS port to proceed.  This is not
intended to be a fork of the Python 3 project, but instead just the support
libraries and procedures to build the python.org version.

The original unmodified Python 3 source is located at the Python.org site:
https://docs.python.org/devguide/setup.html.

You will need to check out that repository into a directory such as
trunk_root:[cpython].

A VMS concealed logical name of src_root: is used by the build procedure for
the reference directory.  As far as the build procedure is concerned the
src_root: directory tree is read only.  As such it can be common to multiple
system through a served disk.

  $define/job src_root trunk_root:/trans=conceal

All VMS specific files that are not checked in to the python.org repository
will be in this repository.

You will need to check out this repository to a directory such as
source_root:[cpython].

Most of the VMS files will be in the [cypython.vms_source.cpython] directory.

The source_root:[cpython.vms_source.cpython] directory is designed to be
overlayed over the trunk_root:[cpython] directory.

A VMS concealed logical name vms_root: is used by the build procedure for
accessing these source files.  As far as the build procedure is concerned the
vms_root: directory tree is read only.  As such it can be common to multiple
system through a served disk.

Assuming that SOURCE_ROOT: is disk$data_disk:[source_root.]:

  $define/job vms_root/trans=concealed -
     disk$data_disk:[source_root.cpython.vms_source.]

These are kept separate to make it easy to determine what VMS specific changes
where made and to allow retargeting the src_root: to a different version to
easily support maintaining multiple versions such as release, beta, at the
same time.

In general all VMS specific files will be under the vms_root:[.vms] directory
tree, as Python already has [.mac] and [.pc] directories.

The logical name of lcl_root: is used for the directory that will contain the
build products.  The lcl_root: directory tree is the only directory tree that
the build procedure should be modifying.  Each system that is sharing the
source directory trees should have their own lcl_root: directory tree.

  $define/job lcl_root/trans=conc disk$local_data:[alpha83_root.]

A logcal name search list of prj_root: is set to lcl_root:,vms_root:,src_root:
for building the package.

The build procedure on VMS is expected to require the GNV package with updates
as described in https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/

See discussion thread at:

https://sourceforge.net/p/vms-ports/discussion/portingprojects/thread/333ab40a/

Mercurial was chosen for the repository as it is common with the python.org
repository and there are VMS clients available for it.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.