| 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 */ |