Ticket #53155: handbrake.diff

File handbrake.diff, 12.9 KB (added by bgrupe27, 7 years ago)

WIP Portfile

  • Portfile

    old new  
    44PortGroup           xcodeversion 1.0
    55
    66name                HandBrake
    7 version             0.10.0
     7version             1.0.7
    88categories          multimedia aqua
    99platforms           macosx
    1010license             GPL-2
    1111maintainers         larryv
    1212
    13 subport HandBrakeCLI {
    14     categories-delete aqua
    15 }
    16 
    17 
    1813description         The open source video transcoder
    1914long_description    HandBrake is a tool for converting video from \
    2015                    nearly any format to a selection of modern, \
    2116                    widely supported codecs.
    2217homepage            http://handbrake.fr/
    2318
    24 subport HandBrakeCLI {
    25     description-append          (CLI)
    26     long_description-append {*}{(This port provides the command-line
    27                                 interface only; install the `HandBrake`
    28                                 port for the graphical user interface.)}
    29 }
    30 
    3119
    3220# The MacGui uses NS_ENUM, boolean literals, NSDictionary
    3321# subscripting, and other modern Objective-C features
     
    3523minimum_xcodeversions {12 4.4}
    3624set minDarwinVersion 12
    3725
    38 subport HandBrakeCLI {
    39     # TODO: Fix build on Snow Leopard. All the contribs build fine,
    40     # but linking the HandBrakeCLI executable fails.
    41     minimum_xcodeversions
    42     set minDarwinVersion 11
    43 }
    44 
    4526set minOSXVersion 10.[expr {$minDarwinVersion - 4}]
    4627if {${os.platform} eq "darwin" && ${os.major} < $minDarwinVersion} {
    4728    pre-fetch {
     
    9172# Configure the bundled fontconfig to use the port's fonts.
    9273depends_lib-append  port:fontconfig
    9374
    94 subport HandBrake {
    95     depends_run     port:HandBrakeCLI
    96 }
    97 
    9875# TODO: Sort out depends_skip_archcheck.
    9976
    10077
     
    10380
    10481
    10582# use_bzip2 must come first so master_sites gets the right extract.suffix.
    106 use_bzip2           yes
    107 master_sites        http://handbrake.fr/rotation.php?file=${distname}${extract.suffix}&dummy=:src \
    108                     http://download.handbrake.fr/handbrake/contrib:contrib
     83use_bzip2 yes
     84master_sites        https://handbrake.fr/mirror:src \
     85                    https://download.handbrake.fr/handbrake/contrib:contrib
    10986
    11087# The subports use the same distfiles.
    11188dist_subdir ${name}
    11289
    11390checksums           ${distname}${extract.suffix} \
    114                         rmd160  c0140fd33b4ca3fea3dd43a5960a71055a00acc8 \
    115                         sha256  a91042da3cc08454844f7c171ee2fde4f0ed08176407fc0328d5118227ed4114 \
    116                     fontconfig-2.8.0.tar.gz \
    117                         rmd160  fefee412cad4fa71b573e997e14f1df12f439be2 \
    118                         sha256  fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335 \
    119                     freetype-2.4.7.tar.bz2 \
    120                         rmd160  48abfcd4546cbd6626796ab121252e804ddcc6d8 \
    121                         sha256  ba22620479954582371286268ef75e6e932c0270ee67d6797bbf3ed9d31a5d77 \
    122                     fribidi-0.19.2.tar.gz \
    123                         rmd160  4fafb4b3140bbbcf4c2c58c714b02db2d71e5491 \
    124                         sha256  49cf91586e48b52fe25872ff66c1da0dff0daac2593f9f300e2af12f44f64177 \
     91                        rmd160  9ab7267234c066cdcfec2652b9133d0d1aedd210 \
     92                        sha256  ffdee112f0288f0146b965107956cd718408406b75db71c44d2188f5296e677f \
     93                    freetype-2.6.5.tar.bz2 \
     94                        rmd160  aa7a75433ed1e54b1904a8c57d924ba45d7ff47e \
     95                        sha256  e20a6e1400798fd5e3d831dd821b61c35b1f9a6465d6b18a53a9df4cf441acf0 \
     96                    fribidi-0.19.7.tar.bz2 \
     97                        rmd160  031cd7a160717bca78cbee93cfc92c6c86f373a3 \
     98                        sha256  08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e \
     99                    harfbuzz-1.3.0.tar.bz2 \
     100                        rmd160  92c18499ec2cc830d58b9512ee181dba0228a74e \
     101                        sha256  b04be31633efee2cae1d62d46434587302554fa837224845a62565ec68a0334d \
     102                    jansson-2.6.tar.bz2 \
     103                        rmd160  83d543f12716cc56aee726022a16738387ed7f95 \
     104                        sha256  d2cc63ee7f6dcda6c9a8f0b558f94b8f25f048706b7cbd6a79d3e877b738cd4d \
    125105                    lame-3.98.tar.gz \
    126106                        rmd160  c10c20128622e16f9cac3d346bea8e390e4bfdc5 \
    127107                        sha256  40235e84dfe4760ad3f352590a64b7bda1502a386c97d06229df356426e37686 \
    128                     libass-0.10.0-1.tar.gz \
    129                         rmd160  da29a27a4ae107629d0ea6dd7ec21f1d36167b16 \
    130                         sha256  a0c652f4a5c1bfd58cd47ff627fff2dfbd471b40f765aa96fd1b251c0058b867 \
    131                     libav-v10.1.tar.bz2 \
    132                         rmd160  fc9420a1ce8f081df592dbc2ac4500771103b38b \
    133                         sha256  bc3807426d4e73fe8c245730b0df4ba95766cf7e17e47c738ee302f73d066ac9 \
    134                     libbluray-0.5.0.tar.bz2 \
    135                         rmd160  7816daf8dced33765be85621ab3cd3da61edd76d \
    136                         sha256  d414b548ff97c081e1a2f337c0904f44e65d91a00d2efa4a46a1ecd3de285b4d \
    137                     libdvdnav-5.0.1-0-gaa3659d.tar.gz \
    138                         rmd160  a712563c197a3f24636be7aa87396400f110e0f7 \
    139                         sha256  574b7af7ff52e21048ab62c0b14271e651faafb5d46f8efc64dbd82ff34e162b \
     108                    libass-0.13.2.tar.gz \
     109                        rmd160  9e84dfc71b7c1c4726bdc149a9087e616dcaf352 \
     110                        sha256  8baccf663553b62977b1c017d18b3879835da0ef79dc4d3b708f2566762f1d5e \
     111                    libav-12.tar.gz \
     112                        rmd160  229aa9bfc2397f4899f0f981f31f8a4f58b9a185 \
     113                        sha256  ca5cb22ba660f0bdc47817fdb9d99059a71f9eb0776c68cf8bef769a5ccc7534 \
     114                    libbluray-0.9.3.tar.bz2 \
     115                        rmd160  14789e01ab6918f5452e198df5cb23b4382ef7ca \
     116                        sha256  a6366614ec45484b51fe94fcd1975b3b8716f90f038a33b24d59978de3863ce0 \
     117                    libdvdnav-5.0.1.tar.bz2 \
     118                        rmd160  f957c3cb739d9f2c0c747ad8f55876d1e440a650 \
     119                        sha256  72b1cb8266f163d4a1481b92c7b6c53e6dc9274d2a6befb08ffc351fe7a4a2a9 \
    140120                    libdvdread-5.0.0-6-gcb1ae87.tar.gz \
    141121                        rmd160  708aa5031b16c9b63d6382e9dd223da874702d53 \
    142122                        sha256  d2e4200c3c5d5f812892f9c14851c94e2f707d54e7328946c6397ac999f15f17 \
     
    152132                    libvorbis-aotuv_b6.03.tar.bz2 \
    153133                        rmd160  6e25b9b6545b2e568038349fafe559999b9c3387 \
    154134                        sha256  95455420f07e4b3abdf32bda9f5921e9ed3f1afdc3739098dc090150a42fd7fd \
    155                     libvpx-v1.3.0.tar.bz2 \
    156                         rmd160  bf74821ac8f20ed30f44b6e01473ee1f332f721c \
    157                         sha256  d3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9 \
     135                    libvpx-1.5.0.tar.bz2 \
     136                        rmd160  50d919e8d27d7d83754ca20e8997a0357010a33c \
     137                        sha256  306d67908625675f8e188d37a81fbfafdf5068b09d9aa52702b6fbe601c76797 \
    158138                    libxml2-2.7.7.tar.gz \
    159139                        rmd160  9f72c778c3e9e348a68eada0cf624c012658c085 \
    160140                        sha256  af5b781418ba4fff556fa43c50086658ea8a2f31909c2b625c2ce913a1d9eb68 \
    161                     x264-r2479-dd79a61.tar.gz \
    162                         rmd160  da2113422d71a85518533499defb2c63f096c6a3 \
    163                         sha256  7307a83085f4110f8ae690748f00b5acb4882ec34b83ef260fec264c018c49e9 \
    164                     x265-8768-5e604833c5aa-1.4.tar.bz2 \
    165                         rmd160  c6cc8072db0b98482760e43216f3926729f225c5 \
    166                         sha256  7e7f5f2883ccd39dd0e26c7f3ef3c9f80234d669e29811016d8993987d47ab92
     141                    opus-1.1.3.tar.gz \
     142                        rmd160  d498f13d81f3337a2e0b6683c09280955ec3d705 \
     143                        sha256  58b6fe802e7e30182e95d0cde890c0ace40b6f125cffc50635f0ad2eef69b633 \
     144                    x264-snapshot-20160920-2245-stable.tar.bz2 \
     145                        rmd160  4ecaa58c0806d5375472ce1e6d08bd955cf49b64 \
     146                        sha256  6ba2d848eabbca0d9d2c2a12b263e02f856a81fce87fbc74df52a1097c88e39c \
     147                    x265_2.1-1.tar.gz \
     148                        rmd160  7f9bf15aed2f7658e4165a1cea48ef45077a2d6c \
     149                        sha256  88fcb9af4ba52c0757ac9c0d8cd5ec79951a22905ae886897e06954353d6a643
    167150
    168151# Use `checksums` to construct `distfiles`, instead of maintaining and
    169152# synchronizing two separate lists.
     
    185168
    186169
    187170# Patches maintained at https://github.com/larryv/HandBrake.
    188 patch.pre_args -p1
    189 patchfiles \
    190     0001-Add-a-default-font-directory-for-fontconfig-to-use-w.patch \
    191     0002-BuildSystem-Create-configs-for-OS-X-Yosemite.patch \
    192     0003-Build-contribs-verbosely.patch \
    193     0004-MP-BuildSystem-Allow-Xcode-compiler-override.patch \
    194     0005-MP-BuildSystem-Don-t-abort-on-missing-GCC.patch \
    195     0006-MP-BuildSystem-Add-targets-for-MacGui-and-CLI.patch \
    196     0007-MP-BuildSystem-Destroot-and-install-to-right-locatio.patch \
    197     0008-MP-Force-contrib-builds-to-use-MacPorts-tools.patch \
    198     0009-MP-MacGui-Disable-Sparkle.patch \
    199     0010-MP-fontconfig-Use-our-port-s-configuration.patch \
    200     0011-MP-libav-Respect-our-compiler-selection-on-Darwin-i3.patch \
    201     0012-libvpx-Add-build-targets-for-OS-X-10.10-Yosemite.patch \
    202     0013-libvpx-Fix-discovery-of-Darwin-SDKs.patch \
    203     0014-libvpx-Fix-Clang-cross-building-on-OS-X.patch \
    204     0015-MP-libvpx-Enable-ccache-if-requested.patch \
    205     0016-MP-libvpx-Set-build-target-explicitly.patch
    206 
    207 
    208 # Since HandBrake itself is built using Xcode, restrict ourselves to the
    209 # Xcode-provided compilers.
    210 compiler.blacklist apple* macports*
    211 set xcGCCVersion \
    212         [switch ${configure.compiler} {
    213             clang        {expr {"com.apple.compilers.llvm.clang.1_0"}}
    214             gcc-4.0      {expr {"4.0"}}
    215             gcc-4.2      {expr {"4.2"}}
    216             llvm-gcc-4.2 {expr {"com.apple.compilers.llvmgcc42"}}
    217         }]
     171#patch.pre_args -p1
     172#patchfiles \
     173 #   0001-Add-a-default-font-directory-for-fontconfig-to-use-w.patch \
     174 #   0002-BuildSystem-Create-configs-for-OS-X-Yosemite.patch \
     175 #   0003-Build-contribs-verbosely.patch \
     176 #   0004-MP-BuildSystem-Allow-Xcode-compiler-override.patch \
     177 #   0005-MP-BuildSystem-Don-t-abort-on-missing-GCC.patch \
     178 #   0006-MP-BuildSystem-Add-targets-for-MacGui-and-CLI.patch \
     179 #   0007-MP-BuildSystem-Destroot-and-install-to-right-locatio.patch \
     180 #   0008-MP-Force-contrib-builds-to-use-MacPorts-tools.patch \
     181 #   0009-MP-MacGui-Disable-Sparkle.patch \
     182 #   0010-MP-fontconfig-Use-our-port-s-configuration.patch \
     183 #   0011-MP-libav-Respect-our-compiler-selection-on-Darwin-i3.patch \
     184 #   0012-libvpx-Add-build-targets-for-OS-X-10.10-Yosemite.patch \
     185 #   0013-libvpx-Fix-discovery-of-Darwin-SDKs.patch \
     186 #   0014-libvpx-Fix-Clang-cross-building-on-OS-X.patch \
     187 #   0015-MP-libvpx-Enable-ccache-if-requested.patch \
     188 #   0016-MP-libvpx-Set-build-target-explicitly.patch
    218189
    219190# TODO: Respect deployment target in all contrib builds.
    220 set xcconfigOS osx[string map {. {}} ${macosx_deployment_target}]
     191# Max supported target is 10.9 currently
     192#set xcconfigOS osx[string map {. {}} ${macosx_deployment_target}]
     193set xcconfigOS osx109
    221194
    222195configure.args      --arch=${configure.build_arch} \
    223                     --curl=false \
    224                     --fetch=curl \
    225196                    --gcc='${configure.cc}' \
     197                    --disable-df-fetch \
    226198                    --verbose \
    227                     --xcode-config=${xcconfigOS}.${configure.build_arch} \
    228                     --xcode-driver=terminal \
    229199                    APPLICATIONS_DIR='${applications_dir}' \
    230200                    BUILD.jobs=${build.jobs} \
    231                     CCACHE=${configure.ccache} \
    232                     GCC_VERSION=$xcGCCVersion
    233 
     201                    CCACHE=${configure.ccache}
     202                    #GCC_VERSION=$xcGCCVersion
     203                    #--xcode-config=${xcconfigOS}.${configure.build_arch} \
     204                    #--xcode-driver=terminal \
    234205
    235206build.type          gnu
    236207build.dir           ${worksrcpath}/build
    237 build.target        macosx.gui.build
    238 build.args          X265.CONFIGURE.exe='${prefix}/bin/cmake'
    239 
    240 destroot.target     macosx.gui.install
    241 
    242 subport HandBrakeCLI {
    243     build.target    macosx.cli.build
    244     destroot.target macosx.cli.install
    245     # Since HandBrake depends on HandBrakeCLI, install the docs through
    246     # HandBrakeCLI so they're always available.
    247     post-destroot {
    248         set docDir ${destroot}${prefix}/share/doc/${name}
    249         xinstall -d $docDir
    250         xinstall -m 0644 -W ${worksrcpath} \
    251             AUTHORS COPYING CREDITS NEWS THANKS TRANSLATIONS $docDir
    252     }
    253 }
    254 
     208build.target        build
     209#build.args          X265.CONFIGURE.exe='${prefix}/bin/cmake'
    255210
    256211livecheck.type      regex
    257212livecheck.url       https://handbrake.fr/downloads.php
    258213livecheck.regex     {Current Version: (\d(?:\.\d+)+)}
    259 
    260 subport HandBrakeCLI {
    261     livecheck.type  none
    262 }