Fetching contributors…
Cannot retrieve contributors at this time
104 lines (78 sloc) 3.29 KB
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
name unrar
set my_name ${name}src
version 5.6.8
categories archivers
platforms darwin freebsd
maintainers nomaintainer
license Restrictive/Distributable
description Extract, view & test RAR archives
long_description The unRAR utility is a minor part of the RAR archiver \
and contains RAR uncompression algorithm. unRAR \
requires very small volume of memory to operate.
master_sites ${homepage}rar/
distname ${my_name}-${version}
checksums rmd160 ec32bef68bc86ecf884eea75432c49c51197fa86 \
sha256 a4cc0ac14a354827751912d2af4a0a09e2c2129df5766576fa7e151791dd3dff \
size 226647
patchfiles patch-makefile.unix.diff
worksrcdir ${name}
use_configure no
variant universal {}
if {[tbool configure.ccache]} {
configure.cxx "ccache ${configure.cxx}"
set cxx_stdlibflags {}
if {[string match *clang* ${configure.cxx}]} {
set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
build.args -f makefile \
CXX="[join ${configure.cxx}]"
# The makefile misuses the DESTDIR variable as if it were PREFIX. We need it at
# build time so the library gets the correct install_name.
build.args-append DESTDIR=${prefix}
pre-build {
build.args-append CXXFLAGS="${configure.cxxflags} [get_canonical_archflags cxx] ${cxx_stdlibflags}" \
LDFLAGS="${configure.ldflags} [get_canonical_archflags ld] ${cxx_stdlibflags}"
post-destroot {
set docdir ${prefix}/share/doc/${subport}
xinstall -d ${destroot}${docdir}
xinstall -m 644 -W ${worksrcpath} license.txt readme.txt ${destroot}${docdir}
platform darwin {
patchfiles-append patch-dylib.diff
if {${name} == ${subport}} {
installs_libs no
destroot {
xinstall ${worksrcpath}/${name} ${destroot}${prefix}/bin
livecheck.type regex
livecheck.url ${homepage}rar_add.htm
livecheck.regex ${my_name}-(\\d+(?:\\.\\d+)*)
} else {
livecheck.type none
subport libunrar {
description unrar library
long_description ${description}
# Copied from standalone libunrar port. Why do we need these?
configure.cxxflags-append -DSILENT
# The makefile adds -fPIC to the CXXFLAGS when building the library, but we
# override the CXXFLAGS with our own, so we have to manually add this again.
configure.cxxflags-append -fPIC lib
destroot {
xinstall -d ${destroot}${prefix}/include/unrar
xinstall -m 644 ${worksrcpath}/dll.hpp ${destroot}${prefix}/include/unrar
if {${os.platform} eq "darwin"} {
xinstall ${worksrcpath}/libunrar.dylib ${destroot}${prefix}/lib
xinstall ${worksrcpath}/libunrar.a ${destroot}${prefix}/lib
} else {
xinstall ${worksrcpath}/ ${destroot}${prefix}/lib