lol

openjdk8: 8u212 -> 8u222

+65 -57
+17 -18
pkgs/development/compilers/openjdk/005_enable-infinality.patch
··· 6 6 @@ -23,6 +23,9 @@ 7 7 * questions. 8 8 */ 9 - 9 + 10 10 +/* Use Infinality patches as default */ 11 11 +#define INFINALITY 12 12 + ··· 21 21 +#include FT_LCD_FILTER_H 22 22 +#include <fontconfig/fontconfig.h> 23 23 +#endif 24 - 24 + 25 25 #include "fontscaler.h" 26 - 26 + 27 27 @@ -676,6 +683,147 @@ static void CopyFTSubpixelVToSubpixel(co 28 28 } 29 29 } 30 - 30 + 31 31 +#ifdef INFINALITY 32 32 +typedef struct { 33 33 + FT_Render_Mode ftRenderMode; ··· 169 169 + rp->ftLcdFilter = ftLcdFilter; 170 170 +} 171 171 +#endif 172 - 172 + 173 173 /* 174 174 * Class: sun_font_FreetypeFontScaler 175 175 @@ -691,7 +839,9 @@ Java_sun_font_FreetypeFontScaler_getGlyp ··· 180 180 int renderFlags = FT_LOAD_RENDER, target; 181 181 +#endif 182 182 FT_GlyphSlot ftglyph; 183 - 183 + 184 184 FTScalerContext* context = 185 - @@ -709,6 +859,11 @@ Java_sun_font_FreetypeFontScaler_getGlyp 185 + @@ -709,5 +859,10 @@ Java_sun_font_FreetypeFontScaler_getGlyp 186 186 return ptr_to_jlong(getNullGlyphImage()); 187 187 } 188 - 188 + 189 189 +#ifdef INFINALITY 190 190 + RenderingProperties renderingProperties; 191 191 + readFontconfig((const FcChar8 *) scalerInfo->face->family_name, 192 192 + context->ptsz, context->aaType, &renderingProperties); 193 193 +#else 194 - /* if algorithmic styling is required then we do not request bitmap */ 195 - if (context->doBold || context->doItalize) { 196 - renderFlags = FT_LOAD_DEFAULT; 194 + if (!context->useSbits) { 195 + renderFlags |= FT_LOAD_NO_BITMAP; 197 196 @@ -731,10 +886,17 @@ Java_sun_font_FreetypeFontScaler_getGlyp 198 197 target = FT_LOAD_TARGET_LCD_V; 199 198 } 200 199 renderFlags |= target; 201 200 +#endif 202 - 201 + 203 202 glyph_index = FT_Get_Char_Index(scalerInfo->face, glyphCode); 204 - 203 + 205 204 +#ifdef INFINALITY 206 205 + FT_Library_SetLcdFilter(scalerInfo->library, renderingProperties.ftLcdFilter); 207 206 + error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderingProperties.ftLoadFlags); ··· 213 212 //do not destroy scaler yet. 214 213 //this can be problem of particular context (e.g. with bad transform) 215 214 @@ -753,9 +915,13 @@ Java_sun_font_FreetypeFontScaler_getGlyp 216 - 215 + 217 216 /* generate bitmap if it is not done yet 218 217 e.g. if algorithmic styling is performed and style was added to outline */ 219 218 +#ifdef INFINALITY ··· 223 222 FT_Render_Glyph(ftglyph, FT_LOAD_TARGET_MODE(target)); 224 223 } 225 224 +#endif 226 - 225 + 227 226 width = (UInt16) ftglyph->bitmap.width; 228 227 height = (UInt16) ftglyph->bitmap.rows; 229 228 @@ -969,7 +1135,9 @@ Java_sun_font_FreetypeFontScaler_getGlyp ··· 239 238 @@ -984,11 +1152,22 @@ static FT_Outline* getFTOutline(JNIEnv* 240 239 return NULL; 241 240 } 242 - 241 + 243 242 +#ifdef INFINALITY 244 243 + RenderingProperties renderingProperties; 245 244 + readFontconfig((const FcChar8 *) scalerInfo->face->family_name, ··· 247 246 +#else 248 247 renderFlags = FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP; 249 248 +#endif 250 - 249 + 251 250 glyph_index = FT_Get_Char_Index(scalerInfo->face, glyphCode); 252 - 251 + 253 252 +#ifdef INFINALITY 254 253 + error = FT_Load_Glyph(scalerInfo->face, glyphCode, renderingProperties.ftLoadFlags); 255 254 +#else
+18 -18
pkgs/development/compilers/openjdk/8.nix
··· 20 20 "aarch64-linux" = "aarch64"; 21 21 }.${stdenv.system} or (throw "Unsupported platform"); 22 22 23 - update = "212"; 24 - build = if stdenv.isAarch64 then "b04" 23 + update = "222"; 24 + build = if stdenv.isAarch64 then "b10" 25 25 else "ga"; 26 26 baseurl = if stdenv.isAarch64 then "https://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah" 27 27 else "https://hg.openjdk.java.net/jdk8u/jdk8u"; ··· 31 31 jdk8 = fetchurl { 32 32 name = "jdk8-${repover}.tar.gz"; 33 33 url = "${baseurl}/archive/${repover}.tar.gz"; 34 - sha256 = if stdenv.isAarch64 then "0z2n2b5f1jmdzycb7ppqz3dx5sf1rwwd3fvk15zq4cm7908wapjw" 35 - else "00rl33h4cl4b4p3hcid765h38x2jdkb14ylh8k1zhnd0ka76crgg"; 34 + sha256 = if stdenv.isAarch64 then "1h19zpmc76f8v4s0mfvqxmxvv8imdwq92z5dmgi19y4xnl978qq8" 35 + else "19dyqayn8n2y08p08g34xxnf0dkm6bfjxkp7633m7dx50mjcpxnj"; 36 36 }; 37 37 langtools = fetchurl { 38 38 name = "langtools-${repover}.tar.gz"; 39 39 url = "${baseurl}/langtools/archive/${repover}.tar.gz"; 40 - sha256 = if stdenv.isAarch64 then "0j0fbxj7fkl8bn8lq3s3sssa26hskaf8c9rmsay8r91m4vnxisv1" 41 - else "0va6g2dccf1ph6mpwxswbks5axp7zz258cl89qq9r8jn4ni04agw"; 40 + sha256 = if stdenv.isAarch64 then "09phy2izw2yyp3hnw7jmb7lp559dgnp2a0rymx1k3q97anfz3bzj" 41 + else "11nibmqnf7nap10sydk57gimgwpxqk5mn12dyg6fzg4s2fxf0y1q"; 42 42 }; 43 43 hotspot = fetchurl { 44 44 name = "hotspot-${repover}.tar.gz"; 45 45 url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; 46 - sha256 = if stdenv.isAarch64 then "1ld76jx0v1z6755a61k5da0cks7dqwvwc5l8rvyw9r9py1n7421w" 47 - else "0sgr9df10hs49pjld6c6kr374v4zwd9s52pc3drz68zrlk71ja4s"; 46 + sha256 = if stdenv.isAarch64 then "1dqrzg2af94pjam6jg9nq8ydaibn4bsjv7ai6m7m3r2ph2fml80s" 47 + else "1g512xrrxvnrk5szg7wqqz00x4gv53dx3yffk5im2zfcalyka2q7"; 48 48 }; 49 49 corba = fetchurl { 50 50 name = "corba-${repover}.tar.gz"; 51 51 url = "${baseurl}/corba/archive/${repover}.tar.gz"; 52 - sha256 = if stdenv.isAarch64 then "1jcw90y3d8rnvqpiyyvsx976f5i8d60p0d6652v4mz41pyjjhyw5" 53 - else "1hq0sr4k4k4iv815kg72i9lvd7n7mn5pmw96ckk9p1rnyagn9z03"; 52 + sha256 = if stdenv.isAarch64 then "15l1ccvk2slx8wf5gilzjvhc428hl57gg1knbma1jqgs3ymnqwpr" 53 + else "0h8nprfzpy21mfl39fxxzfa420skwmaaji4r31j7lj3g8c1wp62r"; 54 54 }; 55 55 jdk = fetchurl { 56 56 name = "jdk-${repover}.tar.gz"; 57 57 url = "${baseurl}/jdk/archive/${repover}.tar.gz"; 58 - sha256 = if stdenv.isAarch64 then "19mnlw7igxblxx8qp6l9rn2w0xw1akdx2v1rw6pq14d03dgwby22" 59 - else "1fc59jrbfq8l067mggzy5dnrvni7lwaqd7hahs4nqv87kyrfg545"; 58 + sha256 = if stdenv.isAarch64 then "179ij3rs1ahl6dh3n64k4xp2prv413ckqk7sj1g5lw48rj7bjh83" 59 + else "1sb38h0rckgkr2y0kfzav6mb74nv5whb9l8m842mv1jpavxrdv6k"; 60 60 }; 61 61 jaxws = fetchurl { 62 62 name = "jaxws-${repover}.tar.gz"; 63 63 url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; 64 - sha256 = if stdenv.isAarch64 then "1dvlcj5jrwia08im1is9ms6r619jvzkhyg3ls0czh2yycabg6p51" 65 - else "1ka2fvyxdmpfhk814s314gx53yvdr19vpsqygx283v9nbq90l1yg"; 64 + sha256 = if stdenv.isAarch64 then "16bayw7c4vzm9s0ixhw2dv6pan6wywyiddh9a8dss35660dnhrm0" 65 + else "0akn5zapff5m32ibgm3f4lhgq96bsqx74g4xl38xmivvxddsd6kz"; 66 66 }; 67 67 jaxp = fetchurl { 68 68 name = "jaxp-${repover}.tar.gz"; 69 69 url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; 70 - sha256 = if stdenv.isAarch64 then "1imz7bsiqhhh5qx8hjpm46y7a4j282vmdd6xljz8n148vml2p936" 71 - else "15vlgs5v2ax8sqwh7bg50fnlrwlpnkp0myzrvpqs1mcza8pyasp8"; 70 + sha256 = if stdenv.isAarch64 then "176db7pi2irc7q87c273cjm5nrlj5g973fjmh24m6a1jxanrrm9x" 71 + else "0bw4q8yhmrl8hqlimy1ijnarav4r91dj73lpr7axba77rqlr41c8"; 72 72 }; 73 73 nashorn = fetchurl { 74 74 name = "nashorn-${repover}.tar.gz"; 75 75 url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; 76 - sha256 = if stdenv.isAarch64 then "0rnrzz42f3ismhwj05sim7d05wccp5bcr5rhxgnvs3hjqaqvq51n" 77 - else "1jzn0yi0v6lda5y8ib07g1p6zymnbcx9yy6iz8niggpm7205y93h"; 76 + sha256 = if stdenv.isAarch64 then "0vi3kbsqfpdjxc08ayxk2c87zycd7z0qbqw9xka1vc59iyv97n62" 77 + else "0bfcf3iv2lr0xlp6sclxq7zz7b9ahajl008hz5rasjnrnr993qja"; 78 78 }; 79 79 openjdk8 = stdenv.mkDerivation { 80 80 pname = "openjdk" + lib.optionalString headless "-headless";
+30 -21
pkgs/development/compilers/openjdk/read-truststore-from-env-jdk8.patch
··· 1 - diff -ur openjdk-7u65-b32/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java openjdk-7u65-b32.new/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java 2 - --- openjdk-7u65-b32/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java 2014-07-17 12:12:14.000000000 +0200 3 - +++ openjdk-7u65-b32.new/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java 2014-12-09 13:31:27.821960372 +0100 4 - @@ -161,6 +161,7 @@ 5 - /* 6 - * Try: 7 - * javax.net.ssl.trustStore (if this variable exists, stop) 8 - + * system environment variable JAVAX_NET_SSL_TRUSTSTORE 9 - * jssecacerts 10 - * cacerts 11 - * 12 - @@ -169,6 +169,9 @@ 13 - 14 - try { 15 - storeFileName = props.get("trustStore"); 16 - + if (storeFileName == null) { 17 - + storeFileName = System.getenv("JAVAX_NET_SSL_TRUSTSTORE"); 18 - + } 19 - if (!"NONE".equals(storeFileName)) { 20 - if (storeFileName != null) { 21 - storeFile = new File(storeFileName); 1 + --- a/jdk/src/share/classes/sun/security/ssl/TrustStoreManager.java 2017-06-26 21:48:25.000000000 -0400 2 + +++ b/jdk/src/share/classes/sun/security/ssl/TrustStoreManager.java 2017-07-05 20:45:57.491295030 -0400 3 + @@ -71,6 +71,7 @@ 4 + * 5 + * The preference of the default trusted KeyStore is: 6 + * javax.net.ssl.trustStore 7 + + * system environment variable JAVAX_NET_SSL_TRUSTSTORE 8 + * jssecacerts 9 + * cacerts 10 + */ 11 + @@ -132,7 +133,8 @@ 12 + public TrustStoreDescriptor run() { 13 + // Get the system properties for trust store. 14 + String storePropName = System.getProperty( 15 + - "javax.net.ssl.trustStore", jsseDefaultStore); 16 + + "javax.net.ssl.trustStore", 17 + + System.getenv("JAVAX_NET_SSL_TRUSTSTORE")); 18 + String storePropType = System.getProperty( 19 + "javax.net.ssl.trustStoreType", 20 + KeyStore.getDefaultType()); 21 + @@ -144,6 +146,9 @@ 22 + String temporaryName = ""; 23 + File temporaryFile = null; 24 + long temporaryTime = 0L; 25 + + if (storePropName == null) { 26 + + storePropName = jsseDefaultStore; 27 + + } 28 + if (!"NONE".equals(storePropName)) { 29 + String[] fileNames = 30 + new String[] {storePropName, defaultStore};