perl no longer builds on MacOS Classic
authorTom Hukins <tom@eborcom.com>
Wed, 11 Oct 2017 19:37:02 +0000 (19:37 +0000)
committerAaron Crane <arc@cpan.org>
Thu, 12 Oct 2017 08:23:21 +0000 (10:23 +0200)
ext/NDBM_File/Makefile.PL
ext/POSIX/t/posix.t
ext/POSIX/t/sigaction.t
ext/POSIX/t/time.t
pod/perlmodinstall.pod

index a8adbf0..fe2cb40 100644 (file)
@@ -4,5 +4,4 @@ WriteMakefile(
     LIBS => ["-L/usr/local/lib -lndbm", "-ldbm -lucb"],
     XSPROTOARG => '-noprototypes',             # XXX remove later?
     VERSION_FROM => 'NDBM_File.pm',
-    INC => ($^O eq "MacOS" ? "-i ::::db:include" : "")
 );
index 7b456c1..1b2dd40 100644 (file)
@@ -25,7 +25,6 @@ $| = 1;
 
 $Is_W32     = $^O eq 'MSWin32';
 $Is_Dos     = $^O eq 'dos';
-$Is_MacOS   = $^O eq 'MacOS';
 $Is_VMS     = $^O eq 'VMS';
 $Is_OS2     = $^O eq 'os2';
 $Is_UWin    = $^O eq 'uwin';
@@ -91,55 +90,51 @@ SKIP: {
     ok(! $sigset->ismember(1),  'POSIX::SigSet->delset' );
     ok(  $sigset->ismember(3),  'POSIX::SigSet->ismember' );
 
-    SKIP: {
-        skip("no kill() support on Mac OS", 4) if $Is_MacOS;
-
-        my $sigint_called = 0;
-
-       my $mask   = new POSIX::SigSet &SIGINT;
-       my $action = new POSIX::SigAction 'main::SigHUP', $mask, 0;
-       sigaction(&SIGHUP, $action);
-       $SIG{'INT'} = 'SigINT';
-
-       # At least OpenBSD/i386 3.3 is okay, as is NetBSD 1.5.
-       # But not NetBSD 1.6 & 1.6.1: the test makes perl crash.
-       # So the kill() must not be done with this config in order to
-       # finish the test.
-       # For others (darwin & freebsd), let the test fail without crashing.
-       # the test passes at least from freebsd 8.1
-       my $todo = $^O eq 'netbsd' && $Config{osvers}=~/^1\.6/;
-       my $why_todo = "# TODO $^O $Config{osvers} seems to lose blocked signals";
-       if (!$todo) { 
-         kill 'HUP', $$; 
-       } else {
-         print "not ok 9 - sigaction SIGHUP ",$why_todo,"\n";
-         print "not ok 10 - sig mask delayed SIGINT ",$why_todo,"\n";
-       }
-       sleep 1;
-
-       $todo = 1 if ($^O eq 'freebsd' && $Config{osvers} < 8)
-                 || ($^O eq 'darwin' && $Config{osvers} < '6.6');
-       printf "%s 11 - masked SIGINT received %s\n",
-           $sigint_called ? "ok" : "not ok",
-           $todo ? $why_todo : '';
-
-       print "ok 12 - signal masks successful\n";
-       
-       sub SigHUP {
-           print "ok 9 - sigaction SIGHUP\n";
-           kill 'INT', $$;
-           sleep 2;
-           print "ok 10 - sig mask delayed SIGINT\n";
-       }
+    my $sigint_called = 0;
+
+    my $mask   = new POSIX::SigSet &SIGINT;
+    my $action = new POSIX::SigAction 'main::SigHUP', $mask, 0;
+    sigaction(&SIGHUP, $action);
+    $SIG{'INT'} = 'SigINT';
+
+    # At least OpenBSD/i386 3.3 is okay, as is NetBSD 1.5.
+    # But not NetBSD 1.6 & 1.6.1: the test makes perl crash.
+    # So the kill() must not be done with this config in order to
+    # finish the test.
+    # For others (darwin & freebsd), let the test fail without crashing.
+    # the test passes at least from freebsd 8.1
+    my $todo = $^O eq 'netbsd' && $Config{osvers}=~/^1\.6/;
+    my $why_todo = "# TODO $^O $Config{osvers} seems to lose blocked signals";
+    if (!$todo) {
+      kill 'HUP', $$;
+    } else {
+      print "not ok 9 - sigaction SIGHUP ",$why_todo,"\n";
+      print "not ok 10 - sig mask delayed SIGINT ",$why_todo,"\n";
+    }
+    sleep 1;
 
-        sub SigINT {
-            $sigint_called++;
-       }
+    $todo = 1 if ($^O eq 'freebsd' && $Config{osvers} < 8)
+              || ($^O eq 'darwin' && $Config{osvers} < '6.6');
+    printf "%s 11 - masked SIGINT received %s\n",
+        $sigint_called ? "ok" : "not ok",
+        $todo ? $why_todo : '';
 
-        # The order of the above tests is very important, so
-        # we use literal prints and hard coded numbers.
-        next_test() for 1..4;
+    print "ok 12 - signal masks successful\n";
+
+    sub SigHUP {
+        print "ok 9 - sigaction SIGHUP\n";
+        kill 'INT', $$;
+        sleep 2;
+        print "ok 10 - sig mask delayed SIGINT\n";
+    }
+
+    sub SigINT {
+        $sigint_called++;
     }
+
+    # The order of the above tests is very important, so
+    # we use literal prints and hard coded numbers.
+    next_test() for 1..4;
 }
 
 SKIP: {
@@ -283,11 +278,8 @@ try_strftime("Fri Mar 31 00:00:00 2000 091", 0,0,0, 31,2,100);
     }
 }
 
-SKIP: {
-  skip("no kill() support on Mac OS", 1) if $Is_MacOS;
-  is (eval "kill 0", 0, "check we have CORE::kill")
-    or print "\$\@ is " . _qq($@) . "\n";
-}
+is (eval "kill 0", 0, "check we have CORE::kill")
+  or print "\$\@ is " . _qq($@) . "\n";
 
 # Check that we can import the POSIX kill routine
 POSIX->import ('kill');
@@ -415,7 +407,7 @@ if ($^O eq 'vos') {
 } else {
  $| = 0;
  # The following line assumes buffered output, which may be not true:
- print '@#!*$@(!@#$' unless ($Is_MacOS || $Is_OS2 || $Is_UWin || $Is_OS390 ||
+ print '@#!*$@(!@#$' unless ($Is_OS2 || $Is_UWin || $Is_OS390 ||
                             $Is_VMS ||
                            (defined $ENV{PERLIO} &&
                             $ENV{PERLIO} eq 'unix' &&
index 99bbb9f..0bbc436 100644 (file)
@@ -5,7 +5,7 @@ BEGIN{
        use Config;
        eval 'use POSIX';
        if($@ || $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'dos' ||
-          $^O eq 'MacOS' || ($^O eq 'VMS' && !$Config{'d_sigaction'})) {
+          ($^O eq 'VMS' && !$Config{'d_sigaction'})) {
                print "1..0\n";
                exit 0;
        }
index 6a906e0..4b10eb8 100644 (file)
@@ -22,7 +22,7 @@ SKIP: {
     # actually do anything.  Cygwin works in some places, but not others.  The
     # other Win32's below are guesses.
     skip "No tzset()", 2
-       if $^O eq "MacOS" || $^O eq "VMS" || $^O eq "cygwin" || $^O eq "djgpp" ||
+       if $^O eq "VMS" || $^O eq "cygwin" || $^O eq "djgpp" ||
           $^O eq "MSWin32" || $^O eq "dos" || $^O eq "interix";
     tzset();
     my @tzname = tzname();
index 86f9cf9..72728f6 100644 (file)
@@ -164,79 +164,6 @@ While still in that directory, type:
 
 =item *
 
-B<If you're using a Macintosh with "Classic" MacOS and MacPerl,>
-
-
-A. DECOMPRESS
-
-First, make sure you have the latest B<cpan-mac> distribution (
-L<http://www.cpan.org/authors/id/CNANDOR/> ), which has utilities for
-doing all of the steps.  Read the cpan-mac directions carefully and
-install it.  If you choose not to use cpan-mac for some reason, there
-are alternatives listed here.
-
-After installing cpan-mac, drop the module archive on the
-B<untarzipme> droplet, which will decompress and unpack for you.
-
-B<Or>, you can either use the shareware B<StuffIt Expander> program
-( L<http://my.smithmicro.com/mac/stuffit/> )
-or the freeware B<MacGzip> program (
-L<http://persephone.cps.unizar.es/general/gente/spd/gzip/gzip.html> ).
-
-B. UNPACK
-
-If you're using untarzipme or StuffIt, the archive should be extracted
-now.  B<Or>, you can use the freeware B<suntar> or I<Tar> (
-L<http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/> ).
-
-C. BUILD
-
-Check the contents of the distribution.
-Read the module's documentation, looking for
-reasons why you might have trouble using it with MacPerl.  Look for
-F<.xs> and F<.c> files, which normally denote that the distribution
-must be compiled, and you cannot install it "out of the box."
-(See L</"PORTABILITY">.)
-
-D. INSTALL
-
-If you are using cpan-mac, just drop the folder on the
-B<installme> droplet, and use the module.
-
-B<Or>, if you aren't using cpan-mac, do some manual labor.
-
-Make sure the newlines for the modules are in Mac format, not Unix format.
-If they are not then you might have decompressed them incorrectly.  Check
-your decompression and unpacking utilities settings to make sure they are
-translating text files properly.
-
-As a last resort, you can use the perl one-liner:
-
-    perl -i.bak -pe 's/(?:\015)?\012/\015/g' <filenames>
-
-on the source files.
-
-Then move the files (probably just the F<.pm> files, though there
-may be some additional ones, too; check the module documentation)
-to their final destination: This will
-most likely be in C<$ENV{MACPERL}site_lib:> (i.e.,
-C<HD:MacPerl folder:site_lib:>).  You can add new paths to
-the default C<@INC> in the Preferences menu item in the
-MacPerl application (C<$ENV{MACPERL}site_lib:> is added
-automagically).  Create whatever directory structures are required
-(i.e., for C<Some::Module>, create
-C<$ENV{MACPERL}site_lib:Some:> and put
-C<Module.pm> in that directory).
-
-Then run the following script (or something like it):
-
-     #!perl -w
-     use AutoSplit;
-     my $dir = "${MACPERL}site_perl";
-     autosplit("$dir:Some:Module.pm", "$dir:auto", 0, 1, 1);
-
-=item *
-
 B<If you're on the DJGPP port of DOS,>
 
    A. DECOMPRESS