]> granicus.if.org Git - handbrake/commitdiff
contrib: Update fribidi url to use GitHub tarball.
authorBradley Sepos <bradley@bradleysepos.com>
Wed, 27 Dec 2017 19:03:33 +0000 (14:03 -0500)
committerBradley Sepos <bradley@bradleysepos.com>
Thu, 28 Dec 2017 02:37:06 +0000 (21:37 -0500)
fribidi.org is gone. The official release archive we were using is gone. Only release tags on GitHub remain, and they are not direct replacements for the proper release archives we were using previously.

Some changes were necessary for compilation from source, namely:

- Removal of an ugly hack that resulted in configure being run more than once. Apparently the same fix is already upstream https://github.com/fribidi/fribidi/commit/0efbaa9052320a951823a6e776b30a580e3a2b4e
- Modification of Makefile.am to avoid building the doc subdirectory, since this will fail wherever c2man isn't available such as on Mac. We don't need these docs
- Modification of gen.tab/Makefile.in to use the host compiler when cross-compiling. This cannot be done as a normal patch since Makefile.in is generated in the bootstrap phase. This is an open issue upstream: https://github.com/fribidi/fribidi/issues/7

This is all a good lesson on the importance of maintaining urls. I'm still a bit stunned a widely used GNU project would shutter its domain and release archive.

contrib/fribidi/A02-remove-horrible-hack.patch [new file with mode: 0644]
contrib/fribidi/A03-no-doc.patch [new file with mode: 0644]
contrib/fribidi/module.defs

diff --git a/contrib/fribidi/A02-remove-horrible-hack.patch b/contrib/fribidi/A02-remove-horrible-hack.patch
new file mode 100644 (file)
index 0000000..54c6839
--- /dev/null
@@ -0,0 +1,17 @@
+diff -Naur fribidi-0.19.7.orig/Makefile.am fribidi-0.19.7/Makefile.am
+--- fribidi-0.19.7.orig/Makefile.am    2015-08-06 16:55:02.000000000 -0400
++++ fribidi-0.19.7/Makefile.am 2017-12-27 19:44:48.000000000 -0500
+@@ -37,12 +37,7 @@
+               $(srcdir)/missing \
+               $(srcdir)/mkinstalldirs \
+               $(srcdir)/ChangeLog \
+-              `find "$(srcdir)" -type f -name Makefile.in -print` \
+-              `$(srcdir)/bootstrap --write-configure`
+-# The last line above is a horrible hack.
+-# GNU Coding Standards recommends that `make maintainer-clean' should not 
+-# remove the configure script.
+-# We instead make configure call bootstrap.
++              `find "$(srcdir)" -type f -name Makefile.in -print`
+ # Indent all C source and header files, using indent(1):
diff --git a/contrib/fribidi/A03-no-doc.patch b/contrib/fribidi/A03-no-doc.patch
new file mode 100644 (file)
index 0000000..838e5f7
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur fribidi-0.19.7.orig/Makefile.am fribidi-0.19.7/Makefile.am
+--- fribidi-0.19.7.orig/Makefile.am    2015-08-06 16:55:02.000000000 -0400
++++ fribidi-0.19.7/Makefile.am 2017-12-27 17:53:09.000000000 -0500
+@@ -11,7 +11,7 @@
+ ACLOCAL_AMFLAGS = -I m4
+ ## The order of subdirs is important, don't change without a reason.
+-SUBDIRS = gen.tab charset lib bin doc test
++SUBDIRS = gen.tab charset lib bin test
+ EXTRA_DIST = bootstrap ChangeLog.old
index edb7477b08b1bf0a6a38961286b62cb33e3ff34a..01db6a1c260401f19528dbc324e31d3bb3280d68 100644 (file)
@@ -5,14 +5,20 @@ endif
 $(eval $(call import.MODULE.defs,FRIBIDI,fribidi))
 $(eval $(call import.CONTRIB.defs,FRIBIDI))
 
-FRIBIDI.FETCH.url     = https://download.handbrake.fr/handbrake/contrib/fribidi-0.19.7.tar.bz2
-FRIBIDI.FETCH.url    += https://fribidi.org/download/fribidi-0.19.7.tar.bz2
-FRIBIDI.FETCH.sha256  = 08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e
+FRIBIDI.FETCH.url      = https://download.handbrake.fr/handbrake/contrib/fribidi-0.19.7.tar.gz
+FRIBIDI.FETCH.url     += https://github.com/fribidi/fribidi/archive/0.19.7.tar.gz
+FRIBIDI.FETCH.sha256   = 3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8
+FRIBIDI.FETCH.basename = fribidi-0.19.7.tar.gz
+
+FRIBIDI.CONFIGURE.bootstrap = ./bootstrap;
+
+ifeq (1,$(BUILD.cross))
+    # force host system compiler for gen.tab, otherwise cross-compiling fails
+    FRIBIDI.CONFIGURE.bootstrap = ./bootstrap; sed -i.bak '/@CC@/s//gcc/' gen.tab/Makefile.in;
+endif
 
 ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system))
     FRIBIDI.CONFIGURE.extra = --with-glib=no
 else ifeq (darwin,$(BUILD.system))
     FRIBIDI.CONFIGURE.extra = --with-glib=no
 endif
-
-FRIBIDI.CONFIGURE.bootstrap = ./bootstrap;