summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-07-05 00:00:34 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-07-05 00:00:34 +0400
commitfe9ff9d147ce144743b1818be1e073a93aefd2d2 (patch)
tree050f83511412d5ccbff23c922cf494a6f6bc5654
parent81dbce44bc37f3a99615b18cd2d24e674cc807ee (diff)
downloadfpc-fe9ff9d147ce144743b1818be1e073a93aefd2d2.tar.gz
Package for Dyson
* Map illumos to solaris in debian/rules * Ignore errors in clean-make-files target in debian/rules * Don't put empty linker flags in debian/rules: test -z '$(LDFLAGS)' || echo '-k$(LDFLAGS)' >> $@ * Added patches: dyson-solaris-gnutoolchain.patch dyson-fpcmake.ini.patch dyson-libs.patch dyson-components.patch * Added dh_install excludes for solaris: grab_vcsa, opencl, graph, ptc, cdrom
-rw-r--r--debian/changelog24
-rw-r--r--debian/patches/dyson-components.patch95
-rw-r--r--debian/patches/dyson-fpcmake.ini.patch23
-rw-r--r--debian/patches/dyson-libs.patch22
-rw-r--r--debian/patches/dyson-solaris-gnutoolchain.patch38
-rw-r--r--debian/patches/series4
-rwxr-xr-xdebian/rules10
7 files changed, 210 insertions, 6 deletions
diff --git a/debian/changelog b/debian/changelog
index 53af70b9..7454e569 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,27 @@
+fpc (2.6.4+dfsg-3~dyson1) unstable; urgency=low
+
+ [ Abou Al Montacir ]
+ * Added libgmp-dev to recommended packages list of fp-units-math in order to
+ avoid users getting lik errors about missing libgmp. (Closes: Bug#749418)
+ [ Michal Šimůnek ]
+ * Updated Czech translation of PO debconf. (Closes: Bug#751387)
+
+ [ Igor Pashev ]
+ * Package for Dyson
+ * Map illumos to solaris in debian/rules
+ * Ignore errors in clean-make-files target in debian/rules
+ * Don't put empty linker flags in debian/rules:
+ test -z '$(LDFLAGS)' || echo '-k$(LDFLAGS)' >> $@
+ * Added patches:
+ dyson-solaris-gnutoolchain.patch
+ dyson-fpcmake.ini.patch
+ dyson-libs.patch
+ dyson-components.patch
+ * Added dh_install excludes for solaris:
+ grab_vcsa, opencl, graph, ptc, cdrom
+
+ -- Igor Pashev <pashev.igor@gmail.com> Fri, 04 Jul 2014 18:40:59 +0400
+
fpc (2.6.4+dfsg-3) UNRELEASED; urgency=low
[ Abou Al Montacir ]
diff --git a/debian/patches/dyson-components.patch b/debian/patches/dyson-components.patch
new file mode 100644
index 00000000..db612083
--- /dev/null
+++ b/debian/patches/dyson-components.patch
@@ -0,0 +1,95 @@
+Index: fpc/fpcsrc/packages/Makefile.fpc
+===================================================================
+--- fpc.orig/fpcsrc/packages/Makefile.fpc 2014-07-04 15:07:53.063793862 +0400
++++ fpc/fpcsrc/packages/Makefile.fpc 2014-07-04 15:10:20.504632834 +0400
+@@ -35,9 +35,11 @@
+ dirs_powerpc64_darwin=opengl x11 cairo gtk1 gtk2 librsvg fpgtk xforms gnome1 httpd22 httpd24 imlib cocoaint
+ dirs_arm_darwin= httpd22 httpd24 opengles objcrtl
+ dirs_i386_iphonesim= httpd22 httpd24 opengles objcrtl dblib
+-dirs_solaris=fv fcl-web fastcgi fcl-async ibase mysql ncurses zlib oracle odbc postgres sqlite pthreads imagemagick \
+- libpng x11 gdbm tcl syslog libcurl opengl cairo gtk1 bfd svgalib fcl-extra \
+- imlib utmp fpgtk xforms fftw pcap ggi openssl gnome1 httpd22 httpd24 numlib iconvenc gtk2 cairo dblib fpindexer dblib
++dirs_solaris=fv fcl-web fastcgi fcl-async ibase mysql ncurses unzip zlib oracle dbus odbc postgres sqlite pthreads imagemagick \
++ gdbint libpng x11 uuid ldap modplug dts mad gdbm tcl syslog libcurl opengl cairo gtk1 gtk2 librsvg \
++ a52 bfd aspell svgalib newt users iconvenc libxml proj4 fcl-extra zorba \
++ imlib utmp fpgtk openal lua oggvorbis xforms fftw pcap ggi sdl openssl gnome1 httpd22 httpd24 \
++ pxlib numlib gmp libsee dblib fpindexer libvlc fppkg
+ dirs_netbsd=fv fcl-web fastcgi fcl-async ibase mysql ncurses zlib oracle odbc postgres sqlite pthreads imagemagick \
+ gdbint libpng x11 gdbm tcl syslog libcurl opengl cairo gtk1 gtk2 librsvg bfd aspell svgalib \
+ imlib utmp fpgtk xforms fftw pcap ggi sdl openssl gnome1 httpd22 httpd24 pxlib numlib dblib fpindexer
+@@ -210,7 +212,7 @@
+ fastcgi_release: fpmkunit_release
+ fastcgi_shared: fpmkunit_shared
+
+-ifneq ($(findstring $(OS_TARGET),linux freebsd openbsd netbsd win32 beos haiku),)
++ifneq ($(findstring $(OS_TARGET),solaris linux freebsd openbsd netbsd win32 beos haiku),)
+ fcl-db_all: fcl-xml_all fcl-base_all mysql_all ibase_all oracle_all odbc_all postgres_all sqlite_all pxlib_all fcl-json_all dblib_all
+ fcl-db_debug: fcl-xml_debug fcl-base_debug mysql_debug ibase_debug oracle_debug odbc_debug postgres_debug sqlite_debug pxlib_debug fcl-json_debug dblib_debug
+ fcl-db_smart: fcl-xml_smart fcl-base_smart mysql_smart ibase_smart oracle_smart odbc_smart postgres_smart sqlite_smart pxlib_smart fcl-json_smart dblib_smart
+@@ -413,7 +415,7 @@
+ librsvg_debug: gtk2_debug
+ librsvg_release: gtk2_release
+
+-ifneq ($(findstring $(OS_TARGET),linux freebsd darwin iphonesim beos haiku),)
++ifneq ($(findstring $(OS_TARGET),solaris linux freebsd darwin iphonesim beos haiku),)
+ fcl-xml_all: iconvenc_all
+ fcl-xml_shared: iconvenc_shared
+ fcl-xml_smart: iconvenc_smart
+Index: fpc/fpcsrc/packages/ptc/Makefile.fpc
+===================================================================
+--- fpc.orig/fpcsrc/packages/ptc/Makefile.fpc 2014-07-04 15:07:53.063830150 +0400
++++ fpc/fpcsrc/packages/ptc/Makefile.fpc 2014-07-04 15:09:27.825655528 +0400
+@@ -25,6 +25,7 @@
+ [require]
+ packages=hermes fcl-base
+ packages_linux=x11 opengl
++packages_solaris=x11 opengl
+ packages_freebsd=x11 opengl
+ packages_win32=opengl
+ packages_win64=opengl
+Index: fpc/fpcsrc/utils/Makefile.fpc
+===================================================================
+--- fpc.orig/fpcsrc/utils/Makefile.fpc 2014-07-04 15:07:53.063906394 +0400
++++ fpc/fpcsrc/utils/Makefile.fpc 2014-07-04 15:09:27.827381520 +0400
+@@ -20,7 +20,7 @@
+ dirs_netbsd=fpcres instantfpc
+ dirs_darwin=fpcres fpcreslipo instantfpc
+ dirs_iphonesim=fpcres fpcreslipo instantfpc
+-dirs_solaris=fpcres instantfpc
++dirs_solaris=fpcres fppkg instantfpc
+ dirs_os2=fpmc fpcres rmwait
+ dirs_emx=fpmc fpcres rmwait
+ dirs_go32v2=rmwait
+Index: fpc/fpcdocs/Makefile.fpc
+===================================================================
+--- fpc.orig/fpcdocs/Makefile.fpc 2014-07-04 15:07:53.063979628 +0400
++++ fpc/fpcdocs/Makefile.fpc 2014-07-04 15:09:27.831253035 +0400
+@@ -369,7 +369,7 @@
+ HOSTOS=$(OS_SOURCE)
+
+ # Classes.pp is in rtl/unix/ for several targets
+-ifneq ($(findstring $(OS_SOURCE),linux freebsd darwin netbsd openbsd),)
++ifneq ($(findstring $(OS_SOURCE),solaris linux freebsd darwin netbsd openbsd),)
+ CLASSESUNITDIR=unix
+ else
+ CLASSESUNITDIR=$(OS_SOURCE)
+Index: fpc/fpcsrc/packages/pxlib/Makefile.fpc
+===================================================================
+--- fpc.orig/fpcsrc/packages/pxlib/Makefile.fpc 2014-07-04 15:07:53.063705674 +0400
++++ fpc/fpcsrc/packages/pxlib/Makefile.fpc 2014-07-04 15:09:27.834208471 +0400
+@@ -10,6 +10,7 @@
+ units_beos=pxlib
+ units_haiku=pxlib
+ units_linux=pxlib
++units_solaris=pxlib
+ units_win32=pxlib
+ units_darwin=pxlib
+ units_iphonesim=pxlib
+@@ -19,6 +20,7 @@
+ exampledirs_beos=examples
+ exampledirs_haiku=examples
+ exampledirs_linux=examples
++exampledirs_solaris=examples
+ exampledirs_win32=examples
+ exampledirs_darwin=examples
+ exampledirs_iphonesim=examples
diff --git a/debian/patches/dyson-fpcmake.ini.patch b/debian/patches/dyson-fpcmake.ini.patch
new file mode 100644
index 00000000..653ab074
--- /dev/null
+++ b/debian/patches/dyson-fpcmake.ini.patch
@@ -0,0 +1,23 @@
+Index: fpc/fpcsrc/utils/fpcm/fpcmake.ini
+===================================================================
+--- fpc.orig/fpcsrc/utils/fpcm/fpcmake.ini 2014-07-02 22:36:10.055750242 +0400
++++ fpc/fpcsrc/utils/fpcm/fpcmake.ini 2014-07-03 22:16:56.645890449 +0400
+@@ -302,6 +302,10 @@
+ linuxHier=1
+ endif
+
++ifeq ($(OS_TARGET),solaris)
++linuxHier=1
++endif
++
+ export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+
+ [fpmakefpcdetect]
+@@ -949,6 +953,7 @@
+ ifeq ($(OS_TARGET),solaris)
+ BATCHEXT=.sh
+ EXEEXT=
++HASSHAREDLIB=1
+ SHORTSUFFIX=sun
+ endif
+
diff --git a/debian/patches/dyson-libs.patch b/debian/patches/dyson-libs.patch
new file mode 100644
index 00000000..15b16203
--- /dev/null
+++ b/debian/patches/dyson-libs.patch
@@ -0,0 +1,22 @@
+Description: all in libc on illumos
+Index: fpc/fpcsrc/rtl/unix/oscdeclh.inc
+===================================================================
+--- fpc.orig/fpcsrc/rtl/unix/oscdeclh.inc 2014-07-02 22:36:09.057012757 +0400
++++ fpc/fpcsrc/rtl/unix/oscdeclh.inc 2014-07-04 01:06:26.275132432 +0400
+@@ -118,16 +118,10 @@
+ Function FpAlarm (seconds : cuint) : cuint; cdecl;external clib name 'alarm';
+ Function FpPause : cInt; cdecl; external clib name 'pause';
+ Function FpMkfifo (path: pchar; mode: tmode): cint; cdecl; external clib name 'mkfifo';
+-{$ifdef solaris}
+-{$linklib md5}
+-{$linklib aio}
+- Function FPnanosleep (const rqtp: ptimespec; rmtp: ptimespec): cint; cdecl; external 'rt' name 'nanosleep';
+-{$else solaris}
+ {$ifndef beos}
+ Function FPnanosleep (const rqtp: ptimespec; rmtp: ptimespec): cint; cdecl; external clib name 'nanosleep';
+ {$else}
+ {$endif}
+-{$endif solaris}
+ function fpNice (N:cint):cint; cdecl; external clib name 'nice';
+ Function fpGetPriority (Which,Who:cint):cint; cdecl; external clib name 'getpriority';
+ Function fpSetPriority (Which,Who,What:cint):cint; cdecl; external clib name 'setpriority';
diff --git a/debian/patches/dyson-solaris-gnutoolchain.patch b/debian/patches/dyson-solaris-gnutoolchain.patch
new file mode 100644
index 00000000..b43f6c5e
--- /dev/null
+++ b/debian/patches/dyson-solaris-gnutoolchain.patch
@@ -0,0 +1,38 @@
+Index: fpc/fpcsrc/compiler/systems/t_sunos.pas
+===================================================================
+--- fpc.orig/fpcsrc/compiler/systems/t_sunos.pas 2014-07-02 22:36:04.651731947 +0400
++++ fpc/fpcsrc/compiler/systems/t_sunos.pas 2014-07-02 22:48:31.124460657 +0400
+@@ -143,18 +143,18 @@
+ }
+ {$ifdef x86_64}
+ const
+- gld = 'gld -m elf_x86_64 ';
+- solaris_ld = '/usr/bin/ld -64 ';
++ gld = 'ld -m elf_x86_64_sol2 ';
++ solaris_ld = 'sunld -64 ';
+ {$endif}
+ {$ifdef i386}
+ const
+- gld = 'gld ';
+- solaris_ld = '/usr/bin/ld ';
++ gld = 'ld ';
++ solaris_ld = 'sunld ';
+ {$endif }
+ {$ifdef sparc}
+ const
+- gld = 'gld ';
+- solaris_ld = 'ld ';
++ gld = 'ld ';
++ solaris_ld = 'sunld ';
+ {$endif}
+ begin
+ Glibc2:=false;
+@@ -165,7 +165,7 @@
+ ExeCmd[1]:=gld + '$OPT $DYNLINK $STATIC $STRIP -L. -o $EXE $RES';
+ ExeCmd[2]:=solaris_ld + '$OPT $DYNLINK $STATIC $STRIP -L . -o $EXE $RESDATA';
+ DllCmd[1]:=gld + '$OPT $INITFINI -shared -L. -o $EXE $RES';
+- DllCmd[2]:='gstrip --strip-unneeded $EXE';
++ DllCmd[2]:='strip --strip-unneeded $EXE';
+ DllCmd[3]:=solaris_ld + '$OPT $INITFINI -M $VERSIONFILE -G -Bdynamic -L. -o $EXE $RESDATA';
+ DynamicLinker:=''; { Gnu uses the default }
+ Glibc21:=false;
diff --git a/debian/patches/series b/debian/patches/series
index 00363f71..81ced2e9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,3 +16,7 @@ dont_build_fastcgi_fcl-web_and_fppkg_on_kfreebsd.patch
fix-733618.patch
change-path-of-localization-files-to-fit-Debian-standar.patch
fix-encoding-of-localization-files-to-be-utf8.patch
+dyson-solaris-gnutoolchain.patch
+dyson-fpcmake.ini.patch
+dyson-libs.patch
+dyson-components.patch
diff --git a/debian/rules b/debian/rules
index 221a4fe2..5a8c6969 100755
--- a/debian/rules
+++ b/debian/rules
@@ -124,9 +124,7 @@ ifeq ($(OS_TARGET),freebsd)
DH_INSTALL_EXCLUDE_OPTS=-Xgrab_vcsa -Xuuid -Xopencl -Xptc -Xdbus -Xldap -Xproj4 -Xlibsee -Xlua -Xcdrom -Xnewt -Xa52 -Xdts -Xmad -Xmodplug -Xoggvorbis -Xopenal -Xdoc/fp -Xfpclasschart -Xmakeskel -Xunitdiff -Xfcl-web -Xfastcgi -Xzorba -Xfppkg
endif
ifeq ($(OS_TARGET),solaris)
-# opencl and ptc (due to ipc) is also missed,
-# but they are not mentioned explicitly
- DH_INSTALL_EXCLUDE_OPTS=-Xgrab_vcsa
+ DH_INSTALL_EXCLUDE_OPTS=-Xgrab_vcsa -Xopencl -Xgraph -Xptc -Xcdrom
endif
#specify arm variant explicitly so we can use a starting
@@ -223,7 +221,7 @@ make-files-stamp:$(patsubst %.fpc,%,$(shell find ${CURDIR}/* -name Makefile.fpc)
clean-make-files:
# Remove auto-generated make files.
- find * -name Makefile.fpc -execdir sh -c '${RM} $$(basename {} .fpc)' ';'
+ -find * -name Makefile.fpc -execdir sh -c '${RM} $$(basename {} .fpc)' ';'
${RM} make-files-stamp
###################
@@ -466,10 +464,10 @@ fpcsrc/utils/fpcm/Makefile:fpcsrc/utils/fpcm/Makefile.fpc
${DEB_BUILD_FPC_OPT}:
echo '# FPC configuration file for build system tools' > $@
- echo '-k${LDFLAGS}' >> $@
+ test -z '$(LDFLAGS)' || echo '-k$(LDFLAGS)' >> $@
echo '-Fl/usr/lib/${DEB_BUILD_MULTIARCH}' >> $@
${DEB_HOST_FPC_OPT}:
echo '# FPC configuration file for host system applications' > $@
- echo '-k${LDFLAGS}' >> $@
+ test -z '$(LDFLAGS)' || echo '-k$(LDFLAGS)' >> $@
echo '-Fl/usr/lib/${DEB_HOST_MULTIARCH}' >> $@