old-time 1.0.0.0 → 1.0.0.2
raw patch · 5 files changed
+445/−216 lines, 5 filesdep ~basenew-uploader
Dependency ranges changed: base
Files
- System/Time.hsc +38/−29
- config.guess +12/−9
- config.sub +23/−23
- install-sh +365/−153
- old-time.cabal +7/−2
System/Time.hsc view
@@ -1,3 +1,7 @@+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+-- XXX with some combinations of #defines we get warnings, e.g.+-- Warning: Defined but not used: `throwAwayReturnPointer'+ ----------------------------------------------------------------------------- -- | -- Module : System.Time@@ -8,10 +12,15 @@ -- Stability : provisional -- Portability : portable ----- The standard Time library, providing standard functionality for clock--- times, including timezone information (i.e, the functionality of--- \"@time.h@\", adapted to the Haskell environment). It follows RFC--- 1129 in its use of Coordinated Universal Time (UTC).+-- The standard time library from Haskell 98. This library is+-- deprecated, please look at "Data.Time" in the @time@ package+-- instead.+--+-- "System.Time" provides functionality for clock times, including+-- timezone information (i.e, the functionality of \"@time.h@\",+-- adapted to the Haskell environment). It follows RFC 1129 in its+-- use of Coordinated Universal Time (UTC).+-- ----------------------------------------------------------------------------- {-@@ -116,12 +125,11 @@ import Data.Ix import System.Locale-import System.IO.Unsafe+import Foreign #ifdef __HUGS__ import Hugs.Time ( getClockTimePrim, toCalTimePrim, toClockTimePrim ) #else-import Foreign import Foreign.C #endif @@ -263,11 +271,11 @@ -- may be either positive or negative. addToClockTime :: TimeDiff -> ClockTime -> ClockTime-addToClockTime (TimeDiff year mon day hour min sec psec) +addToClockTime (TimeDiff year mon day hour minute sec psec) (TOD c_sec c_psec) = let sec_diff = toInteger sec +- 60 * toInteger min ++ 60 * toInteger minute + 3600 * toInteger hour + 24 * 3600 * toInteger day (d_sec, d_psec) = (c_psec + psec) `quotRem` 1000000000000@@ -477,7 +485,7 @@ clockToCalendarTime_aux :: Bool -> Ptr CTm -> Integer -> IO CalendarTime clockToCalendarTime_aux is_utc p_tm psec = do sec <- (#peek struct tm,tm_sec ) p_tm :: IO CInt- min <- (#peek struct tm,tm_min ) p_tm :: IO CInt+ minute <- (#peek struct tm,tm_min ) p_tm :: IO CInt hour <- (#peek struct tm,tm_hour ) p_tm :: IO CInt mday <- (#peek struct tm,tm_mday ) p_tm :: IO CInt mon <- (#peek struct tm,tm_mon ) p_tm :: IO CInt@@ -485,10 +493,10 @@ wday <- (#peek struct tm,tm_wday ) p_tm :: IO CInt yday <- (#peek struct tm,tm_yday ) p_tm :: IO CInt isdst <- (#peek struct tm,tm_isdst) p_tm :: IO CInt- zone <- zone p_tm+ zone' <- zone p_tm tz <- gmtoff p_tm - tzname <- peekCString zone+ tzname' <- peekCString zone' let month | mon >= 0 && mon <= 11 = toEnum (fromIntegral mon) | otherwise = error ("toCalendarTime: illegal month value: " ++ show mon)@@ -498,12 +506,12 @@ month (fromIntegral mday) (fromIntegral hour)- (fromIntegral min)+ (fromIntegral minute) (fromIntegral sec) psec (toEnum (fromIntegral wday)) (fromIntegral yday)- (if is_utc then "UTC" else tzname)+ (if is_utc then "UTC" else tzname') (if is_utc then 0 else fromIntegral tz) (if is_utc then False else isdst /= 0)) #endif /* ! __HUGS__ */@@ -520,15 +528,15 @@ s <- toClockTimePrim (yr-1900) (fromEnum mon) mday hour min sec tz return (TOD (fromIntegral s) psec) #else /* ! __HUGS__ */-toClockTime (CalendarTime year mon mday hour min sec psec - _wday _yday _tzname tz isdst) =+toClockTime (CalendarTime year mon mday hour minute sec psec+ _wday _yday _tzname tz _isdst) = -- `isDst' causes the date to be wrong by one hour... -- FIXME: check, whether this works on other arch's than Linux, too... -- -- so we set it to (-1) (means `unknown') and let `mktime' determine -- the real value...- let isDst = -1 :: CInt in -- if isdst then (1::Int) else 0+ let isDst = -1 :: CInt in -- if _isdst then (1::Int) else 0 if psec < 0 || psec > 999999999999 then error "Time.toClockTime: picoseconds out of range"@@ -538,7 +546,7 @@ unsafePerformIO $ do allocaBytes (#const sizeof(struct tm)) $ \ p_tm -> do (#poke struct tm,tm_sec ) p_tm (fromIntegral sec :: CInt)- (#poke struct tm,tm_min ) p_tm (fromIntegral min :: CInt)+ (#poke struct tm,tm_min ) p_tm (fromIntegral minute :: CInt) (#poke struct tm,tm_hour ) p_tm (fromIntegral hour :: CInt) (#poke struct tm,tm_mday ) p_tm (fromIntegral mday :: CInt) (#poke struct tm,tm_mon ) p_tm (fromIntegral (fromEnum mon) :: CInt)@@ -558,9 +566,9 @@ -- to compensate, we add the timezone difference to mktime's -- result. -- - gmtoff <- gmtoff p_tm+ gmtoffset <- gmtoff p_tm let realToInteger = round . realToFrac :: Real a => a -> Integer- res = realToInteger t - fromIntegral tz + fromIntegral gmtoff+ res = realToInteger t - fromIntegral tz + fromIntegral gmtoffset return (TOD res psec) #endif /* ! __HUGS__ */ @@ -577,8 +585,8 @@ -- function. formatCalendarTime :: TimeLocale -> String -> CalendarTime -> String-formatCalendarTime l fmt (CalendarTime year mon day hour min sec _- wday yday tzname _ _) =+formatCalendarTime l fmt cal@(CalendarTime year mon day hour minute sec _+ wday yday tzname' _ _) = doFmt fmt where doFmt ('%':'-':cs) = doFmt ('%':cs) -- padding not implemented doFmt ('%':'_':cs) = doFmt ('%':cs) -- padding not implemented@@ -601,7 +609,7 @@ decode 'j' = show3 yday -- day of the year decode 'k' = show2' hour -- hours, 24-hour clock, no padding decode 'l' = show2' (to12 hour) -- hours, 12-hour clock, no padding- decode 'M' = show2 min -- minutes+ decode 'M' = show2 minute -- minutes decode 'm' = show2 (fromEnum mon+1) -- numeric month decode 'n' = "\n" decode 'p' = (if hour < 12 then fst else snd) (amPm l) -- am or pm@@ -610,7 +618,8 @@ decode 'T' = doFmt "%H:%M:%S" decode 't' = "\t" decode 'S' = show2 sec -- seconds- decode 's' = show2 sec -- number of secs since Epoch. (ToDo.)+ decode 's' = let TOD esecs _ = toClockTime cal in show esecs+ -- number of secs since Epoch. decode 'U' = show2 ((yday + 7 - fromEnum wday) `div` 7) -- week number, starting on Sunday. decode 'u' = show (let n = fromEnum wday in -- numeric day of the week (1=Monday, 7=Sunday) if n == 0 then 7 else n)@@ -630,7 +639,7 @@ decode 'x' = doFmt (dateFmt l) -- locale's preferred way of printing dates. decode 'Y' = show year -- year, including century. decode 'y' = show2 (year `rem` 100) -- year, within century.- decode 'Z' = tzname -- timezone name+ decode 'Z' = tzname' -- timezone name decode '%' = "%" decode c = [c] @@ -663,7 +672,7 @@ -- function. formatTimeDiff :: TimeLocale -> String -> TimeDiff -> String-formatTimeDiff l fmt td@(TimeDiff year month day hour min sec _)+formatTimeDiff l fmt (TimeDiff year month day hour minute sec _) = doFmt fmt where doFmt "" = ""@@ -677,7 +686,7 @@ 'B' -> fst (months l !! fromEnum month) 'b' -> snd (months l !! fromEnum month) 'h' -> snd (months l !! fromEnum month)- 'c' -> defaultTimeDiffFmt td+ 'c' -> defaultTimeDiffFmt 'C' -> show2 (year `quot` 100) 'D' -> doFmt "%m/%d/%y" 'd' -> show2 day@@ -686,7 +695,7 @@ 'I' -> show2 (to12 hour) 'k' -> show2' hour 'l' -> show2' (to12 hour)- 'M' -> show2 min+ 'M' -> show2 minute 'm' -> show2 (fromEnum month + 1) 'n' -> "\n" 'p' -> (if hour < 12 then fst else snd) (amPm l)@@ -703,7 +712,7 @@ '%' -> "%" c -> [c] - defaultTimeDiffFmt (TimeDiff year month day hour min sec _) =+ defaultTimeDiffFmt = foldr (\ (v,s) rest -> (if v /= 0 then show v ++ ' ':(addS v s)@@ -711,7 +720,7 @@ else "") ++ rest ) ""- (zip [year, month, day, hour, min, sec] (intervals l))+ (zip [year, month, day, hour, minute, sec] (intervals l)) addS v s = if abs v == 1 then fst s else snd s
config.guess view
@@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,+# Inc. -timestamp='2006-02-23'+timestamp='2006-07-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by@@ -210,7 +211,7 @@ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*)- echo powerppc-unknown-mirbsd${UNAME_RELEASE}+ echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}@@ -770,6 +771,8 @@ case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;+ amd64)+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac@@ -780,9 +783,6 @@ i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;;- i*:MSYS_NT-*:*:*)- echo ${UNAME_MACHINE}-pc-mingw32- exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32@@ -790,10 +790,10 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;;- x86:Interix*:[345]*)+ x86:Interix*:[3456]*) echo i586-pc-interix${UNAME_RELEASE} exit ;;- EM64T:Interix*:[345]*)+ EM64T:Interix*:[3456]*) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)@@ -831,6 +831,9 @@ arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;;+ avr32*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-gnu+ exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;;@@ -989,7 +992,7 @@ LIBC=gnulibc1 # endif #else- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun)+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout
config.sub view
@@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,-# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,+# Inc. -timestamp='2006-02-23'+timestamp='2006-07-02' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software@@ -240,7 +241,7 @@ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \@@ -248,7 +249,8 @@ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \- | m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \+ | m32c | m32r | m32rle | m68000 | m68k | m88k \+ | maxq | mb | microblaze | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \@@ -274,11 +276,11 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \- | sparcv8 | sparcv9 | sparcv9b \- | strongarm \+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \+ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \@@ -286,9 +288,6 @@ | z8k) basic_machine=$basic_machine-unknown ;;- m32c)- basic_machine=$basic_machine-unknown- ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown@@ -318,7 +317,7 @@ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \- | avr-* \+ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \@@ -329,7 +328,7 @@ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \- | m32r-* | m32rle-* \+ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \@@ -358,11 +357,11 @@ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \@@ -373,8 +372,6 @@ | ymp-* \ | z8k-*) ;;- m32c-*)- ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd)@@ -1128,7 +1125,7 @@ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;;- sparc | sparcv8 | sparcv9 | sparcv9b)+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra)@@ -1217,7 +1214,7 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \- | -skyos* | -haiku* | -rdos*)+ | -skyos* | -haiku* | -rdos* | -toppers*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*)@@ -1369,6 +1366,9 @@ # system, and we'll never get to this point. case $basic_machine in+ spu-*)+ os=-elf+ ;; *-acorn) os=-riscix1.2 ;;@@ -1378,9 +1378,9 @@ arm*-semi) os=-aout ;;- c4x-* | tic4x-*)- os=-coff- ;;+ c4x-* | tic4x-*)+ os=-coff+ ;; # This must come before the *-dec entry. pdp10-*) os=-tops20
install-sh view
@@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2003-09-24.23+scriptversion=2006-10-14.15 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the@@ -39,15 +39,24 @@ # when there is no Makefile. # # This script is compatible with the BSD install script, but was written-# from scratch. It can only install one file at a time, a restriction-# shared with many OS's install programs.+# from scratch. +nl='+'+IFS=" "" $nl"+ # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}"+if test -z "$doit"; then+ doit_exec=exec+else+ doit_exec=$doit+fi -# put in absolute paths if you don't have them in your path; or use env. vars.+# Put in absolute file names if you don't have them in your path;+# or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}"@@ -58,10 +67,13 @@ rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" -transformbasename=-transform_arg=-instcmd="$mvprog"-chmodcmd="$chmodprog 0755"+posix_glob=+posix_mkdir=++# Desired mode of installed file.+mode=0755++chmodcmd=$chmodprog chowncmd= chgrpcmd= stripcmd=@@ -70,22 +82,27 @@ src= dst= dir_arg=+dstarg=+no_target_directory= -usage="Usage: $0 [OPTION]... SRCFILE DSTFILE- or: $0 -d DIR1 DIR2...+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE+ or: $0 [OPTION]... SRCFILES... DIRECTORY+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...+ or: $0 [OPTION]... -d DIRECTORIES... -In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.-In the second, create the directory path DIR.+In the 1st form, copy SRCFILE to DSTFILE.+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.+In the 4th, create DIRECTORIES. Options:--b=TRANSFORMBASENAME--c copy source (using $cpprog) instead of moving (using $mvprog).+-c (ignored) -d create directories instead of installing files.--g GROUP $chgrp installed files to GROUP.--m MODE $chmod installed files to MODE.--o USER $chown installed files to USER.--s strip installed files (using $stripprog).--t=TRANSFORM+-g GROUP $chgrpprog installed files to GROUP.+-m MODE $chmodprog installed files to MODE.+-o USER $chownprog installed files to USER.+-s $stripprog installed files.+-t DIRECTORY install into DIRECTORY.+-T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. @@ -93,14 +110,9 @@ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " -while test -n "$1"; do+while test $# -ne 0; do case $1 in- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`- shift- continue;;-- -c) instcmd=$cpprog- shift+ -c) shift continue;; -d) dir_arg=true@@ -112,11 +124,17 @@ shift continue;; - --help) echo "$usage"; exit 0;;+ --help) echo "$usage"; exit $?;; - -m) chmodcmd="$chmodprog $2"+ -m) mode=$2 shift shift+ case $mode in+ *' '* | *' '* | *'+'* | *'*'* | *'?'* | *'['*)+ echo "$0: invalid mode: $mode" >&2+ exit 1;;+ esac continue;; -o) chowncmd="$chownprog $2"@@ -128,164 +146,358 @@ shift continue;; - -t=*) transformarg=`echo $1 | sed 's/-t=//'`- shift- continue;;+ -t) dstarg=$2+ shift+ shift+ continue;; - --version) echo "$0 $scriptversion"; exit 0;;+ -T) no_target_directory=true+ shift+ continue;; - *) if test -z "$src"; then- src=$1- else- # this colon is to work around a 386BSD /bin/sh bug- :- dst=$1- fi- shift- continue;;+ --version) echo "$0 $scriptversion"; exit $?;;++ --) shift+ break;;++ -*) echo "$0: invalid option: $1" >&2+ exit 1;;++ *) break;; esac done -if test -z "$src"; then- echo "$0: no input file specified." >&2- exit 1+if test $# -ne 0 && test -z "$dir_arg$dstarg"; then+ # When -d is used, all remaining arguments are directories to create.+ # When -t is used, the destination is already specified.+ # Otherwise, the last argument is the destination. Remove it from $@.+ for arg+ do+ if test -n "$dstarg"; then+ # $@ is not empty: it contains at least $arg.+ set fnord "$@" "$dstarg"+ shift # fnord+ fi+ shift # arg+ dstarg=$arg+ done fi -# Protect names starting with `-'.-case $src in- -*) src=./$src ;;-esac--if test -n "$dir_arg"; then- dst=$src- src=-- if test -d "$dst"; then- instcmd=:- chmodcmd=- else- instcmd=$mkdirprog- fi-else- # Waiting for this to be detected by the "$instcmd $src $dsttmp" command- # might cause directories to be created, which would be especially bad- # if $src (and thus $dsttmp) contains '*'.- if test ! -f "$src" && test ! -d "$src"; then- echo "$0: $src does not exist." >&2+if test $# -eq 0; then+ if test -z "$dir_arg"; then+ echo "$0: no input file specified." >&2 exit 1 fi+ # It's OK to call `install-sh -d' without argument.+ # This can happen when creating conditional directories.+ exit 0+fi - if test -z "$dst"; then- echo "$0: no destination specified." >&2- exit 1- fi+if test -z "$dir_arg"; then+ trap '(exit $?); exit' 1 2 13 15 + # Set umask so as not to create temps with too-generous modes.+ # However, 'strip' requires both read and write access to temps.+ case $mode in+ # Optimize common cases.+ *644) cp_umask=133;;+ *755) cp_umask=22;;++ *[0-7])+ if test -z "$stripcmd"; then+ u_plus_rw=+ else+ u_plus_rw='% 200'+ fi+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;+ *)+ if test -z "$stripcmd"; then+ u_plus_rw=+ else+ u_plus_rw=,u+rw+ fi+ cp_umask=$mode$u_plus_rw;;+ esac+fi++for src+do # Protect names starting with `-'.- case $dst in- -*) dst=./$dst ;;+ case $src in+ -*) src=./$src ;; esac - # If destination is a directory, append the input filename; won't work- # if double slashes aren't ignored.- if test -d "$dst"; then- dst=$dst/`basename "$src"`+ if test -n "$dir_arg"; then+ dst=$src+ dstdir=$dst+ test -d "$dstdir"+ dstdir_status=$?+ else++ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command+ # might cause directories to be created, which would be especially bad+ # if $src (and thus $dsttmp) contains '*'.+ if test ! -f "$src" && test ! -d "$src"; then+ echo "$0: $src does not exist." >&2+ exit 1+ fi++ if test -z "$dstarg"; then+ echo "$0: no destination specified." >&2+ exit 1+ fi++ dst=$dstarg+ # Protect names starting with `-'.+ case $dst in+ -*) dst=./$dst ;;+ esac++ # If destination is a directory, append the input filename; won't work+ # if double slashes aren't ignored.+ if test -d "$dst"; then+ if test -n "$no_target_directory"; then+ echo "$0: $dstarg: Is a directory" >&2+ exit 1+ fi+ dstdir=$dst+ dst=$dstdir/`basename "$src"`+ dstdir_status=0+ else+ # Prefer dirname, but fall back on a substitute if dirname fails.+ dstdir=`+ (dirname "$dst") 2>/dev/null ||+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$dst" : 'X\(//\)[^/]' \| \+ X"$dst" : 'X\(//\)$' \| \+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||+ echo X"$dst" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'+ `++ test -d "$dstdir"+ dstdir_status=$?+ fi fi-fi -# This sed command emulates the dirname command.-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`+ obsolete_mkdir_used=false -# Make sure that the destination directory exists.+ if test $dstdir_status != 0; then+ case $posix_mkdir in+ '')+ # Create intermediate dirs using mode 755 as modified by the umask.+ # This is like FreeBSD 'install' as of 1997-10-28.+ umask=`umask`+ case $stripcmd.$umask in+ # Optimize common cases.+ *[2367][2367]) mkdir_umask=$umask;;+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; -# Skip lots of stat calls in the usual case.-if test ! -d "$dstdir"; then- defaultIFS='- '- IFS="${IFS-$defaultIFS}"+ *[0-7])+ mkdir_umask=`expr $umask + 22 \+ - $umask % 100 % 40 + $umask % 20 \+ - $umask % 10 % 4 + $umask % 2+ `;;+ *) mkdir_umask=$umask,go-w;;+ esac - oIFS=$IFS- # Some sh's can't handle IFS=/ for some reason.- IFS='%'- set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`- IFS=$oIFS+ # With -d, create the new directory with the user-specified mode.+ # Otherwise, rely on $mkdir_umask.+ if test -n "$dir_arg"; then+ mkdir_mode=-m$mode+ else+ mkdir_mode=+ fi - pathcomp=+ posix_mkdir=false+ case $umask in+ *[123567][0-7][0-7])+ # POSIX mkdir -p sets u+wx bits regardless of umask, which+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.+ ;;+ *)+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - while test $# -ne 0 ; do- pathcomp=$pathcomp$1- shift- test -d "$pathcomp" || $mkdirprog "$pathcomp"- pathcomp=$pathcomp/- done-fi+ if (umask $mkdir_umask &&+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1+ then+ if test -z "$dir_arg" || {+ # Check for POSIX incompatibilities with -m.+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or+ # other-writeable bit of parent directory when it shouldn't.+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.+ ls_ld_tmpdir=`ls -ld "$tmpdir"`+ case $ls_ld_tmpdir in+ d????-?r-*) different_mode=700;;+ d????-?--*) different_mode=755;;+ *) false;;+ esac &&+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"+ }+ }+ then posix_mkdir=:+ fi+ rmdir "$tmpdir/d" "$tmpdir"+ else+ # Remove any dirs left behind by ancient mkdir implementations.+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null+ fi+ trap '' 0;;+ esac;;+ esac -if test -n "$dir_arg"; then- $doit $instcmd "$dst" \- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }+ if+ $posix_mkdir && (+ umask $mkdir_umask &&+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"+ )+ then :+ else -else- # If we're going to rename the final executable, determine the name now.- if test -z "$transformarg"; then- dstfile=`basename "$dst"`- else- dstfile=`basename "$dst" $transformbasename \- | sed $transformarg`$transformbasename+ # The umask is ridiculous, or mkdir does not conform to POSIX,+ # or it failed possibly due to a race condition. Create the+ # directory the slow way, step by step, checking for races as we go.++ case $dstdir in+ /*) prefix=/ ;;+ -*) prefix=./ ;;+ *) prefix= ;;+ esac++ case $posix_glob in+ '')+ if (set -f) 2>/dev/null; then+ posix_glob=true+ else+ posix_glob=false+ fi ;;+ esac++ oIFS=$IFS+ IFS=/+ $posix_glob && set -f+ set fnord $dstdir+ shift+ $posix_glob && set +f+ IFS=$oIFS++ prefixes=++ for d+ do+ test -z "$d" && continue++ prefix=$prefix$d+ if test -d "$prefix"; then+ prefixes=+ else+ if $posix_mkdir; then+ (umask=$mkdir_umask &&+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break+ # Don't fail if two instances are running concurrently.+ test -d "$prefix" || exit 1+ else+ case $prefix in+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;+ *) qprefix=$prefix;;+ esac+ prefixes="$prefixes '$qprefix'"+ fi+ fi+ prefix=$prefix/+ done++ if test -n "$prefixes"; then+ # Don't fail if two instances are running concurrently.+ (umask $mkdir_umask &&+ eval "\$doit_exec \$mkdirprog $prefixes") ||+ test -d "$dstdir" || exit 1+ obsolete_mkdir_used=true+ fi+ fi fi - # don't allow the sed command to completely eliminate the filename.- test -z "$dstfile" && dstfile=`basename "$dst"`+ if test -n "$dir_arg"; then+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1+ else - # Make a couple of temp file names in the proper directory.- dsttmp=$dstdir/_inst.$$_- rmtmp=$dstdir/_rm.$$_+ # Make a couple of temp file names in the proper directory.+ dsttmp=$dstdir/_inst.$$_+ rmtmp=$dstdir/_rm.$$_ - # Trap to clean up those temp files at exit.- trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0- trap '(exit $?); exit' 1 2 13 15+ # Trap to clean up those temp files at exit.+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - # Move or copy the file name to the temp name- $doit $instcmd "$src" "$dsttmp" &&+ # Copy the file name to the temp name.+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - # and set any options; do chmod last to preserve setuid bits.- #- # If any of these fail, we abort the whole thing. If we want to- # ignore errors from any of these, just make sure not to ignore- # errors from the above "$doit $instcmd $src $dsttmp" command.- #- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&+ # and set any options; do chmod last to preserve setuid bits.+ #+ # If any of these fail, we abort the whole thing. If we want to+ # ignore errors from any of these, just make sure not to ignore+ # errors from the above "$doit $cpprog $src $dsttmp" command.+ #+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \+ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - # Now remove or move aside any old file at destination location. We- # try this two ways since rm can't unlink itself on some systems and- # the destination file might be busy for other reasons. In this case,- # the final cleanup might fail but the new file should still install- # successfully.- {- if test -f "$dstdir/$dstfile"; then- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \+ # Now rename the file to the real destination.+ { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ || {- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2- (exit 1); exit- }- else- :- fi- } &&+ # The rename failed, perhaps because mv can't rename something else+ # to itself, or perhaps because mv is so ancient that it does not+ # support -f. - # Now rename the file to the real destination.- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"-fi &&+ # Now remove or move aside any old file at destination location.+ # We try this two ways since rm can't unlink itself on some+ # systems and the destination file might be busy for other+ # reasons. In this case, the final cleanup might fail but the new+ # file should still install successfully.+ {+ if test -f "$dst"; then+ $doit $rmcmd -f "$dst" 2>/dev/null \+ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \+ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\+ || {+ echo "$0: cannot unlink or rename $dst" >&2+ (exit 1); exit 1+ }+ else+ :+ fi+ } && -# The final little trick to "correctly" pass the exit status to the exit trap.-{- (exit 0); exit-}+ # Now rename the file to the real destination.+ $doit $mvcmd "$dsttmp" "$dst"+ }+ } || exit 1++ trap '' 0+ fi+done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp)
old-time.cabal view
@@ -1,9 +1,10 @@ name: old-time-version: 1.0.0.0+version: 1.0.0.2 license: BSD3 license-file: LICENSE maintainer: libraries@haskell.org-synopsis: Time library.+synopsis: Time library+category: System description: This package provides the old time library. For new code, the new time library is recommended.@@ -18,6 +19,10 @@ extensions: CPP, ForeignFunctionInterface build-depends: base, old-locale nhc98-options: -K2M+extra-source-files:+ config.guess config.sub install-sh+ configure.ac configure+ include/HsTimeConfig.h.in extra-tmp-files: config.log config.status autom4te.cache include/HsTimeConfig.h