Commit graph

24 commits

Author SHA1 Message Date
rillig
9637f7852e all: migrate homepages from http to https
pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
2020-01-26 17:30:40 +00:00
wiz
a2f94a859f nickle: update to 2.84.
Bump to version 2.84



    Construct a separate case for lexing '0' from other octal numbers

    This avoids needing code to identify this case within the octal number
    token generation code.



    Ignore '_' within numbers so it can be used as a separator

    Adopted from languages like Rust where this can be used to group
    digits in thousands for base-10 or power of two for base 2,8,16 to
    make them easier to read.

            123_456_789 = 123456789
            0xafff_1212 = 0xafff1212

    The patch makes both the lexer and string conversions support this.



    Add array initalizer tests



    Ignore SIGTTOU/SIGTTIN. Adjust TSTP processing

    When run as other than the master of a process group, nickle may not
    get all of its work done before the controlling shell takes over the
    tty and resets that control group. This means that any processing of
    terminal parameters may generate SIGTTOU/SIGTTIN signals, which end up
    re-entering the stop function and causing general chaos. Only SIG_IGN
    appears to appease the kernel into dealing with this case correctly.



    Make assignments to stdin/stdout/stderr affect C code

    Use values of these variables in the C code.



    Allow repeat initializers in implicit sized arrays for small dimensions

    When initializing an implicitly sized multi-dimensional array, permit
    repeat initializers ("...") to be used to fill out smaller dimensions.
    This is done by requiring that the maximum number of elements in each
    dimension be taken from an initalizer without a repeat element.

    This also requires allowing repeat initializers to be useful for
    resizable arrays, which required a change to the execution machinery
    as well.



    Remove incorrect tree walking in CompileSizeDimensions

    CompileSizeDimensions was incorrectly interpreting the tree structure
    for bare value nodes -- it is either passed an ARRAY, or a single
    expression value, which can either be a comprehension, an empty
    initializer or a simple expression. The simple expression case was
    incorrectly looking for a '...' element to the left, which cannot
    happen. It further recursed if it hadn't reached the end of the
    dimensions, which is pointless as that case will generate an
    error when the initializers are compiled later.

    Debian-bug: #911926


    Bump to version 2.83



    debian: Run CI tests from installed location (/usr/share/nickle/test)



    Install tests so they can be run later



    debian: Bump standards-version to 4.2.1



    Sign tarfiles. Check signature in debian/watch file.



    debian: Add autopkgtest CI script



    debian: Depend on debhelper version 11



    debian: Add debian/watch file

    Check to make sure debian package is up-to-date with upstream version.



    debian: Add hardening flag to debian/rules



    debian: Make debian/copyright conform to standard copyright-format



    debian: Add Homepage entry in debian/control



    debian: Bump compat to 11



    debian: Remove trailing whitespace from debian/changelog



    test: Remove spurious printf in check_exp test



    Spelling fixes in nickle.1.in

    expresion → expression
    formating → formatting



    Add AC_SYS_LARGEFILE to configure.ac

    This ensures that the correct macros to get large file support enabled
    are included in the config.h file.



    Include debian/source/format in tarball

    The tarball is used to build the debian package and without this file
    the resulting bits have a lintian warning.



    Update to version 2.82



    Add .gitignore and .dir-locals.el files



    Add tests for exp/log which cover a range of precisions

    These check log and exp with mathematical identities to see if they
    produce reasonable results at a range of precisions.



    Add Math::e_value. Fix exp and log precision error.

    e_value computes e to any desired precision.

    exp was incorrectly truncating the value just before the last
    computation step, which caused it to lose significant precision.

    log was range-reducing to 0-1 instead of 2-3, which put it outside the
    range of rapid convergence. It also needed another newtons method
    iteration step.



    Use mktime instead of timelocal

    timelocal is a glibc alias for mktime and isn't provided by the musl C
    library.
2018-12-02 06:49:24 +00:00
jperkin
9de2cbfbc5 nickle: Fix build on SunOS and systems without timelocal(). 2018-01-03 12:12:07 +00:00
wiz
25fd1a4921 nickle: update to 2.81.
Update to version 2.81


    test: Can't test for Y2038 fix because 32 bit machines

    glibc on all 32-bit machines fails the Y2038 test. Change that to use
    the maximum possible 32-bit value instead (sigh)


    Remove unused variable in builtin-date.c


    Add date conversion functions localtime, gmtime, timelocal, timegm

    These just wrap the C versions, except they report actual years,
    rather than years since 1900 and January is month 1, not 0.


    Add JSON tests


    Add floats to JSON module.

    Support floating point values in JSON input and output.


    Make nickle-tutorial.pdf build reproducibly

    Set TeX dates to RELEASE_DATE.
    Remove PDF /ID entry.
2017-11-23 16:15:23 +00:00
taca
9a541f8db4 Fix build problem on NetBSD 6.1_STABLE.
* Guard use of rl_catch_signals variable with "#if HAVE_RL_CATCH_SIGNALS".

Add comment in patch/patch-aa quote from last commit message.
2017-04-23 14:49:27 +00:00
wiz
06a02cc784 Updated nickle to 2.79.
Ensure data cache value array is aligned adequately

    Data caches are used to store pointers and other potentially long
    values. Make sure that the position of the values portion of the cache
    is aligned to a suitable address. Fixes a bus error on sparc64 machines.



    Building nickle on arm64 now, change package names
    built .deb and .rpm files are now amd64 instead of i386



    Update to version 2.78



    Also depend on bison and flex


    newer version of flex doesn't have yyunput

    This line was just removing a warning about yyunput unused; newer
    versions of flex don't even have that symbol anymore. Better to have a
    warning than fail to compile.



    Adapt tests to new automake requirements

    Automake now has a separate variable for the program to run the test
    scripts with, and breaks if you try to embed that in the
    TESTS_ENVIRONMENT variable, which used to be how this was done.



    Use 'G' format for elements when printing arrays in 'g' format

    This restricts array printing to just recurse one level.



    When using pointer as hash, first cast to intptr_t

    This avoids a compiler warning when pointers are not the same size as
    HashValues.



    Initialize 'replace' in NewTypedBox

    When left uninitialized, undefined results will occur. This caused a
    test failure on MIPS when being built with PIE support.

    Debian bug 857840.

    Reported-by: James Cowgill <jcowgill@debian.org>


    Open quote character is a single char, not a string

    When checking to see if a string needs to be dequoted, check the first
    character of the string against the quote character, rather than
    checking the whole string.

    Probably using strings for the quote markers wasn't the best API
    choice as this would have been caught by typechecking had the quote
    characters been an int instead.



    Define release date in configure.ac and use that instead of build date

    This avoids encoding the current date into the resulting output so
    that it can be reproduced.



    Add JSON input/output code



    Reverse data written in linked FileChains

    FileChains are linked in newest-in order, so they need to be written
    last-first.



    Add is_hash primitive

    Checks whether a value is a hash



    Abort karatsuba multiply in more places


    removed gratuitous -O2 from Makefile.am to let CFLAGS handle it


    Added a lightly-optimized choose(n, k) function to math.5c.

    The lack of a choose operator has continually bugged me;
    I've constantly rewritten it "the bad way". This is a
    lightly optimized version of that function that seems to
    handle most edge cases reasonably. It has only been tested a
    little bit.


    added check mode to sudoku solver


    cleaned up a bunch of sudoku solver stuff


    added edge cache to sudoku example


    tutorial: Close a couple of SGML tags

    nsgmls found a couple of unclosed tags which may make some versions
    of docbook tools unhappy.



    Fix release docs to use git log instead of git-log

    git-log disappeared a long time ago



    actually added Sudoku example


    added Sudoku generator example


    added sudoku example
2017-03-20 13:13:51 +00:00
agc
286ea2536c Add SHA512 digests for distfiles for math category
Problems found locating distfiles:
	Package dfftpack: missing distfile dfftpack-20001209.tar.gz
	Package eispack: missing distfile eispack-20001130.tar.gz
	Package fftpack: missing distfile fftpack-20001130.tar.gz
	Package linpack: missing distfile linpack-20010510.tar.gz
	Package minpack: missing distfile minpack-20001130.tar.gz
	Package odepack: missing distfile odepack-20001130.tar.gz
	Package py-networkx: missing distfile networkx-1.10.tar.gz
	Package py-sympy: missing distfile sympy-0.7.6.1.tar.gz
	Package quadpack: missing distfile quadpack-20001130.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 23:33:26 +00:00
obache
5fba3c08ba suppress detection of DOCBOOK, PR pkg/48115 2013-08-12 02:17:43 +00:00
ryoon
f8e628f818 * .include "../../devel/readline/buildlink3.mk" with USE_GNU_READLINE=yes
are replaced with .include "../../devel/readline/buildlink3.mk", and
  USE_GNU_READLINE are removed,

* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
  are replaced with .include "../../mk/readline.buildlink3.mk".
2013-07-15 02:02:17 +00:00
wiz
7b32066d91 DragonFly needs GNU readline here as well. PR pkg/47870 by David Shao. 2013-05-30 16:58:01 +00:00
wiz
b0eec5a1b6 Does not need GNU readline on 6.99.21+. 2013-05-29 09:06:02 +00:00
wiz
c86f638e43 Update to 2.77:
Update to version 2.77

    Fix RPM spec file to not install tutorial twice

    By default, the tutorial gets stuck in /usr/share/doc/nickle, while
    rpm wants it in /usr/shar/doc/nickle-<version>. Ignore the one in /usr/share/doc/nickle.

    doc: Expand tabs to spaces in .sgml files
    Makes code examples readable.

    Build tutorial when docbook2pdf is available
    And build it on debian

    tutorial: Use sgml entities instead of < and >

    Tutorial: twixt doesn't have an optional 'else' block
    This was a proposed feature that was removed

    Rename nickle tutorial to nickle-tutorial
    Makes any built files include 'nickle' by default

    corrected some Nickle Tour nits

    Handle OpFarJump in CompileReachable
    A FarJump within a catch block references instructions one or more
    frames outside of the instruction context. When checking for reachable
    code, look down inside the catch blocks to see if any of the FarJumps
    within them touch the target instruction.
    Fixes this example:
    void foo() {
    	for (;;)
    		try {
    		} catch uninitialized_value(string x) {
    			break;
    		}
    }
    Without this fix, the 'break' will not get noticed and no ReturnVoid
    will be appended to the object code for 'foo', leaving the break
    dangling in space.

    New instructions IsType and HasMember need entries in OpNames
    Otherwise, the array no longer matches the enum

    Fix VALIDATE_EXECUTION test code
    Needed ObjType defined.

    Update to 2.76

    Don't erase twixt pointer during JumpContinue until after stack copy
    Otherwise, if MemCollect occurs during the stack copy, the twixt's
    stack copy can get collected.

    Check for lost stack chunks
    If a stack chunk gets collected, the 'type' field will get
    cleared. Check to see if this has happened and abort.

    Add debug code to check thread validity during execution
    If something gets corrupted, it's useful to have this code to help
    track it down.

    Handle initializers with undefined types.
    Emit an error instead of crashing.

    Handle systems which don't define PATH_MAX (Hurd)
    This is a hack; a correct fix would involve actually allocating the
    correct length object.

    Version 2.75

    Delete ancient .cvsignore files
    Not exactly useful anymore

    Examples shouldn't be executable

    Fix Source URL in nickle.spec file
    Point at nickle.org, as appropriate.

    Make 'G' format limit array and struct recursion
    This makes stack traces tractable.

    Switch to dh for debian builds
    Vastly simplifies debian/rules...

    Stop printing recursive structs with 'g' format.
    This gets annoying really quickly, so just terminate the recursive
    struct printing right away.

    Handle ref types in &foo->bar operations
    For some reason, this case was left out of the usual ref type hacks

    Version 2.74

    Switch from debuild to pdebuild
    Catch more package building problems by using pbuilder.

    Fix Semaphore::wait logic (again) - partial means we've woken up
    The only way to run do_Semaphore::wait with 'partial' set to true is
    if the thread is waking up; in this case, the semaphore count may well
    be negative if other threads are also waiting. Ignore the count in
    this case and just complete the operation.

    Add explicit debian source format 3.0 (native)
    Keep lintian happy

    Clean up some debian lintian warnings

    Fix new FileVPrintf 'G' format comparison
    Was comparing the pointer to the representation enum. oops.

    Update debian/changelog for eventual 2.73 release

    git-log has become git log
    Needed to build ChangeLog

    Back autoconf requirement to 2.64 so debian stable can run it

    Shorten backtrace display
    Don't display composite values in backtraces so that the
    backtrace doesn't get flooded with giant values.

    Typecheck switch expressions
    Make sure switch expression and case expresssions are all type compatible.

    Add is_type and has_member built-ins
    These provide the ability to do run-time type comparisons without
    needing full introspection in the language.

    Add list.5c
    A useful data type

    add 'millis' function to return a clock in milliseconds.
    Useful when doing things with sleep

    Add Semaphore::count
    Useful for checking current semaphore value without
    modifying it.

    Clean up do_Semaphore_wait
    Make it clear that the semaphore count gets bumped down the first time
    into this function.

    Check for thread switch even if current thread is last
    Threads can switch due to semaphores or other signals; that can leave
    the current thread last in the run queue. Check for any case where
    running changes instead of only when the current thread isn't last.

    Make scanf not report valid conversion on blank input.
    scanf was incorrectly accepting " " as a valid number, returning a
    conversion of 0. Fix this by checking for empty strings in any numeric
    conversion.

    Add tests for scanf function
    Scanf incorrectly accepts blank strings for numbers; here's a pile
    of tests to validate various numeric input.

    Add sort and skiplist to standard nickle library
    These are too useful to just be examples

    Add gamma function

    Printing rational 0 in 'e' format doesn't need an exponent
    Computing a negative exponent requires a non-zero value, so just skip
    that if the value is zero

    NaturalGcd must return a Natural* when aborting
    It was returning One (an Integer) instead of one_natural;

    floor() and ceil() should work on imprecise floats
    They should return an approximate integer value instead of raising an exception.

    Set version to 2.73 in prepartion for eventually release

    Only call readline tty cleanup on signal readline is active
    If readline isn't active, the cleanup functions tend to make a mess of
    the tty state, so don't call them. This really only matters when
    handling SIGTSTP.

    Update to version 2.72

    Keep readline from catching signals
    This stops readline from catching signals, letting nickle handle them
    all by itself.

    Block in select instead of sigsuspend when waiting for I/O
    The kernel doesn't appear to reliably deliver SIGIO while the
    application is blocked, so sit in select instead of sigsuspend to make
    sure we hear about pending I/O.

    rename configure.in to configure.ac

    Switch version to 2.72 in preparation for an eventual release

    wait3 returns 0 when there's nothing left to do
    Don't keep looping when wait3 is done

    Update to version 2.71

    Clean up a pile of build warnings
    Signal return types, unused return values and stepping off the end of
    the typePrim array (the value of which was unused anyways).

    Catch attempts to use uninitialized pointer contents
    Dereferencing a pointer to uninitialized storage is an error, instead
    of passing this value along to callers, catch it immediately and raise
    an exception. Check for this case in the ++ and -- operators to
    generate a better error message (otherwise, we'll pass Void along and
    generate an error much later).

    Exit after two consecutive interrupts
    If the first interrupt isn't received by the nickle code,
    when the second one comes in, just exit

    Cleanup struct type changes

    Replace most parameterized macros with static inline functions
    Typechecking, decent compiler warnings and smaller code.

    Replace macros with static inline functions in value.h
    Actual type checking, and smaller compiler output to boot.

    Get rid of old-school variable length struct allocations
    This confuses the new _FORTIFY_SOURCE bits in GCC, so use the
    'sanctioned' form of placing a zero-length array at the end of the
    struct.
2013-05-26 20:14:48 +00:00
asau
b63c74fdfd "user-destdir" is default these days 2012-09-11 23:04:15 +00:00
drochner
c5ff2657d4 update to 2.70
sorry, no changelog available
2011-01-11 11:53:13 +00:00
tnn
844755f477 fix build issue with Sun Studio. It doesn't like void values as operators
to ternary expressions, even when the result is discarded.
While here, update to nickle-2.69. Only difference seems to be that
configry is generated with newer autotools.
2010-01-15 23:09:28 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
wiz
4a83e28745 Update to 2.68. Set LICENSE to mit.
Changes:
commit 815ea2aadc2644a426b87f8c4e41d58a01d50de0
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 21 02:31:29 2008 -0700

    Bump to version 2.68

commit e278cfc926e5cd2ee51c9e45a642b2803d93cceb
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 21 02:28:53 2008 -0700

    Bump debian standards to 3.8.0

commit d69f9ba5dbf231bf2c8ecd5ab55e550d11f5ebae
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Jun 21 02:28:34 2008 -0700

    Add README.release

commit 74d032db530e2441f47b68549d18a70956ddf601
Author: Keith Packard <keithp@keithp.com>
Date:   Mon May 19 13:22:11 2008 -0700

    Non-interactive stdin is always available for reading.

    Failing to set the 'stdinOwned' flag meant that you could never read from
    stdin which wasn't a terminal. Oops.

commit d0604e797cf194eb025a1784766ebea8cf38ec87
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 26 23:21:41 2008 -0700

    Allow background nickle to not poll on tty ownership

    When stdin is connected to a terminal but nickle is not the foreground
    process on that terminal, the io code would poll to wait for ownership to
    flip back to nickle so that reads could be performed without generating a
    signal. Now, nickle waits until someone actually tries to read from the
    terminal before starting to poll. This means that simple background
    processing nickle programs will not poll every 100ms.

commit fd8d02af5bf2884858108421fec40b8c7ca9863b
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 26 16:22:44 2008 -0700

    Remove support for non-SIGIO pipes

    Older version of the kernel (before 2001) failed to generate SIGIO on pipes,
    so nickle had code to poll instead. I think we can safely remove that code
    now.

commit 5106300e425315c5f753dd4e1bf2c1ff6d19db64
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Mar 21 12:31:00 2008 -0700

    Fix floating point printing to correctly round output

commit e7f78ce3e66259f0a08c0099de4b89ad739c03c8
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 20 10:56:38 2008 -0700

    Fix divide_by_zero exception type in fourfours.5c example

commit e00e48546d26c6e0c22c70cb7eb14e81c897c61e
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Mar 20 10:20:52 2008 -0700

    Make SRPM + RPM build work by serializing dependencies.

    $(SRPM) $(RPM): ...
    	build

    fails as it does 'build' twice.

commit 48e852689a43de236f93aa13172d31c8eb536fc1
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 23:24:45 2008 -0700

    Makefile fixes: make main.o depend on Makefile, ensure debuild actually does

commit 27ace3a23d90e8e5fe16b943743a8d9144cca7e6
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 23:12:13 2008 -0700

    Avoid having the 'pretty_print' builtin show two error messages.

    NamespaceLocate takes a 'complain' boolean that will print out an error
    message, but the pretty_print command also raises an exception when it fails
    to find the name. Two errors is at least one too many here.

commit 31e633b55cece8a6e46d763b2e51c974b450a12f
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 22:38:18 2008 -0700

    Rename the builtin Process namespace to PID to not conflict with the Process library

commit ffc553a721015347939cc07da4a81577d86093d0
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Mar 19 22:37:49 2008 -0700

    FileGetErrorMessage returns a Value, not a char *
2009-06-07 14:05:04 +00:00
wiz
272d51cc21 Recursive ABI depends update and PKGREVISION bump for readline-6.0 shlib
major change.

Reported by Robert Elz in PR 41345.
2009-05-20 00:58:05 +00:00
joerg
3b0d97b0de Add DESTDIR support. 2008-06-20 01:09:05 +00:00
drochner
b4f2312ddb update to 2.67
changes: some fixes and cleanup
2008-05-05 19:07:08 +00:00
wiz
f04dacd6a3 Fix typo in MAINTAINER. 2007-07-28 07:26:08 +00:00
drochner
4b3d134dea update to 2.58
changes:
* CCITT/ITU CRC-32 computation example
* changed import PRNG to autoimport
* get rid of archaic "v" print and scan functions
* fixed signededness bug in integer carry calculation
  (which was patched in pkgsrc)
2007-07-17 19:46:30 +00:00
drochner
756cbdf256 modify a fix (about signed integer overflow non-portability) so that
it matches the upstream version, to ease future updates
(no functional change)
2007-03-13 10:55:12 +00:00
drochner
12f3c6988d import nickle-2.56, another command line calculator, with scripting
language, can do arbitrary size integer and rational arithmetics
2007-02-22 20:35:38 +00:00