[MacPorts] #44705: fswatch @1.3.9 submission
#44705: fswatch @1.3.9 submission -----------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Keywords: | Port: fswatch -----------------------------------+-------------------------------- -- Ticket URL: <https://trac.macports.org/ticket/44705> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Changes (by cal@…): * cc: cal@… (added) Comment: For github-based projects using the `github` PortGroup can simplify a lot of things. Unfortunately the only documentation is currently at the top of the PortGroup source code itself, which can be found at source:trunk/dports/_resources/port1.0/group/github-1.0.tcl. Please also consider marking your port `openmaintainer` as explained in https://guide.macports.org/#project.update-policies.nonmaintainer. -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by enrico.m.crisostomo@…): Replying to [comment:1 cal@…]:
For github-based projects using the `github` PortGroup can simplify a lot of things. Unfortunately the only documentation is currently at the top of the PortGroup source code itself, which can be found at source:trunk/dports/_resources/port1.0/group/github-1.0.tcl.
Please also consider marking your port `openmaintainer` as explained in https://guide.macports.org/#project.update-policies.nonmaintainer.
Thank you very much for your insights. I've updated the Portfile with the GitHub port group configuration and marked it as openmaintainer. Since I'm fswatch maintainer, am I becoming the port maintainer by submitting this port file or should I perform a separate request to become the port maintainer? (Note that I marked myself as maintainer in the port file). Cheers, -- Enrico -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Changes (by cal@…): * status: new => closed * resolution: => fixed Comment: Thanks, in r124129 without changes. You become the maintainer by submitting. No separate request is necessary. -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by cal@…): Failed on the Snow Leopard buildbot: {{{ checking whether /usr/bin/g++-4.2 supports C++11 features by default... no checking whether /usr/bin/g++-4.2 supports C++11 features with -std=c++11... no checking whether /usr/bin/g++-4.2 supports C++11 features with -std=c++0x... no configure: error: *** A compiler with support for C++11 language features is required. Command failed: cd "/opt/local/var/macports/build/_opt_mports_dports_sysutils_fswatch/fswatch/work/fswatch-1.3.9" && ./configure --prefix=/opt/local Exit code: 1 Error: Failed to configure fswatch, consult /opt/local/var/macports/build/_opt_mports_dports_sysutils_fswatch/fswatch/work/fswatch-1.3.9/config.log Error: org.macports.configure for port fswatch returned: configure failure: command execution failed }}} You should probably add `compiler.blacklist gcc-4.2` and possibly also `llvm-gcc-4.2`. Since `clang` didn't ship a C++ compiler when it was first introduced and MacPorts falls back to LLVM GCC 4.2 for C++ code, you should include the `compiler_blacklist_versions` portgroup and blacklist `{clang < 137}`. In total, your additions should probably contain {{{ PortGroup compiler_blacklist_versions 1.0 }}} and {{{ compiler.blacklist gcc-4.0 gcc-4.2 apple-gcc-4.2 llvm-gcc-4.2 {clang < 137} }}} -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by enrico.m.crisostomo@…): Replying to [comment:4 cal@…]:
Failed on the Snow Leopard buildbot:
{{{ checking whether /usr/bin/g++-4.2 supports C++11 features by default... no checking whether /usr/bin/g++-4.2 supports C++11 features with -std=c++11... no checking whether /usr/bin/g++-4.2 supports C++11 features with -std=c++0x... no configure: error: *** A compiler with support for C++11 language features is required. Command failed: cd "/opt/local/var/macports/build/_opt_mports_dports_sysutils_fswatch/fswatch/work/fswatch-1.3.9" && ./configure --prefix=/opt/local Exit code: 1 Error: Failed to configure fswatch, consult /opt/local/var/macports/build/_opt_mports_dports_sysutils_fswatch/fswatch/work/fswatch-1.3.9/config.log Error: org.macports.configure for port fswatch returned: configure failure: command execution failed }}}
You should probably add `compiler.blacklist gcc-4.2` and possibly also `llvm-gcc-4.2`. Since `clang` didn't ship a C++ compiler when it was first introduced and MacPorts falls back to LLVM GCC 4.2 for C++ code, you should include the `compiler_blacklist_versions` portgroup and blacklist `{clang < 137}`. In total, your additions should probably contain
{{{ PortGroup compiler_blacklist_versions 1.0 }}} and {{{ compiler.blacklist gcc-4.0 gcc-4.2 apple-gcc-4.2 llvm-gcc-4.2 {clang < 137} }}}
Thank you very much again. I updated the Portfile with your suggestions. I'll review the suggested compiler list ASAP. Unfortunately I haven't box any box running other OS X versions except Mavericks to try this build at the moment. Cheers, -- Enrico -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by cal@…): Since the `Portfile` has been committed now, please attach unified diffs against the current version in MacPorts for every update you submit. I don't have a SL box either, but I'd just commit this blind and let the buildbots test it. The port's broken on SL, so more testing doesn't do any harm. -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by enrico.m.crisostomo@…): Replying to [comment:6 cal@…]:
Since the `Portfile` has been committed now, please attach unified diffs against the current version in MacPorts for every update you submit.
I don't have a SL box either, but I'd just commit this blind and let the buildbots test it. The port's broken on SL, so more testing doesn't do any harm.
Thanks. I'm attaching the unified diff. Ok, let's the buildbots test it. :) Cheers, -- Enrico -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by cal@…): Committed in r124133. -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by cal@…): Oh well, it doesn't seem like fswatch works at all on 10.6; it seems to require APIs that were not present until 10.7: {{{ /opt/local/bin/clang++-mp-3.4 -DHAVE_CONFIG_H -I. -I/opt/local/include -pipe -Os -arch x86_64 -stdlib=libstdc++ -std=c++11 -Wall -MT poll_monitor.o -MD -MP -MF .deps/poll_monitor.Tpo -c -o poll_monitor.o poll_monitor.cpp mv -f .deps/event.Tpo .deps/event.Po /opt/local/bin/clang++-mp-3.4 -DHAVE_CONFIG_H -I. -I/opt/local/include -pipe -Os -arch x86_64 -stdlib=libstdc++ -std=c++11 -Wall -MT inotify_monitor.o -MD -MP -MF .deps/inotify_monitor.Tpo -c -o inotify_monitor.o inotify_monitor.cpp mv -f .deps/inotify_monitor.Tpo .deps/inotify_monitor.Po mv -f .deps/monitor.Tpo .deps/monitor.Po mv -f .deps/fswatch_log.Tpo .deps/fswatch_log.Po mv -f .deps/path_utils.Tpo .deps/path_utils.Po fsevent_monitor.cpp:49:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemCreated'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemCreated, event_flag::Created}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:50:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemRemoved'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemRemoved, event_flag::Removed}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:51:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemInodeMetaMod'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemInodeMetaMod, event_flag::PlatformSpecific}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:52:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemRenamed'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemRenamed, event_flag::Renamed}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:53:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemModified'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemModified, event_flag::Updated}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:54:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemFinderInfoMod'; did you mean 'kFSEventStreamEventFlagKernelDropped'? flags.push_back({ kFSEventStreamEventFlagItemFinderInfoMod, event_flag::PlatformSpecific}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagKernelDropped /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:310:3: note: 'kFSEventStreamEventFlagKernelDropped' declared here kFSEventStreamEventFlagKernelDropped = 0x00000004, ^ fsevent_monitor.cpp:55:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemChangeOwner'; did you mean 'kFSEventStreamEventFlagRootChanged'? flags.push_back({ kFSEventStreamEventFlagItemChangeOwner, event_flag::OwnerModified}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagRootChanged /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:344:3: note: 'kFSEventStreamEventFlagRootChanged' declared here kFSEventStreamEventFlagRootChanged = 0x00000020, ^ fsevent_monitor.cpp:56:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemXattrMod' flags.push_back({ kFSEventStreamEventFlagItemXattrMod, event_flag::AttributeModified}); ^ fsevent_monitor.cpp:57:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemIsFile' flags.push_back({ kFSEventStreamEventFlagItemIsFile, event_flag::IsFile}); ^ fsevent_monitor.cpp:58:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemIsDir'; did you mean 'kFSEventStreamEventFlagUnmount'? flags.push_back({ kFSEventStreamEventFlagItemIsDir, event_flag::IsDir}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUnmount /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:372:3: note: 'kFSEventStreamEventFlagUnmount' declared here kFSEventStreamEventFlagUnmount = 0x00000080 ^ fsevent_monitor.cpp:59:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemIsSymlink' flags.push_back({ kFSEventStreamEventFlagItemIsSymlink, event_flag::IsSymLink}); ^ fsevent_monitor.cpp:128:32: error: use of undeclared identifier 'kFSEventStreamCreateFlagFileEvents'; did you mean 'kFSEventStreamCreateFlagNoDefer'? kFSEventStreamCreateFlagFileEvents); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamCreateFlagNoDefer /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:237:3: note: 'kFSEventStreamCreateFlagNoDefer' declared here kFSEventStreamCreateFlagNoDefer = 0x00000002, ^ 12 errors generated. make[1]: *** [fsevent_monitor.o] Error 1 make[1]: *** Waiting for unfinished jobs.... }}} The compiler change was correct and worked, but there are other problems. I'd just disable building `fswatch` on all platforms earlier than 10.7: {{{#!diff Index: Portfile =================================================================== --- Portfile (revision 124133) +++ Portfile (working copy) @@ -25,3 +22,13 @@ checksums rmd160 929cf38c072ed3c5843bc08fd125d0697fecf6f9 \ sha256 f3e37317155dac122ebc4efef9236f273d03e85051bb2e63198ab5453b0a8c34 use_zip yes + +platform darwin { + # Doesn't build on SL due to missing APIs, see #44705 + if {${os.major} <= 10} { + pre-fetch { + ui_error "$name is not supported on Snow Leopard and earlier." + error "unsupported platform" + } + } +} }}} That makes the compiler blacklist basically useless, but it doesn't hurt to leave it in just in case. OK to commit? -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by enrico.m.crisostomo@…): Replying to [comment:9 cal@…]:
Oh well, it doesn't seem like fswatch works at all on 10.6; it seems to require APIs that were not present until 10.7:
{{{ /opt/local/bin/clang++-mp-3.4 -DHAVE_CONFIG_H -I. -I/opt/local/include -pipe -Os -arch x86_64 -stdlib=libstdc++ -std=c++11 -Wall -MT poll_monitor.o -MD -MP -MF .deps/poll_monitor.Tpo -c -o poll_monitor.o poll_monitor.cpp mv -f .deps/event.Tpo .deps/event.Po /opt/local/bin/clang++-mp-3.4 -DHAVE_CONFIG_H -I. -I/opt/local/include -pipe -Os -arch x86_64 -stdlib=libstdc++ -std=c++11 -Wall -MT inotify_monitor.o -MD -MP -MF .deps/inotify_monitor.Tpo -c -o inotify_monitor.o inotify_monitor.cpp mv -f .deps/inotify_monitor.Tpo .deps/inotify_monitor.Po mv -f .deps/monitor.Tpo .deps/monitor.Po mv -f .deps/fswatch_log.Tpo .deps/fswatch_log.Po mv -f .deps/path_utils.Tpo .deps/path_utils.Po fsevent_monitor.cpp:49:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemCreated'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemCreated, event_flag::Created}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here
kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:50:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemRemoved'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemRemoved, event_flag::Removed}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here
kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:51:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemInodeMetaMod'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemInodeMetaMod, event_flag::PlatformSpecific}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here
kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:52:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemRenamed'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemRenamed, event_flag::Renamed}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here
kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:53:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemModified'; did you mean 'kFSEventStreamEventFlagUserDropped'? flags.push_back({ kFSEventStreamEventFlagItemModified, event_flag::Updated}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUserDropped
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:309:3: note: 'kFSEventStreamEventFlagUserDropped' declared here
kFSEventStreamEventFlagUserDropped = 0x00000002, ^ fsevent_monitor.cpp:54:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemFinderInfoMod'; did you mean 'kFSEventStreamEventFlagKernelDropped'? flags.push_back({ kFSEventStreamEventFlagItemFinderInfoMod, event_flag::PlatformSpecific}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagKernelDropped
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:310:3: note: 'kFSEventStreamEventFlagKernelDropped' declared here
kFSEventStreamEventFlagKernelDropped = 0x00000004, ^ fsevent_monitor.cpp:55:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemChangeOwner'; did you mean 'kFSEventStreamEventFlagRootChanged'? flags.push_back({ kFSEventStreamEventFlagItemChangeOwner, event_flag::OwnerModified}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagRootChanged
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:344:3: note: 'kFSEventStreamEventFlagRootChanged' declared here
kFSEventStreamEventFlagRootChanged = 0x00000020, ^ fsevent_monitor.cpp:56:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemXattrMod' flags.push_back({ kFSEventStreamEventFlagItemXattrMod, event_flag::AttributeModified}); ^ fsevent_monitor.cpp:57:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemIsFile' flags.push_back({ kFSEventStreamEventFlagItemIsFile, event_flag::IsFile}); ^ fsevent_monitor.cpp:58:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemIsDir'; did you mean 'kFSEventStreamEventFlagUnmount'? flags.push_back({ kFSEventStreamEventFlagItemIsDir, event_flag::IsDir}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamEventFlagUnmount
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:372:3: note: 'kFSEventStreamEventFlagUnmount' declared here
kFSEventStreamEventFlagUnmount = 0x00000080 ^ fsevent_monitor.cpp:59:21: error: use of undeclared identifier 'kFSEventStreamEventFlagItemIsSymlink' flags.push_back({ kFSEventStreamEventFlagItemIsSymlink, event_flag::IsSymLink}); ^ fsevent_monitor.cpp:128:32: error: use of undeclared identifier 'kFSEventStreamCreateFlagFileEvents'; did you mean 'kFSEventStreamCreateFlagNoDefer'? kFSEventStreamCreateFlagFileEvents); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kFSEventStreamCreateFlagNoDefer
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/FSEvents.h:237:3: note: 'kFSEventStreamCreateFlagNoDefer' declared here
kFSEventStreamCreateFlagNoDefer = 0x00000002, ^ 12 errors generated. make[1]: *** [fsevent_monitor.o] Error 1 make[1]: *** Waiting for unfinished jobs.... }}}
The compiler change was correct and worked, but there are other problems. I'd just disable building `fswatch` on all platforms earlier than 10.7:
{{{#!diff Index: Portfile =================================================================== --- Portfile (revision 124133) +++ Portfile (working copy) @@ -25,3 +22,13 @@ checksums rmd160 929cf38c072ed3c5843bc08fd125d0697fecf6f9 \ sha256 f3e37317155dac122ebc4efef9236f273d03e85051bb2e63198ab5453b0a8c34 use_zip yes + +platform darwin { + # Doesn't build on SL due to missing APIs, see #44705 + if {${os.major} <= 10} { + pre-fetch { + ui_error "$name is not supported on Snow Leopard and earlier." + error "unsupported platform" + } + } +} }}}
That makes the compiler blacklist basically useless, but it doesn't hurt to leave it in just in case. OK to commit?
Ok to commit. 10.7 introduced a huge change in that API. There's an Autoconf check but, as we see, it's insufficient to deliver the proper package configuration. fswatch _could_ work if it skipped that source file (because it implements a fall back solution), but I'll have to look into it thoroughly to fix the Autoconf checks (maybe checking the OS version) and conditionally add that source file to the source list. I'll take care of that in the next update. Thanks again, -- Enrico -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by cal@…): OK, in r124144. Thanks for all your work. :) -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#44705: fswatch @1.3.9 submission ------------------------------------+-------------------------------- Reporter: enrico.m.crisostomo@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: fixed | Keywords: Port: fswatch | ------------------------------------+-------------------------------- Comment (by enrico.m.crisostomo@…): Replying to [comment:11 cal@…]:
OK, in r124144. Thanks for all your work. :)
You're welcome, thanks for your help and your suggestions. -- Ticket URL: <https://trac.macports.org/ticket/44705#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts