diff --git a/development/monotone/README b/development/monotone/README new file mode 100644 index 0000000000..889488f39a --- /dev/null +++ b/development/monotone/README @@ -0,0 +1,10 @@ +Monotone is a free distributed version control system. It provides a simple, +single-file transactional version store, with fully disconnected operation and +an efficient peer-to-peer synchronization protocol. It understands +history-sensitive merging, lightweight branches, integrated code review and 3rd +party testing. It uses cryptographic version naming and client-side RSA +certificates. It has good internationalization support, has no external +dependencies, runs on linux, solaris, OSX, windows, and other unixes, +and is licensed under the GNU GPL. + +Monotone requires Botan and Lua for building. diff --git a/development/monotone/monotone.SlackBuild b/development/monotone/monotone.SlackBuild new file mode 100644 index 0000000000..86c1fa61ce --- /dev/null +++ b/development/monotone/monotone.SlackBuild @@ -0,0 +1,107 @@ +#!/bin/sh + +# Slackware build script for monotone + +# Written by João Felipe Santos +# Reviewed for 0.48 by Brian Muramatsu + +# Copyright (c) 2009 João Felipe Santos + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +PRGNAM=monotone +VERSION=${VERSION:-0.48} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --htmldir=/usr/doc/$PRGNAM-$VERSION \ + --infodir=/usr/info \ + --build=$ARCH-slackware-linux + +# It seems that Makefile.in has htmldir hardcoded :/ +make htmldir=/usr/doc/$PRGNAM-$VERSION +make install htmldir=/usr/doc/$PRGNAM-$VERSION DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/* + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING ChangeLog HACKING NEWS UPGRADE README.changesets contrib \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/etc/bash_completion.d/ +cp -a contrib/monotone.bash_completion $PKG/etc/bash_completion.d/ + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/development/monotone/monotone.info b/development/monotone/monotone.info new file mode 100644 index 0000000000..d63f2288a5 --- /dev/null +++ b/development/monotone/monotone.info @@ -0,0 +1,10 @@ +PRGNAM="monotone" +VERSION="0.48" +HOMEPAGE="http://www.monotone.ca" +DOWNLOAD="http://monotone.ca/downloads/0.48/monotone-0.48.tar.gz" +MD5SUM="330a1fe1d92c899d1ad539606f85a9f8" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Brian Muramatsu" +EMAIL="btmura@gmail.com" +APPROVED="Erik Hanson" diff --git a/development/monotone/slack-desc b/development/monotone/slack-desc new file mode 100644 index 0000000000..7071d78a9e --- /dev/null +++ b/development/monotone/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +monotone: monotone (A Distributed Version Control System) +monotone: +monotone: monotone is a free distributed version control system. It provides +monotone: a simple, single-file transactional version store, with fully +monotone: disconnected operation and an efficient peer-to-peer protocol. +monotone: +monotone: Homepage: http://www.monotone.ca +monotone: +monotone: +monotone: +monotone: