Commits

camlspotter  committed 73a6011

build fix

  • Participants
  • Parent commits 51b2fa4
  • Branches 1.0.0

Comments (0)

Files changed (6)

 try
   PREFIX=$(getenv PREFIX)
 default
-  eprintln(Specify PREFIX environment variable.)
+  eprintln(Specify PREFIX or prefix environment variable.)
   exit 1 
 
 # OCaml 
 OASISFormat: 0.2
 Name:        spotinstall
 Version:     1.0.0
-Synopsis:    SpotInstall : a tool to install annot files
+Synopsis:    A tool to facilitate the installation of OCaml annotation files (.cmt, .cmti, .spot, .spit). 
 Authors:     Jun FURUSE
 License:     LGPL-2.0 with OCaml linking exception
 Plugins:      StdFiles (0.2)
 BuildType:    Custom (0.2)
 InstallType:    Custom (0.2)
-XCustomBuild: . yes no | omake --install; PREFIX=$prefix omake
-XCustomInstall: PREFIX=$prefix omake install
-XCustomUninstall: PREFIX=$prefix omake uninstall
+XCustomBuild: yes no | omake --install; omake
+XCustomInstall: omake install
+XCustomUninstall: omake uninstall
 BuildTools: omake
-BuildDepends:  unix

File opam/spotinstall.1.0.0/descr

+A tool to facilitate the installation of OCaml annotation files (.cmt, .cmti, .spot, .spit). 
+Many existing OCaml libraries, applications and the compiler itself do
+not produce or install the annotation files (.annot, .cmt, .cmti,
+.spot, .spit) which are essential for sub-expression type queries
+(caml-types.el), definition seaches and code refactoring (TypeRex and
+OCamlSpotter). If you want to use development tools, you have to:
+
+* Rebuild all the software from the source, adding -annot/-bin-annot
+  option to compiler flags in build scripts
+  i.e. Makefile/OCamlBuild/OMakefile.
+
+* Install those annotation files together with the library objects and
+  signatures. (Require modification of the build scripts)
+
+for all the programs.
+
+SpotInstall provides a post-installation workaround, consists of two things:
+
+* A very small compiler patch which activates -annot and -bin-annot if OCAML_ANNOT environment variable is defined. (You no longder need to add -annot/-bin-annot to the build scripts.)
+* A small tool to install annotation files to the library destination directory. (You no longer need to add annotation file installation to the build scripts.)
+
+For the first workaround, you need a small patch available from::
+
+    hg clone -b annot https://bitbucket.org/camlspotter/mutated_ocaml
+
+or included in this source package, ocaml-annot-<version>.patch.
+
+For the second one, you can use SpotInstall. This tool.

File opam/spotinstall.1.0.0/opam

+opam-version: "1"
+maintainer: "jun.furuse@gmail.com"
+build: [
+  ["ocaml" "setup.ml" "-configure" "--prefix" "%{prefix}%"]
+  ["ocaml" "setup.ml" "-build"]
+  ["ocaml" "setup.ml" "-install"]
+]
+remove: [
+  ["omake" "unintall"]
+]
+depends: [ "ocamlfind" "spotlib" {>="2.0.0"} "omake"]
+ocaml-version: [>= "4.00.0"]

File opam/spotinstall.1.0.0/url

+archive: https://bitbucket.org/camlspotter/ocaml-indent/get/1.0.0.tar.gz
 (* setup.ml generated for the first time by OASIS v0.3.0 *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: 85e0bbfe894ef4dd66fd8f97277bc97f) *)
+(* DO NOT EDIT (digest: d076d6d7c5363fe619dfebb2c88c2074) *)
 (*
    Regenerated by OASIS v0.3.0
    Visit http://oasis.forge.ocamlcore.org for more information and
             CustomPlugin.cmd_main =
               [
                  (OASISExpr.EBool true,
-                   (".",
-                     [
-                        "yes";
-                        "no";
-                        "|";
-                        "omake";
-                        "--install;";
-                        "PREFIX=$prefix";
-                        "omake"
-                     ]))
+                   ("yes", ["no"; "|"; "omake"; "--install;"; "omake"]))
               ];
             cmd_clean = [(OASISExpr.EBool true, None)];
             cmd_distclean = [(OASISExpr.EBool true, None)];
        CustomPlugin.main
          {
             CustomPlugin.cmd_main =
-              [
-                 (OASISExpr.EBool true,
-                   ("PREFIX=$prefix", ["omake"; "install"]))
-              ];
+              [(OASISExpr.EBool true, ("omake", ["install"]))];
             cmd_clean = [(OASISExpr.EBool true, None)];
             cmd_distclean = [(OASISExpr.EBool true, None)];
             };
        CustomPlugin.main
          {
             CustomPlugin.cmd_main =
-              [
-                 (OASISExpr.EBool true,
-                   ("PREFIX=$prefix", ["omake"; "uninstall"]))
-              ];
+              [(OASISExpr.EBool true, ("omake", ["uninstall"]))];
             cmd_clean = [(OASISExpr.EBool true, None)];
             cmd_distclean = [(OASISExpr.EBool true, None)];
             };
                CustomPlugin.cmd_main =
                  [
                     (OASISExpr.EBool true,
-                      (".",
-                        [
-                           "yes";
-                           "no";
-                           "|";
-                           "omake";
-                           "--install;";
-                           "PREFIX=$prefix";
-                           "omake"
-                        ]))
+                      ("yes", ["no"; "|"; "omake"; "--install;"; "omake"]))
                  ];
                cmd_clean = [(OASISExpr.EBool true, None)];
                cmd_distclean = [(OASISExpr.EBool true, None)];
           CustomPlugin.clean
             {
                CustomPlugin.cmd_main =
-                 [
-                    (OASISExpr.EBool true,
-                      ("PREFIX=$prefix", ["omake"; "install"]))
-                 ];
+                 [(OASISExpr.EBool true, ("omake", ["install"]))];
                cmd_clean = [(OASISExpr.EBool true, None)];
                cmd_distclean = [(OASISExpr.EBool true, None)];
                };
           CustomPlugin.clean
             {
                CustomPlugin.cmd_main =
-                 [
-                    (OASISExpr.EBool true,
-                      ("PREFIX=$prefix", ["omake"; "uninstall"]))
-                 ];
+                 [(OASISExpr.EBool true, ("omake", ["uninstall"]))];
                cmd_clean = [(OASISExpr.EBool true, None)];
                cmd_distclean = [(OASISExpr.EBool true, None)];
                }
                CustomPlugin.cmd_main =
                  [
                     (OASISExpr.EBool true,
-                      (".",
-                        [
-                           "yes";
-                           "no";
-                           "|";
-                           "omake";
-                           "--install;";
-                           "PREFIX=$prefix";
-                           "omake"
-                        ]))
+                      ("yes", ["no"; "|"; "omake"; "--install;"; "omake"]))
                  ];
                cmd_clean = [(OASISExpr.EBool true, None)];
                cmd_distclean = [(OASISExpr.EBool true, None)];
           CustomPlugin.distclean
             {
                CustomPlugin.cmd_main =
-                 [
-                    (OASISExpr.EBool true,
-                      ("PREFIX=$prefix", ["omake"; "install"]))
-                 ];
+                 [(OASISExpr.EBool true, ("omake", ["install"]))];
                cmd_clean = [(OASISExpr.EBool true, None)];
                cmd_distclean = [(OASISExpr.EBool true, None)];
                };
           CustomPlugin.distclean
             {
                CustomPlugin.cmd_main =
-                 [
-                    (OASISExpr.EBool true,
-                      ("PREFIX=$prefix", ["omake"; "uninstall"]))
-                 ];
+                 [(OASISExpr.EBool true, ("omake", ["uninstall"]))];
                cmd_clean = [(OASISExpr.EBool true, None)];
                cmd_distclean = [(OASISExpr.EBool true, None)];
                }
           maintainers = [];
           authors = ["Jun FURUSE"];
           homepage = None;
-          synopsis = "SpotInstall : a tool to install annot files";
+          synopsis =
+            "A tool to facilitate the installation of OCaml annotation files (.cmt, .cmti, .spot, .spit).";
           description = None;
           categories = [];
           conf_type = (`Configure, "internal", Some "0.3");
           };
      oasis_fn = Some "_oasis";
      oasis_version = "0.3.0";
-     oasis_digest = Some "\154\193\129&\193o\162\191A\159~\014SrgI";
+     oasis_digest = Some "mb\212i\223\171\163$\234\161\130pSK=\028";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false;
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 5580 "setup.ml"
+# 5536 "setup.ml"
 (* OASIS_STOP *)
 let () = setup ();;