Giter Club home page Giter Club logo

heirloom-project's Introduction

heirloom-project

the heirloom project provides traditional unix tools

original site: http://heirloom.sourceforge.net/

reason

i'd like to try to get this working with static compiled musl libc

sourceforge has been getting progressively flakier and cvs access/locking is hit or miss at best

status

use the musl branch

what works

compiling with a musl-cross-make toolchain should work for:

  • heirloom
  • heirloom-sh
  • heirloom-devtools
  • heirloom-doctools
  • heirloom-ex-vi
    • traditional vi (aka ex-vi): http://heirloom.sourceforge.net/vi.html
    • musl branch has sbrk() fixes, setup for ncurses, and is configured to install in /usr/local/heirloom
    • works for normal editing tasks but isn't extensively tested
    • for something else: vim, neovim, elvis, nvi, busybox vi, ...

build in that order - should just be a make && make install

compilation is static, meaning you need musl libc, libstdc++, etc, .a libs

layout

everything is installed under /usr/local/heirloom by default

item original path new path
default (no personality) bin /usr/5bin /usr/local/heirloom/bin
default sbin /usr/5bin /usr/local/heirloom/sbin
default lib directory /usr/5lib /usr/local/heirloom/lib
defualt man directory /usr/share/man/5man /usr/local/heirloom/share/man
default files /etc/default /usr/local/heirloom/etc/default
SVID3/SVR4-style binaries /usr/5bin /usr/local/heirloom/5bin/sv3
SVID4/SVR4.2-style binaries /usr/5bin/s42 /usr/local/heirloom/5bin/s42
POSIX.2/SUS-style binaries /usr/5bin/posix /usr/local/heirloom/5bin/posix
POSIX.1-2001/SUSv3-style binaries /usr/5bin/posix2001 /usr/local/heirloom/5bin/posix2001
SVR4 UCB-style binaries /usr/ucb /usr/local/heirloom/ucb
UCB-style libraries /usr/ucblib /usr/local/heirloom/ucblib
development binaries /usr/ccs/bin /usr/local/heirloom/ccs/bin
development lib directory /usr/ccs/lib /usr/local/heirloom/ccs/lib
development man directory /usr/ccs/share/man /usr/local/heirloom/ccs/share/man

path precedence

probably something like (suit 5bin subdir order to taste for your environment):

PATH=${PATH}:/usr/local/heirloom/5bin/posix2001
PATH=${PATH}:/usr/local/heirloom/5bin/posix
PATH=${PATH}:/usr/local/heirloom/ucb
PATH=${PATH}:/usr/local/heirloom/ccs/bin
PATH=${PATH}:/usr/local/heirloom/5bin/s42
PATH=${PATH}:/usr/local/heirloom/5bin/sv3
PATH=${PATH}:/usr/local/heirloom/sbin
PATH=${PATH}:/usr/local/heirloom/bin
export PATH

what doesn't work / todo

  • heirloom-pkgtools does not work and frankly i might not bother
  • heirloom-nail does not work
  • settime is a broken symlink to touch
  • troff and nroff probably need work
    • apply NROFF/TROFF base settings from heirloom-doctools/README in heirloom/man/man.dfl.in
  • htemp2 in heirloom/spell breaks parallel make
  • git submodules
  • unify SUSBIN into DEFBIN?
  • bison -y, flex, etc., vars/calls should be replaced with standard yacc, lex, etc.
  • internal /usr/local/heirloom paths should be avoided for install, etc.

repo info

this is a git import of an rsync export of a cvs repository

initial import

something like:

mkdir -p heirloom
cd heirloom
mkdir -p cvs
rsync -ai a.cvs.sourceforge.net::cvsroot/heirloom/. ./cvs/.
mkdir -p git
mkdir -p cvs2git-tmp
cd cvs
cvs2git --blobfile=../cvs2git-tmp/git-blob.dat --dumpfile=../cvs2git-tmp/git-dump.dat --username=cvs2git
cd ../git
git init --bare heirloom.git
cd heirloom.git
cat ../cvs2git-tmp/git-blob.dat ../cvs2git-tmp/git-dump.dat | git fast-import
git gc --prune=now
cd ..
mkdir -p clone
cd clone
git clone ../heirloom.git
cd heirloom
git remote remove origin
git remote add origin [email protected]:ryanwoodsmall/heirloom-project.git
git push -u origin master
git tag -a -m 'initial checkin of heirloom project from sourceforge rsync of cvs repos - cvs2git - github' 20180622-sf-rsync-cvs2git
git push origin --tags

links

heirloom-project's People

Contributors

ryanwoodsmall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.