aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch')
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch387
1 files changed, 387 insertions, 0 deletions
diff --git a/dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch b/dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch
new file mode 100644
index 0000000..638491a
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-mkdir-safely.patch
@@ -0,0 +1,387 @@
+From: Gregory M. Turner <gmt@be-evil.net>
+
+Somehow (I suspect it is some subtle bug in the xattr-wrapper(!), but I
+didn't investigate carefully), this ebuild mysteriously started failing due
+to installing files where there were supposed to be directories.
+
+Not sure what changed, but it's pretty easy to see how, if this makefile
+were being run by a sufficiently creative make, how the current implementation
+could break. I guess we could fix it by placing a dependency on mkdirs for
+all of the subsequent targets requisite to "install". But, sheesh, gross.
+
+Better just to fix the underlying problem by using install in a fully consistent
+manner. This patch changes blt to do just that, always using install -t or
+install -T, and always preceeding those calls by one to install -d (which
+wont run in parallel no matter what :)).
+
+I even fixed it for cygwin. TODO: submit to upstream.
+
+-gmt
+
+diff -urpN blt2.4z-8.5.2.orig/demos/Makefile.in blt2.4z-8.5.2/demos/Makefile.in
+--- blt2.4z-8.5.2.orig/demos/Makefile.in 2014-07-05 01:46:30.058060792 -0700
++++ blt2.4z-8.5.2/demos/Makefile.in 2014-07-05 01:43:08.391034175 -0700
+@@ -17,17 +17,6 @@ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_ROOT =
+
+-instdirs = $(prefix) \
+- $(exec_prefix) \
+- $(libdir) \
+- $(scriptdir) \
+- $(destdir) \
+- $(destdir)/bitmaps \
+- $(destdir)/bitmaps/hand \
+- $(destdir)/bitmaps/fish \
+- $(destdir)/images \
+- $(destdir)/scripts
+-
+ demos = barchart1.tcl barchart2.tcl barchart3.tcl barchart4.tcl \
+ barchart5.tcl \
+ bgexec1.tcl bgexec2.tcl bgexec3.tcl bgexec4.tcl \
+@@ -48,42 +37,37 @@ demos = barchart1.tcl barchart2.tcl bar
+
+ all:
+
+-install: mkdirs install-bitmaps install-images install-scripts
++install: install-bitmaps install-images install-scripts
+
+ install-scripts:
++ $(INSTALL) -d $(INSTALL_ROOT)$(destdir)/scripts
+ for i in $(srcdir)/scripts/*.tcl ; do \
+- $(INSTALL) $$i $(INSTALL_ROOT)$(destdir)/scripts ; \
++ $(INSTALL) -t $(INSTALL_ROOT)$(destdir)/scripts $$i ; \
+ done
+ for i in $(demos) ; do \
+- $(INSTALL) $(srcdir)/$$i $(INSTALL_ROOT)$(destdir)/$$i ; \
++ $(INSTALL) -t $(INSTALL_ROOT)$(destdir) $(srcdir)/$$i ; \
+ done
+
+ install-bitmaps:
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(destdir)/bitmaps/hand \
++ $(INSTALL_ROOT)$(destdir)/bitmaps/fish \
++ $(INSTALL_ROOT)$(destdir)/images
+ for i in $(srcdir)/bitmaps/*.xbm ; do \
+- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/bitmaps ; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/bitmaps $$i ; \
+ done
+ for i in $(srcdir)/bitmaps/hand/*.xbm ; do \
+- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/bitmaps/hand ; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/bitmaps/hand $$i ; \
+ done
+ for i in $(srcdir)/bitmaps/fish/*.xbm ; do \
+- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/bitmaps/fish ; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/bitmaps/fish $$i ; \
+ done
+
+ install-images:
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(destdir)/images
+ for i in $(srcdir)/images/*.gif $(srcdir)/images/*.ps ; do \
+- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(destdir)/images ; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(destdir)/images $$i ; \
+ done
+
+-mkdirs:
+- @for i in $(instdirs) ; do \
+- if test -d $(INSTALL_ROOT)"$$i" ; then \
+- : ; \
+- else \
+- echo " mkdir $(INSTALL_ROOT)$$i" ; \
+- mkdir $(INSTALL_ROOT)"$$i" ; \
+- fi ; \
+- done
+-
+ clean:
+ $(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"*
+
+diff -urpN blt2.4z-8.5.2.orig/library/Makefile.in blt2.4z-8.5.2/library/Makefile.in
+--- blt2.4z-8.5.2.orig/library/Makefile.in 2014-07-05 01:46:30.058060792 -0700
++++ blt2.4z-8.5.2/library/Makefile.in 2014-07-05 01:43:08.127036759 -0700
+@@ -38,9 +38,6 @@ ddFiles = dd-color.tcl \
+ dd-text.tcl \
+ tclIndex
+
+-instdirs = $(prefix) $(exec_prefix) \
+- $(libdir) $(prefix)/lib $(scriptdir) $(scriptdir)/dd_protocols
+-
+ all: pkgIndex
+
+ pkgIndex:
+@@ -50,25 +47,16 @@ pkgIndex:
+ sed -e 's;%LIB_DIR%;$(libdir);' > pkgIndex.tcl
+
+
+-install: mkdirs pkgIndex
++install: pkgIndex
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(scriptdir)/dd_protocols
+ for i in $(ddFiles) ; do \
+- $(INSTALL_DATA) $(srcdir)/dd_protocols/$$i \
+- $(INSTALL_ROOT)$(scriptdir)/dd_protocols ; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir)/dd_protocols \
++ $(srcdir)/dd_protocols/$$i ; \
+ done
+ for i in $(miscFiles) ; do \
+- $(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_ROOT)$(scriptdir) ; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir) $(srcdir)/$$i ; \
+ done
+- $(INSTALL_DATA) pkgIndex.tcl $(INSTALL_ROOT)$(scriptdir)
+-
+-mkdirs:
+- @for i in $(instdirs) ; do \
+- if test -d $(INSTALL_ROOT)$$i ; then \
+- : ; \
+- else \
+- echo " mkdir $(INSTALL_ROOT)$$i" ; \
+- mkdir $(INSTALL_ROOT)$$i ; \
+- fi ; \
+- done
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir) pkgIndex.tcl
+
+ clean:
+ $(RM) pkgIndex.tcl
+diff -urpN blt2.4z-8.5.2.orig/Makefile.in blt2.4z-8.5.2/Makefile.in
+--- blt2.4z-8.5.2.orig/Makefile.in 2014-07-05 01:46:30.058060792 -0700
++++ blt2.4z-8.5.2/Makefile.in 2014-07-05 01:43:08.390034185 -0700
+@@ -16,13 +16,6 @@ version = @BLT_VERSION@
+ gentoo_libdir = @GENTOO_LIBDIR@
+ scriptdir = $(prefix)/$(gentoo_libdir)/blt$(version)
+
+-instdirs = $(prefix) \
+- $(exec_prefix) \
+- $(bindir) \
+- $(libdir) \
+- $(includedir) \
+- $(scriptdir)
+-
+ # ------------------------------------------------------------------------
+ # Don't edit anything beyond this point
+ # ------------------------------------------------------------------------
+@@ -41,26 +34,15 @@ all:
+ (cd man; $(MAKE) all)
+ (cd demos; $(MAKE) all)
+
+-install: mkdirs install-all
++install: install-all
+
+ install-all:
+ (cd src; $(MAKE) install)
+ (cd library; $(MAKE) install)
+ (cd man; $(MAKE) install)
+ (cd demos; $(MAKE) install)
+- $(INSTALL_DATA) $(srcdir)/README $(INSTALL_ROOT)$(scriptdir)
+- $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_ROOT)$(scriptdir)
+- $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_ROOT)$(scriptdir)
+-
+-mkdirs:
+- @for i in $(instdirs) ; do \
+- if test -d $(INSTALL_ROOT)$$i ; then \
+- : ; \
+- else \
+- echo " mkdir $(INSTALL_ROOT)$$i" ; \
+- mkdir $(INSTALL_ROOT)$$i ; \
+- fi ; \
+- done
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(scriptdir)
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(scriptdir) $(srcdir)/README $(srcdir)/PROBLEMS $(srcdir)/NEWS
+
+ clean:
+ (cd src; $(MAKE) clean)
+diff -urpN blt2.4z-8.5.2.orig/man/Makefile.in blt2.4z-8.5.2/man/Makefile.in
+--- blt2.4z-8.5.2.orig/man/Makefile.in 2014-07-05 01:46:30.058060792 -0700
++++ blt2.4z-8.5.2/man/Makefile.in 2014-07-05 01:43:08.127036759 -0700
+@@ -8,8 +8,6 @@ sectiondir = $(mandir)/mann
+ srcdir = @srcdir@
+ version = @BLT_VERSION@
+
+-instdirs = $(mandir) $(mandir)/mann $(mandir)/man3
+-
+ MAN_N = BLT.n barchart.n beep.n bgexec.n bitmap.n \
+ bltdebug.n busy.n container.n cutbuffer.n \
+ dragdrop.n eps.n graph.n hierbox.n \
+@@ -34,26 +32,17 @@ VPATH = $(srcdir)
+
+ all: man.macros $(MANPAGES)
+
+-install: mkdirs install-mann install-man3
++install: install-mann install-man3
+
+ install-mann: $(MAN_N)
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(mandir)/mann $(INSTALL_ROOT)$(mandir)/man3
+ for i in *.n ; do \
+- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(mandir)/mann; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(mandir)/mann $$i ; \
+ done
+
+ install-man3: $(MAN_3)
+ for i in *.3 ; do \
+- $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(mandir)/man3; \
+- done
+-
+-mkdirs:
+- @for i in $(instdirs) ; do \
+- if test -d $(INSTALL_ROOT)$$i ; then \
+- : ; \
+- else \
+- echo " mkdir $(INSTALL_ROOT)$$i" ; \
+- mkdir $(INSTALL_ROOT)$$i ; \
+- fi ; \
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(mandir)/man3 $$i ; \
+ done
+
+ .SUFFIXES: .n .mann .3 .man3
+diff -urpN blt2.4z-8.5.2.orig/src/Makefile-cyg.in blt2.4z-8.5.2/src/Makefile-cyg.in
+--- blt2.4z-8.5.2.orig/src/Makefile-cyg.in 2014-07-05 01:46:30.058060792 -0700
++++ blt2.4z-8.5.2/src/Makefile-cyg.in 2014-07-05 01:50:53.702482022 -0700
+@@ -32,8 +32,6 @@ scriptdir = @BLT_LIBRARY@
+ prefix = @prefix@
+ srcdir = @srcdir@
+
+-instdirs = $(prefix) $(exec_prefix) $(bindir) $(scriptdir) $(libdir) $(incdir)
+-
+ # ------------------------------------------------------------------------
+ # Directories containing Tcl and Tk include files and libraries
+ # ------------------------------------------------------------------------
+@@ -216,34 +214,26 @@ $(tcl_only_lib_so): $(TCL_ONLY_OBJS) bl
+ $(SHLIB_LD) $(SHLIB_LD_FLAGS) ${LDFLAGS} -o $@ bltInit_tclonly.o $(TCL_ONLY_OBJS) \
+ $(TCL_ONLY_LIBS)
+
+-install: mkdirs install-lib install-demo install-headers
++install: install-lib install-demo install-headers
+
+ install-demo: $(bltwish) $(bltsh)
+- $(INSTALL) -m 0755 $(bltwish) $(INSTALL_ROOT)$(bindir)
+- $(INSTALL) -m 0755 $(bltsh) $(INSTALL_ROOT)$(bindir)
++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir)
++ $(INSTALL) -m 0755 $(INSTALL_ROOT)$(bindir) $(bltwish) $(bltsh)
+
+ install-lib: $(lib_a) $(tcl_only_lib_a) $(lib_so) $(tcl_only_lib_so)
+- $(INSTALL_DATA) $(lib_a) $(INSTALL_ROOT)$(libdir)
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(libdir)
++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir)
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(libdir) $(lib_a)
+ $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(lib_a)
+- $(INSTALL_DATA) $(tcl_only_lib_a) $(INSTALL_ROOT)$(libdir)
++ $(INSTALL_DATA) -t $(INSTALL_ROOT)$(libdir) $(tcl_only_lib_a)
+ $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(tcl_only_lib_a)
+- $(INSTALL) -m 0755 $(lib_so) $(INSTALL_ROOT)$(bindir)
+- $(INSTALL) -m 0755 $(tcl_only_lib_so) $(INSTALL_ROOT)$(bindir)
+-
+-mkdirs:
+- @for i in $(instdirs) ; do \
+- if test -d $(INSTALL_ROOT)$$i ; then \
+- : ; \
+- else \
+- echo " mkdir $(INSTALL_ROOT)$$i" ; \
+- mkdir $(INSTALL_ROOT)$$i ; \
+- fi ; \
+- done
++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(bindir) $(lib_so) $(tcl_only_lib_so)
+
+ install-headers:
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(incdir)
+ @for i in $(headers) ; do \
+ echo "installing $$i..." ; \
+- $(INSTALL_DATA) -m 0444 $$i $(INSTALL_ROOT)$(incdir) ; \
++ $(INSTALL_DATA) -m 0444 -t $(INSTALL_ROOT)$(incdir) $$i ; \
+ done
+
+ lint:
+diff -urpN blt2.4z-8.5.2.orig/src/Makefile.in blt2.4z-8.5.2/src/Makefile.in
+--- blt2.4z-8.5.2.orig/src/Makefile.in 2014-07-05 01:46:30.059060782 -0700
++++ blt2.4z-8.5.2/src/Makefile.in 2014-07-05 01:43:08.459033510 -0700
+@@ -29,8 +29,6 @@ scriptdir = $(exec_prefix)/lib
+ prefix = @prefix@
+ srcdir = @srcdir@
+
+-instdirs = $(prefix) $(exec_prefix) $(bindir) $(libdir) $(incdir)
+-
+ # ------------------------------------------------------------------------
+ # Directories containing Tcl and Tk include files and libraries
+ # ------------------------------------------------------------------------
+@@ -193,35 +191,27 @@ $(tcl_only_lib_a): $(TCL_ONLY_OBJS) blt
+ $(AR) $@ $(TCL_ONLY_OBJS) bltInit_tclonly.o
+ $(RANLIB) $@
+
+-install: mkdirs install-lib install-demo install-headers
++install: install-lib install-demo install-headers
+
+ install-demo: $(bltwish) $(bltsh)
+- $(INSTALL) -m 0755 $(bltwish) $(INSTALL_ROOT)$(bindir)
+- $(INSTALL) -m 0755 $(bltsh) $(INSTALL_ROOT)$(bindir)
++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir)
++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(bindir) $(bltwish) $(bltsh)
+
+ install-lib: $(lib_a) $(tcl_only_lib_a)
+- $(INSTALL_DATA) $(lib_a) $(INSTALL_ROOT)$(libdir)/$(libvers_a)
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(libdir)
++ $(INSTALL_DATA) -T $(lib_a) $(INSTALL_ROOT)$(libdir)/$(libvers_a)
+ (cd $(INSTALL_ROOT)$(libdir); $(RM) $(lib_a) ; $(LN_S) $(libvers_a) $(lib_a))
+ $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(libvers_a)
+- $(INSTALL_DATA) $(tcl_only_lib_a) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a)
++ $(INSTALL_DATA) -T $(tcl_only_lib_a) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a)
+ (cd $(INSTALL_ROOT)$(libdir); $(RM) $(tcl_only_lib_a) ; $(LN_S) $(tcl_only_libvers_a) $(tcl_only_lib_a))
+ $(RANLIB) $(INSTALL_ROOT)$(libdir)/$(tcl_only_libvers_a)
+ (cd shared; $(MAKE) install)
+
+-mkdirs:
+- @for i in $(instdirs) ; do \
+- if test -d $(INSTALL_ROOT)$$i ; then \
+- : ; \
+- else \
+- echo " mkdir $(INSTALL_ROOT)$$i" ; \
+- mkdir $(INSTALL_ROOT)$$i ; \
+- fi ; \
+- done
+-
+ install-headers:
++ $(INSTALL_DATA) -d $(INSTALL_ROOT)$(incdir)
+ @for i in $(headers) ; do \
+ echo "installing $$i..." ; \
+- $(INSTALL_DATA) -m 0444 $$i $(INSTALL_ROOT)$(incdir) ; \
++ $(INSTALL_DATA) -m 0444 -t $(INSTALL_ROOT)$(incdir) $$i ; \
+ done
+
+ lint:
+diff -urpN blt2.4z-8.5.2.orig/src/shared/Makefile.in blt2.4z-8.5.2/src/shared/Makefile.in
+--- blt2.4z-8.5.2.orig/src/shared/Makefile.in 2014-07-05 01:46:30.059060782 -0700
++++ blt2.4z-8.5.2/src/shared/Makefile.in 2014-07-05 01:51:45.929971311 -0700
+@@ -26,8 +26,6 @@ libdir = @libdir@
+ bindir = $(exec_prefix)/bin
+ srcdir = @srcdir@/..
+
+-instdirs = $(exec_prefix) $(libdir)
+-
+ scriptdir = @BLT_LIBRARY@
+
+ LIBS = @LIB_SPECS@ @EXTRA_LIB_SPECS@
+@@ -162,25 +160,16 @@ $(tcl_only_lib_so): $(TCL_ONLY_OBJS) blt
+ $(SHLIB_LD) $(SHLIB_LD_FLAGS) $(LDFLAGS) -o $@ bltInit_tclonly.o $(TCL_ONLY_OBJS) \
+ $(SHLIB_TCL_ONLY_LIB_SPECS) $(LIBS)
+
+-install: mkdirs install-lib install-demo
++install: install-lib install-demo
+
+ install-demo: $(bltwish)
+- $(INSTALL) -m 0755 bltwish$(version) $(INSTALL_ROOT)$(bindir)
+- $(INSTALL) -m 0755 bltsh$(version) $(INSTALL_ROOT)$(bindir)
++ $(INSTALL) -d $(INSTALL_ROOT)$(bindir)
++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(bindir) bltwish$(version) bltsh$(version)
+
+ install-lib: $(lib_so) $(tcl_only_lib_so)
+- $(INSTALL) -m 0755 $(lib_so) $(INSTALL_ROOT)$(libdir)
+- $(INSTALL) -m 0755 $(tcl_only_lib_so) $(INSTALL_ROOT)$(libdir)
++ $(INSTALL) -d $(INSTALL_ROOT)$(libdir)
++ $(INSTALL) -m 0755 -t $(INSTALL_ROOT)$(libdir) $(lib_so) $(tcl_only_lib_so)
+
+-mkdirs:
+- @for i in $(instdirs) ; do \
+- if test -d $(INSTALL_ROOT)$$i ; then \
+- : ;\
+- else \
+- echo " mkdir $(INSTALL_ROOT)$$i" ; \
+- mkdir $(INSTALL_ROOT)$$i ; \
+- fi ; \
+- done
+ clean:
+ $(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \
+ *pure* .pure* bltInit_tcltk.o bltInit_tclonly.o \