diff --git a/dev-vcs/bzr/bzr-2.7.0.recipe b/dev-vcs/bzr/bzr-2.7.0.recipe new file mode 100644 index 000000000..bf7261922 --- /dev/null +++ b/dev-vcs/bzr/bzr-2.7.0.recipe @@ -0,0 +1,48 @@ +SUMMARY="A powerful distributed version control system" +DESCRIPTION="Bazaar (bzr) is a version control system that helps you track \ +project history over time and to collaborate easily with others. Whether \ +you're a single developer, a co-located team or a community of developers \ +scattered across the world, Bazaar scales and adapts to meet your needs. +Part of the GNU Project, Bazaar is free software sponsored by Canonical." +HOMEPAGE="https://bazaar.canonical.com" +COPYRIGHT="2005-2013 Canonical" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://launchpad.net/bzr/2.7/$portVersion/+download/bzr-$portVersion.tar.gz" +CHECKSUM_SHA256="0d451227b705a0dd21d8408353fe7e44d3a5069e6c4c26e5f146f1314b8fdab3" +SOURCE_DIR="bzr-$portVersion" +PATCHES="bzr-$portVersion.patchset" + +ARCHITECTURES="x86_gcc2 ?x86 x86_64" + +PROVIDES=" + bzr = $portVersion compat >= 2.7.0 + cmd:bzr = $portVersion compat >= 2.7.0 + " +REQUIRES=" + haiku + lib:libpython2.7 + cmd:python + " + +BUILD_REQUIRES=" + haiku_devel + devel:libpython2.7 + " +BUILD_PREREQUIRES=" + cmd:python + cmd:gcc + cmd:ld + cmd:msgfmt + " + +BUILD() +{ + python setup.py build +} + +INSTALL() +{ + python setup.py install \ + --prefix=$prefix +} diff --git a/dev-vcs/bzr/patches/bzr-2.7.0.patchset b/dev-vcs/bzr/patches/bzr-2.7.0.patchset new file mode 100644 index 000000000..86aa4659d --- /dev/null +++ b/dev-vcs/bzr/patches/bzr-2.7.0.patchset @@ -0,0 +1,91 @@ +From 26c866e6de99f4129d62ecfca552958af0a8ef18 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Mon, 4 Jun 2018 09:14:57 +0200 +Subject: Use gcc2 zero-length array member + + +diff --git a/bzrlib/diff-delta.c b/bzrlib/diff-delta.c +index 0801c96..a0a8dc5 100644 +--- a/bzrlib/diff-delta.c ++++ b/bzrlib/diff-delta.c +@@ -24,6 +24,12 @@ + #include + #include + ++#if defined(__GNUC__) && (__GNUC__ < 3) ++# define FLEX_ARRAY_LEN 0 ++#else ++# define FLEX_ARRAY_LEN ++#endif ++ + /* maximum hash entry list for the same hash bucket */ + #define HASH_LIMIT 64 + +@@ -151,7 +157,7 @@ struct delta_index { + entry */ + unsigned int num_entries; /* The total number of entries in this index */ + struct index_entry *last_entry; /* Pointer to the last valid entry */ +- struct index_entry *hash[]; ++ struct index_entry *hash[FLEX_ARRAY_LEN]; + }; + + static unsigned int +-- +2.16.4 + + +From d69b7dcc6e97abd5d2d8fc37e2cbf81fe636a86d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Mon, 4 Jun 2018 09:17:43 +0200 +Subject: Add default certificates location for Haiku + + +diff --git a/bzrlib/transport/http/_urllib2_wrappers.py b/bzrlib/transport/http/_urllib2_wrappers.py +index 8eb3fab..fa83cb9 100644 +--- a/bzrlib/transport/http/_urllib2_wrappers.py ++++ b/bzrlib/transport/http/_urllib2_wrappers.py +@@ -95,6 +95,7 @@ _ssl_ca_certs_known_locations = [ + u"/usr/local/share/certs/ca-root-nss.crt", # FreeBSD + # XXX: Needs checking, can't trust the interweb ;) -- vila 2012-01-25 + u'/etc/openssl/certs/ca-certificates.crt', # Solaris ++ u'/boot/system/data/ssl/CARootCertificates.pem', # Haiku + ] + + +-- +2.16.4 + + +From c6f527043bfa756a1d3c3e8f40e1b69854266344 Mon Sep 17 00:00:00 2001 +From: begasus +Date: Mon, 4 Jun 2018 15:22:11 +0200 +Subject: Adjust installation paths for man and locale files + + +diff --git a/setup.py b/setup.py +old mode 100755 +new mode 100644 +index 2f13c00..5a88691 +--- a/setup.py ++++ b/setup.py +@@ -76,7 +76,7 @@ PKG_DATA = {# install files from selftest suite + I18N_FILES = [] + for filepath in glob.glob("bzrlib/locale/*/LC_MESSAGES/*.mo"): + langfile = filepath[len("bzrlib/locale/"):] +- targetpath = os.path.dirname(os.path.join("share/locale", langfile)) ++ targetpath = os.path.dirname(os.path.join("data/locale", langfile)) + I18N_FILES.append((targetpath, [filepath])) + + def get_bzrlib_packages(): +@@ -763,7 +763,7 @@ else: + if not 'bdist_egg' in sys.argv: + # generate and install bzr.1 only with plain install, not the + # easy_install one +- DATA_FILES = [('man/man1', ['bzr.1'])] ++ DATA_FILES = [('documentation/man/man1', ['bzr.1'])] + + DATA_FILES = DATA_FILES + I18N_FILES + # std setup +-- +2.16.4 +