Skip to content
Elliot Shank edited this page Apr 28, 2014 · 6 revisions

Packaging curl

One way of creating a Fig package for curl as an example of publishing a C program.

Needs further discussion of what's going on with the resource statement vs the values of the append statements.

Download the package contents

set -e

wget http://curl.haxx.se/download/curl-${VERSION}.tar.bz2 

tar jxf curl-${VERSION}.tar.bz2

OUTDIR=$(pwd)/package
mkdir -p ${OUTDIR}

cd curl-${VERSION}

# SSL is disabled here to prevent cascading dependencies on all of openssl and its libraries.
./configure --prefix ${OUTDIR} --without-ssl --enable-optimize --disable-ldap --disable-ldaps \
            --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 \
            --disable-imap --disable-smtp --disable-gopher --disable-ipv6 --disable-tls-srp \
            --disable-sspi --disable-ntlm-wb --disable-crypto-auth --without-libidn

make -j8 install

package.fig contents

resource package/**/*

# These are only useful if you're going to run curl out of the current
# directory.
retrieve LIBPATH->lib
retrieve INCLUDEPATH->include
retrieve PATH->bin
retrieve DOCPATH->docs

config default
    append LIBPATH=@/package/lib
    append INCLUDEPATH=@/package/include
    append PATH=@/package/bin
    append DOCPATH=@/package/share//man
end

Publishing

fig --publish curl/${VERSION}
Clone this wiki locally