Blob Blame History Raw
Name:    gnome-builder
Version: 3.16.3
Release: 3%{?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.16/%{name}-%{version}.tar.xz
Patch0:  gb-max-files.patch

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(gjs-1.0)
BuildRequires: pkgconfig(pygobject-3.0)
BuildRequires: /usr/bin/appstream-util
BuildRequires: llvm-devel clang-devel
BuildRequires: python3-devel

Requires:      libgit2-glib%{?_isa} >= 0.22.6-1
Requires:      uncrustify

%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
%setup -q
%patch0 -p1

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

%install
make install DESTDIR=%{buildroot} INSTALL="install -p"
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}
%{_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
%{_datadir}/glib-2.0/schemas/org.gnome.builder.editor*.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.builder.code-insight.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.builder.project-tree.gschema.xml
%{_datadir}/gtksourceview-3.0/styles/builder*.xml
# CC-BY-SA.
%{_datadir}/icons/hicolor/*/apps/builder.png
%{_datadir}/icons/hicolor/scalable/*/*.svg

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

%changelog
* 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)