Skip to content

Commit

Permalink
make it work
Browse files Browse the repository at this point in the history
  • Loading branch information
skaji committed Jul 12, 2023
1 parent 4bb2b69 commit 65d5a5d
Show file tree
Hide file tree
Showing 16 changed files with 15,722 additions and 4,187 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: test

on:
push:
branches:
- '*'
tags-ignore:
- '*'
pull_request:

jobs:
macos:
name: macos ${{ matrix.perl }}
runs-on: macos-latest
strategy:
matrix:
include:
- perl: /usr/bin/perl
prove: /usr/bin/prove
cpm-option: --sudo
- perl: /usr/local/bin/perl
prove: /usr/local/bin/prove
cpm-option: ''
steps:
- uses: actions/checkout@v3
- name: perl -V
run: ${{ matrix.perl }} -V
- name: Install Dependencies
run: curl -fsSL --compressed https://raw.githubusercontent.com/skaji/cpm/main/cpm | ${{ matrix.perl }} - install -g ${{ matrix.cpm-option }} --with-develop --with-recommends --show-build-log-on-failure
- name: Build
run: ${{ matrix.perl }} Makefile.PL && make
- name: Run Tests
run: make test
2 changes: 2 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
Revision history for Perl extension Mac::FSEvents.

{{$NEXT}}

0.14 2017-12-02 09:30:00
- Look for macOS SDK under command line tools installation in addition to other places
- Fix building on Perl 5.26 and beyond (thanks, Fayland Lam!)
Expand Down
412 changes: 412 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

22 changes: 0 additions & 22 deletions MANIFEST

This file was deleted.

66 changes: 66 additions & 0 deletions META.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"abstract" : "Monitor a directory structure for changes",
"author" : [
"Andy Grundman, <andy@hybridized.org>"
],
"dynamic_config" : 0,
"generated_by" : "Dist::Zilla version 6.030, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : 2
},
"name" : "Mac-FSEvents",
"prereqs" : {
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"runtime" : {
"requires" : {
"perl" : "5.008008"
}
},
"test" : {
"requires" : {
"Test::More" : "0.99",
"autodie" : "0"
}
}
},
"provides" : {
"Mac::FSEvents" : {
"file" : "lib/Mac/FSEvents.pm",
"version" : "0.14"
},
"Mac::FSEvents::Event" : {
"file" : "lib/Mac/FSEvents/Event.pm"
}
},
"release_status" : "stable",
"resources" : {
"bugtracker" : {
"web" : "https://github.com/skaji/Mac-FSEvents/issues"
},
"homepage" : "https://github.com/skaji/Mac-FSEvents",
"repository" : {
"type" : "git",
"url" : "https://github.com/skaji/Mac-FSEvents.git",
"web" : "https://github.com/skaji/Mac-FSEvents"
}
},
"version" : "0.14",
"x_contributors" : [
"Doug Bell <madcityzen@gmail.com>",
"Fayland Lam <fayland@gmail.com>",
"Rob Hoelz <rob@hoelz.ro>",
"Shoichi Kaji <skaji@cpan.org>"
],
"x_generated_by_perl" : "v5.38.0",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.37",
"x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
}

37 changes: 0 additions & 37 deletions META.yml

This file was deleted.

30 changes: 0 additions & 30 deletions MacVersion.pm

This file was deleted.

171 changes: 77 additions & 94 deletions Makefile.PL
Original file line number Diff line number Diff line change
@@ -1,113 +1,96 @@
# This Makefile.PL for Mac-FSEvents was generated by
# Dist::Zilla::Plugin::MakeMaker::Awesome 0.49.
# Don't edit it but the dist.ini and plugins used to construct it.

use strict;
use warnings;

use 5.008008;
use ExtUtils::MakeMaker;
use ExtUtils::Constant qw(WriteConstants);
use lib '.';
use MacVersion;

use Config;

### Build Makefile with support for multiple EUMM versions
# Stolen from Tobyink and Chorny

my %params = (
NAME => 'Mac::FSEvents',
AUTHOR => 'Andy Grundman <andy@hybridized.org>, Rob Hoelz <rob@hoelz.ro>',
VERSION_FROM => 'lib/Mac/FSEvents.pm',
ABSTRACT_FROM => 'lib/Mac/FSEvents.pm',
LICENSE => 'perl',
META_MERGE => {
resources => {
repository => 'https://github.com/hoelzro/Mac-FSEvents',
},
},

LIBS => [''],
LDDLFLAGS => $Config{lddlflags} . ' -framework CoreServices -framework CoreFoundation',
DEFINE => '',
INC => '-I.',
PM => {
'lib/Mac/FSEvents.pm' => '$(INST_LIBDIR)/FSEvents.pm',
'lib/Mac/FSEvents/Event.pm' => '$(INST_LIBDIR)/FSEvents/Event.pm',
},

MIN_PERL_VERSION => '5.008008',
PREREQ_PM => {
strict => 0,
warnings => 0,
Exporter => 0,
base => 0,
},
TEST_REQUIRES => {
'Test::More' => 0.99, # subtest and done_testing
autodie => 0,
'IO::Select' => 0,
'Cwd' => 0,
'File::Path' => 0,
'File::Spec' => 0,
'File::Temp' => 0,
'Scalar::Util' => 0,
},
);

# Mangle the above params based on EUMM version
my $eumm_version=$ExtUtils::MakeMaker::VERSION;
$eumm_version=eval $eumm_version;
if ( $eumm_version < 6.6303 ) {
for my $param_name ( qw( TEST_REQUIRES CONFIGURE_REQUIRES ) ) {
next unless $params{ $param_name };
$params{BUILD_REQUIRES}={ %{$params{BUILD_REQUIRES} || {}} , %{$params{$param_name}} };
delete $params{$param_name};
}
}
use strict;
use warnings;

if ($params{BUILD_REQUIRES} and $eumm_version < 6.5503) {
$params{PREREQ_PM}={ %{$params{PREREQ_PM} || {}} , %{$params{BUILD_REQUIRES}} };
delete $params{BUILD_REQUIRES};
}

delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52;
delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48;
delete $params{META_MERGE} if $eumm_version < 6.46;
delete $params{META_ADD} if $eumm_version < 6.46;
delete $params{LICENSE} if $eumm_version < 6.31;
delete $params{AUTHOR} if $] < 5.005;
delete $params{ABSTRACT_FROM} if $] < 5.005;
delete $params{BINARY_LOCATION} if $] < 5.005;
use ExtUtils::Constant ();
use Config ();

WriteMakefile( %params );
if ($^O ne 'darwin') {
die "OS unsupported\n";
}

### Write the constants for this version of OS X
my @names = qw{
my @c_name = qw(
kFSEventStreamCreateFlagNone
kFSEventStreamCreateFlagWatchRoot
};

my ( $major, $minor, $release ) = osx_version();

if($minor >= 6) {
push @names, 'kFSEventStreamCreateFlagIgnoreSelf';

if($minor >= 7) {
push @names, 'kFSEventStreamCreateFlagFileEvents';
}
}

foreach my $element ( @names ) {
my $c_name = $element;
kFSEventStreamCreateFlagIgnoreSelf
kFSEventStreamCreateFlagFileEvents
);

my @name;
for my $c_name (@c_name) {
my $perl_name = $c_name;
$perl_name =~ s/kFSEventStreamCreateFlag//; # strip off leading name
$perl_name =~ s/([a-z])([A-Z])/"$1_$2"/ge; # convert camel case to underscores
$perl_name = uc($perl_name); # uppercase

$element = {
$perl_name = uc $perl_name; # uppercase
push @name, {
name => $perl_name,
value => $c_name,
macro => 1,
};
}

WriteConstants(
NAME => 'Mac::FSEvents',
NAMES => \@names,
ExtUtils::Constant::WriteConstants(
NAME => 'Mac::FSEvents',
NAMES => \@name,
);

my $lddlflags = join " ", grep { length $_ } (
$Config::Config{lddlflags},
"-framework CoreServices",
"-framework CoreFoundation",
);

my %args = (
LDDLFLAGS => $lddlflags,
);

my %WriteMakefileArgs = (
"ABSTRACT" => "Monitor a directory structure for changes",
"AUTHOR" => "Andy Grundman, <andy\@hybridized.org>",
"CONFIGURE_REQUIRES" => {
"ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "Mac-FSEvents",
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.008008",
"NAME" => "Mac::FSEvents",
"PREREQ_PM" => {},
"TEST_REQUIRES" => {
"Test::More" => "0.99",
"autodie" => 0
},
"VERSION" => "0.14",
"test" => {
"TESTS" => "t/*.t"
}
);

%WriteMakefileArgs = (
%WriteMakefileArgs,
%args,
);

my %FallbackPrereqs = (
"Test::More" => "0.99",
"autodie" => 0
);

unless ( eval { ExtUtils::MakeMaker->VERSION('6.63_03') } ) {
delete $WriteMakefileArgs{TEST_REQUIRES};
delete $WriteMakefileArgs{BUILD_REQUIRES};
$WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}

delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
unless eval { ExtUtils::MakeMaker->VERSION(6.52) };

WriteMakefile(%WriteMakefileArgs);

0 comments on commit 65d5a5d

Please sign in to comment.