[129493] trunk/dports/fuse/osxfuse/Portfile

dports at macports.org dports at macports.org
Sat Dec 13 19:38:21 PST 2014


Revision: 129493
          https://trac.macports.org/changeset/129493
Author:   dports at macports.org
Date:     2014-12-13 19:38:21 -0800 (Sat, 13 Dec 2014)
Log Message:
-----------
osxfuse: update to v2.7.3; on Yosemite, use a signed binary of the
kext instead of building our own unsigned one so it can actually be
loaded (#45521)

Modified Paths:
--------------
    trunk/dports/fuse/osxfuse/Portfile

Modified: trunk/dports/fuse/osxfuse/Portfile
===================================================================
--- trunk/dports/fuse/osxfuse/Portfile	2014-12-14 03:24:55 UTC (rev 129492)
+++ trunk/dports/fuse/osxfuse/Portfile	2014-12-14 03:38:21 UTC (rev 129493)
@@ -4,7 +4,8 @@
 PortSystem          1.0
 
 name                osxfuse
-version             2.7.2
+version             2.7.3
+set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          fuse devel
 platforms           macosx
 license             BSD APSL
@@ -36,12 +37,12 @@
 
 distfiles
 set mp.dist {
-    osxfuse     400d171
-    kext        a8a109b
+    osxfuse     d59bddc
+    kext        a264485
     framework   dc53dea
-    prefpane    1c603b0
+    prefpane    a30fa57
     fuse        98b9960
-    support     2698c5e
+    support     4868d64
 }
 
 depends_build       port:autoconf \
@@ -57,27 +58,44 @@
     distfiles-append    ${f}:${mp.comp}
 }
 
-checksums           osxfuse-400d171.tar.gz \
-                    rmd160  9f0c6e8829d5fa058513a7cb9cc6066bc370a220 \
-                    sha256  dc1df774ce249e67a90e3ab555f1714838fb51f2399247a05f7c18416631993e \
-                    kext-a8a109b.tar.gz \
-                    rmd160  adaee514087099ab0abae75350cb47e1532747aa \
-                    sha256  fc9c1379047628a5f98497b8df22e78cfbe4d4c7844cff71c3e69ccedd261b7e \
+master_sites-append sourceforge
+distfiles-append ${name}-${version}.dmg
+
+checksums           osxfuse-d59bddc.tar.gz \
+                    rmd160  b703a9bedf7aa73c97abaa5e2b4125db0feb33c2 \
+                    sha256  6acf5c456f96fedc397e5ef617124547bd0e291d96816b1c722ef995bc077672 \
+                    kext-a264485.tar.gz \
+                    rmd160  776e6f903870f2c82497d21e68a3371472423c3a \
+                    sha256  fa7e70685373302fbfd6c9e419af1262c9cec427b157a52e6f945b7031e04a2b \
                     framework-dc53dea.tar.gz \
                     rmd160  a25bfda1f77f43b7c90655b73ac913f2fa5b515b \
                     sha256  ca0f7addb831b9d845ce6fddc12f32e1d7d51fa3756ca7d9f41d3e4718b8a75b \
-                    prefpane-1c603b0.tar.gz \
-                    rmd160  aab76bc71f400785d95becb3714c52b3cad6f5b0 \
-                    sha256  1a87ad0badc8c916fbbc4096a7c7bd85e68d444524b233045bab2a4e8d7f842d \
+                    prefpane-a30fa57.tar.gz \
+                    rmd160  0bf0698bfcb0946bdba2dee308c94c373fc91f6a \
+                    sha256  03fe8681ded02dee1ab690d518dc8bdb5c58647024a77ef69701c2fcb8b4ce2a \
                     fuse-98b9960.tar.gz \
                     rmd160  589cbe0c819caded56dc4be64727580e1400fd9e \
                     sha256  f60205e19c2971228b78d180dc65cda2a6271a567229acdeb19567fcbcebb641 \
-                    support-2698c5e.tar.gz \
-                    rmd160  d1ae10e4d3329e336d7dea6508ad1f3ee902efa3 \
-                    sha256  83f7577ba28cb8c5096391b63daae000b98887ad75b60beedc385b0f00f23f89
+                    support-4868d64.tar.gz \
+                    rmd160  d321d49bc3040a3227143204b57d6361eb67a9ed \
+                    sha256  d6cd13707f0f202b2c2391b5410decf1776d1306180da8164c02e5fcf6ba8b43 \
+                    osxfuse-2.7.3.dmg \
+                    rmd160  f7b91f7750a69da97d72cf6d7ac65b4bd27408c4 \
+                    sha256  88d0594e46191aeafa259535398d25c4ccfa03c178e10d925a69e4dcb6293fa2
 
+# extract phase will just extract the dmg; post-extract will expand
+# the tarballs
+use_dmg yes
+extract.only ${name}-${version}.dmg
+
 post-extract {
+    # Extract the pkg and the appropriate payload from the binary dmg
+    system -W ${workpath}/${name}-${version} "pkgutil --expand 'Install OSXFUSE ${branch}.pkg' ${workpath}/pkg"
+    system -W ${workpath}/pkg/10.9/OSXFUSECore.pkg "gzip -dc Payload | cpio -id"
+
+    # Extract the source tarballs
     foreach { mp.comp mp.rev } ${mp.dist} {
+        system -W ${workpath} "tar -xvf ${distpath}/${mp.comp}-${mp.rev}.tar.gz"
         if {${mp.comp} ne "osxfuse"} {
             # Replace existing empty directory if it exists
             file delete ${workpath}/${worksrcdir}/${mp.comp}
@@ -125,12 +143,27 @@
     # Enable setuid on helper binary
     file attributes ${destroot}${prefix}/Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs -permissions 04755
 }
+
+
+# On Yosemite, replace the kext we just built with the one from the
+# binary distribution. This works around OS X's unwillingness to load
+# an unsigned kext (and our inability to sign kexts). See #45521.
+if {${os.major} >= 14} {
+    post-destroot {
+        delete ${destroot}${prefix}/Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext \
+            ${destroot}${prefix}/Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext.dSYM
+        
+        file copy ${workpath}/pkg/10.9/OSXFUSECore.pkg/Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext \
+            ${destroot}${prefix}/Library/Filesystems/osxfusefs.fs/Support
+    }
+}
+
 destroot.violate_mtree yes
 
 notes {
     When upgrading, unmount all FUSE filesystems and then unload the kernel extension.
     Unloading can be done via: sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs
-    Alternativley (or if this fails), just reboot your computer now.
+    Alternatively (or if this fails), just reboot your computer now.
 }
 
 # Could probably be supported by setting ARCHS correctly above
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20141213/c1905f84/attachment.html>


More information about the macports-changes mailing list