Blob Blame Raw
Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 gcl (2.6.12-62) unstable; urgency=medium
 .
   * list_order.22
Author: Camm Maguire <camm@debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2018-02-01

--- gcl-2.6.12.orig/cmpnew/gcl_cmpmain.lsp
+++ gcl-2.6.12/cmpnew/gcl_cmpmain.lsp
@@ -658,7 +658,7 @@ Cannot compile ~a.~%"
 (defun make-user-init (files outn)
 
   (let* ((c (pathname outn))
-	 (c (merge-pathnames c (make-pathname :directory '(:current))))
+	 (c (merge-pathnames c (make-pathname :directory '(:relative))))
 	 (o (merge-pathnames (make-pathname :type "o") c))
 	 (c (merge-pathnames (make-pathname :type "c") c)))
   
@@ -769,7 +769,7 @@ Cannot compile ~a.~%"
 
     (with-open-file (st (namestring map) :direction :output))
     (safe-system 
-     (let* ((par (namestring (make-pathname :directory '(:back))))
+     (let* ((par (namestring (make-pathname :directory '(:relative :back))))
 	    (i (concatenate 'string " " par))
 	    (j (concatenate 'string " " si::*system-directory* par)))
        (format nil "~a ~a ~a ~a -L~a ~a ~a ~a"
--- gcl-2.6.12.orig/gcl-tk/makefile
+++ gcl-2.6.12/gcl-tk/makefile
@@ -38,13 +38,13 @@ clean::
 	rm -f ${GUIOS} $(OFILES) gcltkaux gcltksrv *.o */*.o demos/index.lsp *.fn demos/*.fn
 
 .c.o:
-	$(GCLTKCC) -c $(CFLAGS1) ${ODIR_DEBUG}  $*.c
+	$(GCLTKCC) -c $(filter-out -pg,$(CFLAGS1)) -fPIE ${ODIR_DEBUG}  $*.c
 
 
 # for some reason -lieee is on various linux systems in the list of requireds..
 
 gcltkaux:  $(GUIOS)
-	$(LD_ORDINARY_CC) $(GUIOS) $(LDFLAGS) -o gcltkaux  ${TK_LIB_SPEC} ${TCL_LIB_SPEC}
+	$(LD_ORDINARY_CC) $(GUIOS) $(filter-out %gcl.script,$(LDFLAGS)) -pie -o gcltkaux  ${TK_LIB_SPEC} ${TCL_LIB_SPEC}
 
 gcltksrv: makefile
 	cat gcltksrv.in | sed -e "s!TK_LIBRARY=.*!TK_LIBRARY=${TK_LIBRARY}!g" \
--- gcl-2.6.12.orig/h/386-gnu.h
+++ gcl-2.6.12/h/386-gnu.h
@@ -60,4 +60,4 @@
 
 #define NEED_STACK_CHK_GUARD
 
-#define DEFINED_REAL_MAXPAGE (1UL<<18) /*FIXME brk probe broken*/
+#undef HAVE_D_TYPE /*FIXME defined, but not implemented in readdir*/
--- gcl-2.6.12.orig/o/unixfsys.c
+++ gcl-2.6.12/o/unixfsys.c
@@ -307,8 +307,11 @@ DEFUN_NEW("D-TYPE-LIST",object,fSd_type_
 	       MMcons(make_fixnum(DT_UNKNOWN),make_keyword("UNKNOWN"))
 	       )
 #else
+#undef DT_UNKNOWN
 #define DT_UNKNOWN 0
+#undef DT_REG
 #define DT_REG 1
+#undef DT_DIR
 #define DT_DIR 2
 	  list(3,
 	       MMcons(make_fixnum(DT_REG),make_keyword("FILE")),