#9 Fix flatpak build
Merged 9 months ago by tpokorra. Opened 10 months ago by yselkowitz.
rpms/ yselkowitz/mono rawhide  into  rawhide

file modified
+5 -5
@@ -10,19 +10,19 @@ 

  # Args: builddir buildroot libdir

  

  IFS=$'\n'

- filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/'))

+ filelist=($(grep -Ev "$3/doc/|$3/share/doc/"))

  monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))

  

  # If monodis is in the package being installed, use that one

  # This is to support building mono

- build_bindir="$2/usr/bin"

- build_libdir="$2$3"

+ build_bindir="$2$3/bin"

+ build_libdir="$2$3/$4"

  

  if [ -x $build_bindir/monodis ]; then

      monodis="$build_bindir/monodis"

      export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

- elif [ -x /usr/bin/monodis ]; then

-     monodis="/usr/bin/monodis"

+ elif [ -x $3/bin/monodis ]; then

+     monodis="$3/bin/monodis"

  else

      exit 0;

  fi

file modified
+5 -5
@@ -10,19 +10,19 @@ 

  # Args: builddir buildroot libdir

  

  IFS=$'\n'

- filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/'))

+ filelist=($(grep -Ev "$3/doc/|$3/share/doc/"))

  monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))

  

  # If monodis is in the package being installed, use that one

  # This is to support building mono

- build_bindir="$2/usr/bin"

- build_libdir="$2$3"

+ build_bindir="$2$3/bin"

+ build_libdir="$2$3/$4"

  

  if [ -x $build_bindir/monodis ]; then

      monodis="$build_bindir/monodis"

      export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

- elif [ -x /usr/bin/monodis ]; then

-     monodis="/usr/bin/monodis"

+ elif [ -x $3/bin/monodis ]; then

+     monodis="$3/bin/monodis"

  else

      exit 0;

  fi

file modified
+2 -2
@@ -1,3 +1,3 @@ 

- %__mono_provides	%{_rpmconfigdir}/mono-find-provides %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir}

- %__mono_requires	%{_rpmconfigdir}/mono-find-requires %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir}

+ %__mono_provides	%{_rpmconfigdir}/mono-find-provides %{_builddir}/%{?buildsubdir} %{buildroot} %{_prefix} %{_lib}

+ %__mono_requires	%{_rpmconfigdir}/mono-find-requires %{_builddir}/%{?buildsubdir} %{buildroot} %{_prefix} %{_lib}

  %__mono_magic		Mono/.Net assembly

file modified
+13 -13
@@ -256,7 +256,7 @@ 

  %package data-sqlite

  Summary:        sqlite database connectivity for Mono

  Requires:       mono-core = %{version}-%{release}

- Requires:       sqlite

+ Requires:       sqlite-libs%{?_isa}

  

  %description data-sqlite

  This package contains the ADO.NET Data provider for the sqlite
@@ -372,7 +372,7 @@ 

  find . -name "*.dll" -print -delete

  find . -name "*.exe" -print -delete

  # use the binaries from the currently installed mono

- cd external/binary-reference-assemblies && mv v4.7.1 v4.7.1.tobuild && ln -s /usr/lib/mono/4.7.1-api v4.7.1 && cd -

+ cd external/binary-reference-assemblies && mv v4.7.1 v4.7.1.tobuild && ln -s %{_monodir}/4.7.1-api v4.7.1 && cd -

  %endif

  

  %build
@@ -471,26 +471,26 @@ 

  rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc

  

  # remove msbuild / microsoft binary files

- rm -rf %{buildroot}/usr/lib/mono/msbuild

+ rm -rf %{buildroot}%{_monodir}/msbuild

  

  # we have btls debug files

- rm -rf %{buildroot}/usr/lib/debug/usr/lib64/libmono-btls-shared.so-*.debug

+ rm -rf %{buildroot}/usr/lib/debug%{_libdir}/libmono-btls-shared.so-*.debug

  

  # drop other debug files as well

- rm -rf %{buildroot}/usr/lib/debug/usr/lib64/libmono-native.so*.debug

- rm -rf %{buildroot}/usr/lib/debug/usr/bin/mono-hang-watchdog-*.debug

+ rm -rf %{buildroot}/usr/lib/debug%{_libdir}/libmono-native.so*.debug

+ rm -rf %{buildroot}/usr/lib/debug%{_bindir}/mono-hang-watchdog-*.debug

  

  # create a symbolic link so that Fedora packages targetting Framework 4.5 will still build

- cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.5-api && cd -

+ cd %{buildroot}%{_monodir} && ln -s 4.7.1-api 4.5-api && cd -

  # as requested in bug 1704861; we have had that link in F29 with Mono 4.8 as well.

- cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.0-api && cd -

+ cd %{buildroot}%{_monodir} && ln -s 4.7.1-api 4.0-api && cd -

  

  # for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64

  %if 0%{?el7}%{?el8} == 0

  # rpm helper scripts

- mkdir -p %{buildroot}%{_prefix}/lib/rpm/fileattrs/

- install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/

- install -p -m644 %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/fileattrs/

+ mkdir -p %{buildroot}%{_fileattrsdir}

+ install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_rpmconfigdir}

+ install -p -m644 %{SOURCE4} %{buildroot}%{_fileattrsdir}

  %endif

  

  # remove these files, we are using the files installed in /usr/lib/rpm/
@@ -761,8 +761,8 @@ 

  

  # for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64

  %if 0%{?el7}%{?el8} == 0

- %{_prefix}/lib/rpm/mono-find-*

- %{_prefix}/lib/rpm/fileattrs/mono.attr

+ %{_rpmconfigdir}/mono-find-*

+ %{_fileattrsdir}/mono.attr

  %endif

  

  %{_bindir}/aprofutil

This series of changes are needed to build mono for Fedora flatpaks (e.g. gbrainy, pinta).

Pull-Request has been merged by tpokorra

9 months ago