aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch')
-rw-r--r--sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch b/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch
new file mode 100644
index 0000000..56a133b
--- /dev/null
+++ b/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch
@@ -0,0 +1,43 @@
+Index: octave-5.1.0/scripts/pkg/private/install.m
+===================================================================
+--- octave-5.1.0.orig/scripts/pkg/private/install.m
++++ octave-5.1.0/scripts/pkg/private/install.m
+@@ -62,7 +62,14 @@ function install (files, handle_deps, pr
+ for i = 1:length (files)
+ tgz = files{i};
+
+- if (exist (tgz, "file"))
++ ## The filename pointed to an uncompressed package to begin with.
++ if (exist (tgz, "dir"))
++ if (tgz(1) == '/')
++ packdir = tgz;
++ else
++ packdir = fullfile (pwd(), tgz);
++ endif
++ elseif (exist (tgz, "file"))
+ ## Create a temporary directory.
+ tmpdir = tempname ();
+ tmpdirs{end+1} = tmpdir;
+@@ -89,20 +96,12 @@ function install (files, handle_deps, pr
+ if (length (dirlist) > 3)
+ error ("bundles of packages are not allowed");
+ endif
+- endif
+
+- ## The filename pointed to an uncompressed package to begin with.
+- if (isfolder (tgz))
+- dirlist = {".", "..", tgz};
++ ## The two first entries of dirlist are "." and "..".
++ packdir = fullfile (tmpdir, dirlist{3});
+ endif
+
+ if (exist (tgz, "file") || isfolder (tgz))
+- ## The two first entries of dirlist are "." and "..".
+- if (exist (tgz, "file"))
+- packdir = fullfile (tmpdir, dirlist{3});
+- else
+- packdir = fullfile (pwd (), dirlist{3});
+- endif
+ packdirs{end+1} = packdir;
+
+ ## Make sure the package contains necessary files.