-%bcond_with flex_bison_c++
+#
+# Conditional build:
+%bcond_with flex_bison_c++ # use flex++/bison++
+#
Summary: A general, open source, retargetable decompiler of native executable files
-Summary(pl): Ogólny, otwarty dekompilator natywnych plików wykonywalnych
+Summary(pl.UTF-8): Ogólny, otwarty dekompilator natywnych plików wykonywalnych
Name: boomerang
Version: 0.0.0.20040708
-Release: 0.1
+Release: 0.2
License: GPL
Group: Development/Languages
Source0: %{name}.tar.gz
# Source0-md5: a9f15806eb670686869f67a06e8a6fbb
Patch0: %{name}-path.patch
+Patch1: %{name}-types.patch
URL: http://boomerang.sourceforge.net/
+BuildRequires: automake
%if %{with flex_bison_c++}
BuildRequires: bison++
BuildRequires: flex
BuildRequires: expat-devel
BuildRequires: gc-devel
BuildRequires: libstdc++-devel
+BuildRequires: sed >= 4.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define no_install_post_chrpath 1
names and comments, though these are obviously very important) require
expert intervention.
-%description -l pl
-Próba stworzenia prawdziwego dekompilatora przez spo³eczno¶æ otwartego
-oprogramowania. Dekompilator przyjmuje na wej¶ciu plik wykonywalny i
-próbuje stworzyæ kompilowalny, a nawet zarz±dzalny, plik ¼ród³owy w
-jêzyku wy¿szego poziomu wykonuj±cy to samo zadanie. Jest to wiêc
-przeciwieñstwo kompilatora, który oczywi¶cie przyjmuje plik ¼ród³owy i
-tworzy wykonywalny. Oczywi¶cie dekompilator nie odtworzy oryginalnego
-pliku ¼ród³owego; raczej nic z tych rzeczy. Nie ma znaczenia, czy plik
-wykonywalny ma symbole czy nie, ani czy zosta³ skompilowany z jakiego¶
-konkretnego jêzyka (jednak jêzyki w rodzaju ML, które s± zwykle
-interpretowane, nie s± brane pod uwagê).
+%description -l pl.UTF-8
+Próba stworzenia prawdziwego dekompilatora przez społeczność otwartego
+oprogramowania. Dekompilator przyjmuje na wejściu plik wykonywalny i
+próbuje stworzyć kompilowalny, a nawet zarządzalny, plik źródłowy w
+języku wyższego poziomu wykonujący to samo zadanie. Jest to więc
+przeciwieństwo kompilatora, który oczywiście przyjmuje plik źródłowy i
+tworzy wykonywalny. Oczywiście dekompilator nie odtworzy oryginalnego
+pliku źródłowego; raczej nic z tych rzeczy. Nie ma znaczenia, czy plik
+wykonywalny ma symbole czy nie, ani czy został skompilowany z jakiegoś
+konkretnego języka (jednak języki w rodzaju ML, które są zwykle
+interpretowane, nie są brane pod uwagę).
-Intencj± jest stworzenie dekompilatora dla wielu architektur (czyli
-takiego, który mo¿e dzia³aæ z ró¿nymi rodzajami wej¶ciowych plików
+Intencją jest stworzenie dekompilatora dla wielu architektur (czyli
+takiego, który może działać z różnymi rodzajami wejściowych plików
wykonywalnych z przyzwoitym efektem, np. x86-windows, sparc-solaris
-itp.). Bêdzie bardzo modularny, wiêc wiele czê¶ci dekompilatora mo¿e
-zostaæ zast±piona eksperymentalnymi modu³ami. Byæ mo¿e stanie siê
-interaktywny, jak IDA Pro, poniewa¿ niektóre rzeczy (nie tylko nazwy
-zmiennych i komentarze, chocia¿ te s± oczywi¶cie bardzo wa¿ne)
-wymagaj± interwencji eksperta.
+itp.). Będzie bardzo modularny, więc wiele części dekompilatora może
+zostać zastąpiona eksperymentalnymi modułami. Być może stanie się
+interaktywny, jak IDA Pro, ponieważ niektóre rzeczy (nie tylko nazwy
+zmiennych i komentarze, chociaż te są oczywiście bardzo ważne)
+wymagają interwencji eksperta.
%prep
%setup -q -n %{name}
%patch0 -p1
+%patch1 -p1
-%build
find . -type d -name CVS -exec rm -rf "{}" ";" 2> /dev/null || :
find . -type f -name 'Makefile*' -exec sed -i -e 's#^BOOMDIR=.*#BOOMDIR=%{_libdir}/%{name}#g' "{}" ";"
-ln -s %{_includedir}/cppunit include/cppunit
+%build
+ln -sf %{_includedir}/cppunit include/cppunit
+cp -f /usr/share/automake/config.* .
%configure
%if ! %{with flex_bison_c++}
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/*
%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/*
+%dir %{_libdir}/%{name}/lib
%attr(755,root,root) %{_libdir}/%{name}/lib/*.so
+%dir %{_libdir}/%{name}/frontend
%dir %{_libdir}/%{name}/frontend/machine
%dir %{_libdir}/%{name}/frontend/machine/*
%{_libdir}/%{name}/frontend/machine/*/*.ssl
-%{_libdir}/%{name}/signatures/*
-%{_libdir}/%{name}/transformations/*
+%{_libdir}/%{name}/signatures
+%{_libdir}/%{name}/transformations