diff options
author | Gaming4JC <g4jc@openmailbox.org> | 2015-07-24 19:43:01 -0400 |
---|---|---|
committer | Gaming4JC <g4jc@openmailbox.org> | 2015-07-24 19:43:01 -0400 |
commit | 2d8d40e1fa5a773573fddad7ab0be9857c3dceb5 (patch) | |
tree | 841b18c93ea77d7af0566465c103605495ffd8ed /pcr/gforth | |
parent | d65d43f3dca148eb7ab4f5e42bb8ef1511ee20c3 (diff) |
Adding gforth GNU project
Diffstat (limited to 'pcr/gforth')
-rw-r--r-- | pcr/gforth/PKGBUILD | 55 | ||||
-rw-r--r-- | pcr/gforth/PKGBUILD.sig | bin | 0 -> 543 bytes | |||
-rw-r--r-- | pcr/gforth/gforth.install | 5 | ||||
-rw-r--r-- | pcr/gforth/gforth.patch | 366 |
4 files changed, 426 insertions, 0 deletions
diff --git a/pcr/gforth/PKGBUILD b/pcr/gforth/PKGBUILD new file mode 100644 index 000000000..4625c721b --- /dev/null +++ b/pcr/gforth/PKGBUILD @@ -0,0 +1,55 @@ +# Maintainer: Luke R. <g4jc@openmailbox.org> GPG: rsa4096/3EAE8697 + +pkgname=gforth +pkgver=0.7.3 +pkgrel=1 +pkgdesc="Gforth is a GNU implementation of the FORTH programing language. It uses GCC to compile a fast direct or indirect threaded Forth; Gforth is fully ANS FORTH compliant." +arch=(i686 x86_64) +url="https://www.gnu.org/software/gforth/" +license=('GPL3') +makedepends=('gcc' 'autoconf' 'automake') +depends=('libffi') +optdepends=('texlive-core: make docs') +source=("https://ftp.gnu.org/gnu/gforth/$pkgname-$pkgver.tar.gz" +"https://ftp.gnu.org/gnu/gforth/$pkgname-$pkgver.tar.gz.sig" +'PKGBUILD.sig' +'PKGBUILD' +"$pkgname.patch" +"$pkgname.install") +install=("$pkgname.install") +validpgpkeys=('CB6E213A349B8DF9E96B622AC3F4FFCF3EAE8697' # PKGBUILD Maintainer's key +'E50D62D449FD0E193706C2358B820BB767007C30') # Bernd Paysan's key +sha512sums=('f034234acfb0fc727f28b564432219a100b916c6df4b847794a55b2fc3b8ed8714eca6de0df67c7c427b7c2bb4dd00f65cfd34e6eb60181e41ab84fea30304e4' +'33490f35551cecb5abf41b1fd2ae41eea13f57b64449cc39709f593cbd7a180df814fab5fb6c78718a17ffe918ae4ea82c50de884ac8429548d406940128834e' +'SKIP' +'SKIP' +'81a5cbd3016e88b3eddc08b57d73ebc9b245767404f982c82df38a1c8de051852a9a560dc726aa6a945907a4a9dfe0d16eb4bedb010e1949331a5a95d8708b13' +'c9537372978374e5f0b48e52bddcb08be0f57a7499277b7a0eca10c5e76e87a86fed0d0724e8fbfe3d88023d60a2109ffb697c519b23c411a3c0c7ba3f944335') + +pkgver() { +tar -ztvf $pkgname-$pkgver.tar.gz | head -n1 | awk '{print $6}' | sed "s/gforth-//" | sed "s/\///" # get latest version number +} + +prepare() { +patch -p0 < $srcdir/$pkgname.patch +## General cleanup patch for hardcoded and depreciated use of /usr/local in the source. We need to use /usr. +} + +build() { + gpg --verify PKGBUILD.sig PKGBUILD + echo "Note: If the GPG verification fails, import the PKGBUILD maintainer's GPG key. See: https://wiki.parabola.nu/GnuPG#Import_key" + whirlpoolsum=('e16e1dfcccc1f02855da9f53407feaeca66fbe64586373aa4e8916c6b9f1dbbd023e4cd7908c8e943d0700c094dbd5e387f6c0b92492bf4e1ecc23692cc63932') + [[ "$(openssl dgst -r -whirlpool $pkgname-$pkgver.tar.gz | awk '{print $1}')" = ${whirlpoolsum} ]] && echo "Whirlpool checksum passed." || { echo "Whirlpool checksum failed!!" ; exit 1; } # This is an added security layer. If SHA512 for some unlikely reason fails, whirlpool will check and abort if it too fails to match. + cd $pkgname-$pkgver + ./autogen.sh + ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --sbindir=/usr/bin + make + ## make doc # if you install optional dependencies feel free to uncomment this. Requires TeXLive. + make more +} + +package() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --sbindir=/usr/bin + make DESTDIR="$pkgdir/" install +}
\ No newline at end of file diff --git a/pcr/gforth/PKGBUILD.sig b/pcr/gforth/PKGBUILD.sig Binary files differnew file mode 100644 index 000000000..84d94a730 --- /dev/null +++ b/pcr/gforth/PKGBUILD.sig diff --git a/pcr/gforth/gforth.install b/pcr/gforth/gforth.install new file mode 100644 index 000000000..856966e20 --- /dev/null +++ b/pcr/gforth/gforth.install @@ -0,0 +1,5 @@ +post_install() { + echo "Running post-install libtool..." + libtool --finish /usr/lib/gforth/0.7.3/libcc-named/ + echo "Done!" +}
\ No newline at end of file diff --git a/pcr/gforth/gforth.patch b/pcr/gforth/gforth.patch new file mode 100644 index 000000000..fe05be2c3 --- /dev/null +++ b/pcr/gforth/gforth.patch @@ -0,0 +1,366 @@ +diff -ruN gforth-0.7.3/build-ec.in gforth-0.7.3-patched/build-ec.in +--- gforth-0.7.3/build-ec.in 2013-10-11 17:31:28.038991905 -0400 ++++ gforth-0.7.3-patched/build-ec.in 2015-07-24 16:25:00.008107177 -0400 +@@ -19,7 +19,7 @@ + + arch=$1 + +-./gforth --die-on-signal -m 4M -p ".:~+:." -i @kernel_fi@ exboot.fs -e 'fpath= .|~+|.' -e "s\" arch/$arch/mach.fs\"" ./kernel/main.fs -e "save-cross kernl-$arch.fi- /usr/local/bin/gforth-0.6.2-20060312 bye" ++./gforth --die-on-signal -m 4M -p ".:~+:." -i @kernel_fi@ exboot.fs -e 'fpath= .|~+|.' -e "s\" arch/$arch/mach.fs\"" ./kernel/main.fs -e "save-cross kernl-$arch.fi- /usr/bin/gforth-0.6.2-20060312 bye" + if [ -f `echo arch/$arch/mach.fs | sed s/fs/sh/` ] + then sh `echo arch/$arch/mach.fs | sed s/fs/sh/` kernl-$arch.fi + else cp -p kernl-$arch.fi- kernl-$arch.fi +diff -ruN gforth-0.7.3/configure gforth-0.7.3-patched/configure +--- gforth-0.7.3/configure 2014-06-13 18:52:28.488838343 -0400 ++++ gforth-0.7.3-patched/configure 2015-07-24 16:23:27.778934664 -0400 +@@ -569,7 +569,7 @@ + # + # Initializations. + # +-ac_default_prefix=/usr/local ++ac_default_prefix=/usr + ac_clean_files= + ac_config_libobj_dir=. + LIBOBJS= +@@ -5976,7 +5976,7 @@ + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-as_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin" ++as_dummy="$PATH:/sbin:/usr/sbin:/usr/bin" + for as_dir in $as_dummy + do + IFS=$as_save_IFS +diff -ruN gforth-0.7.3/configure.in gforth-0.7.3-patched/configure.in +--- gforth-0.7.3/configure.in 2014-06-13 18:52:10.408636383 -0400 ++++ gforth-0.7.3-patched/configure.in 2015-07-24 16:31:36.213823759 -0400 +@@ -659,7 +659,7 @@ + AC_CHECK_FILE($srcdir/arch/$machine/disasm.fs,[disasm_fs=arch/$machine/disasm.fs],) + AC_SUBST(disasm_fs) + +-AC_PATH_PROG(INSTALL_INFO,install-info,[echo '>>>>Please make info dir entry:'],$PATH:/sbin:/usr/sbin:/usr/local/sbin) ++AC_PATH_PROG(INSTALL_INFO,install-info,[echo '>>>>Please make info dir entry:'],$PATH:/sbin:/usr/sbin:/usr/bin) + + case "$host_os" in + *win32*) +diff -ruN gforth-0.7.3/doc/gforth.1 gforth-0.7.3-patched/doc/gforth.1 +--- gforth-0.7.3/doc/gforth.1 2013-10-11 17:31:28.043991965 -0400 ++++ gforth-0.7.3-patched/doc/gforth.1 2015-07-24 16:37:50.552874465 -0400 +@@ -75,7 +75,7 @@ + files instead of the default in the environment variable + \fCGFORTHPATH\fR + or the path specified at installation time (typically +-\fC/usr/local/lib/gforth:.\fR. A path is given as a ++\fC/usr/lib/gforth:.\fR. A path is given as a + .BR : -separated + list. + .TP +diff -ruN gforth-0.7.3/doc/gforth.ds gforth-0.7.3-patched/doc/gforth.ds +--- gforth-0.7.3/doc/gforth.ds 2013-10-11 17:31:28.047992013 -0400 ++++ gforth-0.7.3-patched/doc/gforth.ds 2015-07-24 16:39:59.918092652 -0400 +@@ -699,7 +699,7 @@ + Uses @i{path} for searching the image file and Forth source code files + instead of the default in the environment variable @code{GFORTHPATH} or + the path specified at installation time (e.g., +-@file{/usr/local/share/gforth/0.2.0:.}). A path is given as a list of ++@file{/usr/share/gforth/0.2.0:.}). A path is given as a list of + directories, separated by @samp{:} (on Unix) or @samp{;} (on other OSs). + + @cindex --dictionary-size, command-line option +@@ -1060,19 +1060,19 @@ + + @itemize @bullet + @item +-@file{/usr/local/bin/gforth} ++@file{/usr/bin/gforth} + @item +-@file{/usr/local/bin/gforthmi} ++@file{/usr/bin/gforthmi} + @item +-@file{/usr/local/man/man1/gforth.1} - man page. ++@file{/usr/man/man1/gforth.1} - man page. + @item +-@file{/usr/local/info} - the Info version of this manual. ++@file{/usr/info} - the Info version of this manual. + @item +-@file{/usr/local/lib/gforth/<version>/...} - Gforth @file{.fi} files. ++@file{/usr/lib/gforth/<version>/...} - Gforth @file{.fi} files. + @item +-@file{/usr/local/share/gforth/<version>/TAGS} - Emacs TAGS file. ++@file{/usr/share/gforth/<version>/TAGS} - Emacs TAGS file. + @item +-@file{/usr/local/share/gforth/<version>/...} - Gforth source files. ++@file{/usr/share/gforth/<version>/...} - Gforth source files. + @item + @file{.../emacs/site-lisp/gforth.el} - Emacs gforth mode. + @end itemize +@@ -4193,7 +4193,7 @@ + In common with many, if not most, Forth compilers, most of Gforth is + actually written in Forth. All of the @file{.fs} files in the + installation directory@footnote{For example, +-@file{/usr/local/share/gforth...}} are Forth source files, which you can ++@file{/usr/share/gforth...}} are Forth source files, which you can + study to see examples of Forth programming. + + Gforth maintains a history file that records every line that you type to +@@ -14890,7 +14890,7 @@ + and one for your program, @pxref{Select Tags Table,,Selecting a Tags + Table,emacs, Emacs Manual}). The TAGS file for the preloaded words is + @file{$(datadir)/gforth/$(VERSION)/TAGS} (e.g., +-@file{/usr/local/share/gforth/0.2.0/TAGS}). To get the best behaviour ++@file{/usr/share/gforth/0.2.0/TAGS}). To get the best behaviour + with @file{etags.fs}, you should avoid putting definitions both before + and after @code{require} etc., otherwise you will see the same file + visited several times by commands like @code{tags-search}. +@@ -15346,7 +15346,7 @@ + format: + + @example +-#! /usr/local/bin/gforth-0.4.0 -i ++#! /usr/bin/gforth-0.4.0 -i + @end example + + The file and pathname for the Gforth engine specified on this line is +@@ -15358,7 +15358,7 @@ + file into an executable. For example, if you place this text in a file: + + @example +-#! /usr/local/bin/gforth ++#! /usr/bin/gforth + + ." Hello, world" CR + bye +diff -ruN gforth-0.7.3/doc/gforth.info-1 gforth-0.7.3-patched/doc/gforth.info-1 +--- gforth-0.7.3/doc/gforth.info-1 2014-06-13 18:55:21.596773767 -0400 ++++ gforth-0.7.3-patched/doc/gforth.info-1 2015-07-24 16:45:39.191289764 -0400 +@@ -611,7 +611,7 @@ + Uses path for searching the image file and Forth source code files + instead of the default in the environment variable `GFORTHPATH' or + the path specified at installation time (e.g., +- `/usr/local/share/gforth/0.2.0:.'). A path is given as a list of ++ `/usr/share/gforth/0.2.0:.'). A path is given as a list of + directories, separated by `:' (on Unix) or `;' (on other OSs). + + `--dictionary-size size' +@@ -906,19 +906,19 @@ + When you install Gforth on a Unix system, it installs files in these + locations by default: + +- * `/usr/local/bin/gforth' ++ * `/usr/bin/gforth' + +- * `/usr/local/bin/gforthmi' ++ * `/usr/bin/gforthmi' + +- * `/usr/local/man/man1/gforth.1' - man page. ++ * `/usr/man/man1/gforth.1' - man page. + +- * `/usr/local/info' - the Info version of this manual. ++ * `/usr/info' - the Info version of this manual. + +- * `/usr/local/lib/gforth/<version>/...' - Gforth `.fi' files. ++ * `/usr/lib/gforth/<version>/...' - Gforth `.fi' files. + +- * `/usr/local/share/gforth/<version>/TAGS' - Emacs TAGS file. ++ * `/usr/share/gforth/<version>/TAGS' - Emacs TAGS file. + +- * `/usr/local/share/gforth/<version>/...' - Gforth source files. ++ * `/usr/share/gforth/<version>/...' - Gforth source files. + + * `.../emacs/site-lisp/gforth.el' - Emacs gforth mode. + +@@ -3637,7 +3637,7 @@ + (1) Actually, there are some subtle differences - see *note The Text + Interpreter::. + +- (2) For example, `/usr/local/share/gforth...' ++ (2) For example, `/usr/share/gforth...' + + + File: gforth.info, Node: Review - elements of a Forth system, Next: Where to go next, Prev: Forth is written in Forth, Up: Introduction +diff -ruN gforth-0.7.3/doc/gforth.info-2 gforth-0.7.3-patched/doc/gforth.info-2 +--- gforth-0.7.3/doc/gforth.info-2 2014-06-13 18:55:21.596773767 -0400 ++++ gforth-0.7.3-patched/doc/gforth.info-2 2015-07-24 16:38:36.466931266 -0400 +@@ -6271,7 +6271,7 @@ + (e.g., one for the Gforth sources and one for your program, *note + Selecting a Tags Table: (emacs)Select Tags Table.). The TAGS file for + the preloaded words is `$(datadir)/gforth/$(VERSION)/TAGS' (e.g., +-`/usr/local/share/gforth/0.2.0/TAGS'). To get the best behaviour with ++`/usr/share/gforth/0.2.0/TAGS'). To get the best behaviour with + `etags.fs', you should avoid putting definitions both before and after + `require' etc., otherwise you will see the same file visited several + times by commands like `tags-search'. +@@ -6686,7 +6686,7 @@ + just type image instead of `gforth -i image'. This works because every + `.fi' file starts with a line of this format: + +- #! /usr/local/bin/gforth-0.4.0 -i ++ #! /usr/bin/gforth-0.4.0 -i + + The file and pathname for the Gforth engine specified on this line is + the specific Gforth executable that it was built against; i.e. the value +@@ -6696,7 +6696,7 @@ + You can make use of the same shell capability to make a Forth source + file into an executable. For example, if you place this text in a file: + +- #! /usr/local/bin/gforth ++ #! /usr/bin/gforth + + ." Hello, world" CR + bye +diff -ruN gforth-0.7.3/engine/main.c gforth-0.7.3-patched/engine/main.c +--- gforth-0.7.3/engine/main.c 2013-10-11 17:31:28.059992157 -0400 ++++ gforth-0.7.3-patched/engine/main.c 2015-07-24 16:36:42.231671688 -0400 +@@ -285,7 +285,7 @@ + + #ifndef STANDALONE + /* image file format: +- * "#! binary-path -i\n" (e.g., "#! /usr/local/bin/gforth-0.4.0 -i\n") ++ * "#! binary-path -i\n" (e.g., "#! /usr/bin/gforth-0.4.0 -i\n") + * padding to a multiple of 8 + * magic: "Gforth3x" means format 0.6, + * where x is a byte with +diff -ruN gforth-0.7.3/engine/makefile.os2 gforth-0.7.3-patched/engine/makefile.os2 +--- gforth-0.7.3/engine/makefile.os2 2013-10-11 17:32:17.346584391 -0400 ++++ gforth-0.7.3-patched/engine/makefile.os2 2015-07-24 16:47:16.261883095 -0400 +@@ -64,7 +64,7 @@ + # ------------ Install directories + + VPATH = . +-prefix = /usr/local ++prefix = /usr + exec_prefix = ${prefix} + srcdir = . + bindir = ${exec_prefix}/bin +diff -ruN gforth-0.7.3/filedump.fs gforth-0.7.3-patched/filedump.fs +--- gforth-0.7.3/filedump.fs 2013-10-11 17:31:28.066992241 -0400 ++++ gforth-0.7.3-patched/filedump.fs 2015-07-24 16:24:19.888463467 -0400 +@@ -1,4 +1,4 @@ +-#! /usr/local/lib/gforth/0.2.0/kernel.fi ++#! /usr/lib/gforth/0.2.0/kernel.fi + \ file hex dump + + \ Copyright (C) 1997,2002,2003,2004,2007 Free Software Foundation, Inc. +diff -ruN gforth-0.7.3/fixpath.fs gforth-0.7.3-patched/fixpath.fs +--- gforth-0.7.3/fixpath.fs 2013-10-11 17:31:28.066992241 -0400 ++++ gforth-0.7.3-patched/fixpath.fs 2015-07-24 16:24:32.041688325 -0400 +@@ -19,7 +19,7 @@ + + ." Fixing " 2 arg type ." with " 1 arg type cr + +-: "search s" .:/usr/local" ; ++: "search s" .:/usr" ; + + include string.fs + +diff -ruN gforth-0.7.3/httpd.fs gforth-0.7.3-patched/httpd.fs +--- gforth-0.7.3/httpd.fs 2013-10-11 17:31:28.070992289 -0400 ++++ gforth-0.7.3-patched/httpd.fs 2015-07-24 16:24:09.921886137 -0400 +@@ -1,4 +1,4 @@ +-#! /usr/local/bin/gforth ++#! /usr/bin/gforth + + \ Copyright (C) 2000,2002,2003,2004,2006,2007,2008 Free Software Foundation, Inc. + +diff -ruN gforth-0.7.3/INSTALL gforth-0.7.3-patched/INSTALL +--- gforth-0.7.3/INSTALL 2013-10-11 17:31:27.998991424 -0400 ++++ gforth-0.7.3-patched/INSTALL 2015-07-24 16:30:42.148538914 -0400 +@@ -85,7 +85,7 @@ + + configure has the following useful parameters: + --prefix=PREFIX install architecture-independent files in PREFIX +- [default: /usr/local] ++ [default: /usr] + --exec-prefix=PREFIX install architecture-dependent files in PREFIX + [default: same as prefix] + --help: tells you about other parameters. +@@ -95,7 +95,7 @@ + + If you don't like the defaults for the installation directories, you + should override them already during configure. E.g., if you want to +-install in the /gnu hierarchy instead of in the default /usr/local ++install in the /gnu hierarchy instead of in the default /usr + hierarchy, say + + ./configure --prefix=/gnu +@@ -168,17 +168,17 @@ + + If you want to have some installation-specific files loaded when + Gforth starts (e.g., an assembler for your processor), put commands +-for loading them into /usr/local/share/gforth/site-forth/siteinit.fs ++for loading them into /usr/share/gforth/site-forth/siteinit.fs + (if the commands work for all architectures) or +-/usr/local/lib/gforth/site-forth/siteinit.fs (for ++/usr/lib/gforth/site-forth/siteinit.fs (for + architecture-specific commands); +-/usr/local/lib/gforth/site-forth/siteinit.fs takes precedence if both ++/usr/lib/gforth/site-forth/siteinit.fs takes precedence if both + files are present (unless you change the search path). The file names + given above are the defaults; if you have changed the prefix, you have +-to replace "/usr/local" in these names with your prefix. ++to replace "/usr" in these names with your prefix. + + By default, the installation procedure creates an empty +-/usr/local/share/gforth/site-forth/siteinit.fs if there is no such ++/usr/share/gforth/site-forth/siteinit.fs if there is no such + file. + + If you change the siteinit.fs file, you should run "make install" +@@ -203,8 +203,8 @@ + info files either from within Emacs (Ctrl-h i) or using the + stand-alone Info reader, 'info'. + +-If you use the default install root of '/usr/local' then the info +-files will be installed in '/usr/local/info'. ++If you use the default install root of '/usr' then the info ++files will be installed in '/usr/info'. + + Many GNU/Linux distributions are set up to put all of their + documentation in '/usr/info', in which case you might have to do a +@@ -214,8 +214,8 @@ + 1. Add an INFOPATH environment variable. The easiest place to do + this is '/etc/profile', right next to PATH and MANPATH: + +-INFOPATH=/usr/local/info:/usr/info ++INFOPATH=/usr/info:/usr/info + +-2. Create a file called 'dir' in 'usr/local/info'. Use the file ++2. Create a file called 'dir' in 'usr/info'. Use the file + '/usr/info/dir' as a template. You can add the line for gforth + manually, or use '/sbin/install-info' (man install-info for details). +diff -ruN gforth-0.7.3/INSTALL.BINDIST gforth-0.7.3-patched/INSTALL.BINDIST +--- gforth-0.7.3/INSTALL.BINDIST 2013-10-11 17:31:27.998991424 -0400 ++++ gforth-0.7.3-patched/INSTALL.BINDIST 2015-07-24 16:23:44.242117997 -0400 +@@ -21,7 +21,7 @@ + of the source distribution, and a few more, in particular the + executable `gforth'. The configuration options we used for creating it + can be seen in config.status. Basically, we use the default; among +-other things, this means installation in the /usr/local hierarchy; if ++other things, this means installation in the /usr hierarchy; if + this does not suit you, "make distclean" and continue by reading + INSTALL. + +diff -ruN gforth-0.7.3/makefile.os2 gforth-0.7.3-patched/makefile.os2 +--- gforth-0.7.3/makefile.os2 2013-10-11 17:32:17.338584295 -0400 ++++ gforth-0.7.3-patched/makefile.os2 2015-07-24 16:46:55.645099386 -0400 +@@ -120,7 +120,7 @@ + # ------------ Install Directories + + VPATH = . +-prefix = /usr/local ++prefix = /usr + exec_prefix = ${prefix} + srcdir = . + bindir = ${exec_prefix}/bin +diff -ruN gforth-0.7.3/mkos2mf.sed gforth-0.7.3-patched/mkos2mf.sed +--- gforth-0.7.3/mkos2mf.sed 2013-10-11 17:31:28.086992482 -0400 ++++ gforth-0.7.3-patched/mkos2mf.sed 2015-07-24 16:46:28.724939509 -0400 +@@ -28,7 +28,7 @@ + s%@LDFLAGS@%%g + s%@LIBS@%-lm %g + s%@exec_prefix@%${prefix}%g +-s%@prefix@%/usr/local%g ++s%@prefix@%/usr%g + s%@program_transform_name@%s,x,x,%g + s%@bindir@%${exec_prefix}/bin%g + s%@sbindir@%${exec_prefix}/sbin%g |