diff --git a/.travis.yml b/.travis.yml index 901ce3c5cdb..88e09b93b94 100644 --- a/.travis.yml +++ b/.travis.yml @@ -167,7 +167,6 @@ script: cache: directories: - - installs/mono-3.2.8 - installs/py2 - installs/py3 - installs/perl-5.18 diff --git a/frameworks/CSharp/aspnet/.gitignore b/frameworks/CSharp/aspnet/.gitignore index b9965942aae..d8379475bd3 100644 --- a/frameworks/CSharp/aspnet/.gitignore +++ b/frameworks/CSharp/aspnet/.gitignore @@ -2,5 +2,5 @@ *.suo */bin/* */obj/* -lib/* -!lib/.nuget +*/packages/* +nginx.upstream.conf diff --git a/frameworks/CSharp/aspnet/README.md b/frameworks/CSharp/aspnet/README.md index d5a91ef5a8b..538ef883843 100644 --- a/frameworks/CSharp/aspnet/README.md +++ b/frameworks/CSharp/aspnet/README.md @@ -18,7 +18,7 @@ **Platforms** * .NET Framework 4.5 (Windows) -* Mono 3.2.8 (Linux) +* Mono 3.99.0 (Linux) **Web Servers** @@ -29,37 +29,16 @@ **Web Stack** * ASP.NET 4.5 -* ASP.NET MVC Framework 5.1.0 +* ASP.NET MVC Framework 5.2.2 +* ASP.NET Razor 3.2.2 **Databases** -* MySQL Connector/Net 6.8.3 -* Npgsql 2.0.14.3 -* Entity Framework 6.0.2 -* Mongo C# Driver 1.8.3 +* MySQL Connector/Net 6.9.5 +* Npgsql 2.2.3 +* Entity Framework 6.1.1 +* Mongo C# Driver 1.9.2 **Developer Tools** * Visual Studio 2012 - -## Mono Installation - - sudo apt-get install git-core build-essential autoconf automake libtool zlib1g-dev pkg-config gettext - - git clone git://github.com/mono/mono - cd mono - git checkout mono-3.2.8 - ./autogen.sh --prefix=/usr/local - make get-monolite-latest - make EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/gmcs.exe - sudo make install - - cd .. - - git clone git://github.com/mono/xsp - cd xsp - ./autogen.sh --prefix=/usr/local - make - sudo make install - - mozroots --import --sync diff --git a/frameworks/CSharp/aspnet/bash_profile.sh b/frameworks/CSharp/aspnet/bash_profile.sh deleted file mode 100644 index 659caf695d2..00000000000 --- a/frameworks/CSharp/aspnet/bash_profile.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -export MONO_ROOT=${IROOT}/mono-3.6.0-install - -# Needed to find Mono's shared libraries -export LD_LIBRARY_PATH="$MONO_ROOT/lib" - -export NGINX_HOME=${IROOT}/nginx \ No newline at end of file diff --git a/frameworks/CSharp/aspnet/lib/.nuget/NuGet.exe b/frameworks/CSharp/aspnet/lib/.nuget/NuGet.exe deleted file mode 100644 index c296edf177f..00000000000 Binary files a/frameworks/CSharp/aspnet/lib/.nuget/NuGet.exe and /dev/null differ diff --git a/frameworks/CSharp/aspnet/lib/.nuget/NuGet.targets b/frameworks/CSharp/aspnet/lib/.nuget/NuGet.targets deleted file mode 100644 index bdcb71290f8..00000000000 --- a/frameworks/CSharp/aspnet/lib/.nuget/NuGet.targets +++ /dev/null @@ -1,135 +0,0 @@ - - - - $(MSBuildProjectDirectory)\..\ - - - false - - - false - - - false - - - true - - - - - - - - - - - $([System.IO.Path]::Combine($(SolutionDir), "..", "lib", ".nuget")) - $([System.IO.Path]::Combine($(ProjectDir), "..", "lib", "packages.config")) - $([System.IO.Path]::Combine($(SolutionDir), "..", "lib")) - - - - - $(SolutionDir)..\lib\.nuget - $(SolutionDir)..\lib\packages.config - $(SolutionDir)..\lib - - - - - $(NuGetToolsPath)\NuGet.exe - @(PackageSource) - - "$(NuGetExePath)" - mono $(NuGetExePath) - - $(TargetDir.Trim('\\')) - - -RequireConsent - -NonInteractive - - - $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -OutputDirectory "$(RepositoryPath)" - $(NuGetCommand) pack "$(ProjectPath)" -Properties Configuration=$(Configuration) $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols - - - - RestorePackages; - $(BuildDependsOn); - - - - - $(BuildDependsOn); - BuildPackage; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/frameworks/CSharp/aspnet/nginx.conf b/frameworks/CSharp/aspnet/nginx.conf index 183f0412685..1b856d3dc25 100644 --- a/frameworks/CSharp/aspnet/nginx.conf +++ b/frameworks/CSharp/aspnet/nginx.conf @@ -19,7 +19,23 @@ http { location / { fastcgi_pass mono; - include /usr/local/nginx/conf/fastcgi_params; + fastcgi_param QUERY_STRING $query_string; + fastcgi_param REQUEST_METHOD $request_method; + fastcgi_param CONTENT_TYPE $content_type; + fastcgi_param CONTENT_LENGTH $content_length; + fastcgi_param SCRIPT_NAME $fastcgi_script_name; + fastcgi_param REQUEST_URI $request_uri; + fastcgi_param DOCUMENT_URI $document_uri; + fastcgi_param DOCUMENT_ROOT $document_root; + fastcgi_param SERVER_PROTOCOL $server_protocol; + fastcgi_param HTTPS $https if_not_empty; + fastcgi_param GATEWAY_INTERFACE CGI/1.1; + fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; + fastcgi_param REMOTE_ADDR $remote_addr; + fastcgi_param REMOTE_PORT $remote_port; + fastcgi_param SERVER_ADDR $server_addr; + fastcgi_param SERVER_PORT $server_port; + fastcgi_param SERVER_NAME $server_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } diff --git a/frameworks/CSharp/aspnet/setup_nginx.py b/frameworks/CSharp/aspnet/setup_nginx.py deleted file mode 100644 index fbb67cd1e33..00000000000 --- a/frameworks/CSharp/aspnet/setup_nginx.py +++ /dev/null @@ -1,45 +0,0 @@ -import subprocess -import sys -import setup_util -import os - -def start(args, logfile, errfile): - if os.name == 'nt': - return 1 - - setup_util.replace_text("aspnet/src/Web.config", "localhost", args.database_host) - - # build - subprocess.check_call("rm -rf bin obj", shell=True, cwd="aspnet", stderr=errfile, stdout=logfile) - subprocess.check_call("xbuild /p:Configuration=Release", shell=True, cwd="aspnet/src", stderr=errfile, stdout=logfile) - subprocess.check_call("sudo chown -R $USER:$USER $MONO_ROOT", shell=True, stderr=errfile, stdout=logfile) - - # nginx - workers = 'worker_processes ' + str(args.max_threads) + ';' - logfile.write("Setting up workers as %s\n\n" % workers) - subprocess.check_call("echo Hello there", shell=True, stderr=errfile, stdout=logfile); - command = 'echo "upstream mono {\n' + ';\n'.join('\tserver 127.0.0.1:' + str(port) for port in range(9001, 9001 + args.max_threads)) + ';\n}" > $TROOT/nginx.upstream.conf' - logfile.write("Using command %s" % command) - subprocess.check_call(command, shell=True, stderr=errfile, stdout=logfile); - subprocess.check_call('sudo /usr/local/nginx/sbin/nginx -c $TROOT/nginx.conf -g "' + workers + '"', shell=True, stderr=errfile, stdout=logfile) - - # Start fastcgi for each thread - # To debug, use --printlog --verbose --loglevels=All - for port in range(9001, 9001 + args.max_threads): - subprocess.Popen("MONO_OPTIONS=--gc=sgen fastcgi-mono-server4 --applications=/:%s/src --socket=tcp:127.0.0.1:%s " % (args.directory, port), shell=True, cwd="aspnet", stderr=errfile, stdout=logfile) - -def stop(logfile, errfile): - if os.name == 'nt': - return 0 - - subprocess.check_call("sudo /usr/local/nginx/sbin/nginx -c $TROOT/nginx.conf -s stop", shell=True, stderr=errfile, stdout=logfile) - subprocess.check_call("rm -f $TROOT/nginx.upstream.conf", shell=True, stderr=errfile, stdout=logfile) - # - # stop mono - # - p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE) - out, err = p.communicate() - for line in out.splitlines(): - if 'mono-server' in line and not 'run-ci' in line and not 'run-tests' in line: - pid = int(line.split(None, 2)[1]) - os.kill(pid, 15) diff --git a/frameworks/CSharp/aspnet/setup_nginx.sh b/frameworks/CSharp/aspnet/setup_nginx.sh index fa091ae36c1..763eff394e4 100755 --- a/frameworks/CSharp/aspnet/setup_nginx.sh +++ b/frameworks/CSharp/aspnet/setup_nginx.sh @@ -1,30 +1,37 @@ #!/bin/bash +set -e + +# mono environment variables +. ${IROOT}/mono.installed + +export NGINX_HOME=${IROOT}/nginx + sed -i 's|localhost|'"$DBHOST"'|g' src/Web.config -# build -rm -rf bin obj -cd src -$MONO_ROOT/bin/xbuild /p:Configuration=Release +# extra cleaning +rm -rf src/bin src/obj +rm -rf /tmp/nuget + +xbuild src/Benchmarks.build.proj /t:Clean +xbuild src/Benchmarks.build.proj /t:Build + +# one fastcgi instance for each thread +# load balanced by nginx +port_start=9001 +port_end=$(($port_start+$MAX_THREADS)) # nginx conf="upstream mono {\n" -current=9001 -end=$(($current+$MAX_THREADS)) -while [ $current -lt $end ]; do - conf+="\tserver 127.0.0.1:${current};\n" - let current=current+1 +for port in $(seq $port_start $port_end); do + conf+="\tserver 127.0.0.1:${port};\n" done conf+="}" echo -e $conf > $TROOT/nginx.upstream.conf -$NGINX_HOME/sbin/nginx -c $TROOT/nginx.conf -g "${MAX_THREADS}" +$NGINX_HOME/sbin/nginx -c $TROOT/nginx.conf -g "worker_processes ${MAX_THREADS};" -# Start fastcgi for each thread # To debug, use --printlog --verbose --loglevels=All -current=9001 -end=$(($current+$MAX_THREADS)) -while [ $current -lt $end ]; do - MONO_OPTIONS=--gc=sgen fastcgi-mono-server4 --applications=/:$(pwd)/src --socket=tcp:127.0.0.1:$current - let current=current+1 +for port in $(seq $port_start $port_end); do + fastcgi-mono-server4 --applications=/:${TROOT}/src --socket=tcp:127.0.0.1:$port & done diff --git a/frameworks/CSharp/aspnet/setup_xsp.py b/frameworks/CSharp/aspnet/setup_xsp.py deleted file mode 100644 index 88d1cc38379..00000000000 --- a/frameworks/CSharp/aspnet/setup_xsp.py +++ /dev/null @@ -1,34 +0,0 @@ -import subprocess -import sys -import setup_util -import os - -def start(args, logfile, errfile): - if os.name == 'nt': - return 1 - - setup_util.replace_text("aspnet/src/Web.config", "localhost", args.database_host) - - try: - subprocess.check_call("rm -rf bin obj", shell=True, cwd="aspnet/src", stderr=errfile, stdout=logfile) - subprocess.check_call("xbuild /p:Configuration=Release", shell=True, cwd="aspnet/src", stderr=errfile, stdout=logfile) - subprocess.check_call("sudo chown -R ubuntu:ubuntu /usr/local/etc/mono", shell=True, stderr=errfile, stdout=logfile) - subprocess.Popen("MONO_OPTIONS=--gc=sgen xsp4 --nonstop", shell=True, cwd="aspnet/src", stderr=errfile, stdout=logfile) - return 0 - except subprocess.CalledProcessError: - return 1 - -def stop(logfile, errfile): - if os.name == 'nt': - return 0 - - p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE) - out, err = p.communicate() - for line in out.splitlines(): - if 'xsp4' in line: - pid = int(line.split(None, 2)[1]) - try: - os.kill(pid, 15) - except OSError: - pass - return 0 \ No newline at end of file diff --git a/frameworks/CSharp/aspnet/src/Benchmarks.build.proj b/frameworks/CSharp/aspnet/src/Benchmarks.build.proj new file mode 100644 index 00000000000..f7f7815dd93 --- /dev/null +++ b/frameworks/CSharp/aspnet/src/Benchmarks.build.proj @@ -0,0 +1,56 @@ + + + + + $(MSBuildThisFileDirectory) + Release + packages/nuget.exe + packages/ + http://nuget.org/nuget.exe + "$(NuGetExe)" + mono --runtime=v4.0.30319 "$(NuGetExe)" + Configuration=$(Configuration);SolutionDir=$(SolutionDir) + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frameworks/CSharp/aspnet/src/Benchmarks.AspNet.csproj b/frameworks/CSharp/aspnet/src/Benchmarks.csproj similarity index 70% rename from frameworks/CSharp/aspnet/src/Benchmarks.AspNet.csproj rename to frameworks/CSharp/aspnet/src/Benchmarks.csproj index c3636ae37da..13e96159d30 100644 --- a/frameworks/CSharp/aspnet/src/Benchmarks.AspNet.csproj +++ b/frameworks/CSharp/aspnet/src/Benchmarks.csproj @@ -45,69 +45,61 @@ True - ..\lib\Microsoft.AspNet.Mvc.5.1.0\lib\net45\System.Web.Mvc.dll - - - True - ..\lib\Microsoft.AspNet.WebPages.3.1.0\lib\net45\System.Web.Helpers.dll + $(SolutionDir)\packages\Microsoft.AspNet.Mvc.5.2.2\lib\net45\System.Web.Mvc.dll True - ..\lib\Microsoft.AspNet.Razor.3.1.0\lib\net45\System.Web.Razor.dll + $(SolutionDir)\packages\Microsoft.AspNet.Razor.3.2.2\lib\net45\System.Web.Razor.dll True - ..\lib\Microsoft.AspNet.WebPages.3.1.0\lib\net45\System.Web.WebPages.dll - - - True - ..\lib\Microsoft.AspNet.WebPages.3.1.0\lib\net45\System.Web.WebPages.Deployment.dll + $(SolutionDir)\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.dll True - ..\lib\Microsoft.AspNet.WebPages.3.1.0\lib\net45\System.Web.WebPages.Razor.dll - - - True - ..\lib\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + $(SolutionDir)\packages\Microsoft.AspNet.WebPages.3.2.2\lib\net45\System.Web.WebPages.Razor.dll - ..\lib\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll + $(SolutionDir)\packages\Newtonsoft.Json.6.0.6\lib\net45\Newtonsoft.Json.dll - ..\lib\ServiceStack.Text.4.0.8\lib\net40\ServiceStack.Text.dll + $(SolutionDir)\packages\ServiceStack.Text.4.0.34\lib\net40\ServiceStack.Text.dll True - ..\lib\EntityFramework.6.0.2\lib\net45\EntityFramework.dll + $(SolutionDir)\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll True - ..\lib\EntityFramework.6.0.2\lib\net45\EntityFramework.SqlServer.dll + $(SolutionDir)\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll True - ..\lib\MySql.Data.6.8.3\lib\net45\MySql.Data.dll + $(SolutionDir)\packages\MySql.Data.6.9.5\lib\net45\MySql.Data.dll True - ..\lib\MySql.Data.Entities.6.8.3.0\lib\net45\mysql.data.entity.EF6.dll + $(SolutionDir)\packages\MySql.Data.Entity.6.9.5\lib\net45\MySql.Data.Entity.EF6.dll True - ..\lib\Npgsql.2.0.14.3\lib\net45\Npgsql.dll + $(SolutionDir)\packages\Npgsql.2.2.3\lib\net45\Npgsql.dll True - ..\lib\Npgsql.2.0.14.3\lib\net45\Mono.Security.dll + $(SolutionDir)\packages\Npgsql.EntityFramework.2.2.3\lib\net45\Npgsql.EntityFramework.dll + + + True + $(SolutionDir)\packages\Npgsql.2.2.3\lib\net45\Mono.Security.dll True - ..\lib\mongocsharpdriver.1.8.3\lib\net35\MongoDB.Bson.dll + $(SolutionDir)\packages\mongocsharpdriver.1.9.2\lib\net35\MongoDB.Bson.dll True - ..\lib\mongocsharpdriver.1.8.3\lib\net35\MongoDB.Driver.dll + $(SolutionDir)\packages\mongocsharpdriver.1.9.2\lib\net35\MongoDB.Driver.dll @@ -137,6 +129,11 @@ Designer + + + Designer + + @@ -147,8 +144,7 @@ - - + diff --git a/frameworks/CSharp/aspnet/src/Benchmarks.sln b/frameworks/CSharp/aspnet/src/Benchmarks.sln index 4fd1313a845..bc4859c504b 100644 --- a/frameworks/CSharp/aspnet/src/Benchmarks.sln +++ b/frameworks/CSharp/aspnet/src/Benchmarks.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarks.AspNet", "Benchmarks.AspNet.csproj", "{62C3DEA2-2696-4200-BD83-011679316847}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarks", "Benchmarks.csproj", "{62C3DEA2-2696-4200-BD83-011679316847}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/frameworks/CSharp/aspnet/src/Models/MongoDB.cs b/frameworks/CSharp/aspnet/src/Models/MongoDB.cs index 1a4b5c6962f..da6ad4829bc 100644 --- a/frameworks/CSharp/aspnet/src/Models/MongoDB.cs +++ b/frameworks/CSharp/aspnet/src/Models/MongoDB.cs @@ -48,6 +48,6 @@ public MongoDB(string connectionStringName) public class MongoWorld : World { [ScriptIgnore] - public ObjectId _id { get; set; } + public object _id { get; set; } } } \ No newline at end of file diff --git a/frameworks/CSharp/aspnet/src/Views/Fortunes.cshtml b/frameworks/CSharp/aspnet/src/Views/Fortunes.cshtml index 6609c777cab..7b157324b3b 100644 --- a/frameworks/CSharp/aspnet/src/Views/Fortunes.cshtml +++ b/frameworks/CSharp/aspnet/src/Views/Fortunes.cshtml @@ -3,7 +3,6 @@ - Fortunes diff --git a/frameworks/CSharp/aspnet/src/Views/Web.config b/frameworks/CSharp/aspnet/src/Views/Web.config index 8b370b617e2..28f6234d15e 100644 --- a/frameworks/CSharp/aspnet/src/Views/Web.config +++ b/frameworks/CSharp/aspnet/src/Views/Web.config @@ -1,13 +1,13 @@ - -
-
+ +
+
- + diff --git a/frameworks/CSharp/aspnet/src/Web.config b/frameworks/CSharp/aspnet/src/Web.config index 66a9221c9a6..36e8611b1c4 100644 --- a/frameworks/CSharp/aspnet/src/Web.config +++ b/frameworks/CSharp/aspnet/src/Web.config @@ -15,16 +15,16 @@ - - + + - - + + diff --git a/frameworks/CSharp/aspnet/src/packages.config b/frameworks/CSharp/aspnet/src/packages.config new file mode 100644 index 00000000000..feba05c45d0 --- /dev/null +++ b/frameworks/CSharp/aspnet/src/packages.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/toolset/setup/linux/languages/mono.sh b/toolset/setup/linux/languages/mono.sh index 186d9ed8c55..1840eada7aa 100644 --- a/toolset/setup/linux/languages/mono.sh +++ b/toolset/setup/linux/languages/mono.sh @@ -1,30 +1,53 @@ #!/bin/bash -set -x - -RETCODE=$(fw_exists ${IROOT}/mono.installed) -[ ! "$RETCODE" == 0 ] || { \ - echo "Installing RootCAs from Mozilla..."; - sudo $IROOT/mono-3.6.0-install/bin/mozroots --import --sync; - return 0; } - -sudo apt-get install -y build-essential \ - autoconf \ - automake \ - libtool \ - zlib1g-dev \ - pkg-config \ - gettext - -fw_get http://download.mono-project.com/sources/mono/mono-3.6.0.tar.bz2 -O mono-3.6.0.tar.bz2 -fw_untar mono-3.6.0.tar.bz2 - -cd mono-3.6.0 -./autogen.sh --prefix=${IROOT}/mono-3.6.0-install -make -j4 EXTERNAL_MCS=${IROOT}/mono-3.6.0/mcs/class/lib/monolite/basic.exe -make install - -echo "Installing RootCAs from Mozilla..."; -sudo ${IROOT}/mono-3.6.0-install/bin/mozroots --import --sync; - -touch ${IROOT}/mono.installed \ No newline at end of file +set -e + +RETCODE=$(fw_exists $IROOT/mono.installed) +[ ! "$RETCODE" == 0 ] || { return 0; } + +# what do we want? latest mono +# how do we want it? already compiled from packages but without sudo + +# save environment +cat > $IROOT/mono.installed <<'END' +export SNAPDATE=20141220092712 +export MONO_HOME=$IROOT/mono-snapshot-$SNAPDATE +export MONO_PATH=$MONO_HOME/lib/mono/4.5 +export MONO_CFG_DIR=$MONO_HOME/etc +export PATH=$MONO_HOME/bin:$PATH +export LD_LIBRARY_PATH=$MONO_HOME/lib:$LD_LIBRARY_PATH +export PKG_CONFIG_PATH=$MONO_HOME/lib/pkgconfig:$PKG_CONFIG_PATH +END + +# load environment +. $IROOT/mono.installed + +# temp dir for extracting archives +TEMP=$IROOT/mono-snapshot-${SNAPDATE}-temp + +# start fresh +rm -rf $TEMP && mkdir -p $TEMP +rm -rf $MONO_HOME && mkdir -p $MONO_HOME + +# download .debs and extract them into $TEMP dir +fw_get http://jenkins.mono-project.com/repo/debian/pool/main/m/mono-snapshot-${SNAPDATE}/mono-snapshot-${SNAPDATE}_${SNAPDATE}-1_amd64.deb +fw_get http://jenkins.mono-project.com/repo/debian/pool/main/m/mono-snapshot-${SNAPDATE}/mono-snapshot-${SNAPDATE}-assemblies_${SNAPDATE}-1_all.deb +dpkg-deb -x mono-*amd64.deb $TEMP +dpkg-deb -x mono-*assemblies*.deb $TEMP + +# move /opt/mono-$SNAPDATE to /installs +mv $TEMP/opt/mono-*/* $MONO_HOME + +# cleanup +rm mono-*.deb +rm -rf $TEMP + +# replace /opt/mono-$SNAPDATE path +file $MONO_HOME/bin/* | grep "POSIX shell script" | awk -F: '{print $1}' | xargs sed -i "s|/opt/mono-$SNAPDATE|$MONO_HOME|g" +sed -i "s|/opt/mono-$SNAPDATE|$MONO_HOME|g" $MONO_HOME/lib/pkgconfig/*.pc $MONO_HOME/etc/mono/config + +# import SSL certificates +mozroots --import --sync +#echo -e 'y\ny\ny\n' | certmgr -ssl https://nuget.org + +touch $IROOT/mono.installed diff --git a/toolset/setup/linux/languages/xsp.sh b/toolset/setup/linux/languages/xsp.sh index 31d40df91f0..8b2d1aa7bc7 100644 --- a/toolset/setup/linux/languages/xsp.sh +++ b/toolset/setup/linux/languages/xsp.sh @@ -1,18 +1,27 @@ #!/bin/bash +set -e + RETCODE=$(fw_exists ${IROOT}/xsp.installed) [ ! "$RETCODE" == 0 ] || { return 0; } fw_depends mono + +# mono environment variables +. ${IROOT}/mono.installed + +# get git clone git://github.com/mono/xsp cd xsp -git checkout 8a31bc625727594d42f94173768bee5cf8afd0a4 +git checkout e272a2c006211b6b03be2ef5bbb9e3f8fefd0768 -export PKG_CONFIG_PATH=${IROOT}/mono-3.6.0-install/lib/pkgconfig -export PATH=${IROOT}/mono-3.6.0-install/bin:$PATH - -./autogen.sh --prefix=${IROOT}/mono-3.6.0-install +# build +./autogen.sh --prefix=${MONO_HOME} --disable-docs make make install +# cleanup +cd .. +rm -rf xsp + touch ${IROOT}/xsp.installed