From 1a0f7df1e97b17430f07acb508dff10ccd63b34d Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Tue, 24 May 2016 21:49:52 +0200 Subject: [PATCH] Add more dependencies --- osx/Taps/gitg/atk.rb | 2 +- osx/Taps/gitg/cairo.rb | 42 +------ osx/Taps/gitg/enchant.rb | 44 +++++++ osx/Taps/gitg/gdk-pixbuf.rb | 2 +- osx/Taps/gitg/gitg.rb | 4 +- osx/Taps/gitg/glib-networking.rb | 2 +- osx/Taps/gitg/glib.rb | 140 +++++++++++++++++++++ osx/Taps/gitg/gnutls.rb | 71 +++++++++++ osx/Taps/gitg/gobject-introspection.rb | 2 +- osx/Taps/gitg/gsettings-desktop-schemas.rb | 2 +- osx/Taps/gitg/gtk+3.rb | 45 +------ osx/Taps/gitg/gtk-doc.rb | 31 +++++ osx/Taps/gitg/gtksourceview3.rb | 83 ------------ osx/Taps/gitg/gtkspell3.rb | 2 +- osx/Taps/gitg/harfbuzz.rb | 2 +- osx/Taps/gitg/libcroco.rb | 24 ++++ osx/Taps/gitg/libgee.rb | 2 +- osx/Taps/gitg/libgit2-glib.rb | 8 +- osx/Taps/gitg/libgit2.rb | 59 +++++++++ osx/Taps/gitg/libgsf.rb | 49 ++++++++ osx/Taps/gitg/libpeas.rb | 22 +--- osx/Taps/gitg/librsvg.rb | 6 +- osx/Taps/gitg/libsecret.rb | 4 +- osx/Taps/gitg/libsoup.rb | 2 + osx/Taps/gitg/pango.rb | 4 +- osx/Taps/gitg/shared-mime-info.rb | 38 ++++++ osx/Taps/gitg/vala.rb | 17 +-- osx/scripts/build | 10 +- osx/scripts/shell | 28 ++++- 29 files changed, 517 insertions(+), 230 deletions(-) create mode 100644 osx/Taps/gitg/enchant.rb create mode 100644 osx/Taps/gitg/glib.rb create mode 100644 osx/Taps/gitg/gnutls.rb create mode 100644 osx/Taps/gitg/gtk-doc.rb create mode 100644 osx/Taps/gitg/libcroco.rb create mode 100644 osx/Taps/gitg/libgit2.rb create mode 100644 osx/Taps/gitg/libgsf.rb create mode 100644 osx/Taps/gitg/shared-mime-info.rb diff --git a/osx/Taps/gitg/atk.rb b/osx/Taps/gitg/atk.rb index d1c96f7d..ae887706 100644 --- a/osx/Taps/gitg/atk.rb +++ b/osx/Taps/gitg/atk.rb @@ -5,7 +5,7 @@ class Atk < Formula sha256 "493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0" depends_on "pkg-config" => :build - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "gnome/gitg/gobject-introspection" option :universal diff --git a/osx/Taps/gitg/cairo.rb b/osx/Taps/gitg/cairo.rb index 3cf187bf..d757424d 100644 --- a/osx/Taps/gitg/cairo.rb +++ b/osx/Taps/gitg/cairo.rb @@ -17,9 +17,7 @@ class Cairo < Formula depends_on "fontconfig" depends_on "libpng" depends_on "pixman" - depends_on "glib" - - patch :DATA + depends_on "gnome/gitg/glib" def install ENV.universal_binary if build.universal? @@ -78,41 +76,3 @@ class Cairo < Formula system "./test" end end -__END__ -From 8c8b2b518d1a6067b7f203309bd4158de7cb78b9 Mon Sep 17 00:00:00 2001 -From: Brion Vibber -Date: Sun, 16 Nov 2014 16:53:13 -0800 -Subject: [PATCH] Provisional fix for cairo scaling on Quartz backend - -CGContexts by default apply a device scaling factor, which ends up -interfering with the device_scale that is set on cairo at higher levels -of the stack (eg in GDK). - -Undoing it here makes behavior more consistent with X11, as long as the -caller sets the device scale appropriately in cairo. - -See: -* https://www.libreoffice.org/bugzilla/show_bug.cgi?id=69796 -* https://bugzilla.gnome.org/show_bug.cgi?id=740199 ---- - src/cairo-quartz-surface.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c -index 1116ff9..f763668 100644 ---- a/src/cairo-quartz-surface.c -+++ b/src/cairo-quartz-surface.c -@@ -2266,6 +2266,10 @@ _cairo_quartz_surface_create_internal (CGContextRef cgContext, - return surface; - } - -+ /* Undo the default scaling transform, since we apply our own */ -+ CGSize scale = CGContextConvertSizeToDeviceSpace (cgContext, CGSizeMake (1.0, 1.0)); -+ CGContextScaleCTM(cgContext, 1.0 / scale.width, 1.0 / scale.height); -+ - /* Save so we can always get back to a known-good CGContext -- this is - * required for proper behaviour of intersect_clip_path(NULL) - */ --- -1.9.3 (Apple Git-50) - diff --git a/osx/Taps/gitg/enchant.rb b/osx/Taps/gitg/enchant.rb new file mode 100644 index 00000000..597177cf --- /dev/null +++ b/osx/Taps/gitg/enchant.rb @@ -0,0 +1,44 @@ +class Enchant < Formula + desc "Spellchecker wrapping library" + homepage "http://www.abisource.com/projects/enchant/" + url "http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz" + sha256 "2fac9e7be7e9424b2c5570d8affe568db39f7572c10ed48d4e13cddf03f7097f" + + depends_on "pkg-config" => :build + depends_on :python => :optional + depends_on "gnome/gitg/glib" + depends_on "aspell" + + # https://pythonhosted.org/pyenchant/ + resource "pyenchant" do + url "https://pypi.python.org/packages/source/p/pyenchant/pyenchant-1.6.5.tar.gz" + sha256 "623f332a9fbb70ae6c9c2d0d4e7f7bae5922d36ba0fe34be8e32df32ebbb4f84" + end + + def install + system "./configure", "--disable-dependency-tracking", + "--prefix=#{prefix}", + "--disable-ispell", + "--disable-myspell" + system "make", "install" + + if build.with? "python" + resource("pyenchant").stage do + # Don't download and install distribute now + inreplace "setup.py", "distribute_setup.use_setuptools()", "" + ENV["PYENCHANT_LIBRARY_PATH"] = lib/"libenchant.dylib" + system "python", "setup.py", "install", "--prefix=#{prefix}", + "--single-version-externally-managed", + "--record=installed.txt" + end + end + end + + test do + text = "Teh quikc brwon fox iumpz ovr teh lAzy d0g" + enchant_result = text.sub("fox ", "").split.join("\n") + file = "test.txt" + (testpath/file).write text + assert_equal enchant_result, shell_output("#{bin}/enchant -l #{file}").chomp + end +end diff --git a/osx/Taps/gitg/gdk-pixbuf.rb b/osx/Taps/gitg/gdk-pixbuf.rb index 9749ded3..2048e848 100644 --- a/osx/Taps/gitg/gdk-pixbuf.rb +++ b/osx/Taps/gitg/gdk-pixbuf.rb @@ -7,7 +7,7 @@ class GdkPixbuf < Formula option :universal depends_on "pkg-config" => :build - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "jpeg" depends_on "libtiff" depends_on "libpng" diff --git a/osx/Taps/gitg/gitg.rb b/osx/Taps/gitg/gitg.rb index 1b58d0f4..a8b47053 100644 --- a/osx/Taps/gitg/gitg.rb +++ b/osx/Taps/gitg/gitg.rb @@ -10,8 +10,8 @@ class Gitg < Formula depends_on "libtool" => :build depends_on "gnome/gitg/vala" => :build depends_on "gettext" - depends_on "glib" - depends_on "shared-mime-info" + depends_on "gnome/gitg/glib" + depends_on "gnome/gitg/shared-mime-info" depends_on "gnome/gitg/gtk+3" => "with-quartz-relocation" depends_on "gnome/gitg/gtksourceview3" depends_on "gnome/gitg/libsoup" diff --git a/osx/Taps/gitg/glib-networking.rb b/osx/Taps/gitg/glib-networking.rb index 3f1f9fd0..284b2eaa 100644 --- a/osx/Taps/gitg/glib-networking.rb +++ b/osx/Taps/gitg/glib-networking.rb @@ -8,7 +8,7 @@ class GlibNetworking < Formula depends_on "pkg-config" => :build depends_on "intltool" => :build depends_on "gettext" - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "gnome/gitg/gnutls" depends_on "gnome/gitg/gsettings-desktop-schemas" diff --git a/osx/Taps/gitg/glib.rb b/osx/Taps/gitg/glib.rb new file mode 100644 index 00000000..263a2d3e --- /dev/null +++ b/osx/Taps/gitg/glib.rb @@ -0,0 +1,140 @@ +class Glib < Formula + desc "Core application library for C" + homepage "https://developer.gnome.org/glib/" + url "https://download.gnome.org/sources/glib/2.48/glib-2.48.1.tar.xz" + sha256 "74411bff489cb2a3527bac743a51018841a56a4d896cc1e0d0d54f8166a14612" + + option :universal + option "with-test", "Build a debug build and run tests. NOTE: Not all tests succeed yet" + + deprecated_option "test" => "with-test" + + depends_on "pkg-config" => :build + depends_on "gettext" + depends_on "libffi" + depends_on "pcre" + + fails_with :llvm do + build 2334 + cause "Undefined symbol errors while linking" + end + + resource "config.h.ed" do + url "https://raw.githubusercontent.com/Homebrew/patches/eb51d82/glib/config.h.ed" + version "111532" + sha256 "9f1e23a084bc879880e589893c17f01a2f561e20835d6a6f08fcc1dad62388f1" + end + + # https://bugzilla.gnome.org/show_bug.cgi?id=673135 Resolved as wontfix, + # but needed to fix an assumption about the location of the d-bus machine + # id file. + patch do + url "https://raw.githubusercontent.com/Homebrew/patches/59e4d32/glib/hardcoded-paths.diff" + sha256 "a4cb96b5861672ec0750cb30ecebe1d417d38052cac12fbb8a77dbf04a886fcb" + end + + # Fixes compilation with FSF GCC. Doesn't fix it on every platform, due + # to unrelated issues in GCC, but improves the situation. + # Patch submitted upstream: https://bugzilla.gnome.org/show_bug.cgi?id=672777 + patch do + url "https://raw.githubusercontent.com/Homebrew/patches/59e4d32/glib/gio.patch" + sha256 "cc3f0f6d561d663dfcdd6154b075150f68a36f5a92f94e5163c1c20529bfdf32" + end + + if build.universal? + patch do + url "https://raw.githubusercontent.com/Homebrew/patches/59e4d32/glib/universal.patch" + sha256 "7e1ad7667c7d89fcd08950c9c32cd66eb9c8e2ee843f023d1fadf09a9ba39fee" + end + end + + # Reverts GNotification support on OS X. + # This only supports OS X 10.9, and the reverted commits removed the + # ability to build glib on older versions of OS X. + # https://bugzilla.gnome.org/show_bug.cgi?id=747146 + # Reverts upstream commits 36e093a31a9eb12021e7780b9e322c29763ffa58 + # and 89058e8a9b769ab223bc75739f5455dab18f7a3d, with equivalent changes + # also applied to configure and gio/Makefile.in + if MacOS.version < :mavericks + patch do + url "https://raw.githubusercontent.com/Homebrew/patches/59e4d32/glib/gnotification-mountain.patch" + sha256 "723def732304552ca55ae9f5b568ff3e8a59a14d512af72b6c1f0421f8228a68" + end + end + + def install + ENV.universal_binary if build.universal? + + inreplace %w[gio/gdbusprivate.c gio/xdgmime/xdgmime.c glib/gutils.c], + "@@HOMEBREW_PREFIX@@", HOMEBREW_PREFIX + + # renaming is necessary for patches to work + mv "gio/gcocoanotificationbackend.c", "gio/gcocoanotificationbackend.m" unless MacOS.version < :mavericks + mv "gio/gnextstepsettingsbackend.c", "gio/gnextstepsettingsbackend.m" + + # Disable dtrace; see https://trac.macports.org/ticket/30413 + args = %W[ + --disable-maintainer-mode + --disable-dependency-tracking + --disable-silent-rules + --disable-dtrace + --disable-libelf + --enable-static + --prefix=#{prefix} + --localstatedir=#{var} + --with-gio-module-dir=#{HOMEBREW_PREFIX}/lib/gio/modules + ] + + system "./configure", *args + + if build.universal? + buildpath.install resource("config.h.ed") + system "ed -s - config.h + #include + + int main(void) + { + gchar *result_1, *result_2; + char *str = "string"; + + result_1 = g_convert(str, strlen(str), "ASCII", "UTF-8", NULL, NULL, NULL); + result_2 = g_convert(result_1, strlen(result_1), "UTF-8", "ASCII", NULL, NULL, NULL); + + return (strcmp(str, result_2) == 0) ? 0 : 1; + } + EOS + flags = ["-I#{include}/glib-2.0", "-I#{lib}/glib-2.0/include", "-lglib-2.0"] + system ENV.cc, "-o", "test", "test.c", *(flags + ENV.cflags.to_s.split) + system "./test" + end +end diff --git a/osx/Taps/gitg/gnutls.rb b/osx/Taps/gitg/gnutls.rb new file mode 100644 index 00000000..49e8dd04 --- /dev/null +++ b/osx/Taps/gitg/gnutls.rb @@ -0,0 +1,71 @@ +class Gnutls < Formula + desc "GNU Transport Layer Security (TLS) Library" + homepage "https://gnutls.org/" + url "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-3.4.11.tar.xz" + mirror "https://gnupg.org/ftp/gcrypt/gnutls/v3.4/gnutls-3.4.11.tar.xz" + mirror "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gnutls/v3.4/gnutls-3.4.11.tar.xz" + sha256 "70ef9c9f95822d363036c6e6b5479750e5b7fc34f50e750c3464a98ec65a9ab8" + + depends_on "pkg-config" => :build + depends_on "libtasn1" + depends_on "gmp" + depends_on "nettle" + + fails_with :llvm do + build 2326 + cause "Undefined symbols when linking" + end + + def install + args = %W[ + --disable-dependency-tracking + --disable-silent-rules + --disable-static + --prefix=#{prefix} + --sysconfdir=#{etc} + --with-default-trust-store-file=#{etc}/openssl/cert.pem + --disable-heartbeat-support + --without-p11-kit + ] + + if build.with? "guile" + args << "--enable-guile" + args << "--with-guile-site-dir=no" + end + + system "./configure", *args + system "make", "install" + + # certtool shadows the OS X certtool utility + mv bin/"certtool", bin/"gnutls-certtool" + mv man1/"certtool.1", man1/"gnutls-certtool.1" + end + + def post_install + keychains = %w[ + /System/Library/Keychains/SystemRootCertificates.keychain + ] + + certs_list = `security find-certificate -a -p #{keychains.join(" ")}` + certs = certs_list.scan( + /-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----/m + ) + + valid_certs = certs.select do |cert| + IO.popen("openssl x509 -inform pem -checkend 0 -noout", "w") do |openssl_io| + openssl_io.write(cert) + openssl_io.close_write + end + + $?.success? + end + + openssldir = etc/"openssl" + openssldir.mkpath + (openssldir/"cert.pem").atomic_write(valid_certs.join("\n")) + end + + test do + system bin/"gnutls-cli", "--version" + end +end diff --git a/osx/Taps/gitg/gobject-introspection.rb b/osx/Taps/gitg/gobject-introspection.rb index f27b782e..ffef45b8 100644 --- a/osx/Taps/gitg/gobject-introspection.rb +++ b/osx/Taps/gitg/gobject-introspection.rb @@ -7,7 +7,7 @@ class GobjectIntrospection < Formula option :universal depends_on "pkg-config" => :run - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "libffi" resource "tutorial" do diff --git a/osx/Taps/gitg/gsettings-desktop-schemas.rb b/osx/Taps/gitg/gsettings-desktop-schemas.rb index c5e2bb6d..8e6bcb91 100644 --- a/osx/Taps/gitg/gsettings-desktop-schemas.rb +++ b/osx/Taps/gitg/gsettings-desktop-schemas.rb @@ -6,7 +6,7 @@ class GsettingsDesktopSchemas < Formula depends_on "pkg-config" => :build depends_on "intltool" => :build - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "gnome/gitg/gobject-introspection" => :build depends_on "gettext" depends_on "libffi" diff --git a/osx/Taps/gitg/gtk+3.rb b/osx/Taps/gitg/gtk+3.rb index fe785165..490bb7e3 100644 --- a/osx/Taps/gitg/gtk+3.rb +++ b/osx/Taps/gitg/gtk+3.rb @@ -15,11 +15,9 @@ class Gtkx3 < Formula depends_on "libepoxy" depends_on "gnome/gitg/gsettings-desktop-schemas" => :recommended depends_on "gnome/gitg/pango" - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "hicolor-icon-theme" - patch :DATA - def install ENV.universal_binary if build.universal? @@ -112,44 +110,3 @@ class Gtkx3 < Formula system "./test" end end -__END__ -From 2544b9256318b5f921e6eebb5925bdc8b3419125 Mon Sep 17 00:00:00 2001 -From: Brion Vibber -Date: Sun, 16 Nov 2014 15:10:30 -0800 -Subject: [PATCH 3/3] Work in progress fix for low-res GL views on Quartz - HiDPI/Retina - -gdk_quartz_ref_cairo_surface () wasn't respecting the window's scale -when creating a surface, whereas the equivalent on other backends was. - -This patch fixes GL views, but breaks non-GL ones on Retina display -by making them double-sized. Not sure where the doubling on that code -path is yet... ---- - gdk/quartz/gdkwindow-quartz.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c -index 1d39e8f..04539d3 100644 ---- a/gdk/quartz/gdkwindow-quartz.c -+++ b/gdk/quartz/gdkwindow-quartz.c -@@ -317,10 +317,15 @@ gdk_quartz_ref_cairo_surface (GdkWindow *window) - - if (!impl->cairo_surface) - { -+ int scale = gdk_window_get_scale_factor (impl->wrapper); -+ if (scale == 0) -+ scale = 1; -+ - impl->cairo_surface = - gdk_quartz_create_cairo_surface (impl, -- gdk_window_get_width (impl->wrapper), -- gdk_window_get_height (impl->wrapper)); -+ gdk_window_get_width (impl->wrapper) * scale, -+ gdk_window_get_height (impl->wrapper) * scale); -+ cairo_surface_set_device_scale (impl->cairo_surface, scale, scale); - } - else - cairo_surface_reference (impl->cairo_surface); --- -1.9.3 (Apple Git-50) diff --git a/osx/Taps/gitg/gtk-doc.rb b/osx/Taps/gitg/gtk-doc.rb new file mode 100644 index 00000000..575c0f68 --- /dev/null +++ b/osx/Taps/gitg/gtk-doc.rb @@ -0,0 +1,31 @@ +class GtkDoc < Formula + desc "GTK+ documentation tool" + homepage "http://www.gtk.org/gtk-doc/" + url "https://download.gnome.org/sources/gtk-doc/1.24/gtk-doc-1.24.tar.xz" + sha256 "b420759ea05c760301bada14e428f1b321f5312f44e10a176d6804822dabb58b" + + depends_on "pkg-config" => :build + depends_on "gnome-doc-utils" => :build + depends_on "itstool" => :build + depends_on "gettext" + depends_on "gnome/gitg/glib" + depends_on "docbook" + depends_on "docbook-xsl" + depends_on "libxml2" => "with-python" + + def install + ENV.append_path "PYTHONPATH", "#{Formula["libxml2"].opt_lib}/python2.7/site-packages" + + system "./configure", "--disable-debug", + "--disable-dependency-tracking", + "--prefix=#{prefix}", + "--with-xml-catalog=#{etc}/xml/catalog" + system "make" + system "make", "install" + end + + test do + system "#{bin}/gtkdoc-scan", "--module=test" + system "#{bin}/gtkdoc-mkdb", "--module=test" + end +end diff --git a/osx/Taps/gitg/gtksourceview3.rb b/osx/Taps/gitg/gtksourceview3.rb index 32d8b7ca..67017809 100644 --- a/osx/Taps/gitg/gtksourceview3.rb +++ b/osx/Taps/gitg/gtksourceview3.rb @@ -84,86 +84,3 @@ class Gtksourceview3 < Formula system "./test" end end - -__END__ -diff --git a/configure b/configure -index ad97334..9faade8 100755 ---- a/configure -+++ b/configure -@@ -12636,76 +12636,6 @@ fi - - - --for flag in -Wl,--no-as-needed ; do -- as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh` --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5 --$as_echo_n "checking whether C compiler accepts $flag... " >&6; } --if eval \${$as_CACHEVAR+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- -- ax_check_save_flags=$CFLAGS -- CFLAGS="$CFLAGS $ax_compiler_flags_test $flag" -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- eval "$as_CACHEVAR=yes" --else -- eval "$as_CACHEVAR=no" --fi --rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -- CFLAGS=$ax_check_save_flags --fi --eval ac_res=\$$as_CACHEVAR -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } --if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then : -- --if ${WARN_LDFLAGS+:} false; then : -- -- case " $WARN_LDFLAGS " in #( -- *" $flag "*) : -- { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5 -- (: WARN_LDFLAGS already contains $flag) 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } ;; #( -- *) : -- -- as_fn_append WARN_LDFLAGS " $flag" -- { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5 -- (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } -- ;; --esac -- --else -- -- WARN_LDFLAGS=$flag -- { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5 -- (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } -- --fi -- --else -- : --fi -- --done - - - if test "$ax_enable_compile_warnings" != "no"; then : diff --git a/osx/Taps/gitg/gtkspell3.rb b/osx/Taps/gitg/gtkspell3.rb index 1f23d00d..221924ce 100644 --- a/osx/Taps/gitg/gtkspell3.rb +++ b/osx/Taps/gitg/gtkspell3.rb @@ -7,7 +7,7 @@ class Gtkspell3 < Formula depends_on "pkg-config" => :build depends_on "intltool" => :build depends_on "gnome/gitg/gtk+3" - depends_on "enchant" + depends_on "gnome/gitg/enchant" def install system "./configure", "--disable-debug", "--prefix=#{prefix}" diff --git a/osx/Taps/gitg/harfbuzz.rb b/osx/Taps/gitg/harfbuzz.rb index 9619e067..a9b72f38 100644 --- a/osx/Taps/gitg/harfbuzz.rb +++ b/osx/Taps/gitg/harfbuzz.rb @@ -16,7 +16,7 @@ class Harfbuzz < Formula option "with-cairo", "Build command-line utilities that depend on Cairo" depends_on "pkg-config" => :build - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "freetype" depends_on "gnome/gitg/gobject-introspection" depends_on "icu4c" => :recommended diff --git a/osx/Taps/gitg/libcroco.rb b/osx/Taps/gitg/libcroco.rb new file mode 100644 index 00000000..dfe36cfd --- /dev/null +++ b/osx/Taps/gitg/libcroco.rb @@ -0,0 +1,24 @@ +class Libcroco < Formula + desc "CSS parsing and manipulation toolkit for GNOME" + homepage "http://www.linuxfromscratch.org/blfs/view/svn/general/libcroco.html" + url "https://download.gnome.org/sources/libcroco/0.6/libcroco-0.6.11.tar.xz" + sha256 "132b528a948586b0dfa05d7e9e059901bca5a3be675b6071a90a90b81ae5a056" + + depends_on "pkg-config" => :build + depends_on "intltool" => :build + depends_on "gnome/gitg/glib" + + def install + ENV.libxml2 + system "./configure", "--disable-dependency-tracking", + "--prefix=#{prefix}", + "--disable-Bsymbolic" + system "make", "install" + end + + test do + (testpath/"test.css").write ".brew-pr { color: green }" + assert_equal ".brew-pr {\n color : green\n}", + shell_output("#{bin}/csslint-0.6 test.css").chomp + end +end diff --git a/osx/Taps/gitg/libgee.rb b/osx/Taps/gitg/libgee.rb index a649b5bb..e7110f4e 100644 --- a/osx/Taps/gitg/libgee.rb +++ b/osx/Taps/gitg/libgee.rb @@ -5,7 +5,7 @@ class Libgee < Formula sha256 "4ad99ef937d071b4883c061df40bfe233f7649d50c354cf81235f180b4244399" depends_on "pkg-config" => :build - depends_on "vala" => :build + depends_on "gnome/gitg/vala" => :build depends_on "gnome/gitg/gobject-introspection" def install diff --git a/osx/Taps/gitg/libgit2-glib.rb b/osx/Taps/gitg/libgit2-glib.rb index 3c923b87..f261252c 100644 --- a/osx/Taps/gitg/libgit2-glib.rb +++ b/osx/Taps/gitg/libgit2-glib.rb @@ -11,15 +11,15 @@ class Libgit2Glib < Formula depends_on "automake" => :build depends_on "autoconf" => :build depends_on "gnome-common" => :build - depends_on "gtk-doc" => :build + depends_on "gnome/gitg/gtk-doc" => :build end depends_on "pkg-config" => :build depends_on "gettext" - depends_on "libgit2" => "with-libssh2" + depends_on "gnome/gitg/libgit2" => "with-libssh2" depends_on "gnome/gitg/gobject-introspection" - depends_on "glib" - depends_on "vala" => :optional + depends_on "gnome/gitg/glib" + depends_on "gnome/gitg/vala" => :optional depends_on :python => :optional def install diff --git a/osx/Taps/gitg/libgit2.rb b/osx/Taps/gitg/libgit2.rb new file mode 100644 index 00000000..22731f5f --- /dev/null +++ b/osx/Taps/gitg/libgit2.rb @@ -0,0 +1,59 @@ +class Libgit2 < Formula + desc "C library of Git core methods that is re-entrant and linkable" + homepage "https://libgit2.github.com/" + url "https://github.com/libgit2/libgit2/archive/v0.24.1.tar.gz" + sha256 "60198cbb34066b9b5c1613d15c0479f6cd25f4aef42f7ec515cd1cc13a77fede" + head "https://github.com/libgit2/libgit2.git" + + option :universal + + depends_on "pkg-config" => :build + depends_on "cmake" => :build + depends_on "libssh2" => :optional + depends_on "openssl" if MacOS.version <= :lion # Uses SecureTransport on >10.7 + + def install + args = std_cmake_args + args << "-DBUILD_EXAMPLES=YES" + args << "-DBUILD_CLAR=NO" # Don't build tests. + args << "-DUSE_SSH=NO" if build.without? "libssh2" + + if build.universal? + ENV.universal_binary + args << "-DCMAKE_OSX_ARCHITECTURES=#{Hardware::CPU.universal_archs.as_cmake_arch_flags}" + end + + mkdir "build" do + system "cmake", "..", *args + system "make", "install" + cd "examples" do + (pkgshare/"examples").install "add", "blame", "cat-file", "cgit2", + "describe", "diff", "for-each-ref", + "general", "init", "log", "remote", + "rev-list", "rev-parse", "showindex", + "status", "tag" + end + end + end + + test do + (testpath/"test.c").write <<-EOS.undent + #include + + int main(int argc, char *argv[]) { + int options = git_libgit2_features(); + return 0; + } + EOS + libssh2 = Formula["libssh2"] + flags = (ENV.cflags || "").split + (ENV.cppflags || "").split + (ENV.ldflags || "").split + flags += %W[ + -I#{include} + -I#{libssh2.opt_include} + -L#{lib} + -lgit2 + ] + system ENV.cc, "test.c", "-o", "test", *flags + system "./test" + end +end diff --git a/osx/Taps/gitg/libgsf.rb b/osx/Taps/gitg/libgsf.rb new file mode 100644 index 00000000..03690611 --- /dev/null +++ b/osx/Taps/gitg/libgsf.rb @@ -0,0 +1,49 @@ +class Libgsf < Formula + desc "I/O abstraction library for dealing with structured file formats" + homepage "https://developer.gnome.org/gsf/" + url "https://download.gnome.org/sources/libgsf/1.14/libgsf-1.14.36.tar.xz" + sha256 "71b7507f86c0f7c341bb362bdc7925a2ae286729be0bf5b8fd9581ffbbd62940" + + head do + url "https://github.com/GNOME/libgsf.git" + depends_on "automake" => :build + depends_on "autoconf" => :build + depends_on "gnome-common" => :build + depends_on "gnome/gitg/gtk-doc" => :build + depends_on "libtool" => :build + end + + depends_on "pkg-config" => :build + depends_on "intltool" => :build + depends_on "gnome/gitggdk-pixbuf" => :optional + depends_on "gettext" + depends_on "gnome/gitgglib" + + def install + args = %W[--disable-dependency-tracking --prefix=#{prefix}] + if build.head? + system "./autogen.sh", *args + else + system "./configure", *args + end + system "make", "install" + end + + test do + system bin/"gsf", "--help" + (testpath/"test.c").write <<-EOS.undent + #include + int main() + { + void + gsf_init (void); + return 0; + } + EOS + system ENV.cc, "-I#{include}/libgsf-1", + "-I#{Formula["glib"].opt_include}/glib-2.0", + "-I#{Formula["glib"].opt_lib}/glib-2.0/include", + testpath/"test.c", "-o", testpath/"test" + system "./test" + end +end diff --git a/osx/Taps/gitg/libpeas.rb b/osx/Taps/gitg/libpeas.rb index ecd8775f..9738bee2 100644 --- a/osx/Taps/gitg/libpeas.rb +++ b/osx/Taps/gitg/libpeas.rb @@ -11,14 +11,10 @@ class Libpeas < Formula depends_on "automake" => :build depends_on "libtool" => :build depends_on "gnome-common" => :build - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "gnome/gitg/gobject-introspection" depends_on "gnome/gitg/gtk+3" - # fixes a linking issue in the tests - # submitted upsteam as a PR: https://github.com/gregier/libpeas/pull/3 - patch :DATA - def install system "autoreconf", "-i" system "./configure", "--disable-debug", @@ -67,19 +63,3 @@ class Libpeas < Formula system "./test" end end - -__END__ -diff --git a/tests/libpeas/plugins/extension-c/Makefile.am b/tests/libpeas/plugins/extension-c/Makefile.am -index 9f18008..ed51b06 100644 ---- a/tests/libpeas/plugins/extension-c/Makefile.am -+++ b/tests/libpeas/plugins/extension-c/Makefile.am -@@ -18,7 +18,8 @@ libextension_c_la_SOURCES = \ - libextension_c_la_LDFLAGS = $(TEST_PLUGIN_LIBTOOL_FLAGS) - libextension_c_la_LIBADD = \ - $(PEAS_LIBS) \ -- $(builddir)/../../introspection/libintrospection-1.0.la -+ $(builddir)/../../introspection/libintrospection-1.0.la \ -+ $(top_builddir)/libpeas/libpeas-1.0.la - - libextension_c_missing_symbol_la_SOURCES = \ - extension-c-missing-symbol-plugin.c diff --git a/osx/Taps/gitg/librsvg.rb b/osx/Taps/gitg/librsvg.rb index 4e4fe7a7..5fc6a88e 100644 --- a/osx/Taps/gitg/librsvg.rb +++ b/osx/Taps/gitg/librsvg.rb @@ -7,10 +7,10 @@ class Librsvg < Formula depends_on "pkg-config" => :build depends_on "gnome/gitg/cairo" depends_on "gnome/gitg/gdk-pixbuf" - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "gnome/gitg/gtk+3" => :optional - depends_on "libcroco" - depends_on "libgsf" => :optional + depends_on "gnome/gitg/libcroco" + depends_on "gnome/gitg/libgsf" => :optional depends_on "gnome/gitg/pango" def install diff --git a/osx/Taps/gitg/libsecret.rb b/osx/Taps/gitg/libsecret.rb index d3bd68ec..dc798f97 100644 --- a/osx/Taps/gitg/libsecret.rb +++ b/osx/Taps/gitg/libsecret.rb @@ -8,9 +8,9 @@ class Libsecret < Formula depends_on "gnu-sed" => :build depends_on "intltool" => :build depends_on "gettext" => :build - depends_on "vala" => :build + depends_on "gnome/gitg/vala" => :build depends_on "gnome/gitg/gobject-introspection" - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "libgcrypt" def install diff --git a/osx/Taps/gitg/libsoup.rb b/osx/Taps/gitg/libsoup.rb index 9fa474d4..882cf9ed 100644 --- a/osx/Taps/gitg/libsoup.rb +++ b/osx/Taps/gitg/libsoup.rb @@ -6,10 +6,12 @@ class Libsoup < Formula depends_on "pkg-config" => :build depends_on "intltool" => :build + depends_on "gnome/gitg/gtk-doc" => :build depends_on "gnome/gitg/glib-networking" depends_on "gnome/gitg/gnutls" depends_on "sqlite" depends_on "gnome/gitg/gobject-introspection" => :recommended + depends_on "gnome/gitg/vala" def install args = [ diff --git a/osx/Taps/gitg/pango.rb b/osx/Taps/gitg/pango.rb index 0e1e1f30..8f8a55dd 100644 --- a/osx/Taps/gitg/pango.rb +++ b/osx/Taps/gitg/pango.rb @@ -14,13 +14,13 @@ class Pango < Formula depends_on "automake" => :build depends_on "autoconf" => :build depends_on "libtool" => :build - depends_on "gtk-doc" => :build + depends_on "gnome/gitg/gtk-doc" => :build end option :universal depends_on "pkg-config" => :build - depends_on "glib" + depends_on "gnome/gitg/glib" depends_on "gnome/gitg/cairo" depends_on "gnome/gitg/harfbuzz" depends_on "fontconfig" diff --git a/osx/Taps/gitg/shared-mime-info.rb b/osx/Taps/gitg/shared-mime-info.rb new file mode 100644 index 00000000..993eaa39 --- /dev/null +++ b/osx/Taps/gitg/shared-mime-info.rb @@ -0,0 +1,38 @@ +class SharedMimeInfo < Formula + desc "Database of common MIME types" + homepage "https://wiki.freedesktop.org/www/Software/shared-mime-info" + url "https://freedesktop.org/~hadess/shared-mime-info-1.6.tar.xz" + sha256 "b2f8f85b6467933824180d0252bbcaee523f550a8fbc95cc4391bd43c03bc34c" + + head do + url "https://anongit.freedesktop.org/git/xdg/shared-mime-info.git" + depends_on "automake" => :build + depends_on "autoconf" => :build + depends_on "intltool" => :build + end + + depends_on "pkg-config" => :build + depends_on "intltool" => :build + depends_on "gettext" + depends_on "gnome/gitg/glib" + + def install + # Disable the post-install update-mimedb due to crash + args = %W[ + --disable-dependency-tracking + --prefix=#{prefix} + --disable-update-mimedb + ] + if build.head? + system "./autogen.sh", *args + else + system "./configure", *args + end + system "make", "install" + end + + test do + cp_r share/"mime", testpath + system bin/"update-mime-database", testpath/"mime" + end +end diff --git a/osx/Taps/gitg/vala.rb b/osx/Taps/gitg/vala.rb index 24a647b5..2b6eb868 100644 --- a/osx/Taps/gitg/vala.rb +++ b/osx/Taps/gitg/vala.rb @@ -1,23 +1,12 @@ class Vala < Formula desc "Compiler for the GObject type system" homepage "https://live.gnome.org/Vala" - url "https://download.gnome.org/sources/vala/0.31/vala-0.31.1.tar.xz" - sha256 "c3cbff1cc29f3fca3939c3994b8591ec3d9aca4d85d042353ee46c00ddf4055f" - - bottle do - sha256 "b68681f676381035cdd85e944aa234f0566137bda514ec105477fbeed246a365" => :el_capitan - sha256 "752fe91460002b335c35084f073d6e3f3666017f6b7dea9f728a828a0dde911e" => :yosemite - sha256 "bf422cf5802d09413482943afac7cd0b7d19e2defa1955330acb11d644d61299" => :mavericks - end - - devel do - url "https://download.gnome.org/sources/vala/0.31/vala-0.31.1.tar.xz" - sha256 "c3cbff1cc29f3fca3939c3994b8591ec3d9aca4d85d042353ee46c00ddf4055f" - end + url "https://download.gnome.org/sources/vala/0.32/vala-0.32.0.tar.xz" + sha256 "07a2aa4ede040789b4b5af817a42249d703bfe8affccb7732ca2b53d00c1fb6e" depends_on "pkg-config" => :run depends_on "gettext" - depends_on "glib" + depends_on "gnome/gitg/glib" def install system "./configure", "--disable-dependency-tracking", diff --git a/osx/scripts/build b/osx/scripts/build index 4da571d8..091080ff 100755 --- a/osx/scripts/build +++ b/osx/scripts/build @@ -5,19 +5,19 @@ # Install brew if necessary if [ ! -f "$d/install/bin/brew" ]; then mkdir -p "$d/install" - bsha1=4b498186bd0c1d2759d6ebfb19eaa52dab84b743 + bsha1=375efe09455218d9929e41f16317074ccdf50f2a ( cd "$d/install" - curl -L -o $bsha1.zip https://github.com/Homebrew/homebrew/archive/$bsha1.zip + curl -L -o $bsha1.zip https://github.com/Homebrew/brew/archive/$bsha1.zip unzip $bsha1.zip rm -f $bsha1.zip shopt -s dotglob nullglob - mv "homebrew-$bsha1"/* . + mv "brew-$bsha1"/* . shopt -u dotglob - rmdir "homebrew-$bsha1" + rmdir "brew-$bsha1" ) fi @@ -29,4 +29,4 @@ if [ ! -d "$tap" ]; then ln -s "$root/osx/Taps/gitg" "$tap" fi -exec "$lbrew" install "$@" --HEAD gnome/gitg/gitg +exec "$lbrew" install --dependencies-only --HEAD gnome/gitg/gitg diff --git a/osx/scripts/shell b/osx/scripts/shell index 249247ea..4ff05050 100755 --- a/osx/scripts/shell +++ b/osx/scripts/shell @@ -4,4 +4,30 @@ export GITG_SHELL=1 -exec "$lbrew" sh +dependencies="$($b deps gnome/gitg/gitg)" + +CFLAGS="-Wno-format-nonliteral -Wno-format-security" +LDFLAGS="" + +prefix=$($b --prefix) + +PATH="$prefix/bin:$PATH" +XDG_DATA_DIRS="$prefix/share:$XDG_DATA_DIRS" + +prefixes=$($b --prefix $dependencies) + +for prefix in $prefixes; +do + PKG_CONFIG_PATH="$prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + XDG_DATA_DIRS="$prefix/share:$XDG_DATA_DIRS" + + CFLAGS="-I$prefix/include $CFLAGS" + LDFLAGS="-L$prefix/lib $LDFLAGS" + PATH="$prefix/bin:$PATH" +done + +export PKG_CONFIG_PATH XDG_DATA_DIRS CFLAGS LDFLAGS PATH +export PS1_EXTRA="\[\033[0;35m\](gitg)\[\033[0m\] " +export MAKEFLAGS="-j$(sysctl -n machdep.cpu.core_count)" + +exec bash