##
##  bazaar.spec -- OpenPKG RPM Package Specification
##  Copyright (c) 2000-2025 OpenPKG Project <http://openpkg.org/>
##
##  Permission to use, copy, modify, and distribute this software for
##  any purpose with or without fee is hereby granted, provided that
##  the above copyright notice and this permission notice appear in all
##  copies.
##
##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
##  SUCH DAMAGE.
##

#   package version
%define       V_bzr_major      2.7
%define       V_bzr_full       2.7.0
%define       V_bzrtools_major 2.6.0
%define       V_bzrtools_full  2.6.0

#   package information
Name:         bazaar
Summary:      Version Control System
URL:          http://bazaar-vcs.org/
Vendor:       Canonical Ltd
Packager:     OpenPKG Project
Distribution: OpenPKG Community
Class:        PLUS
Group:        SCM
License:      GPL
Version:      %{V_bzr_full}
Release:      20190223

#   list of sources
Source0:      http://launchpad.net/bzr/%{V_bzr_major}/%{V_bzr_full}/+download/bzr-%{V_bzr_full}.tar.gz
Source1:      http://launchpad.net/bzrtools/stable/%{V_bzrtools_major}/+download/bzrtools-%{V_bzrtools_full}.tar.gz

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, python2
PreReq:       OpenPKG, openpkg >= 20160101, python2

%description
    Bazaar is a distributed version control system that aids open
    source development and reduces barriers to participation. The
    priorities are to be safe, friendly, free and fast. Bazaar gives
    fast, distributed revision control that "Just Works", supporting
    renames of files and directories smoothly. Bazaar is designed to
    maximise the level of community participation in your project.
    Bazaar branches can be hosted on any web server, and uploaded
    over sftp, ftp, or rsync. Bazaar supports flexible work models:
    centralized like cvs(1) or svn(1), commit offline, enforced code
    review when desired, and automatic regression testing. Decentralized
    revision control systems give people the ability to collaborate more
    efficiently over the internet using the bazaar development model.
    When you use Bazaar, you can commit to your own local branches
    of your favorite free software projects without needing special
    permission.

%track
    prog bazaar:bzr = {
        version   = %{V_bzr_full}
        url       = https://launchpad.net/bzr/+download
        regex     = bzr-(\d+(\.\d+)+)\.tar\.gz
    }
    prog bazaar:bzrtools = {
        version   = %{V_bzrtools_full}
        url       = http://bazaar-vcs.org/BzrTools
        regex     = bzrtools-(\d+\.\d+(?:\.\d+)?)\.tar\.gz
    }

%prep
    %setup -q -c
    %setup -q -D -T -a 1

%build

%install
    %{l_shtool} mkdir -f -p -m 755 \
        $RPM_BUILD_ROOT%{l_prefix}/bin \
        $RPM_BUILD_ROOT%{l_prefix}/libexec/bazaar \
        $RPM_BUILD_ROOT%{l_prefix}/lib/bazaar
    (   cd bzr-%{V_bzr_full}
        %{l_shtool} subst \
            -e 's;#! /usr/bin/env python;#!%{l_prefix}/bin/python;g' \
            bzr
        %{l_prefix}/bin/python2 setup.py install \
            --root=$RPM_BUILD_ROOT \
            --prefix=%{l_prefix} \
            --install-lib=%{l_prefix}/lib/bazaar
    ) || exit $?
    (   cd bzrtools
        %{l_prefix}/bin/python2 setup.py install \
            --root=$RPM_BUILD_ROOT \
            --prefix=%{l_prefix} \
            --install-lib=%{l_prefix}/lib/bazaar
    ) || exit $?
    mv  $RPM_BUILD_ROOT%{l_prefix}/bin/bzr \
        $RPM_BUILD_ROOT%{l_prefix}/libexec/bazaar/bzr
    (   echo "#!/bin/sh"
        echo "PYTHONPATH=\"%{l_prefix}/lib/bazaar\""
        echo "export PYTHONPATH"
        echo "%{l_prefix}/bin/python2 %{l_prefix}/libexec/bazaar/bzr \${1+\"\$@\"}"
    ) >$RPM_BUILD_ROOT%{l_prefix}/bin/bzr
    chmod 755 $RPM_BUILD_ROOT%{l_prefix}/bin/bzr
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}

%files -f files

%clean

