diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-07-05 00:00:34 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-07-05 00:00:34 +0400 |
commit | fe9ff9d147ce144743b1818be1e073a93aefd2d2 (patch) | |
tree | 050f83511412d5ccbff23c922cf494a6f6bc5654 | |
parent | 81dbce44bc37f3a99615b18cd2d24e674cc807ee (diff) | |
download | fpc-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/changelog | 24 | ||||
-rw-r--r-- | debian/patches/dyson-components.patch | 95 | ||||
-rw-r--r-- | debian/patches/dyson-fpcmake.ini.patch | 23 | ||||
-rw-r--r-- | debian/patches/dyson-libs.patch | 22 | ||||
-rw-r--r-- | debian/patches/dyson-solaris-gnutoolchain.patch | 38 | ||||
-rw-r--r-- | debian/patches/series | 4 | ||||
-rwxr-xr-x | debian/rules | 10 |
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}' >> $@ |