Blob Blame Raw
Name:    gnome-builder
Version: 3.18.1
Release: 2%{?dist}
Summary: IDE for writing GNOME-based software

Group:   Applications/Editors
# Note: Checked as of 3.15.4.1
#
# Most of GNOME Builder is licensed under the GPLv3+.
#
# The following files are licensed under the GPLv2+:
#     - src/dialogs/gb-close-confirmation-dialog.c
#     - src/dialogs/gb-close-confirmation-dialog.h
#     - src/gedit/gedit-menu-stack-switcher.c
#     - src/gedit/gedit-menu-stack-switcher.h
#
# The following files are licensed under the LGPLv2+:
#     - data/styles/builder-dark.xml (seems like an error, the header speaks about GtkSourceView)
#     - src/animation/gb-frame-source.c
#     - src/animation/gb-frame-source.h
#     - src/fuzzy/fuzzy.c
#     - src/fuzzy/fuzzy.h
#     - src/gd/gd-tagged-entry.c
#     - src/gd/gd-tagged-entry.h
#     - src/gedit/gedit-close-button.c
#     - src/gedit/gedit-close-button.h
#     - src/nautilus/nautilus-floating-bar.c
#     - src/nautilus/nautilus-floating-bar.h
#     - src/trie/trie.c
#     - src/trie/trie.h
#     - src/util/gb-cairo.c
#     - src/util/gb-cairo.h
#     - src/util/gb-glib.h
#     - src/util/gb-gtk.c
#     - src/util/gb-gtk.h
#
# The following files are licensed under the LGPLv3+:
#     - src/auto-indent/gb-source-auto-indenter.c
#     - src/auto-indent/gb-source-auto-indenter.h
#     - src/auto-indent/gb-source-auto-indenter-c.c
#     - src/auto-indent/gb-source-auto-indenter-c.h
#     - src/auto-indent/gb-source-auto-indenter-python.c
#     - src/auto-indent/gb-source-auto-indenter-python.h
#     - src/auto-indent/gb-source-auto-indenter-xml.c
#     - src/auto-indent/gb-source-auto-indenter-xml.h
#
# The following files are MIT licensed:
#     - src/resources/css/markdown.css
#     - src/resources/js/marked.js
#
# The following files are licensed under the CC-BY-SA license:
#     - data/icons/
#
# The following files are licensed under the CC0 license:
#     - data/org.gnome.Builder.appdata.xml
#     - data/html-preview.png
License: GPLv3+ and GPLv2+ and LGPLv3+ and LGPLv2+ and MIT and CC-BY-SA and CC0
URL:     https://wiki.gnome.org/Apps/Builder
#VCS:    git:git://git.gnome.org/gnome-builder
Source0: https://download.gnome.org/sources/%{name}/3.18/%{name}-%{version}.tar.xz

Patch0:  0001-vala-remove-in-tree-hack-for-builder-deps.patch

BuildRequires: git-core

BuildRequires: vala-devel /usr/bin/vapigen
BuildRequires: desktop-file-utils
BuildRequires: intltool
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtksourceview-3.0)
BuildRequires: pkgconfig(libdevhelp-3.0)
BuildRequires: pkgconfig(libgit2-glib-1.0)
BuildRequires: pkgconfig(libpeas-1.0)
BuildRequires: pkgconfig(gjs-1.0)
BuildRequires: pkgconfig(pygobject-3.0)
BuildRequires: pkgconfig(vte-2.91)
BuildRequires: /usr/bin/appstream-util
BuildRequires: llvm-devel clang-devel
BuildRequires: python3-devel
Recommends:    python3-jedi

%description
Builder attempts to be an IDE for writing software for GNOME. It does not try
to be a generic IDE, but one specialized for writing GNOME software.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%prep
%autosetup -S git
sed -i -e "s|pkgconfigdir = \$(libdir)/pkgconfig|pkgconfigdir = \$(libdir)/gnome-builder/pkgconfig|" Makefile.in

%build
%configure --disable-static
make %{?_smp_mflags} V=1

%install
%make_install
find %{buildroot} -name '*.la' -delete
%find_lang gnome-builder

%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/org.gnome.Builder.appdata.xml
desktop-file-validate %{buildroot}/%{_datadir}/applications/org.gnome.Builder.desktop

%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%files -f gnome-builder.lang
%doc NEWS README
%license COPYING
%{_bindir}/%{name}
%exclude %{_libdir}/%{name}/pkgconfig/
%{_libdir}/%{name}/
%{_libexecdir}/%{name}/
# AppData is CC0.
%{_datadir}/appdata/org.gnome.Builder.appdata.xml
%{_datadir}/applications/org.gnome.Builder.desktop
%{_datadir}/dbus-1/services/org.gnome.Builder.service
%{_datadir}/glib-2.0/schemas/org.gnome.builder*.gschema.xml
%exclude %{_datadir}/%{name}/gir-1.0/
%{_datadir}/%{name}/
%{_datadir}/gtksourceview-3.0/styles/builder*.xml
# CC-BY-SA.
%{_datadir}/icons/hicolor/*/apps/builder.png
%{_datadir}/icons/hicolor/scalable/*/*.svg

%files devel
%{_libdir}/%{name}/pkgconfig/
%{_datadir}/%{name}/gir-1.0/
%{_datadir}/gtk-doc/html/libide/

%changelog
* Sat Oct 17 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 3.18.1-2
- Backport patches from upstream

* Thu Oct 15 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 3.18.1-1
- Update to 3.18.1

* Wed Sep 23 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 3.18.0-2
- Add python3-jedi to Recommends

* Mon Sep 21 2015 Kalev Lember <klember@redhat.com> - 3.18.0-1
- Update to 3.18.0

* Thu Sep 17 2015 Kalev Lember <klember@redhat.com> - 3.17.92-1
- Update to 3.17.92

* Sat Aug 29 2015 Kalev Lember <klember@redhat.com> - 3.16.3-7
- Backport more fixes for libgit2-glib API changes

* Sat Aug 29 2015 Kalev Lember <klember@redhat.com> - 3.16.3-6
- Drop unneeded uncrustify dependency
- Use make_install macro

* Thu Jul 30 2015 Igor Gnatenko <ignatenko@src.gnome.org> - 3.16.3-5
- Adopt to new API in libgit2-glib (0.23.0)

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.16.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat Jun 13 2015 Michael Catanzaro <mcatanzaro@gnome.org> - 3.16.3-3
- Remove ineffective local storage crash patch.
- Add patch to increase the max number of files.

* Mon Jun 01 2015 Michael Catanzaro <mcatanzaro@gnome.org> - 3.16.3-2
- Disable HTML5 local storage to avoid a crash.

* Mon May 18 2015  Igor Gnatenko <i.gnatenko.brain@gmail.com> - 3.16.3-1
- Update to 3.16.3

* Fri Apr 17 2015 David King <amigadave@amigadave.com> - 3.16.2-2
- Require a recent enough libgit2-glib (#1212804)

* Thu Apr 16 2015 Kalev Lember <kalevlember@gmail.com> - 3.16.2-1
- Update to 3.16.2

* Tue Apr 14 2015 Kalev Lember <kalevlember@gmail.com> - 3.16.1-1
- Update to 3.16.1

* Tue Mar 24 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 3.16.0-1
- Update to 3.16.0

* Thu Jan 29 2015 David King <amigadave@amigadave.com> - 3.15.4.1-2
- Add uncrustify Requires

* Fri Jan 23 2015 David King <amigadave@amigadave.com> - 3.15.4.1-1
- Initial packaging (#1185301)