| 1 | 
 -- | 
 
 
 
 
 
 | 2 | 
 -- setup.lua | 
 
 
 
 
 
 | 3 | 
 -- | 
 
 
 
 
 
 | 4 | 
 -- $Id: setup.lua,v 49e57abe7f83 2013/09/21 08:35:52 keithmarshall $ | 
 
 
 
 
 
 | 5 | 
 -- | 
 
 
 
 
 
 | 6 | 
 -- Lua 5.2 module providing common setup hooks for mingw-get. | 
 
 
 
 
 
 | 7 | 
 -- | 
 
 
 
 
 
 | 8 | 
 -- | 
 
 
 
 
 
 | 9 | 
 -- This file is a component of mingw-get. | 
 
 
 
 
 
 | 10 | 
 -- | 
 
 
 
 
 
 | 11 | 
 -- Written by Keith Marshall <keithmarshall@users.sourceforge.net> | 
 
 
 
 
 
 | 12 | 
 -- Copyright (C) 2012, 2013, MinGW.org Project | 
 
 
 
 
 
 | 13 | 
 -- | 
 
 
 
 
 
 | 14 | 
 -- | 
 
 
 
 
 
 | 15 | 
 -- Permission is hereby granted, free of charge, to any person obtaining a | 
 
 
 
 
 
 | 16 | 
 -- copy of this software and associated documentation files (the "Software"), | 
 
 
 
 
 
 | 17 | 
 -- to deal in the Software without restriction, including without limitation | 
 
 
 
 
 
 | 18 | 
 -- the rights to use, copy, modify, merge, publish, distribute, sublicense, | 
 
 
 
 
 
 | 19 | 
 -- and/or sell copies of the Software, and to permit persons to whom the | 
 
 
 
 
 
 | 20 | 
 -- Software is furnished to do so, subject to the following conditions: | 
 
 
 
 
 
 | 21 | 
 -- | 
 
 
 
 
 
 | 22 | 
 -- The above copyright notice and this permission notice shall be included | 
 
 
 
 
 
 | 23 | 
 -- in all copies or substantial portions of the Software. | 
 
 
 
 
 
 | 24 | 
 -- | 
 
 
 
 
 
 | 25 | 
 -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | 
 
 
 
 
 
 | 26 | 
 -- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 
 
 
 
 
 
 | 27 | 
 -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | 
 
 
 
 
 
 | 28 | 
 -- THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 
 
 
 
 
 
 | 29 | 
 -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 
 
 
 
 
 
 | 30 | 
 -- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 
 
 
 
 
 
 | 31 | 
 -- DEALINGS IN THE SOFTWARE. | 
 
 
 
 
 
 | 32 | 
 -- | 
 
 
 
 
 
 | 33 | 
    local M = {} | 
 
 
 
 
 
 | 34 | 
    local wsh = require "wsh" | 
 
 
 
 
 
 | 35 | 
 -- | 
 
 
 
 
 
 | 36 | 
    function M.libexec_path( script, subsystem ) | 
 
 
 
 
 
 | 37 | 
      if not subsystem | 
 
 
 
 
 
 | 38 | 
      then | 
 
 
 
 
 
 | 39 | 
        subsystem = "mingw-get" | 
 
 
 
 
 
 | 40 | 
      end | 
 
 
 
 
 
 | 41 | 
      return wsh.libexec_path( script, subsystem ) | 
 
 
 
 
 
 | 42 | 
    end | 
 
 
 
 
 
 | 43 | 
 -- | 
 
 
 
 
 
 | 44 | 
    function M.argwrap( arglist, ... ) | 
 
 
 
 
 
 | 45 | 
      for argind, argval in ipairs {...} | 
 
 
 
 
 
 | 46 | 
      do | 
 
 
 
 
 
 | 47 | 
        arglist = arglist .. " " .. argval | 
 
 
 
 
 
 | 48 | 
      end | 
 
 
 
 
 
 | 49 | 
      return arglist | 
 
 
 
 
 
 | 50 | 
    end | 
 
 
 
 
 
 | 51 | 
 -- | 
 
 
 
 
 
 | 52 | 
    function M.shlink( args, ... ) | 
 
 
 
 
 
 | 53 | 
      if args | 
 
 
 
 
 
 | 54 | 
      then | 
 
 
 
 
 
 | 55 | 
        wsh.execute( M.argwrap( M.libexec_path( "shlink.js" ), args, ... ) ) | 
 
 
 
 
 
 | 56 | 
      end | 
 
 
 
 
 
 | 57 | 
    end | 
 
 
 
 
 
 | 58 | 
 -- | 
 
 
 
 
 
 | 59 | 
    function M.unlink( args, ... ) | 
 
 
 
 
 
 | 60 | 
      if args | 
 
 
 
 
 
 | 61 | 
      then | 
 
 
 
 
 
 | 62 | 
        wsh.execute( M.argwrap( M.libexec_path( "unlink.js" ), args, ... ) ) | 
 
 
 
 
 
 | 63 | 
      end | 
 
 
 
 
 
 | 64 | 
    end | 
 
 
 
 
 
 | 65 | 
 -- | 
 
 
 
 
 
 | 66 | 
    function M.create_shortcuts( ... ) | 
 
 
 
 
 
 | 67 | 
      M.shlink( os.getenv( "MINGW_GET_DESKTOP_HOOK" ), ... ) | 
 
 
 
 
 
 | 68 | 
      M.shlink( os.getenv( "MINGW_GET_START_MENU_HOOK" ), ... ) | 
 
 
 
 
 
 | 69 | 
    end | 
 
 
 
 
 
 | 70 | 
 -- | 
 
 
 
 
 
 | 71 | 
    function M.delete_shortcuts( ... ) | 
 
 
 
 
 
 | 72 | 
      M.unlink( "--desktop", ... ) | 
 
 
 
 
 
 | 73 | 
      M.unlink( "--all-users --desktop", ... ) | 
 
 
 
 
 
 | 74 | 
      M.unlink( "--all-users --start-menu", ... ) | 
 
 
 
 
 
 | 75 | 
      M.unlink( "--start-menu", ... ) | 
 
 
 
 
 
 | 76 | 
    end | 
 
 
 
 
 
 | 77 | 
 -- | 
 
 
 
 
 
 | 78 | 
    return M | 
 
 
 
 
 
 | 79 | 
 -- | 
 
 
 
 
 
 | 80 | 
 -- $RCSfile: setup.lua,v $: end of file */ |