haskell-xyz.scm 571 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
  3. ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
  4. ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
  5. ;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
  6. ;;; Copyright © 2016, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
  7. ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
  8. ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
  9. ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
  10. ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
  11. ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
  12. ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
  13. ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
  14. ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
  15. ;;; Copyright © 2017–2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
  16. ;;; Copyright © 2018 Tonton <tonton@riseup.net>
  17. ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
  18. ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
  19. ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
  20. ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
  21. ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
  22. ;;; Copyright © 2019,2020 John Soo <jsoo1@asu.edu>
  23. ;;; Copyright © 2019, 2020 Kyle Meyer <kyle@kyleam.com>
  24. ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
  25. ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
  26. ;;; Copyright © 2020 JoJo <jo@jo.zone>
  27. ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
  28. ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
  29. ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
  30. ;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
  31. ;;; Copyright © 2021 Alice BRENON <alice.brenon@ens-lyon.fr>
  32. ;;;
  33. ;;; This file is part of GNU Guix.
  34. ;;;
  35. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  36. ;;; under the terms of the GNU General Public License as published by
  37. ;;; the Free Software Foundation; either version 3 of the License, or (at
  38. ;;; your option) any later version.
  39. ;;;
  40. ;;; GNU Guix is distributed in the hope that it will be useful, but
  41. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  42. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  43. ;;; GNU General Public License for more details.
  44. ;;;
  45. ;;; You should have received a copy of the GNU General Public License
  46. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  47. (define-module (gnu packages haskell-xyz)
  48. #:use-module (gnu packages)
  49. #:use-module (gnu packages base)
  50. #:use-module (gnu packages compression)
  51. #:use-module (gnu packages emacs)
  52. #:use-module (gnu packages gl)
  53. #:use-module (gnu packages graphviz)
  54. #:use-module (gnu packages gtk)
  55. #:use-module (gnu packages haskell)
  56. #:use-module (gnu packages haskell-apps)
  57. #:use-module (gnu packages haskell-check)
  58. #:use-module (gnu packages haskell-crypto)
  59. #:use-module (gnu packages haskell-web)
  60. #:use-module (gnu packages libffi)
  61. #:use-module (gnu packages linux)
  62. #:use-module (gnu packages llvm)
  63. #:use-module (gnu packages lua)
  64. #:use-module (gnu packages maths)
  65. #:use-module (gnu packages ncurses)
  66. #:use-module (gnu packages pcre)
  67. #:use-module (gnu packages pkg-config)
  68. #:use-module (gnu packages sdl)
  69. #:use-module (gnu packages serialization)
  70. #:use-module (gnu packages xml)
  71. #:use-module (gnu packages xorg)
  72. #:use-module (guix build-system haskell)
  73. #:use-module (guix download)
  74. #:use-module (guix git-download)
  75. #:use-module (guix utils)
  76. #:use-module ((guix licenses) #:prefix license:)
  77. #:use-module (guix packages)
  78. #:use-module (srfi srfi-1))
  79. (define-public ghc-abstract-deque
  80. (package
  81. (name "ghc-abstract-deque")
  82. (version "0.3")
  83. (source
  84. (origin
  85. (method url-fetch)
  86. (uri (string-append "https://hackage.haskell.org/package/"
  87. "abstract-deque-" version "/"
  88. "abstract-deque-" version ".tar.gz"))
  89. (sha256
  90. (base32
  91. "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
  92. (build-system haskell-build-system)
  93. (inputs `(("ghc-random" ,ghc-random)))
  94. (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
  95. (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
  96. (description "This Haskell package provides an abstract interface to
  97. highly-parameterizable queues/deques.
  98. Background: There exists a feature space for queues that extends between:
  99. @itemize
  100. @item Simple, single-ended, non-concurrent, bounded queues
  101. @item Double-ended, thread-safe, growable queues with important points
  102. in between (such as the queues used for work stealing).
  103. @end itemize
  104. This package includes an interface for Deques that allows the programmer
  105. to use a single API for all of the above, while using the type system to
  106. select an efficient implementation given the requirements (using type families).
  107. This package also includes a simple reference implementation based on
  108. @code{IORef} and @code{Data.Sequence}.")
  109. (license license:bsd-3)))
  110. (define-public ghc-abstract-par
  111. (package
  112. (name "ghc-abstract-par")
  113. (version "0.3.3")
  114. (source
  115. (origin
  116. (method url-fetch)
  117. (uri (string-append "https://hackage.haskell.org/package/"
  118. "abstract-par-" version "/"
  119. "abstract-par-" version ".tar.gz"))
  120. (sha256
  121. (base32
  122. "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
  123. (build-system haskell-build-system)
  124. (home-page "https://github.com/simonmar/monad-par")
  125. (synopsis "Abstract parallelization interface for Haskell")
  126. (description "This Haskell package is an abstract interface
  127. only. It provides a number of type clasess, but not an
  128. implementation. The type classes separate different levels
  129. of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
  130. module for more details.")
  131. (license license:bsd-3)))
  132. (define-public ghc-active
  133. (package
  134. (name "ghc-active")
  135. (version "0.2.0.14")
  136. (source
  137. (origin
  138. (method url-fetch)
  139. (uri (string-append "https://hackage.haskell.org/package/"
  140. "active/active-" version ".tar.gz"))
  141. (sha256
  142. (base32
  143. "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
  144. (build-system haskell-build-system)
  145. (inputs
  146. `(("ghc-vector" ,ghc-vector)
  147. ("ghc-semigroups" ,ghc-semigroups)
  148. ("ghc-semigroupoids" ,ghc-semigroupoids)
  149. ("ghc-lens" ,ghc-lens)
  150. ("ghc-linear" ,ghc-linear)))
  151. (native-inputs
  152. `(("ghc-quickcheck" ,ghc-quickcheck)))
  153. (home-page "https://hackage.haskell.org/package/active")
  154. (synopsis "Abstractions for animation")
  155. (description "This package defines an @code{Active} abstraction for
  156. time-varying values with finite start and end times. It is used for
  157. describing animations within the
  158. @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
  159. diagrams framework}.")
  160. (license license:bsd-3)))
  161. (define-public ghc-adjunctions
  162. (package
  163. (name "ghc-adjunctions")
  164. (version "4.4")
  165. (source
  166. (origin
  167. (method url-fetch)
  168. (uri (string-append
  169. "https://hackage.haskell.org/package/adjunctions/adjunctions-"
  170. version
  171. ".tar.gz"))
  172. (sha256
  173. (base32
  174. "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
  175. (build-system haskell-build-system)
  176. (arguments
  177. `(#:cabal-revision
  178. ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
  179. (inputs
  180. `(("ghc-profunctors" ,ghc-profunctors)
  181. ("ghc-comonad" ,ghc-comonad)
  182. ("ghc-contravariant" ,ghc-contravariant)
  183. ("ghc-distributive" ,ghc-distributive)
  184. ("ghc-free" ,ghc-free)
  185. ("ghc-tagged" ,ghc-tagged)
  186. ("ghc-semigroupoids" ,ghc-semigroupoids)
  187. ("ghc-semigroups" ,ghc-semigroups)
  188. ("ghc-transformers-compat" ,ghc-transformers-compat)
  189. ("ghc-void" ,ghc-void)))
  190. (native-inputs
  191. `(("ghc-generic-deriving" ,ghc-generic-deriving)
  192. ("ghc-hspec" ,ghc-hspec)
  193. ("hspec-discover" ,hspec-discover)))
  194. (home-page "https://github.com/ekmett/adjunctions/")
  195. (synopsis "Adjunctions and representable functors")
  196. (description "This library provides adjunctions and representable functors
  197. for Haskell.")
  198. (license license:bsd-3)))
  199. (define-public ghc-aeson-compat
  200. (package
  201. (name "ghc-aeson-compat")
  202. (version "0.3.9")
  203. (source
  204. (origin
  205. (method url-fetch)
  206. (uri (string-append "https://hackage.haskell.org/package/"
  207. "aeson-compat-" version "/"
  208. "aeson-compat-" version ".tar.gz"))
  209. (sha256
  210. (base32
  211. "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
  212. (build-system haskell-build-system)
  213. (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
  214. (inputs `(("ghc-base-compat" ,ghc-base-compat)
  215. ("ghc-aeson" ,ghc-aeson)
  216. ("ghc-attoparsec" ,ghc-attoparsec)
  217. ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
  218. ("ghc-exceptions" ,ghc-exceptions)
  219. ("ghc-hashable" ,ghc-hashable)
  220. ("ghc-scientific" ,ghc-scientific)
  221. ("ghc-time-locale-compat" ,ghc-time-locale-compat)
  222. ("ghc-unordered-containers" ,ghc-unordered-containers)
  223. ("ghc-vector" ,ghc-vector)
  224. ("ghc-tagged" ,ghc-tagged)
  225. ("ghc-semigroups" ,ghc-semigroups)
  226. ("ghc-nats" ,ghc-nats)))
  227. (home-page "https://github.com/phadej/aeson-compat")
  228. (synopsis "Compatibility layer for ghc-aeson")
  229. (description "This Haskell package provides compatibility layer for
  230. ghc-aeson.")
  231. (license license:bsd-3)))
  232. (define-public ghc-aeson-diff
  233. (package
  234. (name "ghc-aeson-diff")
  235. (version "1.1.0.7")
  236. (source
  237. (origin
  238. (method url-fetch)
  239. (uri (string-append "https://hackage.haskell.org/package/"
  240. "aeson-diff/aeson-diff-" version ".tar.gz"))
  241. (sha256
  242. (base32
  243. "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
  244. (build-system haskell-build-system)
  245. (inputs
  246. `(("ghc-aeson" ,ghc-aeson)
  247. ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
  248. ("ghc-hashable" ,ghc-hashable)
  249. ("ghc-scientific" ,ghc-scientific)
  250. ("ghc-unordered-containers" ,ghc-unordered-containers)
  251. ("ghc-vector" ,ghc-vector)
  252. ("ghc-semigroups" ,ghc-semigroups)
  253. ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
  254. (native-inputs
  255. `(("ghc-quickcheck" ,ghc-quickcheck)
  256. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  257. ("ghc-glob" ,ghc-glob)
  258. ("ghc-quickcheck" ,ghc-quickcheck)
  259. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  260. ("ghc-quickcheck" ,ghc-quickcheck)
  261. ("ghc-doctest" ,ghc-doctest)
  262. ("hlint" ,hlint)))
  263. (home-page "https://github.com/thsutton/aeson-diff")
  264. (synopsis "Extract and apply patches to JSON documents")
  265. (description "This is a small library for working with changes to JSON
  266. documents. It includes a library and two command-line executables in the
  267. style of the @command{diff} and @command{patch} commands available on many
  268. systems.")
  269. (license license:bsd-3)))
  270. (define-public ghc-alex
  271. (package
  272. (name "ghc-alex")
  273. (version "3.2.4")
  274. (source
  275. (origin
  276. (method url-fetch)
  277. (uri (string-append
  278. "https://hackage.haskell.org/package/alex/alex-"
  279. version
  280. ".tar.gz"))
  281. (sha256
  282. (base32
  283. "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
  284. (build-system haskell-build-system)
  285. (arguments
  286. `(#:phases
  287. (modify-phases %standard-phases
  288. (add-before 'check 'set-check-variables
  289. (lambda _
  290. (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
  291. (getenv "PATH")))
  292. (setenv "alex_datadir" (string-append (getcwd) "/data"))
  293. #t)))))
  294. (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
  295. (native-inputs
  296. `(("which" ,which)))
  297. (home-page "https://www.haskell.org/alex/")
  298. (synopsis
  299. "Tool for generating lexical analysers in Haskell")
  300. (description
  301. "Alex is a tool for generating lexical analysers in Haskell. It takes a
  302. description of tokens based on regular expressions and generates a Haskell
  303. module containing code for scanning text efficiently. It is similar to the
  304. tool lex or flex for C/C++.")
  305. (license license:bsd-3)))
  306. (define-public ghc-alsa-core
  307. (package
  308. (name "ghc-alsa-core")
  309. (version "0.5.0.1")
  310. (source
  311. (origin
  312. (method url-fetch)
  313. (uri (string-append
  314. "mirror://hackage/package/alsa-core/alsa-core-"
  315. version
  316. ".tar.gz"))
  317. (sha256
  318. (base32
  319. "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
  320. (build-system haskell-build-system)
  321. (arguments
  322. `(#:extra-directories ("alsa-lib")))
  323. (inputs
  324. `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
  325. ("alsa-lib" ,alsa-lib)))
  326. (native-inputs
  327. `(("pkg-config" ,pkg-config)))
  328. (home-page "https://wiki.haskell.org/ALSA")
  329. (synopsis "Binding to the ALSA Library API (Exceptions)")
  330. (description "This package provides access to ALSA infrastructure, that is
  331. needed by both alsa-seq and alsa-pcm.")
  332. (license license:bsd-3)))
  333. (define-public ghc-alsa-mixer
  334. (package
  335. (name "ghc-alsa-mixer")
  336. (version "0.3.0")
  337. (source
  338. (origin
  339. (method url-fetch)
  340. (uri
  341. (string-append
  342. "mirror://hackage/package/alsa-mixer/alsa-mixer-"
  343. version ".tar.gz"))
  344. (sha256
  345. (base32
  346. "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
  347. (build-system haskell-build-system)
  348. (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
  349. (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
  350. (home-page "https://github.com/ttuegel/alsa-mixer")
  351. (synopsis "Bindings to the ALSA simple mixer API")
  352. (description
  353. "This package provides bindings to the ALSA simple mixer API.")
  354. (license license:bsd-3)))
  355. (define-public ghc-annotated-wl-pprint
  356. (package
  357. (name "ghc-annotated-wl-pprint")
  358. (version "0.7.0")
  359. (source
  360. (origin
  361. (method url-fetch)
  362. (uri (string-append
  363. "https://hackage.haskell.org/package/annotated-wl-pprint"
  364. "/annotated-wl-pprint-" version
  365. ".tar.gz"))
  366. (sha256
  367. (base32
  368. "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
  369. (build-system haskell-build-system)
  370. (home-page
  371. "https://github.com/david-christiansen/annotated-wl-pprint")
  372. (synopsis
  373. "The Wadler/Leijen Pretty Printer, with annotation support")
  374. (description "This is a modified version of wl-pprint, which was based on
  375. Wadler's paper \"A Prettier Printer\". This version allows the library user
  376. to annotate the text with semantic information, which can later be rendered in
  377. a variety of ways.")
  378. (license license:bsd-3)))
  379. (define-public ghc-ansi-terminal
  380. (package
  381. (name "ghc-ansi-terminal")
  382. (version "0.9.1")
  383. (source
  384. (origin
  385. (method url-fetch)
  386. (uri (string-append
  387. "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
  388. version
  389. ".tar.gz"))
  390. (sha256
  391. (base32
  392. "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
  393. (build-system haskell-build-system)
  394. (inputs
  395. `(("ghc-colour" ,ghc-colour)))
  396. (home-page "https://github.com/feuerbach/ansi-terminal")
  397. (synopsis "ANSI terminal support for Haskell")
  398. (description "This package provides ANSI terminal support for Haskell. It
  399. allows cursor movement, screen clearing, color output showing or hiding the
  400. cursor, and changing the title.")
  401. (license license:bsd-3)))
  402. (define-public ghc-ansi-wl-pprint
  403. (package
  404. (name "ghc-ansi-wl-pprint")
  405. (version "0.6.9")
  406. (source
  407. (origin
  408. (method url-fetch)
  409. (uri (string-append "https://hackage.haskell.org/package/"
  410. "ansi-wl-pprint/ansi-wl-pprint-"
  411. version ".tar.gz"))
  412. (sha256
  413. (base32
  414. "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
  415. (build-system haskell-build-system)
  416. (inputs
  417. `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
  418. (home-page "https://github.com/ekmett/ansi-wl-pprint")
  419. (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
  420. (description "This is a pretty printing library based on Wadler's paper
  421. \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
  422. colored output using the ansi-terminal package.")
  423. (license license:bsd-3)))
  424. (define-public ghc-appar
  425. (package
  426. (name "ghc-appar")
  427. (version "0.1.8")
  428. (source
  429. (origin
  430. (method url-fetch)
  431. (uri (string-append
  432. "https://hackage.haskell.org/package/appar/appar-"
  433. version
  434. ".tar.gz"))
  435. (sha256
  436. (base32
  437. "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
  438. (build-system haskell-build-system)
  439. (home-page
  440. "https://hackage.haskell.org/package/appar")
  441. (synopsis "Simple applicative parser")
  442. (description "This package provides a simple applicative parser in Parsec
  443. style.")
  444. (license license:bsd-3)))
  445. (define-public ghc-assoc
  446. (package
  447. (name "ghc-assoc")
  448. (version "1.0.1")
  449. (source
  450. (origin
  451. (method url-fetch)
  452. (uri (string-append
  453. "https://hackage.haskell.org/package/assoc/assoc-"
  454. version
  455. ".tar.gz"))
  456. (sha256
  457. (base32
  458. "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
  459. (build-system haskell-build-system)
  460. (inputs
  461. `(("ghc-bifunctors" ,ghc-bifunctors)
  462. ("ghc-tagged" ,ghc-tagged)))
  463. (home-page
  464. "http://hackage.haskell.org/package/assoc")
  465. (synopsis
  466. "Swap and assoc: Symmetric and Semigroupy Bifunctors")
  467. (description
  468. "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
  469. @code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
  470. similar operations (e.g. @code{Either}, @code{These}).")
  471. (license license:bsd-3)))
  472. (define-public ghc-async
  473. (package
  474. (name "ghc-async")
  475. (version "2.2.2")
  476. (source
  477. (origin
  478. (method url-fetch)
  479. (uri (string-append
  480. "https://hackage.haskell.org/package/async/async-"
  481. version
  482. ".tar.gz"))
  483. (sha256
  484. (base32
  485. "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
  486. (build-system haskell-build-system)
  487. (inputs
  488. `(("ghc-hashable" ,ghc-hashable)
  489. ("ghc-hunit" ,ghc-hunit)
  490. ("ghc-test-framework" ,ghc-test-framework)
  491. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  492. (home-page "https://github.com/simonmar/async")
  493. (synopsis "Library to run IO operations asynchronously")
  494. (description "Async provides a library to run IO operations
  495. asynchronously, and wait for their results. It is a higher-level interface
  496. over threads in Haskell, in which @code{Async a} is a concurrent thread that
  497. will eventually deliver a value of type @code{a}.")
  498. (license license:bsd-3)))
  499. (define-public ghc-atomic-primops
  500. (package
  501. (name "ghc-atomic-primops")
  502. (version "0.8.3")
  503. (source
  504. (origin
  505. (method url-fetch)
  506. (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
  507. "/atomic-primops-" version ".tar.gz"))
  508. (sha256
  509. (base32
  510. "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
  511. (build-system haskell-build-system)
  512. (inputs `(("ghc-primitive" ,ghc-primitive)))
  513. (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
  514. (synopsis "Safe approach to CAS and other atomic ops")
  515. (description
  516. "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
  517. use safely, because pointer equality is a highly unstable property in Haskell.
  518. This library provides a safer method based on the concept of @code{Ticket}s.")
  519. (license license:bsd-3)))
  520. (define-public ghc-atomic-write
  521. (package
  522. (name "ghc-atomic-write")
  523. (version "0.2.0.6")
  524. (source
  525. (origin
  526. (method url-fetch)
  527. (uri (string-append
  528. "https://hackage.haskell.org/package/atomic-write/atomic-write-"
  529. version
  530. ".tar.gz"))
  531. (sha256
  532. (base32
  533. "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
  534. (build-system haskell-build-system)
  535. (inputs
  536. `(("ghc-temporary" ,ghc-temporary)
  537. ("ghc-unix-compat" ,ghc-unix-compat)))
  538. (native-inputs
  539. `(("ghc-temporary" ,ghc-temporary)
  540. ("ghc-unix-compat" ,ghc-unix-compat)
  541. ("ghc-hspec" ,ghc-hspec)
  542. ("hspec-discover" ,hspec-discover)))
  543. (home-page "https://github.com/stackbuilders/atomic-write")
  544. (synopsis "Atomically write to a file")
  545. (description
  546. "Atomically write to a file on POSIX-compliant systems while preserving
  547. permissions. @code{mv} is an atomic operation. This makes it simple to write
  548. to a file atomically just by using the @code{mv} operation. However, this
  549. will destroy the permissions on the original file. This library preserves
  550. permissions while atomically writing to a file.")
  551. (license license:expat)))
  552. (define-public ghc-atomic-write-0.2.0.7
  553. (package
  554. (inherit ghc-atomic-write)
  555. (version "0.2.0.7")
  556. (source
  557. (origin
  558. (inherit (package-source ghc-atomic-write))
  559. (uri (string-append
  560. "https://hackage.haskell.org/package/atomic-write/atomic-write-"
  561. version
  562. ".tar.gz"))
  563. (sha256
  564. (base32
  565. "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
  566. (define-public ghc-attoparsec
  567. (package
  568. (name "ghc-attoparsec")
  569. (version "0.13.2.3")
  570. (source
  571. (origin
  572. (method url-fetch)
  573. (uri (string-append
  574. "https://hackage.haskell.org/package/attoparsec/attoparsec-"
  575. version
  576. ".tar.gz"))
  577. (sha256
  578. (base32
  579. "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
  580. (build-system haskell-build-system)
  581. (arguments
  582. `(#:phases
  583. (modify-phases %standard-phases
  584. (add-after 'unpack 'patch-for-newer-quickcheck
  585. (lambda _
  586. (substitute* "attoparsec.cabal"
  587. (("QuickCheck >= 2\\.7 && < 2\\.10")
  588. "QuickCheck >= 2.7 && < 2.12"))
  589. ;; This test fails because of the newer QuickCheck:
  590. ;; <https://github.com/bos/attoparsec/issues/134>.
  591. (substitute* "tests/QC/ByteString.hs"
  592. ((", testProperty \"satisfyWith\" satisfyWith")
  593. "")))))))
  594. (inputs
  595. `(("ghc-scientific" ,ghc-scientific)))
  596. (native-inputs
  597. `(("ghc-tasty" ,ghc-tasty)
  598. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  599. ("ghc-quickcheck" ,ghc-quickcheck)
  600. ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
  601. ("ghc-vector" ,ghc-vector)))
  602. (home-page "https://github.com/bos/attoparsec")
  603. (synopsis "Fast combinator parsing for bytestrings and text")
  604. (description "This library provides a fast parser combinator library,
  605. aimed particularly at dealing efficiently with network protocols and
  606. complicated text/binary file formats.")
  607. (license license:bsd-3)))
  608. (define-public ghc-attoparsec-bootstrap
  609. (package
  610. (inherit ghc-attoparsec)
  611. (name "ghc-attoparsec-bootstrap")
  612. (arguments `(#:tests? #f))
  613. (inputs
  614. `(("ghc-scientific" ,ghc-scientific-bootstrap)))
  615. (native-inputs '())
  616. (properties '((hidden? #t)))))
  617. (define-public ghc-attoparsec-iso8601
  618. (package
  619. (name "ghc-attoparsec-iso8601")
  620. (version "1.0.1.0")
  621. (source
  622. (origin
  623. (method url-fetch)
  624. (uri (string-append "https://hackage.haskell.org/package/"
  625. "attoparsec-iso8601-" version "/"
  626. "attoparsec-iso8601-" version ".tar.gz"))
  627. (sha256
  628. (base32
  629. "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
  630. (build-system haskell-build-system)
  631. (arguments
  632. `(#:cabal-revision
  633. ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
  634. (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
  635. ("ghc-base-compat" ,ghc-base-compat)))
  636. (home-page "https://github.com/bos/aeson")
  637. (synopsis "Parse ISO 8601 dates")
  638. (description "Haskell library for parsing of ISO 8601 dates, originally
  639. from aeson.")
  640. (license license:bsd-3)))
  641. (define-public ghc-auto-update
  642. (package
  643. (name "ghc-auto-update")
  644. (version "0.1.6")
  645. (source
  646. (origin
  647. (method url-fetch)
  648. (uri (string-append
  649. "https://hackage.haskell.org/package/auto-update/auto-update-"
  650. version
  651. ".tar.gz"))
  652. (sha256
  653. (base32
  654. "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
  655. (build-system haskell-build-system)
  656. (native-inputs
  657. `(("ghc-hspec" ,ghc-hspec)
  658. ("ghc-hunit" ,ghc-hunit)
  659. ("ghc-retry" ,ghc-retry)
  660. ("hspec-discover" ,hspec-discover)))
  661. (home-page "https://github.com/yesodweb/wai")
  662. (synopsis "Efficiently run periodic, on-demand actions")
  663. (description "This library provides mechanisms to efficiently run
  664. periodic, on-demand actions in Haskell.")
  665. (license license:expat)))
  666. (define-public ghc-aws
  667. (package
  668. (name "ghc-aws")
  669. (version "0.20")
  670. (source
  671. (origin
  672. (method url-fetch)
  673. (uri (string-append "https://hackage.haskell.org/package/"
  674. "aws-" version "/aws-" version ".tar.gz"))
  675. (sha256 (base32
  676. "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
  677. (build-system haskell-build-system)
  678. (arguments `(#:tests? #f)) ; Tests require AWS credentials.
  679. (inputs
  680. `(("ghc-aeson" ,ghc-aeson)
  681. ("ghc-attoparsec" ,ghc-attoparsec)
  682. ("ghc-base16-bytestring" ,ghc-base16-bytestring)
  683. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  684. ("ghc-blaze-builder" ,ghc-blaze-builder)
  685. ("ghc-byteable" ,ghc-byteable)
  686. ("ghc-case-insensitive" ,ghc-case-insensitive)
  687. ("ghc-cereal" ,ghc-cereal)
  688. ("ghc-conduit" ,ghc-conduit)
  689. ("ghc-conduit-extra" ,ghc-conduit-extra)
  690. ("ghc-cryptonite" ,ghc-cryptonite)
  691. ("ghc-data-default" ,ghc-data-default)
  692. ("ghc-http-conduit" ,ghc-http-conduit)
  693. ("ghc-http-types" ,ghc-http-types)
  694. ("ghc-lifted-base" ,ghc-lifted-base)
  695. ("ghc-monad-control" ,ghc-monad-control)
  696. ("ghc-network" ,ghc-network)
  697. ("ghc-old-locale" ,ghc-old-locale)
  698. ("ghc-safe" ,ghc-safe)
  699. ("ghc-scientific" ,ghc-scientific)
  700. ("ghc-tagged" ,ghc-tagged)
  701. ("ghc-unordered-containers" ,ghc-unordered-containers)
  702. ("ghc-utf8-string" ,ghc-utf8-string)
  703. ("ghc-vector" ,ghc-vector)
  704. ("ghc-xml-conduit" ,ghc-xml-conduit)))
  705. (native-inputs
  706. `(("ghc-quickcheck" ,ghc-quickcheck)
  707. ("ghc-errors" ,ghc-errors)
  708. ("ghc-http-client" ,ghc-http-client)
  709. ("ghc-http-client-tls" ,ghc-http-client-tls)
  710. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  711. ("ghc-tasty" ,ghc-tasty)
  712. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  713. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  714. ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
  715. (home-page "https://github.com/aristidb/aws")
  716. (synopsis "Amazon Web Services for Haskell")
  717. (description "This package attempts to provide support for using
  718. Amazon Web Services like S3 (storage), SQS (queuing) and others to
  719. Haskell programmers. The ultimate goal is to support all Amazon
  720. Web Services.")
  721. (license license:bsd-3)))
  722. (define-public ghc-base16-bytestring
  723. (package
  724. (name "ghc-base16-bytestring")
  725. (version "0.1.1.6")
  726. (source
  727. (origin
  728. (method url-fetch)
  729. (uri (string-append
  730. "https://hackage.haskell.org/package/base16-bytestring/"
  731. "base16-bytestring-" version ".tar.gz"))
  732. (sha256
  733. (base32
  734. "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
  735. (build-system haskell-build-system)
  736. (home-page "https://github.com/bos/base16-bytestring")
  737. (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
  738. (description
  739. "This package provides a Haskell library for working with base16-encoded
  740. data quickly and efficiently, using the ByteString type.")
  741. (license license:bsd-3)))
  742. (define-public ghc-base64-bytestring
  743. (package
  744. (name "ghc-base64-bytestring")
  745. (version "1.0.0.2")
  746. (source
  747. (origin
  748. (method url-fetch)
  749. (uri (string-append
  750. "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
  751. version
  752. ".tar.gz"))
  753. (sha256
  754. (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
  755. (build-system haskell-build-system)
  756. (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
  757. (home-page "https://github.com/bos/base64-bytestring")
  758. (synopsis "Base64 encoding and decoding for ByteStrings")
  759. (description "This library provides fast base64 encoding and decoding for
  760. Haskell @code{ByteString}s.")
  761. (license license:bsd-3)))
  762. (define-public ghc-base-compat
  763. (package
  764. (name "ghc-base-compat")
  765. (version "0.10.5")
  766. (source
  767. (origin
  768. (method url-fetch)
  769. (uri (string-append
  770. "https://hackage.haskell.org/package/base-compat/base-compat-"
  771. version
  772. ".tar.gz"))
  773. (sha256
  774. (base32
  775. "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
  776. (build-system haskell-build-system)
  777. (outputs '("out" "static" "doc"))
  778. (native-inputs
  779. `(("ghc-quickcheck" ,ghc-quickcheck)
  780. ("ghc-hspec" ,ghc-hspec)
  781. ("hspec-discover" ,hspec-discover)))
  782. (home-page "https://hackage.haskell.org/package/base-compat")
  783. (synopsis "Haskell compiler compatibility library")
  784. (description "This library provides functions available in later versions
  785. of base to a wider range of compilers, without requiring the use of CPP
  786. pragmas in your code.")
  787. (license license:bsd-3)))
  788. (define-public ghc-base-compat-batteries
  789. (package
  790. (name "ghc-base-compat-batteries")
  791. (version "0.10.5")
  792. (source
  793. (origin
  794. (method url-fetch)
  795. (uri (string-append "https://hackage.haskell.org/package/"
  796. "base-compat-batteries/base-compat-batteries-"
  797. version ".tar.gz"))
  798. (sha256
  799. (base32
  800. "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
  801. (build-system haskell-build-system)
  802. (inputs
  803. `(("ghc-base-compat" ,ghc-base-compat)))
  804. (native-inputs
  805. `(("ghc-hspec" ,ghc-hspec)
  806. ("ghc-quickcheck" ,ghc-quickcheck)
  807. ("hspec-discover" ,hspec-discover)))
  808. (arguments
  809. `(#:cabal-revision
  810. ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
  811. (home-page "https://hackage.haskell.org/package/base-compat-batteries")
  812. (synopsis "base-compat with extra batteries")
  813. (description "This library provides functions available in later
  814. versions of @code{base} to a wider range of compilers, without requiring
  815. you to use CPP pragmas in your code. This package provides the same API
  816. as the @code{base-compat} library, but depends on compatibility
  817. packages (such as @code{semigroups}) to offer a wider support window
  818. than @code{base-compat}, which has no dependencies.")
  819. (license license:expat)))
  820. (define-public ghc-basement
  821. (package
  822. (name "ghc-basement")
  823. (version "0.0.11")
  824. (source
  825. (origin
  826. (method url-fetch)
  827. (uri (string-append "https://hackage.haskell.org/package/"
  828. "basement/basement-" version ".tar.gz"))
  829. (sha256
  830. (base32
  831. "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
  832. (build-system haskell-build-system)
  833. (outputs '("out" "static" "doc"))
  834. (home-page "https://github.com/haskell-foundation/foundation")
  835. (synopsis "Basic primitives for Foundation starter pack")
  836. (description
  837. "This package contains basic primitives for the Foundation set of
  838. packages.")
  839. (license license:bsd-3)))
  840. (define-public ghc-base-orphans
  841. (package
  842. (name "ghc-base-orphans")
  843. (version "0.8.1")
  844. (source
  845. (origin
  846. (method url-fetch)
  847. (uri (string-append
  848. "https://hackage.haskell.org/package/base-orphans/base-orphans-"
  849. version
  850. ".tar.gz"))
  851. (sha256
  852. (base32
  853. "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
  854. (build-system haskell-build-system)
  855. (native-inputs
  856. `(("ghc-quickcheck" ,ghc-quickcheck)
  857. ("ghc-hspec" ,ghc-hspec)
  858. ("hspec-discover" ,hspec-discover)))
  859. (home-page "https://hackage.haskell.org/package/base-orphans")
  860. (synopsis "Orphan instances for backwards compatibility")
  861. (description "This package defines orphan instances that mimic instances
  862. available in later versions of base to a wider (older) range of compilers.")
  863. (license license:bsd-3)))
  864. (define-public ghc-base-prelude
  865. (package
  866. (name "ghc-base-prelude")
  867. (version "1.3")
  868. (source
  869. (origin
  870. (method url-fetch)
  871. (uri (string-append "https://hackage.haskell.org/package/"
  872. "base-prelude-" version "/"
  873. "base-prelude-" version ".tar.gz"))
  874. (sha256
  875. (base32
  876. "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
  877. (build-system haskell-build-system)
  878. (outputs '("out" "static" "doc"))
  879. (home-page "https://github.com/nikita-volkov/base-prelude")
  880. (synopsis "The most complete prelude formed solely from the Haskell's base
  881. package")
  882. (description "This Haskell package aims to reexport all the non-conflicting
  883. and most general definitions from the \"base\" package.
  884. This includes APIs for applicatives, arrows, monoids, foldables, traversables,
  885. exceptions, generics, ST, MVars and STM.
  886. This package will never have any dependencies other than \"base\".
  887. Versioning policy:
  888. The versioning policy of this package deviates from PVP in the sense
  889. that its exports in part are transitively determined by the version of \"base\".
  890. Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
  891. the bounds of \"base\" as well.")
  892. (license license:expat)))
  893. (define-public ghc-base-unicode-symbols
  894. (package
  895. (name "ghc-base-unicode-symbols")
  896. (version "0.2.3")
  897. (source
  898. (origin
  899. (method url-fetch)
  900. (uri (string-append
  901. "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
  902. version
  903. ".tar.gz"))
  904. (sha256
  905. (base32
  906. "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
  907. (build-system haskell-build-system)
  908. (home-page "https://wiki.haskell.org/Unicode-symbols")
  909. (synopsis "Unicode alternatives for common functions and operators")
  910. (description "This package defines new symbols for a number of functions,
  911. operators and types in the base package. All symbols are documented with
  912. their actual definition and information regarding their Unicode code point.
  913. They should be completely interchangeable with their definitions. For
  914. further Unicode goodness you can enable the @code{UnicodeSyntax}
  915. @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
  916. language extension}. This extension enables Unicode characters to be used to
  917. stand for certain ASCII character sequences, i.e. → instead of @code{->},
  918. ∀ instead of @code{forall} and many others.")
  919. (license license:bsd-3)))
  920. (define-public ghc-basic-prelude
  921. (package
  922. (name "ghc-basic-prelude")
  923. (version "0.7.0")
  924. (source
  925. (origin
  926. (method url-fetch)
  927. (uri (string-append
  928. "https://hackage.haskell.org/package/basic-prelude/"
  929. "basic-prelude-" version ".tar.gz"))
  930. (sha256
  931. (base32
  932. "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
  933. (build-system haskell-build-system)
  934. (inputs
  935. `(("ghc-hashable" ,ghc-hashable)
  936. ("ghc-unordered-containers"
  937. ,ghc-unordered-containers)
  938. ("ghc-vector" ,ghc-vector)))
  939. (home-page "https://github.com/snoyberg/basic-prelude#readme")
  940. (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
  941. (description
  942. "The premise of basic-prelude is that there are a lot of very commonly
  943. desired features missing from the standard Prelude, such as commonly used
  944. operators (<$> and >=>, for instance) and imports for common datatypes
  945. (e.g., ByteString and Vector). At the same time, there are lots of other
  946. components which are more debatable, such as providing polymorphic versions
  947. of common functions.
  948. So basic-prelude is intended to give a common foundation for a number of
  949. alternate preludes. The package provides two modules: CorePrelude provides
  950. the common ground for other preludes to build on top of, while BasicPrelude
  951. exports CorePrelude together with commonly used list functions to provide a
  952. drop-in replacement for the standard Prelude.
  953. Users wishing to have an improved Prelude can use BasicPrelude. Developers
  954. wishing to create a new prelude should use CorePrelude.")
  955. (license license:expat)))
  956. (define-public ghc-bencode
  957. (package
  958. (name "ghc-bencode")
  959. (version "0.6.1.1")
  960. (source
  961. (origin
  962. (method url-fetch)
  963. (uri (string-append
  964. "https://hackage.haskell.org/package/bencode/bencode-"
  965. version ".tar.gz"))
  966. (sha256
  967. (base32 "0znv0y3b3zm5jvhlvj5f5s7y93db67j9yd59w1bnrw2pqv30gqaq"))))
  968. (build-system haskell-build-system)
  969. (inputs
  970. `(("ghc-transformers-compat" ,ghc-transformers-compat)))
  971. (native-inputs
  972. `(("ghc-hspec" ,ghc-hspec)
  973. ("ghc-quickcheck" ,ghc-quickcheck)))
  974. (home-page "https://hackage.haskell.org/package/bencode")
  975. (synopsis "Parsers and printers for bencoded data")
  976. (description
  977. "This library provides parsers and printers for bencoded data. Bencode
  978. is the encoding used by the peer-to-peer file sharing system BitTorrent for
  979. storing and transmitting loosely structured data.")
  980. (license license:bsd-3)))
  981. (define-public ghc-bifunctors
  982. (package
  983. (name "ghc-bifunctors")
  984. (version "5.5.5")
  985. (source
  986. (origin
  987. (method url-fetch)
  988. (uri (string-append
  989. "https://hackage.haskell.org/package/bifunctors/bifunctors-"
  990. version
  991. ".tar.gz"))
  992. (sha256
  993. (base32
  994. "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
  995. (build-system haskell-build-system)
  996. (inputs
  997. `(("ghc-base-orphans" ,ghc-base-orphans)
  998. ("ghc-comonad" ,ghc-comonad)
  999. ("ghc-th-abstraction" ,ghc-th-abstraction)
  1000. ("ghc-transformers-compat" ,ghc-transformers-compat)
  1001. ("ghc-tagged" ,ghc-tagged)
  1002. ("ghc-semigroups" ,ghc-semigroups)))
  1003. (native-inputs
  1004. `(("ghc-hspec" ,ghc-hspec)
  1005. ("hspec-discover" ,hspec-discover)
  1006. ("ghc-quickcheck" ,ghc-quickcheck)))
  1007. (home-page "https://github.com/ekmett/bifunctors/")
  1008. (synopsis "Bifunctors for Haskell")
  1009. (description "This package provides bifunctors for Haskell.")
  1010. (license license:bsd-3)))
  1011. (define-public ghc-bindings-dsl
  1012. (package
  1013. (name "ghc-bindings-dsl")
  1014. (version "1.0.25")
  1015. (source
  1016. (origin
  1017. (method url-fetch)
  1018. (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
  1019. "bindings-DSL-" version ".tar.gz"))
  1020. (sha256
  1021. (base32
  1022. "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
  1023. (build-system haskell-build-system)
  1024. (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
  1025. (synopsis "FFI domain specific language, on top of hsc2hs")
  1026. (description
  1027. "This is a set of macros to be used when writing Haskell FFI. They were
  1028. designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
  1029. extract from them all Haskell code needed to mimic such interfaces. All
  1030. Haskell names used are automatically derived from C names, structures are
  1031. mapped to Haskell instances of @code{Storable}, and there are also macros you
  1032. can use with C code to help write bindings to inline functions or macro
  1033. functions.")
  1034. (license license:bsd-3)))
  1035. (define-public ghc-bitarray
  1036. (package
  1037. (name "ghc-bitarray")
  1038. (version "0.0.1.1")
  1039. (source
  1040. (origin
  1041. (method url-fetch)
  1042. (uri (string-append "https://hackage.haskell.org/package/"
  1043. "bitarray/bitarray-" version ".tar.gz"))
  1044. (sha256
  1045. (base32
  1046. "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
  1047. (build-system haskell-build-system)
  1048. (arguments
  1049. `(#:cabal-revision
  1050. ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
  1051. (home-page "https://hackage.haskell.org/package/bitarray")
  1052. (synopsis "Mutable and immutable bit arrays")
  1053. (description "The package provides mutable and immutable bit arrays.")
  1054. (license license:bsd-3)))
  1055. (define-public ghc-blaze-builder
  1056. (package
  1057. (name "ghc-blaze-builder")
  1058. (version "0.4.1.0")
  1059. (source
  1060. (origin
  1061. (method url-fetch)
  1062. (uri (string-append
  1063. "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
  1064. version
  1065. ".tar.gz"))
  1066. (sha256
  1067. (base32
  1068. "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
  1069. (build-system haskell-build-system)
  1070. (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
  1071. (inputs
  1072. `(("ghc-utf8-string" ,ghc-utf8-string)))
  1073. (home-page "https://github.com/lpsmith/blaze-builder")
  1074. (synopsis "Efficient buffered output")
  1075. (description "This library provides an implementation of the older
  1076. @code{blaze-builder} interface in terms of the new builder that shipped with
  1077. @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
  1078. bridge to the new builder, so that code that uses the old interface can
  1079. interoperate with code that uses the new implementation.")
  1080. (license license:bsd-3)))
  1081. (define-public ghc-blaze-markup
  1082. (package
  1083. (name "ghc-blaze-markup")
  1084. (version "0.8.2.3")
  1085. (source
  1086. (origin
  1087. (method url-fetch)
  1088. (uri (string-append "https://hackage.haskell.org/package/"
  1089. "blaze-markup/blaze-markup-"
  1090. version ".tar.gz"))
  1091. (sha256
  1092. (base32
  1093. "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
  1094. (build-system haskell-build-system)
  1095. (arguments
  1096. `(#:phases
  1097. (modify-phases %standard-phases
  1098. (add-before 'configure 'update-constraints
  1099. (lambda _
  1100. (substitute* "blaze-markup.cabal"
  1101. (("tasty >= 1\\.0 && < 1\\.1")
  1102. "tasty >= 1.0 && < 1.2")))))))
  1103. (inputs
  1104. `(("ghc-blaze-builder" ,ghc-blaze-builder)))
  1105. (native-inputs
  1106. `(("ghc-hunit" ,ghc-hunit)
  1107. ("ghc-quickcheck" ,ghc-quickcheck)
  1108. ("ghc-tasty" ,ghc-tasty)
  1109. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  1110. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  1111. (home-page "https://jaspervdj.be/blaze")
  1112. (synopsis "Fast markup combinator library for Haskell")
  1113. (description "This library provides core modules of a markup combinator
  1114. library for Haskell.")
  1115. (license license:bsd-3)))
  1116. (define-public ghc-bloomfilter
  1117. (package
  1118. (name "ghc-bloomfilter")
  1119. (version "2.0.1.0")
  1120. (source
  1121. (origin
  1122. (method url-fetch)
  1123. (uri (string-append "https://hackage.haskell.org/package/"
  1124. "bloomfilter/bloomfilter-" version ".tar.gz"))
  1125. (sha256
  1126. (base32
  1127. "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
  1128. (build-system haskell-build-system)
  1129. (native-inputs
  1130. `(("ghc-quickcheck" ,ghc-quickcheck)
  1131. ("ghc-random" ,ghc-random)
  1132. ("ghc-test-framework" ,ghc-test-framework)
  1133. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  1134. (home-page "https://github.com/bos/bloomfilter")
  1135. (synopsis "Pure and impure Bloom filter implementations")
  1136. (description "This package provides both mutable and immutable Bloom
  1137. filter data types, along with a family of hash functions and an easy-to-use
  1138. interface.")
  1139. (license license:bsd-3)))
  1140. (define-public ghc-boxes
  1141. (package
  1142. (name "ghc-boxes")
  1143. (version "0.1.5")
  1144. (source
  1145. (origin
  1146. (method url-fetch)
  1147. (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
  1148. version ".tar.gz"))
  1149. (sha256
  1150. (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
  1151. (build-system haskell-build-system)
  1152. (inputs
  1153. `(("ghc-split" ,ghc-split)
  1154. ("ghc-quickcheck" ,ghc-quickcheck)))
  1155. (home-page "https://hackage.haskell.org/package/boxes")
  1156. (synopsis "2D text pretty-printing library")
  1157. (description
  1158. "Boxes is a pretty-printing library for laying out text in two dimensions,
  1159. using a simple box model.")
  1160. (license license:bsd-3)))
  1161. (define-public ghc-byteable
  1162. (package
  1163. (name "ghc-byteable")
  1164. (version "0.1.1")
  1165. (source (origin
  1166. (method url-fetch)
  1167. (uri (string-append "https://hackage.haskell.org/package/"
  1168. "byteable/byteable-" version ".tar.gz"))
  1169. (sha256
  1170. (base32
  1171. "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
  1172. (build-system haskell-build-system)
  1173. (home-page "https://github.com/vincenthz/hs-byteable")
  1174. (synopsis "Type class for sequence of bytes")
  1175. (description
  1176. "This package provides an abstract class to manipulate sequence of bytes.
  1177. The use case of this class is abstracting manipulation of types that are just
  1178. wrapping a bytestring with stronger and more meaniful name.")
  1179. (license license:bsd-3)))
  1180. (define-public ghc-byteorder
  1181. (package
  1182. (name "ghc-byteorder")
  1183. (version "1.0.4")
  1184. (source
  1185. (origin
  1186. (method url-fetch)
  1187. (uri (string-append
  1188. "https://hackage.haskell.org/package/byteorder/byteorder-"
  1189. version
  1190. ".tar.gz"))
  1191. (sha256
  1192. (base32
  1193. "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
  1194. (build-system haskell-build-system)
  1195. (home-page
  1196. "http://community.haskell.org/~aslatter/code/byteorder")
  1197. (synopsis
  1198. "Exposes the native endianness of the system")
  1199. (description
  1200. "This package is for working with the native byte-ordering of the
  1201. system.")
  1202. (license license:bsd-3)))
  1203. (define-public ghc-bytes
  1204. (package
  1205. (name "ghc-bytes")
  1206. (version "0.15.5")
  1207. (source
  1208. (origin
  1209. (method url-fetch)
  1210. (uri
  1211. (string-append "https://hackage.haskell.org/package/bytes-"
  1212. version "/bytes-"
  1213. version ".tar.gz"))
  1214. (file-name (string-append name "-" version ".tar.gz"))
  1215. (sha256
  1216. (base32
  1217. "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
  1218. (build-system haskell-build-system)
  1219. (inputs `(("ghc-cereal" ,ghc-cereal)
  1220. ("cabal-doctest" ,cabal-doctest)
  1221. ("ghc-doctest" ,ghc-doctest)
  1222. ("ghc-scientific" ,ghc-scientific)
  1223. ("ghc-transformers-compat" ,ghc-transformers-compat)
  1224. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1225. ("ghc-void" ,ghc-void)
  1226. ("ghc-vector" ,ghc-vector)))
  1227. (synopsis "Serialization between @code{binary} and @code{cereal}")
  1228. (description "This package provides a simple compatibility shim that lets
  1229. you work with both @code{binary} and @code{cereal} with one chunk of
  1230. serialization code.")
  1231. (home-page "https://hackage.haskell.org/package/bytes")
  1232. (license license:bsd-3)))
  1233. (define-public ghc-bytestring-builder
  1234. (package
  1235. (name "ghc-bytestring-builder")
  1236. (version "0.10.8.2.0")
  1237. (source
  1238. (origin
  1239. (method url-fetch)
  1240. (uri (string-append
  1241. "https://hackage.haskell.org/package/bytestring-builder"
  1242. "/bytestring-builder-" version ".tar.gz"))
  1243. (sha256
  1244. (base32
  1245. "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
  1246. (build-system haskell-build-system)
  1247. (arguments `(#:haddock? #f)) ; Package contains no documentation.
  1248. (home-page "https://hackage.haskell.org/package/bytestring-builder")
  1249. (synopsis "The new bytestring builder, packaged outside of GHC")
  1250. (description "This package provides the bytestring builder that is
  1251. debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
  1252. Compatibility package for older packages.")
  1253. (license license:bsd-3)))
  1254. (define-public ghc-bytestring-handle
  1255. (package
  1256. (name "ghc-bytestring-handle")
  1257. (version "0.1.0.6")
  1258. (source
  1259. (origin
  1260. (method url-fetch)
  1261. (uri (string-append
  1262. "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
  1263. version ".tar.gz"))
  1264. (sha256
  1265. (base32
  1266. "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
  1267. (build-system haskell-build-system)
  1268. (arguments
  1269. `(#:cabal-revision
  1270. ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
  1271. #:phases
  1272. (modify-phases %standard-phases
  1273. (add-before 'configure 'update-constraints
  1274. (lambda _
  1275. (substitute* "bytestring-handle.cabal"
  1276. (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
  1277. "QuickCheck >= 2.1.2 && < 2.14")))))))
  1278. (inputs
  1279. `(("ghc-hunit" ,ghc-hunit)
  1280. ("ghc-quickcheck" ,ghc-quickcheck)
  1281. ("ghc-test-framework" ,ghc-test-framework)
  1282. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  1283. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  1284. (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
  1285. (synopsis "ByteString-backed Handles")
  1286. (description "ByteString-backed Handles") ; There is no description
  1287. (license license:bsd-3)))
  1288. (define-public ghc-bytestring-lexing
  1289. (package
  1290. (name "ghc-bytestring-lexing")
  1291. (version "0.5.0.2")
  1292. (source
  1293. (origin
  1294. (method url-fetch)
  1295. (uri (string-append "https://hackage.haskell.org/package/"
  1296. "bytestring-lexing/bytestring-lexing-"
  1297. version ".tar.gz"))
  1298. (sha256
  1299. (base32
  1300. "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
  1301. (build-system haskell-build-system)
  1302. (home-page "http://code.haskell.org/~wren/")
  1303. (synopsis "Parse and produce literals from strict or lazy bytestrings")
  1304. (description
  1305. "This package provides tools to parse and produce literals efficiently
  1306. from strict or lazy bytestrings.")
  1307. (license license:bsd-2)))
  1308. (define-public ghc-bzlib-conduit
  1309. (package
  1310. (name "ghc-bzlib-conduit")
  1311. (version "0.3.0.2")
  1312. (source
  1313. (origin
  1314. (method url-fetch)
  1315. (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
  1316. "bzlib-conduit-" version ".tar.gz"))
  1317. (sha256
  1318. (base32
  1319. "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
  1320. (build-system haskell-build-system)
  1321. (inputs
  1322. `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
  1323. ("ghc-conduit" ,ghc-conduit)
  1324. ("ghc-data-default-class" ,ghc-data-default-class)
  1325. ("ghc-resourcet" ,ghc-resourcet)))
  1326. (native-inputs
  1327. `(("ghc-hspec" ,ghc-hspec)
  1328. ("ghc-random" ,ghc-random)))
  1329. (home-page "https://github.com/snoyberg/bzlib-conduit")
  1330. (synopsis "Streaming compression/decompression via conduits")
  1331. (description
  1332. "This package provides Haskell bindings to bzlib and Conduit support for
  1333. streaming compression and decompression.")
  1334. (license license:bsd-3)))
  1335. (define-public ghc-c2hs
  1336. (package
  1337. (name "ghc-c2hs")
  1338. (version "0.28.6")
  1339. (source
  1340. (origin
  1341. (method url-fetch)
  1342. (uri (string-append
  1343. "https://hackage.haskell.org/package/c2hs/c2hs-"
  1344. version
  1345. ".tar.gz"))
  1346. (sha256
  1347. (base32
  1348. "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
  1349. (build-system haskell-build-system)
  1350. (inputs
  1351. `(("ghc-language-c" ,ghc-language-c)
  1352. ("ghc-dlist" ,ghc-dlist)))
  1353. (native-inputs
  1354. `(("ghc-test-framework" ,ghc-test-framework)
  1355. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  1356. ("ghc-hunit" ,ghc-hunit)
  1357. ("ghc-shelly" ,ghc-shelly)))
  1358. (arguments
  1359. `(#:phases
  1360. (modify-phases %standard-phases
  1361. (add-before 'check 'set-cc
  1362. ;; add a cc executable in the path, needed for some tests to pass
  1363. (lambda* (#:key inputs #:allow-other-keys)
  1364. (let ((gcc (assoc-ref inputs "gcc"))
  1365. (tmpbin (tmpnam))
  1366. (curpath (getenv "PATH")))
  1367. (mkdir-p tmpbin)
  1368. (symlink (which "gcc") (string-append tmpbin "/cc"))
  1369. (setenv "PATH" (string-append tmpbin ":" curpath)))
  1370. #t))
  1371. (add-after 'check 'remove-cc
  1372. ;; clean the tmp dir made in 'set-cc
  1373. (lambda _
  1374. (let* ((cc-path (which "cc"))
  1375. (cc-dir (dirname cc-path)))
  1376. (delete-file-recursively cc-dir)
  1377. #t))))))
  1378. (home-page "https://github.com/haskell/c2hs")
  1379. (synopsis "Create Haskell bindings to C libraries")
  1380. (description "C->Haskell assists in the development of Haskell bindings to
  1381. C libraries. It extracts interface information from C header files and
  1382. generates Haskell code with foreign imports and marshaling. Unlike writing
  1383. foreign imports by hand (or using hsc2hs), this ensures that C functions are
  1384. imported with the correct Haskell types.")
  1385. (license license:gpl2)))
  1386. (define-public ghc-cairo
  1387. (package
  1388. (name "ghc-cairo")
  1389. (version "0.13.5.0")
  1390. (source
  1391. (origin
  1392. (method url-fetch)
  1393. (uri (string-append "https://hackage.haskell.org/package/cairo/"
  1394. "cairo-" version ".tar.gz"))
  1395. (sha256
  1396. (base32
  1397. "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
  1398. (build-system haskell-build-system)
  1399. (arguments
  1400. `(#:modules ((guix build haskell-build-system)
  1401. (guix build utils)
  1402. (ice-9 match)
  1403. (srfi srfi-26))
  1404. #:phases
  1405. (modify-phases %standard-phases
  1406. ;; FIXME: This is a copy of the standard configure phase with a tiny
  1407. ;; difference: this package needs the -package-db flag to be passed
  1408. ;; to "runhaskell" in addition to the "configure" action, because it
  1409. ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
  1410. ;; this option the Setup.hs file cannot be evaluated. The
  1411. ;; haskell-build-system should be changed to pass "-package-db" to
  1412. ;; "runhaskell" in any case.
  1413. (replace 'configure
  1414. (lambda* (#:key outputs inputs tests? (configure-flags '())
  1415. #:allow-other-keys)
  1416. (let* ((out (assoc-ref outputs "out"))
  1417. (name-version (strip-store-file-name out))
  1418. (input-dirs (match inputs
  1419. (((_ . dir) ...)
  1420. dir)
  1421. (_ '())))
  1422. (ghc-path (getenv "GHC_PACKAGE_PATH"))
  1423. (params (append `(,(string-append "--prefix=" out))
  1424. `(,(string-append "--libdir=" out "/lib"))
  1425. `(,(string-append "--bindir=" out "/bin"))
  1426. `(,(string-append
  1427. "--docdir=" out
  1428. "/share/doc/" name-version))
  1429. '("--libsubdir=$compiler/$pkg-$version")
  1430. '("--package-db=../package.conf.d")
  1431. '("--global")
  1432. `(,@(map
  1433. (cut string-append "--extra-include-dirs=" <>)
  1434. (search-path-as-list '("include") input-dirs)))
  1435. `(,@(map
  1436. (cut string-append "--extra-lib-dirs=" <>)
  1437. (search-path-as-list '("lib") input-dirs)))
  1438. (if tests?
  1439. '("--enable-tests")
  1440. '())
  1441. configure-flags)))
  1442. (unsetenv "GHC_PACKAGE_PATH")
  1443. (apply invoke "runhaskell" "-package-db=../package.conf.d"
  1444. "Setup.hs" "configure" params)
  1445. (setenv "GHC_PACKAGE_PATH" ghc-path)
  1446. #t))))))
  1447. (inputs
  1448. `(("ghc-utf8-string" ,ghc-utf8-string)
  1449. ("cairo" ,cairo)))
  1450. (native-inputs
  1451. `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
  1452. ("pkg-config" ,pkg-config)))
  1453. (home-page "http://projects.haskell.org/gtk2hs/")
  1454. (synopsis "Haskell bindings to the Cairo vector graphics library")
  1455. (description
  1456. "Cairo is a library to render high quality vector graphics. There exist
  1457. various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
  1458. documents, amongst others.")
  1459. (license license:bsd-3)))
  1460. (define-public ghc-call-stack
  1461. (package
  1462. (name "ghc-call-stack")
  1463. (version "0.1.0")
  1464. (source
  1465. (origin
  1466. (method url-fetch)
  1467. (uri (string-append "https://hackage.haskell.org/package/"
  1468. "call-stack/call-stack-"
  1469. version ".tar.gz"))
  1470. (sha256
  1471. (base32
  1472. "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
  1473. (build-system haskell-build-system)
  1474. (inputs `(("ghc-nanospec" ,ghc-nanospec)))
  1475. (home-page "https://github.com/sol/call-stack#readme")
  1476. (synopsis "Use GHC call-stacks in a backward compatible way")
  1477. (description "This package provides a compatibility layer for using GHC
  1478. call stacks with different versions of the compiler.")
  1479. (license license:expat)))
  1480. ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
  1481. ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
  1482. (define-public ghc-call-stack-boot
  1483. (hidden-package
  1484. (package
  1485. (inherit ghc-call-stack)
  1486. (arguments '(#:tests? #f))
  1487. (inputs '()))))
  1488. (define-public ghc-case-insensitive
  1489. (package
  1490. (name "ghc-case-insensitive")
  1491. (version "1.2.0.11")
  1492. (outputs '("out" "static" "doc"))
  1493. (source
  1494. (origin
  1495. (method url-fetch)
  1496. (uri (string-append
  1497. "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
  1498. version
  1499. ".tar.gz"))
  1500. (sha256
  1501. (base32
  1502. "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
  1503. (build-system haskell-build-system)
  1504. ;; these inputs are necessary to use this library
  1505. (inputs
  1506. `(("ghc-hashable" ,ghc-hashable)))
  1507. (arguments
  1508. `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
  1509. (home-page
  1510. "https://github.com/basvandijk/case-insensitive")
  1511. (synopsis "Case insensitive string comparison")
  1512. (description
  1513. "The module @code{Data.CaseInsensitive} provides the @code{CI} type
  1514. constructor which can be parameterised by a string-like type like:
  1515. @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
  1516. the resulting type will be insensitive to cases.")
  1517. (license license:bsd-3)))
  1518. (define-public ghc-cassava
  1519. (package
  1520. (name "ghc-cassava")
  1521. (version "0.5.2.0")
  1522. (source
  1523. (origin
  1524. (method url-fetch)
  1525. (uri (string-append
  1526. "https://hackage.haskell.org/package/cassava/cassava-"
  1527. version
  1528. ".tar.gz"))
  1529. (sha256
  1530. (base32
  1531. "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk"))))
  1532. (build-system haskell-build-system)
  1533. (inputs
  1534. `(("ghc-attoparsec" ,ghc-attoparsec)
  1535. ("ghc-hashable" ,ghc-hashable)
  1536. ("ghc-scientific" ,ghc-scientific)
  1537. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1538. ("ghc-vector" ,ghc-vector)
  1539. ("ghc-only" ,ghc-only)
  1540. ("ghc-text-short" ,ghc-text-short)
  1541. ("ghc-bytestring-builder" ,ghc-bytestring-builder)))
  1542. (native-inputs
  1543. `(("ghc-hunit" ,ghc-hunit)
  1544. ("ghc-quickcheck" ,ghc-quickcheck)
  1545. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  1546. ("ghc-test-framework" ,ghc-test-framework)
  1547. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  1548. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  1549. (arguments
  1550. `(#:cabal-revision
  1551. ("1"
  1552. "1ph8rf91z4nf1ryrh9s4gd1kq98jlgk2manwddkpch8k0n9xvfk4")
  1553. #:configure-flags '("--flags=-bytestring--lt-0_10_4")))
  1554. (home-page "https://github.com/haskell-hvr/cassava")
  1555. (synopsis "CSV parsing and encoding library")
  1556. (description
  1557. "@code{cassava} is a library for parsing and encoding
  1558. @url{https://tools.ietf.org/html/rfc4180, RFC 4180} compliant @url{https://
  1559. en.wikipedia.org/wiki/Comma-separated_values, comma-separated values (CSV)}
  1560. data, which is a textual line-oriented format commonly used for exchanging
  1561. tabular data.
  1562. @code{cassava}'s API includes support for:
  1563. @itemize @bullet
  1564. @item
  1565. Index-based record-conversion
  1566. @item
  1567. Name-based record-conversion
  1568. @item
  1569. Typeclass directed conversion of fields and records
  1570. @item
  1571. Built-in field-conversion instances for standard types
  1572. @item
  1573. Customizable record-conversion instance derivation via GHC generics
  1574. @item
  1575. Low-level @url{https://hackage.haskell.org/package/bytestring), bytestring}
  1576. builders (see @url{https://hackage.haskell.org/package/cassava-0.5.2.0/docs/
  1577. Data-Csv-Builder.html, Data.Csv.Builder})
  1578. @item
  1579. Incremental decoding and encoding API (see @url{https://hackage.haskell.org/
  1580. package/cassava-0.5.2.0/docs/Data-Csv-Incremental.html, Data.Csv.Incremental})
  1581. @item
  1582. Streaming API for constant-space decoding (see @url{https://hackage.haskell.org/
  1583. package/cassava-0.5.2.0/docs/Data-Csv-Streaming.html, Data.Csv.Streaming})
  1584. @end itemize
  1585. Moreover, this library is designed to be easy to use; for instance, here's a
  1586. very simple example of encoding CSV data:
  1587. @verbatim
  1588. >>> Data.Csv.encode [(\"John\",27),(\"Jane\",28)]
  1589. \"John,27\r\nJane,28\r\n\"
  1590. @end verbatim
  1591. ")
  1592. (license license:bsd-3)))
  1593. (define-public ghc-cassava-megaparsec
  1594. (package
  1595. (name "ghc-cassava-megaparsec")
  1596. (version "2.0.1")
  1597. (source
  1598. (origin
  1599. (method url-fetch)
  1600. (uri (string-append
  1601. "https://hackage.haskell.org/package/cassava-megaparsec/"
  1602. "cassava-megaparsec-"
  1603. version
  1604. ".tar.gz"))
  1605. (sha256
  1606. (base32
  1607. "0q4skw98nzy6icmgpwqvgw0c5pqcgi25rf7nmwh2pksvv94pi3p3"))))
  1608. (build-system haskell-build-system)
  1609. (inputs
  1610. `(("ghc-cassava" ,ghc-cassava)
  1611. ("ghc-megaparsec" ,ghc-megaparsec)
  1612. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1613. ("ghc-vector" ,ghc-vector)))
  1614. (native-inputs
  1615. `(("ghc-hspec" ,ghc-hspec)
  1616. ("ghc-hspec-megaparsec" ,ghc-hspec-megaparsec)))
  1617. (home-page "https://github.com/stackbuilders/cassava-megaparsec")
  1618. (synopsis "Megaparsec parser for CSV files that plays nicely with Cassava")
  1619. (description
  1620. "Alternative parser for the Cassava package written with Megaparsec that
  1621. provides for better error messages at the expense of some speed.")
  1622. (license license:expat)))
  1623. (define-public ghc-cborg
  1624. (package
  1625. (name "ghc-cborg")
  1626. (version "0.2.2.0")
  1627. (source
  1628. (origin
  1629. (method url-fetch)
  1630. (uri (string-append
  1631. "mirror://hackage/package/cborg/cborg-"
  1632. version
  1633. ".tar.gz"))
  1634. (sha256
  1635. (base32
  1636. "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
  1637. (build-system haskell-build-system)
  1638. (inputs
  1639. `(("ghc-half" ,ghc-half)
  1640. ("ghc-primitive" ,ghc-primitive)))
  1641. (native-inputs
  1642. `(("ghc-aeson" ,ghc-aeson)
  1643. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  1644. ("ghc-base16-bytestring" ,ghc-base16-bytestring)
  1645. ("ghc-fail" ,ghc-fail)
  1646. ("ghc-quickcheck" ,ghc-quickcheck)
  1647. ("ghc-scientific" ,ghc-scientific)
  1648. ("ghc-tasty" ,ghc-tasty)
  1649. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  1650. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  1651. ("ghc-vector" ,ghc-vector)))
  1652. (home-page "http://hackage.haskell.org/package/cborg")
  1653. (synopsis "Concise Binary Object Representation")
  1654. (description
  1655. "This package (formerly binary-serialise-cbor) provides an
  1656. efficient implementation of the Concise Binary Object
  1657. Representation (CBOR), as specified by RFC 7049 at
  1658. https://tools.ietf.org/html/rfc7049.
  1659. If you are looking for a library for serialisation of Haskell values, have a
  1660. look at the @url{https://hackage.haskell.org/package/serialise} package, which
  1661. is built upon this library.
  1662. An implementation of the standard bijection between CBOR and JSON is provided
  1663. by the @url{https://hackage.haskell.org/package/cborg-json} package.
  1664. Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
  1665. command-line utility for working with CBOR data.")
  1666. (license license:bsd-3)))
  1667. (define-public ghc-cborg-json
  1668. (package
  1669. (name "ghc-cborg-json")
  1670. (version "0.2.2.0")
  1671. (source
  1672. (origin
  1673. (method url-fetch)
  1674. (uri (string-append
  1675. "mirror://hackage/package/cborg-json/cborg-json-"
  1676. version
  1677. ".tar.gz"))
  1678. (sha256
  1679. (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
  1680. (build-system haskell-build-system)
  1681. (inputs
  1682. `(("ghc-aeson" ,ghc-aeson)
  1683. ("ghc-aeson-pretty" ,ghc-aeson-pretty)
  1684. ("ghc-unordered-containers" ,ghc-unordered-containers)
  1685. ("ghc-scientific" ,ghc-scientific)
  1686. ("ghc-vector" ,ghc-vector)
  1687. ("ghc-cborg" ,ghc-cborg)))
  1688. (home-page "https://github.com/well-typed/cborg")
  1689. (synopsis "A library for encoding JSON as CBOR")
  1690. (description
  1691. "This package implements the bijection between JSON and CBOR
  1692. defined in the CBOR specification, RFC 7049.")
  1693. (license license:bsd-3)))
  1694. (define-public ghc-cereal
  1695. (package
  1696. (name "ghc-cereal")
  1697. (version "0.5.8.1")
  1698. (source
  1699. (origin
  1700. (method url-fetch)
  1701. (uri (string-append
  1702. "https://hackage.haskell.org/package/cereal/cereal-"
  1703. version
  1704. ".tar.gz"))
  1705. (sha256
  1706. (base32
  1707. "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
  1708. (build-system haskell-build-system)
  1709. (native-inputs
  1710. `(("ghc-quickcheck" ,ghc-quickcheck)
  1711. ("ghc-fail" ,ghc-fail)
  1712. ("ghc-test-framework" ,ghc-test-framework)
  1713. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  1714. (home-page "https://hackage.haskell.org/package/cereal")
  1715. (synopsis "Binary serialization library")
  1716. (description "This package provides a binary serialization library,
  1717. similar to @code{binary}, that introduces an @code{isolate} primitive for
  1718. parser isolation, and labeled blocks for better error messages.")
  1719. (license license:bsd-3)))
  1720. (define-public ghc-cereal-conduit
  1721. (package
  1722. (name "ghc-cereal-conduit")
  1723. (version "0.8.0")
  1724. (source
  1725. (origin
  1726. (method url-fetch)
  1727. (uri (string-append "https://hackage.haskell.org/package/"
  1728. "cereal-conduit/cereal-conduit-"
  1729. version ".tar.gz"))
  1730. (sha256
  1731. (base32
  1732. "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
  1733. (build-system haskell-build-system)
  1734. (inputs
  1735. `(("ghc-conduit" ,ghc-conduit)
  1736. ("ghc-resourcet" ,ghc-resourcet)
  1737. ("ghc-cereal" ,ghc-cereal)))
  1738. (native-inputs
  1739. `(("ghc-hunit" ,ghc-hunit)))
  1740. (home-page "https://github.com/snoyberg/conduit")
  1741. (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
  1742. (description
  1743. "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
  1744. @code{Sources}, @code{Sinks}, and @code{Conduits}.")
  1745. (license license:bsd-3)))
  1746. (define-public ghc-cgi
  1747. (package
  1748. (name "ghc-cgi")
  1749. (version "3001.4.0.0")
  1750. (source
  1751. (origin
  1752. (method url-fetch)
  1753. (uri (string-append
  1754. "https://hackage.haskell.org/package/cgi/cgi-"
  1755. version
  1756. ".tar.gz"))
  1757. (sha256
  1758. (base32
  1759. "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
  1760. (build-system haskell-build-system)
  1761. (inputs
  1762. `(("ghc-exceptions" ,ghc-exceptions)
  1763. ("ghc-multipart" ,ghc-multipart)
  1764. ("ghc-network-uri" ,ghc-network-uri)
  1765. ("ghc-network" ,ghc-network)))
  1766. (native-inputs
  1767. `(("ghc-doctest" ,ghc-doctest)
  1768. ("ghc-quickcheck" ,ghc-quickcheck)))
  1769. (home-page
  1770. "https://github.com/cheecheeo/haskell-cgi")
  1771. (synopsis "Library for writing CGI programs")
  1772. (description
  1773. "This is a Haskell library for writing CGI programs.")
  1774. (license license:bsd-3)))
  1775. (define-public ghc-charset
  1776. (package
  1777. (name "ghc-charset")
  1778. (version "0.3.7.1")
  1779. (source
  1780. (origin
  1781. (method url-fetch)
  1782. (uri (string-append
  1783. "https://hackage.haskell.org/package/charset/charset-"
  1784. version
  1785. ".tar.gz"))
  1786. (sha256
  1787. (base32
  1788. "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
  1789. (build-system haskell-build-system)
  1790. (arguments
  1791. `(#:cabal-revision
  1792. ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
  1793. (inputs
  1794. `(("ghc-semigroups" ,ghc-semigroups)
  1795. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  1796. (home-page "https://github.com/ekmett/charset")
  1797. (synopsis "Fast unicode character sets for Haskell")
  1798. (description "This package provides fast unicode character sets for
  1799. Haskell, based on complemented PATRICIA tries.")
  1800. (license license:bsd-3)))
  1801. (define-public ghc-chart
  1802. (package
  1803. (name "ghc-chart")
  1804. (version "1.9.1")
  1805. (source
  1806. (origin
  1807. (method url-fetch)
  1808. (uri (string-append "https://hackage.haskell.org/package/Chart/"
  1809. "Chart-" version ".tar.gz"))
  1810. (sha256
  1811. (base32
  1812. "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
  1813. (build-system haskell-build-system)
  1814. (inputs
  1815. `(("ghc-old-locale" ,ghc-old-locale)
  1816. ("ghc-lens" ,ghc-lens)
  1817. ("ghc-colour" ,ghc-colour)
  1818. ("ghc-data-default-class" ,ghc-data-default-class)
  1819. ("ghc-operational" ,ghc-operational)
  1820. ("ghc-vector" ,ghc-vector)))
  1821. (home-page "https://github.com/timbod7/haskell-chart/wiki")
  1822. (synopsis "Library for generating 2D charts and plots")
  1823. (description
  1824. "This package provides a library for generating 2D charts and plots, with
  1825. backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
  1826. (license license:bsd-3)))
  1827. (define-public ghc-chart-cairo
  1828. (package
  1829. (name "ghc-chart-cairo")
  1830. (version "1.9.1")
  1831. (source
  1832. (origin
  1833. (method url-fetch)
  1834. (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
  1835. "Chart-cairo-" version ".tar.gz"))
  1836. (sha256
  1837. (base32
  1838. "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
  1839. (build-system haskell-build-system)
  1840. (inputs
  1841. `(("ghc-old-locale" ,ghc-old-locale)
  1842. ("ghc-cairo" ,ghc-cairo)
  1843. ("ghc-colour" ,ghc-colour)
  1844. ("ghc-data-default-class" ,ghc-data-default-class)
  1845. ("ghc-operational" ,ghc-operational)
  1846. ("ghc-lens" ,ghc-lens)
  1847. ("ghc-chart" ,ghc-chart)))
  1848. (home-page "https://github.com/timbod7/haskell-chart/wiki")
  1849. (synopsis "Cairo backend for Charts")
  1850. (description "This package provides a Cairo vector graphics rendering
  1851. backend for the Charts library.")
  1852. (license license:bsd-3)))
  1853. (define-public ghc-chasingbottoms
  1854. (package
  1855. (name "ghc-chasingbottoms")
  1856. (version "1.3.1.7")
  1857. (source
  1858. (origin
  1859. (method url-fetch)
  1860. (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
  1861. "ChasingBottoms-" version ".tar.gz"))
  1862. (sha256
  1863. (base32
  1864. "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
  1865. (build-system haskell-build-system)
  1866. (inputs
  1867. `(("ghc-quickcheck" ,ghc-quickcheck)
  1868. ("ghc-random" ,ghc-random)
  1869. ("ghc-syb" ,ghc-syb)))
  1870. (home-page "https://hackage.haskell.org/package/ChasingBottoms")
  1871. (synopsis "Testing of partial and infinite values in Haskell")
  1872. (description
  1873. ;; FIXME: There should be a @comma{} in the uref text, but it is not
  1874. ;; rendered properly.
  1875. "This is a library for testing code involving bottoms or infinite values.
  1876. For the underlying theory and a larger example involving use of QuickCheck,
  1877. see the article
  1878. @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
  1879. \"Chasing Bottoms A Case Study in Program Verification in the Presence of
  1880. Partial and Infinite Values\"}.")
  1881. (license license:expat)))
  1882. (define-public ghc-cheapskate
  1883. (package
  1884. (name "ghc-cheapskate")
  1885. (version "0.1.1.1")
  1886. (source
  1887. (origin
  1888. (method url-fetch)
  1889. (uri (string-append
  1890. "https://hackage.haskell.org/package/cheapskate/cheapskate-"
  1891. version
  1892. ".tar.gz"))
  1893. (sha256
  1894. (base32
  1895. "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
  1896. (build-system haskell-build-system)
  1897. (inputs
  1898. `(("ghc-blaze-html" ,ghc-blaze-html)
  1899. ("ghc-xss-sanitize" ,ghc-xss-sanitize)
  1900. ("ghc-data-default" ,ghc-data-default)
  1901. ("ghc-syb" ,ghc-syb)
  1902. ("ghc-uniplate" ,ghc-uniplate)))
  1903. (home-page "https://github.com/jgm/cheapskate")
  1904. (synopsis "Experimental markdown processor")
  1905. (description "Cheapskate is an experimental Markdown processor in pure
  1906. Haskell. It aims to process Markdown efficiently and in the most forgiving
  1907. possible way. It is designed to deal with any input, including garbage, with
  1908. linear performance. Output is sanitized by default for protection against
  1909. cross-site scripting (@dfn{XSS}) attacks.")
  1910. (license license:bsd-3)))
  1911. (define-public ghc-chell
  1912. (package
  1913. (name "ghc-chell")
  1914. (version "0.5")
  1915. (source
  1916. (origin
  1917. (method url-fetch)
  1918. (uri (string-append
  1919. "https://hackage.haskell.org/package/chell/chell-"
  1920. version ".tar.gz"))
  1921. (sha256
  1922. (base32
  1923. "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
  1924. (build-system haskell-build-system)
  1925. (arguments
  1926. `(#:cabal-revision
  1927. ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
  1928. (inputs
  1929. `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
  1930. ("ghc-patience" ,ghc-patience)
  1931. ("ghc-random" ,ghc-random)
  1932. ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
  1933. (home-page "https://john-millikin.com/software/chell/")
  1934. (synopsis "Simple and intuitive library for automated testing")
  1935. (description
  1936. "Chell is a simple and intuitive library for automated testing.
  1937. It natively supports assertion-based testing, and can use companion
  1938. libraries such as @code{chell-quickcheck} to support more complex
  1939. testing strategies.")
  1940. (license license:expat)))
  1941. (define-public ghc-chell-quickcheck
  1942. (package
  1943. (name "ghc-chell-quickcheck")
  1944. (version "0.2.5.2")
  1945. (source
  1946. (origin
  1947. (method url-fetch)
  1948. (uri (string-append
  1949. "https://hackage.haskell.org/package/chell-quickcheck/"
  1950. "chell-quickcheck-" version ".tar.gz"))
  1951. (sha256
  1952. (base32
  1953. "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
  1954. (build-system haskell-build-system)
  1955. (arguments
  1956. `(#:phases
  1957. (modify-phases %standard-phases
  1958. (add-before 'configure 'update-constraints
  1959. (lambda _
  1960. (substitute* "chell-quickcheck.cabal"
  1961. (("QuickCheck >= 2\\.3 && < 2\\.13")
  1962. "QuickCheck >= 2.3 && < 2.14")))))))
  1963. (inputs
  1964. `(("ghc-chell" ,ghc-chell)
  1965. ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
  1966. ("ghc-random" ,ghc-random)
  1967. ("ghc-quickcheck" ,ghc-quickcheck)))
  1968. (home-page "https://john-millikin.com/software/chell/")
  1969. (synopsis "QuickCheck support for the Chell testing library")
  1970. (description "More complex tests for @code{chell}.")
  1971. (license license:expat)))
  1972. (define ghc-chell-quickcheck-bootstrap
  1973. (package
  1974. (name "ghc-chell-quickcheck-bootstrap")
  1975. (version "0.2.5.2")
  1976. (source
  1977. (origin
  1978. (method url-fetch)
  1979. (uri (string-append
  1980. "https://hackage.haskell.org/package/chell-quickcheck/"
  1981. "chell-quickcheck-" version ".tar.gz"))
  1982. (sha256
  1983. (base32
  1984. "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
  1985. (build-system haskell-build-system)
  1986. (inputs
  1987. `(("ghc-chell" ,ghc-chell)
  1988. ("ghc-random" ,ghc-random)
  1989. ("ghc-quickcheck" ,ghc-quickcheck)))
  1990. (arguments
  1991. `(#:tests? #f
  1992. #:phases
  1993. (modify-phases %standard-phases
  1994. (add-before 'configure 'update-constraints
  1995. (lambda _
  1996. (substitute* "chell-quickcheck.cabal"
  1997. (("QuickCheck >= 2\\.3 && < 2\\.13")
  1998. "QuickCheck >= 2.3 && < 2.14")))))))
  1999. (home-page "https://john-millikin.com/software/chell/")
  2000. (synopsis "QuickCheck support for the Chell testing library")
  2001. (description "More complex tests for @code{chell}.")
  2002. (license license:expat)))
  2003. (define-public ghc-chunked-data
  2004. (package
  2005. (name "ghc-chunked-data")
  2006. (version "0.3.1")
  2007. (source
  2008. (origin
  2009. (method url-fetch)
  2010. (uri (string-append "https://hackage.haskell.org/package/"
  2011. "chunked-data-" version "/"
  2012. "chunked-data-" version ".tar.gz"))
  2013. (sha256
  2014. (base32
  2015. "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
  2016. (build-system haskell-build-system)
  2017. (inputs `(("ghc-vector" ,ghc-vector)
  2018. ("ghc-semigroups" ,ghc-semigroups)))
  2019. (home-page "https://github.com/snoyberg/mono-traversable")
  2020. (synopsis "Typeclasses for dealing with various chunked data
  2021. representations for Haskell")
  2022. (description "This Haskell package was originally present in
  2023. classy-prelude.")
  2024. (license license:expat)))
  2025. (define-public ghc-clock
  2026. (package
  2027. (name "ghc-clock")
  2028. (version "0.8")
  2029. (source
  2030. (origin
  2031. (method url-fetch)
  2032. (uri (string-append
  2033. "https://hackage.haskell.org/package/"
  2034. "clock/"
  2035. "clock-" version ".tar.gz"))
  2036. (sha256
  2037. (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
  2038. (build-system haskell-build-system)
  2039. (inputs
  2040. `(("ghc-tasty" ,ghc-tasty)
  2041. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  2042. (home-page "https://hackage.haskell.org/package/clock")
  2043. (synopsis "High-resolution clock for Haskell")
  2044. (description "A package for convenient access to high-resolution clock and
  2045. timer functions of different operating systems via a unified API.")
  2046. (license license:bsd-3)))
  2047. ;; This package builds `clock` without tests, since the tests rely on tasty
  2048. ;; and tasty-quickcheck, which in turn require clock to build.
  2049. (define-public ghc-clock-bootstrap
  2050. (package
  2051. (inherit ghc-clock)
  2052. (name "ghc-clock-bootstrap")
  2053. (arguments '(#:tests? #f))
  2054. (inputs '())
  2055. (properties '((hidden? #t)))))
  2056. (define-public ghc-cmark
  2057. (package
  2058. (name "ghc-cmark")
  2059. (version "0.6")
  2060. (source (origin
  2061. (method url-fetch)
  2062. ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
  2063. ;; See cbits/cmark_version.h.
  2064. (uri (string-append "https://hackage.haskell.org/package/"
  2065. "cmark/cmark-" version ".tar.gz"))
  2066. (sha256
  2067. (base32
  2068. "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
  2069. (build-system haskell-build-system)
  2070. (native-inputs
  2071. `(("ghc-hunit" ,ghc-hunit)))
  2072. (home-page "https://github.com/jgm/commonmark-hs")
  2073. (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
  2074. (description
  2075. "This package provides Haskell bindings for
  2076. @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
  2077. CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
  2078. sources, and does not require prior installation of the C library.")
  2079. (license license:bsd-3)))
  2080. (define-public ghc-cmark-gfm
  2081. (package
  2082. (name "ghc-cmark-gfm")
  2083. (version "0.2.0")
  2084. (source
  2085. (origin
  2086. (method url-fetch)
  2087. (uri (string-append "https://hackage.haskell.org/package/"
  2088. "cmark-gfm/cmark-gfm-"
  2089. version ".tar.gz"))
  2090. (sha256
  2091. (base32
  2092. "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
  2093. (build-system haskell-build-system)
  2094. (native-inputs
  2095. `(("ghc-hunit" ,ghc-hunit)))
  2096. (home-page "https://github.com/kivikakk/cmark-gfm-hs")
  2097. (synopsis
  2098. "Fast, accurate GitHub Flavored Markdown parser and renderer")
  2099. (description
  2100. "This package provides Haskell bindings for libcmark-gfm, the reference
  2101. parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
  2102. It includes sources for libcmark-gfm and does not require prior installation
  2103. of the C library.")
  2104. (license license:bsd-3)))
  2105. (define-public ghc-cmdargs
  2106. (package
  2107. (name "ghc-cmdargs")
  2108. (version "0.10.20")
  2109. (source
  2110. (origin
  2111. (method url-fetch)
  2112. (uri (string-append
  2113. "https://hackage.haskell.org/package/cmdargs/cmdargs-"
  2114. version ".tar.gz"))
  2115. (sha256
  2116. (base32
  2117. "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
  2118. (build-system haskell-build-system)
  2119. (outputs '("out" "static" "doc"))
  2120. (home-page
  2121. "http://community.haskell.org/~ndm/cmdargs/")
  2122. (synopsis "Command line argument processing")
  2123. (description
  2124. "This library provides an easy way to define command line parsers.")
  2125. (license license:bsd-3)))
  2126. (define-public ghc-code-page
  2127. (package
  2128. (name "ghc-code-page")
  2129. (version "0.2")
  2130. (source
  2131. (origin
  2132. (method url-fetch)
  2133. (uri (string-append
  2134. "https://hackage.haskell.org/package/code-page/code-page-"
  2135. version ".tar.gz"))
  2136. (sha256
  2137. (base32
  2138. "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
  2139. (build-system haskell-build-system)
  2140. (home-page "https://github.com/RyanGlScott/code-page")
  2141. (synopsis "Windows code page library for Haskell")
  2142. (description "A cross-platform library with functions for adjusting
  2143. code pages on Windows. On all other operating systems, the library does
  2144. nothing.")
  2145. (license license:bsd-3)))
  2146. (define-public ghc-colour
  2147. (package
  2148. (name "ghc-colour")
  2149. (version "2.3.5")
  2150. (source
  2151. (origin
  2152. (method url-fetch)
  2153. (uri (string-append
  2154. "https://hackage.haskell.org/package/colour/colour-"
  2155. version ".tar.gz"))
  2156. (sha256
  2157. (base32
  2158. "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
  2159. (arguments
  2160. ;; The tests for this package have the following dependency cycle:
  2161. ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
  2162. `(#:tests? #f))
  2163. (build-system haskell-build-system)
  2164. (home-page "https://wiki.haskell.org/Colour")
  2165. (synopsis "Model for human colour perception")
  2166. (description
  2167. "This package provides a data type for colours and transparency.
  2168. Colours can be blended and composed. Various colour spaces are
  2169. supported. A module of colour names (\"Data.Colour.Names\") is provided.")
  2170. (license license:expat)))
  2171. (define-public ghc-comonad
  2172. (package
  2173. (name "ghc-comonad")
  2174. (version "5.0.5")
  2175. (source
  2176. (origin
  2177. (method url-fetch)
  2178. (uri (string-append
  2179. "https://hackage.haskell.org/package/comonad/comonad-"
  2180. version
  2181. ".tar.gz"))
  2182. (sha256
  2183. (base32
  2184. "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
  2185. (build-system haskell-build-system)
  2186. (native-inputs
  2187. `(("cabal-doctest" ,cabal-doctest)
  2188. ("ghc-doctest" ,ghc-doctest)))
  2189. (inputs
  2190. `(("ghc-contravariant" ,ghc-contravariant)
  2191. ("ghc-distributive" ,ghc-distributive)
  2192. ("ghc-semigroups" ,ghc-semigroups)
  2193. ("ghc-tagged" ,ghc-tagged)
  2194. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  2195. (home-page "https://github.com/ekmett/comonad/")
  2196. (synopsis "Comonads for Haskell")
  2197. (description "This library provides @code{Comonad}s for Haskell.")
  2198. (license license:bsd-3)))
  2199. (define-public ghc-concatenative
  2200. (package
  2201. (name "ghc-concatenative")
  2202. (version "1.0.1")
  2203. (source (origin
  2204. (method url-fetch)
  2205. (uri (string-append
  2206. "https://hackage.haskell.org/package/concatenative/concatenative-"
  2207. version ".tar.gz"))
  2208. (sha256
  2209. (base32
  2210. "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
  2211. (build-system haskell-build-system)
  2212. (home-page
  2213. "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
  2214. (synopsis "Library for postfix control flow")
  2215. (description
  2216. "Concatenative gives Haskell Factor-style combinators and arrows for
  2217. postfix notation. For more information on stack based languages, see
  2218. @uref{https://concatenative.org}.")
  2219. (license license:bsd-3)))
  2220. (define-public ghc-concurrent-extra
  2221. (package
  2222. (name "ghc-concurrent-extra")
  2223. (version "0.7.0.12")
  2224. (source
  2225. (origin
  2226. (method url-fetch)
  2227. (uri (string-append "https://hackage.haskell.org/package/"
  2228. "concurrent-extra/concurrent-extra-"
  2229. version ".tar.gz"))
  2230. (sha256
  2231. (base32
  2232. "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
  2233. (build-system haskell-build-system)
  2234. (arguments
  2235. ;; XXX: The ReadWriteLock 'stressTest' fails.
  2236. `(#:tests? #f))
  2237. (inputs
  2238. `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
  2239. (native-inputs
  2240. `(("ghc-async" ,ghc-async)
  2241. ("ghc-hunit" ,ghc-hunit)
  2242. ("ghc-random" ,ghc-random)
  2243. ("ghc-test-framework" ,ghc-test-framework)
  2244. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  2245. (home-page "https://github.com/basvandijk/concurrent-extra")
  2246. (synopsis "Extra concurrency primitives")
  2247. (description "This Haskell library offers (among other things) the
  2248. following selection of synchronisation primitives:
  2249. @itemize
  2250. @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
  2251. @item @code{Event}: Wake multiple threads by signalling an event.
  2252. @item @code{Lock}: Enforce exclusive access to a resource. Also known
  2253. as a binary semaphore or mutex. The package additionally provides an
  2254. alternative that works in the STM monad.
  2255. @item @code{RLock}: A lock which can be acquired multiple times by the
  2256. same thread. Also known as a reentrant mutex.
  2257. @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
  2258. to protect shared resources which may be concurrently read, but only
  2259. sequentially written.
  2260. @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
  2261. @end itemize
  2262. Please consult the API documentation of the individual modules for more
  2263. detailed information.
  2264. This package was inspired by the concurrency libraries of Java and
  2265. Python.")
  2266. (license license:bsd-3)))
  2267. (define-public ghc-concurrent-output
  2268. (package
  2269. (name "ghc-concurrent-output")
  2270. (version "1.10.11")
  2271. (source
  2272. (origin
  2273. (method url-fetch)
  2274. (uri (string-append
  2275. "mirror://hackage/package/concurrent-output/concurrent-output-"
  2276. version
  2277. ".tar.gz"))
  2278. (sha256
  2279. (base32
  2280. "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
  2281. (build-system haskell-build-system)
  2282. (inputs
  2283. `(("ghc-async" ,ghc-async)
  2284. ("ghc-exceptions" ,ghc-exceptions)
  2285. ("ghc-ansi-terminal" ,ghc-ansi-terminal)
  2286. ("ghc-terminal-size" ,ghc-terminal-size)))
  2287. (home-page
  2288. "https://hackage.haskell.org/package/concurrent-output")
  2289. (synopsis
  2290. "Ungarble output from several threads or commands")
  2291. (description
  2292. "Lets multiple threads and external processes concurrently output to the
  2293. console, without it getting all garbled up.
  2294. Built on top of that is a way of defining multiple output regions, which are
  2295. automatically laid out on the screen and can be individually updated by
  2296. concurrent threads. Can be used for progress displays etc.")
  2297. (license license:bsd-2)))
  2298. (define-public ghc-conduit
  2299. (package
  2300. (name "ghc-conduit")
  2301. (version "1.3.1.1")
  2302. (source (origin
  2303. (method url-fetch)
  2304. (uri (string-append "https://hackage.haskell.org/package/"
  2305. "conduit/conduit-" version ".tar.gz"))
  2306. (sha256
  2307. (base32
  2308. "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
  2309. (build-system haskell-build-system)
  2310. (outputs '("out" "static" "doc"))
  2311. (inputs
  2312. `(("ghc-exceptions" ,ghc-exceptions)
  2313. ("ghc-lifted-base" ,ghc-lifted-base)
  2314. ("ghc-mono-traversable" ,ghc-mono-traversable)
  2315. ("ghc-mmorph" ,ghc-mmorph)
  2316. ("ghc-resourcet" ,ghc-resourcet)
  2317. ("ghc-silently" ,ghc-silently)
  2318. ("ghc-transformers-base" ,ghc-transformers-base)
  2319. ("ghc-unliftio" ,ghc-unliftio)
  2320. ("ghc-unliftio-core" ,ghc-unliftio-core)
  2321. ("ghc-vector" ,ghc-vector)
  2322. ("ghc-void" ,ghc-void)))
  2323. (native-inputs
  2324. `(("ghc-quickcheck" ,ghc-quickcheck)
  2325. ("ghc-hspec" ,ghc-hspec)
  2326. ("ghc-safe" ,ghc-safe)
  2327. ("ghc-split" ,ghc-split)))
  2328. (home-page "https://github.com/snoyberg/conduit")
  2329. (synopsis "Streaming data library ")
  2330. (description
  2331. "The conduit package is a solution to the streaming data problem,
  2332. allowing for production, transformation, and consumption of streams of data
  2333. in constant memory. It is an alternative to lazy I/O which guarantees
  2334. deterministic resource handling, and fits in the same general solution
  2335. space as enumerator/iteratee and pipes.")
  2336. (license license:expat)))
  2337. (define-public ghc-conduit-algorithms
  2338. (package
  2339. (name "ghc-conduit-algorithms")
  2340. (version "0.0.11.0")
  2341. (source
  2342. (origin
  2343. (method url-fetch)
  2344. (uri (string-append "https://hackage.haskell.org/package/"
  2345. "conduit-algorithms/conduit-algorithms-"
  2346. version ".tar.gz"))
  2347. (sha256
  2348. (base32
  2349. "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
  2350. (build-system haskell-build-system)
  2351. (inputs
  2352. `(("ghc-async" ,ghc-async)
  2353. ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
  2354. ("ghc-conduit" ,ghc-conduit)
  2355. ("ghc-conduit-combinators" ,ghc-conduit-combinators)
  2356. ("ghc-conduit-extra" ,ghc-conduit-extra)
  2357. ("ghc-conduit-zstd" ,ghc-conduit-zstd)
  2358. ("ghc-exceptions" ,ghc-exceptions)
  2359. ("ghc-lzma-conduit" ,ghc-lzma-conduit)
  2360. ("ghc-monad-control" ,ghc-monad-control)
  2361. ("ghc-pqueue" ,ghc-pqueue)
  2362. ("ghc-resourcet" ,ghc-resourcet)
  2363. ("ghc-stm-conduit" ,ghc-stm-conduit)
  2364. ("ghc-streaming-commons" ,ghc-streaming-commons)
  2365. ("ghc-unliftio-core" ,ghc-unliftio-core)
  2366. ("ghc-vector" ,ghc-vector)))
  2367. (native-inputs
  2368. `(("ghc-hunit" ,ghc-hunit)
  2369. ("ghc-test-framework" ,ghc-test-framework)
  2370. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  2371. ("ghc-test-framework-th" ,ghc-test-framework-th)))
  2372. (home-page "https://github.com/luispedro/conduit-algorithms#readme")
  2373. (synopsis "Conduit-based algorithms")
  2374. (description
  2375. "This package provides algorithms on @code{Conduits}, including higher
  2376. level asynchronous processing and some other utilities.")
  2377. (license license:expat)))
  2378. (define-public ghc-conduit-combinators
  2379. (package
  2380. (name "ghc-conduit-combinators")
  2381. (version "1.3.0")
  2382. (source
  2383. (origin
  2384. (method url-fetch)
  2385. (uri (string-append "https://hackage.haskell.org/package/"
  2386. "conduit-combinators-" version "/"
  2387. "conduit-combinators-" version ".tar.gz"))
  2388. (sha256
  2389. (base32
  2390. "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
  2391. (build-system haskell-build-system)
  2392. (inputs `(("ghc-conduit" ,ghc-conduit)
  2393. ("ghc-conduit-extra" ,ghc-conduit-extra)
  2394. ("ghc-transformers-base" ,ghc-transformers-base)
  2395. ("ghc-primitive" ,ghc-primitive)
  2396. ("ghc-vector" ,ghc-vector)
  2397. ("ghc-void" ,ghc-void)
  2398. ("ghc-mwc-random" ,ghc-mwc-random)
  2399. ("ghc-unix-compat" ,ghc-unix-compat)
  2400. ("ghc-base16-bytestring" ,ghc-base16-bytestring)
  2401. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  2402. ("ghc-resourcet" ,ghc-resourcet)
  2403. ("ghc-monad-control" ,ghc-monad-control)
  2404. ("ghc-chunked-data" ,ghc-chunked-data)
  2405. ("ghc-mono-traversable" ,ghc-mono-traversable)))
  2406. (native-inputs `(("ghc-hspec" ,ghc-hspec)
  2407. ("ghc-silently" ,ghc-silently)
  2408. ("ghc-safe" ,ghc-safe)
  2409. ("ghc-quickcheck" ,ghc-quickcheck)))
  2410. (home-page "https://github.com/snoyberg/mono-traversable")
  2411. (synopsis "Commonly used conduit functions, for both chunked and
  2412. unchunked data")
  2413. (description "This Haskell package provides a replacement for Data.Conduit.List,
  2414. as well as a convenient Conduit module.")
  2415. (license license:expat)))
  2416. (define-public ghc-conduit-extra
  2417. (package
  2418. (name "ghc-conduit-extra")
  2419. (version "1.3.4")
  2420. (source
  2421. (origin
  2422. (method url-fetch)
  2423. (uri (string-append "https://hackage.haskell.org/package/"
  2424. "conduit-extra/conduit-extra-"
  2425. version ".tar.gz"))
  2426. (sha256
  2427. (base32
  2428. "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
  2429. (build-system haskell-build-system)
  2430. (inputs
  2431. `(("ghc-conduit" ,ghc-conduit)
  2432. ("ghc-exceptions" ,ghc-exceptions)
  2433. ("ghc-monad-control" ,ghc-monad-control)
  2434. ("ghc-transformers-base" ,ghc-transformers-base)
  2435. ("ghc-typed-process" ,ghc-typed-process)
  2436. ("ghc-async" ,ghc-async)
  2437. ("ghc-attoparsec" ,ghc-attoparsec)
  2438. ("ghc-blaze-builder" ,ghc-blaze-builder)
  2439. ("ghc-network" ,ghc-network)
  2440. ("ghc-primitive" ,ghc-primitive)
  2441. ("ghc-resourcet" ,ghc-resourcet)
  2442. ("ghc-streaming-commons" ,ghc-streaming-commons)
  2443. ("ghc-hspec" ,ghc-hspec)
  2444. ("ghc-bytestring-builder" ,ghc-bytestring-builder)
  2445. ("ghc-quickcheck" ,ghc-quickcheck)))
  2446. (native-inputs
  2447. `(("hspec-discover" ,hspec-discover)))
  2448. (home-page "https://github.com/snoyberg/conduit")
  2449. (synopsis "Conduit adapters for common libraries")
  2450. (description
  2451. "The @code{conduit} package itself maintains relative small dependencies.
  2452. The purpose of this package is to collect commonly used utility functions
  2453. wrapping other library dependencies, without depending on heavier-weight
  2454. dependencies. The basic idea is that this package should only depend on
  2455. @code{haskell-platform} packages and @code{conduit}.")
  2456. (license license:expat)))
  2457. (define-public ghc-conduit-zstd
  2458. (package
  2459. (name "ghc-conduit-zstd")
  2460. (version "0.0.1.1")
  2461. (source
  2462. (origin
  2463. (method url-fetch)
  2464. (uri (string-append "https://hackage.haskell.org/package/"
  2465. "conduit-zstd/conduit-zstd-" version ".tar.gz"))
  2466. (sha256
  2467. (base32
  2468. "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
  2469. (build-system haskell-build-system)
  2470. (inputs
  2471. `(("ghc-conduit" ,ghc-conduit)
  2472. ("ghc-zstd" ,ghc-zstd)))
  2473. (native-inputs
  2474. `(("ghc-hunit" ,ghc-hunit)
  2475. ("ghc-conduit-combinators" ,ghc-conduit-combinators)
  2476. ("ghc-conduit-extra" ,ghc-conduit-extra)
  2477. ("ghc-test-framework" ,ghc-test-framework)
  2478. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  2479. ("ghc-test-framework-th" ,ghc-test-framework-th)))
  2480. (home-page "https://github.com/luispedro/conduit-zstd#readme")
  2481. (synopsis "Conduit-based ZStd Compression")
  2482. (description "Zstandard compression packaged as a conduit. This is
  2483. a very thin wrapper around the
  2484. @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
  2485. interface}.")
  2486. (license license:expat)))
  2487. (define-public ghc-config-ini
  2488. (package
  2489. (name "ghc-config-ini")
  2490. (version "0.2.4.0")
  2491. (source
  2492. (origin
  2493. (method url-fetch)
  2494. (uri (string-append "https://hackage.haskell.org/package/"
  2495. "config-ini/config-ini-" version ".tar.gz"))
  2496. (sha256
  2497. (base32 "0dfm4xb1sd713rcqzplzdgw68fyhj24i6lj8j3q8kldpmkl98lbf"))))
  2498. (build-system haskell-build-system)
  2499. (arguments
  2500. ;; XXX The tests fail to compile: “The constructor ‘I1.Ini’ should have 2
  2501. ;; arguments, but has been given 1”.
  2502. `(#:tests? #f
  2503. #:cabal-revision
  2504. ("2" "0iwraaa0y1b3xdsg760j1wpylkqshky0k2djcg0k4s97lrwqpbcz")))
  2505. (native-inputs
  2506. `(("ghc-doctest" ,ghc-doctest)
  2507. ("ghc-hedgehog" ,ghc-hedgehog)
  2508. ("ghc-ini" ,ghc-ini)
  2509. ("ghc-microlens" ,ghc-microlens)))
  2510. (inputs
  2511. `(("ghc-megaparsec" ,ghc-megaparsec)
  2512. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  2513. (home-page "https://github.com/aisamanra/config-ini")
  2514. (synopsis "Monadic Haskell DSL for parsing simple INI configuration files")
  2515. (description
  2516. "The @code{config-ini} Haskell library exports some simple monadic
  2517. functions to ease the parsing of @file{.ini}-style configuration files, and
  2518. to write and update them in an efficient @i{diff-minimal} way. This means that
  2519. if you parse a file, update a single field, and reserialize, that file should
  2520. differ only in the field we changed and @emph{that's it}: field order, comments,
  2521. and incidental whitespace will remain unchanged. The library aims to produce
  2522. human-readable error messages when things go wrong.")
  2523. (license license:bsd-3)))
  2524. (define-public ghc-configurator
  2525. (package
  2526. (name "ghc-configurator")
  2527. (version "0.3.0.0")
  2528. (source
  2529. (origin
  2530. (method url-fetch)
  2531. (uri (string-append "https://hackage.haskell.org/package/"
  2532. "configurator/configurator-"
  2533. version ".tar.gz"))
  2534. (sha256
  2535. (base32
  2536. "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
  2537. (build-system haskell-build-system)
  2538. (inputs
  2539. `(("ghc-attoparsec" ,ghc-attoparsec)
  2540. ("ghc-hashable" ,ghc-hashable)
  2541. ("ghc-unix-compat" ,ghc-unix-compat)
  2542. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  2543. (native-inputs
  2544. `(("ghc-hunit" ,ghc-hunit)
  2545. ("ghc-test-framework" ,ghc-test-framework)
  2546. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  2547. (home-page "https://github.com/bos/configurator")
  2548. (synopsis "Configuration management")
  2549. (description
  2550. "This package provides a configuration management library for programs
  2551. and daemons. The features include:
  2552. @enumerate
  2553. @item Automatic, dynamic reloading in response to modifications to
  2554. configuration files.
  2555. @item A simple, but flexible, configuration language, supporting several of
  2556. the most commonly needed types of data, along with interpolation of strings
  2557. from the configuration or the system environment (e.g. @code{$(HOME)}).
  2558. @item Subscription-based notification of changes to configuration properties.
  2559. @item An @code{import} directive allows the configuration of a complex
  2560. application to be split across several smaller files, or common configuration
  2561. data to be shared across several applications.
  2562. @end enumerate\n")
  2563. (license license:bsd-3)))
  2564. (define-public ghc-connection
  2565. (package
  2566. (name "ghc-connection")
  2567. (version "0.3.1")
  2568. (source (origin
  2569. (method url-fetch)
  2570. (uri (string-append "https://hackage.haskell.org/package/"
  2571. "connection/connection-"
  2572. version ".tar.gz"))
  2573. (sha256
  2574. (base32
  2575. "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
  2576. (build-system haskell-build-system)
  2577. (inputs
  2578. `(("ghc-byteable" ,ghc-byteable)
  2579. ("ghc-data-default-class" ,ghc-data-default-class)
  2580. ("ghc-network" ,ghc-network)
  2581. ("ghc-tls" ,ghc-tls)
  2582. ("ghc-socks" ,ghc-socks)
  2583. ("ghc-x509" ,ghc-x509)
  2584. ("ghc-x509-store" ,ghc-x509-store)
  2585. ("ghc-x509-system" ,ghc-x509-system)
  2586. ("ghc-x509-validation" ,ghc-x509-validation)))
  2587. (home-page "https://github.com/vincenthz/hs-connection")
  2588. (synopsis "Simple and easy network connections API")
  2589. (description
  2590. "This package provides a simple network library for all your connection
  2591. needs. It provides a very simple API to create sockets to a destination with
  2592. the choice of SSL/TLS, and SOCKS.")
  2593. (license license:bsd-3)))
  2594. (define-public ghc-constraints
  2595. (package
  2596. (name "ghc-constraints")
  2597. (version "0.10.1")
  2598. (source
  2599. (origin
  2600. (method url-fetch)
  2601. (uri (string-append
  2602. "https://hackage.haskell.org/package/constraints/constraints-"
  2603. version ".tar.gz"))
  2604. (sha256
  2605. (base32
  2606. "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
  2607. (build-system haskell-build-system)
  2608. (inputs
  2609. `(("ghc-hashable" ,ghc-hashable)
  2610. ("ghc-semigroups" ,ghc-semigroups)
  2611. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  2612. (native-inputs
  2613. `(("ghc-hspec" ,ghc-hspec)
  2614. ("hspec-discover" ,hspec-discover)))
  2615. (home-page "https://github.com/ekmett/constraints/")
  2616. (synopsis "Constraint manipulation")
  2617. (description
  2618. "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
  2619. They stopped crashing the compiler in GHC 7.6. This package provides
  2620. a vocabulary for working with them.")
  2621. (license license:bsd-3)))
  2622. (define-public ghc-contravariant
  2623. (package
  2624. (name "ghc-contravariant")
  2625. (version "1.5.2")
  2626. (source
  2627. (origin
  2628. (method url-fetch)
  2629. (uri (string-append
  2630. "https://hackage.haskell.org/package/contravariant/contravariant-"
  2631. version
  2632. ".tar.gz"))
  2633. (sha256
  2634. (base32
  2635. "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
  2636. (build-system haskell-build-system)
  2637. (inputs
  2638. `(("ghc-void" ,ghc-void)
  2639. ("ghc-transformers-compat" ,ghc-transformers-compat)
  2640. ("ghc-statevar" ,ghc-statevar)
  2641. ("ghc-semigroups" ,ghc-semigroups)))
  2642. (home-page
  2643. "https://github.com/ekmett/contravariant/")
  2644. (synopsis "Contravariant functors")
  2645. (description "Contravariant functors for Haskell.")
  2646. (license license:bsd-3)))
  2647. (define-public ghc-contravariant-extras
  2648. (package
  2649. (name "ghc-contravariant-extras")
  2650. (version "0.3.4")
  2651. (source
  2652. (origin
  2653. (method url-fetch)
  2654. (uri (string-append "https://hackage.haskell.org/package/"
  2655. "contravariant-extras-" version "/"
  2656. "contravariant-extras-" version ".tar.gz"))
  2657. (sha256
  2658. (base32
  2659. "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
  2660. (build-system haskell-build-system)
  2661. (arguments
  2662. `(#:cabal-revision
  2663. ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
  2664. (inputs
  2665. `(("ghc-tuple-th" ,ghc-tuple-th)
  2666. ("ghc-contravariant" ,ghc-contravariant)
  2667. ("ghc-base-prelude" ,ghc-base-prelude)
  2668. ("ghc-semigroups" ,ghc-semigroups)))
  2669. (home-page "https://github.com/nikita-volkov/contravariant-extras")
  2670. (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
  2671. (description "This Haskell package provides extras for the
  2672. @code{ghc-contravariant} package.")
  2673. (license license:expat)))
  2674. (define-public ghc-control-monad-free
  2675. (package
  2676. (name "ghc-control-monad-free")
  2677. (version "0.6.2")
  2678. (source
  2679. (origin
  2680. (method url-fetch)
  2681. (uri (string-append
  2682. "https://hackage.haskell.org/"
  2683. "package/control-monad-free/control-monad-free-"
  2684. version
  2685. ".tar.gz"))
  2686. (sha256
  2687. (base32
  2688. "1habgf7byffqf1rqjkzpihvdhclaafgqsqpfpwp3fgpj5ayk1j33"))))
  2689. (build-system haskell-build-system)
  2690. (home-page "https://github.com/pepeiborra/control-monad-free")
  2691. (synopsis "Free monads and monad transformers")
  2692. (description
  2693. "This package provides datatypes to construct Free monads, Free monad
  2694. transformers, and useful instances. In addition it provides the constructs to
  2695. avoid quadratic complexity of left associative bind, as explained in:
  2696. @itemize @bullet
  2697. @item
  2698. Janis Voigtlander, @cite{Asymptotic Improvement of Computations over
  2699. Free Monads, MPC'08}
  2700. @end itemize")
  2701. (license license:public-domain)))
  2702. (define-public ghc-convertible
  2703. (package
  2704. (name "ghc-convertible")
  2705. (version "1.1.1.0")
  2706. (source
  2707. (origin
  2708. (method url-fetch)
  2709. (uri (string-append "https://hackage.haskell.org/package/convertible/"
  2710. "convertible-" version ".tar.gz"))
  2711. (sha256
  2712. (base32
  2713. "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
  2714. (build-system haskell-build-system)
  2715. (inputs
  2716. `(("ghc-old-time" ,ghc-old-time)
  2717. ("ghc-old-locale" ,ghc-old-locale)))
  2718. (home-page "https://hackage.haskell.org/package/convertible")
  2719. (synopsis "Typeclasses and instances for converting between types")
  2720. (description
  2721. "This package provides a typeclass with a single function that is
  2722. designed to help convert between different types: numeric values, dates and
  2723. times, and the like. The conversions perform bounds checking and return a
  2724. pure @code{Either} value. This means that you need not remember which specific
  2725. function performs the conversion you desire.")
  2726. (license license:bsd-3)))
  2727. (define-public ghc-csv
  2728. (package
  2729. (name "ghc-csv")
  2730. (version "0.1.2")
  2731. (source
  2732. (origin
  2733. (method url-fetch)
  2734. (uri (string-append
  2735. "https://hackage.haskell.org/package/csv/csv-"
  2736. version
  2737. ".tar.gz"))
  2738. (sha256
  2739. (base32
  2740. "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c"))))
  2741. (build-system haskell-build-system)
  2742. (home-page "http://hackage.haskell.org/package/csv")
  2743. (synopsis "CSV loader and dumper")
  2744. (description
  2745. "This library parses and dumps documents that are formatted according to
  2746. RFC 4180, @cite{The common Format and MIME Type for Comma-Separated
  2747. Values (CSV) Files}. This format is used, among many other things, as a
  2748. lingua franca for spreadsheets, and for certain web services.")
  2749. (license license:expat)))
  2750. (define-public ghc-data-accessor
  2751. (package
  2752. (name "ghc-data-accessor")
  2753. (version "0.2.2.8")
  2754. (source
  2755. (origin
  2756. (method url-fetch)
  2757. (uri (string-append
  2758. "mirror://hackage/package/data-accessor/data-accessor-"
  2759. version ".tar.gz"))
  2760. (sha256
  2761. (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
  2762. (build-system haskell-build-system)
  2763. (home-page "https://wiki.haskell.org/Record_access")
  2764. (synopsis
  2765. "Haskell utilities for accessing and manipulating fields of records")
  2766. (description "This package provides Haskell modules for accessing and
  2767. manipulating fields of records.")
  2768. (license license:bsd-3)))
  2769. (define-public ghc-data-accessor-transformers
  2770. (package
  2771. (name "ghc-data-accessor-transformers")
  2772. (version "0.2.1.7")
  2773. (source
  2774. (origin
  2775. (method url-fetch)
  2776. (uri (string-append
  2777. "mirror://hackage/package/data-accessor-transformers/"
  2778. "data-accessor-transformers-" version ".tar.gz"))
  2779. (sha256
  2780. (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
  2781. (build-system haskell-build-system)
  2782. (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
  2783. (home-page "https://wiki.haskell.org/Record_access")
  2784. (synopsis "Use Accessor to access state in transformers State monad")
  2785. (description "This package provides Haskell modules to allow use of
  2786. Accessor to access state in transformers State monad.")
  2787. (license license:bsd-3)))
  2788. (define-public ghc-data-clist
  2789. (package
  2790. (name "ghc-data-clist")
  2791. (version "0.1.2.3")
  2792. (source
  2793. (origin
  2794. (method url-fetch)
  2795. (uri (string-append "https://hackage.haskell.org/package/data-clist/"
  2796. "data-clist-" version ".tar.gz"))
  2797. (sha256
  2798. (base32 "1mwfhnmvi3vicyjzl33m6pcipi2v887zazyqxygq258ndd010s9m"))))
  2799. (build-system haskell-build-system)
  2800. (native-inputs
  2801. `(("ghc-quickcheck" ,ghc-quickcheck)))
  2802. (arguments
  2803. `(#:cabal-revision
  2804. ("1" "13hg7a3d4ky8b765dl03ryxg28lq8iaqj5ky3j51r0i1i4f2a9hy")))
  2805. (home-page "https://github.com/sw17ch/data-clist")
  2806. (synopsis "Simple, functional, bidirectional circular list type")
  2807. (description
  2808. "This Haskell library provides a simple purely functional circular list,
  2809. or ring, data type: a circular data structure such that if you continue rotating
  2810. the ring in either direction, you'll eventually return to the element you first
  2811. observed.")
  2812. (license license:bsd-3)))
  2813. (define-public ghc-data-default
  2814. (package
  2815. (name "ghc-data-default")
  2816. (version "0.7.1.1")
  2817. (source
  2818. (origin
  2819. (method url-fetch)
  2820. (uri (string-append
  2821. "https://hackage.haskell.org/package/data-default/data-default-"
  2822. version
  2823. ".tar.gz"))
  2824. (sha256
  2825. (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
  2826. (build-system haskell-build-system)
  2827. (inputs
  2828. `(("ghc-data-default-class"
  2829. ,ghc-data-default-class)
  2830. ("ghc-data-default-instances-base"
  2831. ,ghc-data-default-instances-base)
  2832. ("ghc-data-default-instances-containers"
  2833. ,ghc-data-default-instances-containers)
  2834. ("ghc-data-default-instances-dlist"
  2835. ,ghc-data-default-instances-dlist)
  2836. ("ghc-data-default-instances-old-locale"
  2837. ,ghc-data-default-instances-old-locale)))
  2838. (home-page "https://hackage.haskell.org/package/data-default")
  2839. (synopsis "Types with default values")
  2840. (description
  2841. "This package defines a class for types with a default value, and
  2842. provides instances for types from the base, containers, dlist and old-locale
  2843. packages.")
  2844. (license license:bsd-3)))
  2845. (define-public ghc-data-default-class
  2846. (package
  2847. (name "ghc-data-default-class")
  2848. (version "0.1.2.0")
  2849. (source
  2850. (origin
  2851. (method url-fetch)
  2852. (uri (string-append
  2853. "https://hackage.haskell.org/package/data-default-class/"
  2854. "data-default-class-" version ".tar.gz"))
  2855. (sha256
  2856. (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
  2857. (build-system haskell-build-system)
  2858. (home-page "https://hackage.haskell.org/package/data-default-class")
  2859. (synopsis "Types with default values")
  2860. (description
  2861. "This package defines a class for types with default values.")
  2862. (license license:bsd-3)))
  2863. (define-public ghc-data-default-instances-base
  2864. (package
  2865. (name "ghc-data-default-instances-base")
  2866. (version "0.1.0.1")
  2867. (source
  2868. (origin
  2869. (method url-fetch)
  2870. (uri (string-append
  2871. "https://hackage.haskell.org/package/"
  2872. "data-default-instances-base/"
  2873. "data-default-instances-base-" version ".tar.gz"))
  2874. (sha256
  2875. (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
  2876. (build-system haskell-build-system)
  2877. (inputs
  2878. `(("ghc-data-default-class" ,ghc-data-default-class)))
  2879. (home-page "https://hackage.haskell.org/package/data-default-instances-base")
  2880. (synopsis "Default instances for types in base")
  2881. (description
  2882. "This package provides default instances for types from the base
  2883. package.")
  2884. (license license:bsd-3)))
  2885. (define-public ghc-data-default-instances-containers
  2886. (package
  2887. (name "ghc-data-default-instances-containers")
  2888. (version "0.0.1")
  2889. (source
  2890. (origin
  2891. (method url-fetch)
  2892. (uri (string-append
  2893. "https://hackage.haskell.org/package/"
  2894. "data-default-instances-containers/"
  2895. "data-default-instances-containers-" version ".tar.gz"))
  2896. (sha256
  2897. (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
  2898. (build-system haskell-build-system)
  2899. (inputs
  2900. `(("ghc-data-default-class" ,ghc-data-default-class)))
  2901. (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
  2902. (synopsis "Default instances for types in containers")
  2903. (description "Provides default instances for types from the containers
  2904. package.")
  2905. (license license:bsd-3)))
  2906. (define-public ghc-data-default-instances-dlist
  2907. (package
  2908. (name "ghc-data-default-instances-dlist")
  2909. (version "0.0.1")
  2910. (source
  2911. (origin
  2912. (method url-fetch)
  2913. (uri (string-append
  2914. "https://hackage.haskell.org/package/"
  2915. "data-default-instances-dlist/"
  2916. "data-default-instances-dlist-" version ".tar.gz"))
  2917. (sha256
  2918. (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
  2919. (build-system haskell-build-system)
  2920. (inputs
  2921. `(("ghc-data-default-class" ,ghc-data-default-class)
  2922. ("ghc-dlist" ,ghc-dlist)))
  2923. (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
  2924. (synopsis "Default instances for types in dlist")
  2925. (description "Provides default instances for types from the dlist
  2926. package.")
  2927. (license license:bsd-3)))
  2928. (define-public ghc-data-default-instances-old-locale
  2929. (package
  2930. (name "ghc-data-default-instances-old-locale")
  2931. (version "0.0.1")
  2932. (source
  2933. (origin
  2934. (method url-fetch)
  2935. (uri (string-append
  2936. "https://hackage.haskell.org/package/"
  2937. "data-default-instances-old-locale/"
  2938. "data-default-instances-old-locale-" version ".tar.gz"))
  2939. (sha256
  2940. (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
  2941. (build-system haskell-build-system)
  2942. (inputs
  2943. `(("ghc-data-default-class" ,ghc-data-default-class)
  2944. ("ghc-old-locale" ,ghc-old-locale)))
  2945. (home-page
  2946. "https://hackage.haskell.org/package/data-default-instances-old-locale")
  2947. (synopsis "Default instances for types in old-locale")
  2948. (description "Provides Default instances for types from the old-locale
  2949. package.")
  2950. (license license:bsd-3)))
  2951. (define-public ghc-data-fix
  2952. (package
  2953. (name "ghc-data-fix")
  2954. (version "0.2.0")
  2955. (source
  2956. (origin
  2957. (method url-fetch)
  2958. (uri (string-append
  2959. "mirror://hackage/package/data-fix/"
  2960. "data-fix-" version ".tar.gz"))
  2961. (sha256
  2962. (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
  2963. (build-system haskell-build-system)
  2964. (home-page "https://github.com/spell-music/data-fix")
  2965. (synopsis "Fixpoint data types")
  2966. (description
  2967. "Fixpoint types and recursion schemes. If you define your AST as
  2968. fixpoint type, you get fold and unfold operations for free.
  2969. Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
  2970. (license license:bsd-3)))
  2971. (define-public ghc-data-hash
  2972. (package
  2973. (name "ghc-data-hash")
  2974. (version "0.2.0.1")
  2975. (source
  2976. (origin
  2977. (method url-fetch)
  2978. (uri (string-append "https://hackage.haskell.org/package/data-hash"
  2979. "/data-hash-" version ".tar.gz"))
  2980. (sha256
  2981. (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
  2982. (build-system haskell-build-system)
  2983. (inputs
  2984. `(("ghc-quickcheck" ,ghc-quickcheck)
  2985. ("ghc-test-framework" ,ghc-test-framework)
  2986. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  2987. (home-page "https://hackage.haskell.org/package/data-hash")
  2988. (synopsis "Combinators for building fast hashing functions")
  2989. (description
  2990. "This package provides combinators for building fast hashing functions.
  2991. It includes hashing functions for all basic Haskell98 types.")
  2992. (license license:bsd-3)))
  2993. (define-public ghc-data-ordlist
  2994. (package
  2995. (name "ghc-data-ordlist")
  2996. (version "0.4.7.0")
  2997. (source
  2998. (origin
  2999. (method url-fetch)
  3000. (uri (string-append
  3001. "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
  3002. version ".tar.gz"))
  3003. (sha256
  3004. (base32
  3005. "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
  3006. (build-system haskell-build-system)
  3007. (home-page "https://hackage.haskell.org/package/data-ordlist")
  3008. (synopsis "Set and bag operations on ordered lists")
  3009. (description
  3010. "This module provides set and multiset operations on ordered lists.")
  3011. (license license:bsd-3)))
  3012. (define-public ghc-dbus
  3013. (package
  3014. (name "ghc-dbus")
  3015. (version "1.2.7")
  3016. (source
  3017. (origin
  3018. (method url-fetch)
  3019. (uri
  3020. (string-append
  3021. "mirror://hackage/package/dbus/dbus-"
  3022. version ".tar.gz"))
  3023. (sha256
  3024. (base32
  3025. "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
  3026. (build-system haskell-build-system)
  3027. (inputs
  3028. `(("ghc-cereal" ,ghc-cereal)
  3029. ("ghc-conduit" ,ghc-conduit)
  3030. ("ghc-exceptions" ,ghc-exceptions)
  3031. ("ghc-lens" ,ghc-lens)
  3032. ("ghc-network" ,ghc-network)
  3033. ("ghc-random" ,ghc-random)
  3034. ("ghc-split" ,ghc-split)
  3035. ("ghc-th-lift" ,ghc-th-lift)
  3036. ("ghc-vector" ,ghc-vector)
  3037. ("ghc-xml-conduit" ,ghc-xml-conduit)
  3038. ("ghc-xml-types" ,ghc-xml-types)))
  3039. (native-inputs
  3040. `(("ghc-extra" ,ghc-extra)
  3041. ("ghc-quickcheck" ,ghc-quickcheck)
  3042. ("ghc-resourcet" ,ghc-resourcet)
  3043. ("ghc-tasty" ,ghc-tasty)
  3044. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  3045. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  3046. ;; FIXME - Some tests try to talk to network.
  3047. (arguments `(#:tests? #f))
  3048. (home-page "https://github.com/rblaze/haskell-dbus")
  3049. (synopsis "Client library for the D-Bus IPC system")
  3050. (description
  3051. "D-Bus is a simple, message-based protocol for inter-process
  3052. communication, which allows applications to interact with other parts
  3053. of the machine and the user's session using remote procedure
  3054. calls. D-Bus is a essential part of the modern Linux desktop, where
  3055. it replaces earlier protocols such as CORBA and DCOP. This library
  3056. is an implementation of the D-Bus protocol in Haskell. It can be used
  3057. to add D-Bus support to Haskell applications, without the awkward
  3058. interfaces common to foreign bindings.")
  3059. (license license:asl2.0)))
  3060. (define-public ghc-decimal
  3061. (package
  3062. (name "ghc-decimal")
  3063. (version "0.5.1")
  3064. (source
  3065. (origin
  3066. (method url-fetch)
  3067. (uri (string-append
  3068. "https://hackage.haskell.org/package/Decimal/Decimal-"
  3069. version
  3070. ".tar.gz"))
  3071. (sha256
  3072. (base32
  3073. "0k7kh05mr2f54w1lpgq1nln0h8k6s6h99dyp5jzsb9cfbb3aap2p"))))
  3074. (build-system haskell-build-system)
  3075. (native-inputs
  3076. `(("ghc-hunit" ,ghc-hunit)
  3077. ("ghc-quickcheck" ,ghc-quickcheck)
  3078. ("ghc-test-framework" ,ghc-test-framework)
  3079. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  3080. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  3081. (home-page "https://github.com/PaulJohnson/Haskell-Decimal")
  3082. (synopsis "Decimal numbers with variable precision")
  3083. (description
  3084. "A decimal number has an integer mantissa and a negative exponent.
  3085. The exponent can be interpreted as the number of decimal places in the
  3086. value.")
  3087. (license license:bsd-3)))
  3088. (define-public ghc-deepseq-generics
  3089. (package
  3090. (name "ghc-deepseq-generics")
  3091. (version "0.2.0.0")
  3092. (source (origin
  3093. (method url-fetch)
  3094. (uri (string-append "https://hackage.haskell.org/package/"
  3095. "deepseq-generics/deepseq-generics-"
  3096. version ".tar.gz"))
  3097. (sha256
  3098. (base32
  3099. "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
  3100. (build-system haskell-build-system)
  3101. (arguments
  3102. `(#:cabal-revision
  3103. ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
  3104. (native-inputs
  3105. `(("ghc-hunit" ,ghc-hunit)
  3106. ("ghc-test-framework" ,ghc-test-framework)
  3107. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  3108. (home-page "https://github.com/hvr/deepseq-generics")
  3109. (synopsis "Generic RNF implementation")
  3110. (description
  3111. "This package provides a @code{GHC.Generics}-based
  3112. @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
  3113. providing an @code{rnf} implementation.")
  3114. (license license:bsd-3)))
  3115. (define-public ghc-dense-linear-algebra
  3116. (package
  3117. (name "ghc-dense-linear-algebra")
  3118. (version "0.1.0.0")
  3119. (source
  3120. (origin
  3121. (method url-fetch)
  3122. (uri (string-append "https://hackage.haskell.org/package/"
  3123. "dense-linear-algebra/dense-linear-algebra-"
  3124. version ".tar.gz"))
  3125. (sha256
  3126. (base32
  3127. "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
  3128. (build-system haskell-build-system)
  3129. (inputs
  3130. `(("ghc-math-functions" ,ghc-math-functions)
  3131. ("ghc-primitive" ,ghc-primitive)
  3132. ("ghc-vector" ,ghc-vector)
  3133. ("ghc-vector-algorithms" ,ghc-vector-algorithms)
  3134. ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
  3135. ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
  3136. (native-inputs
  3137. `(("ghc-hspec" ,ghc-hspec)
  3138. ("ghc-quickcheck" ,ghc-quickcheck)))
  3139. (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
  3140. (synopsis "Simple and incomplete implementation of linear algebra")
  3141. (description "This library is simply a collection of linear-algebra
  3142. related modules split from the statistics library.")
  3143. (license license:bsd-2)))
  3144. (define-public ghc-descriptive
  3145. (package
  3146. (name "ghc-descriptive")
  3147. (version "0.9.5")
  3148. (source
  3149. (origin
  3150. (method url-fetch)
  3151. (uri (string-append
  3152. "https://hackage.haskell.org/package/descriptive/descriptive-"
  3153. version
  3154. ".tar.gz"))
  3155. (sha256
  3156. (base32
  3157. "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
  3158. (build-system haskell-build-system)
  3159. (inputs
  3160. `(("ghc-aeson" ,ghc-aeson)
  3161. ("ghc-bifunctors" ,ghc-bifunctors)
  3162. ("ghc-scientific" ,ghc-scientific)
  3163. ("ghc-vector" ,ghc-vector)))
  3164. (native-inputs
  3165. `(("ghc-hunit" ,ghc-hunit)
  3166. ("ghc-hspec" ,ghc-hspec)))
  3167. (home-page
  3168. "https://github.com/chrisdone/descriptive")
  3169. (synopsis
  3170. "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
  3171. (description
  3172. "This package provides datatypes and functions for creating consumers
  3173. and parsers with useful semantics.")
  3174. (license license:bsd-3)))
  3175. (define-public ghc-diagrams-core
  3176. (package
  3177. (name "ghc-diagrams-core")
  3178. (version "1.4.2")
  3179. (source
  3180. (origin
  3181. (method url-fetch)
  3182. (uri (string-append "https://hackage.haskell.org/package/"
  3183. "diagrams-core/diagrams-core-" version ".tar.gz"))
  3184. (sha256
  3185. (base32
  3186. "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
  3187. (build-system haskell-build-system)
  3188. (inputs
  3189. `(("ghc-unordered-containers" ,ghc-unordered-containers)
  3190. ("ghc-semigroups" ,ghc-semigroups)
  3191. ("ghc-monoid-extras" ,ghc-monoid-extras)
  3192. ("ghc-dual-tree" ,ghc-dual-tree)
  3193. ("ghc-lens" ,ghc-lens)
  3194. ("ghc-linear" ,ghc-linear)
  3195. ("ghc-adjunctions" ,ghc-adjunctions)
  3196. ("ghc-distributive" ,ghc-distributive)
  3197. ("ghc-profunctors" ,ghc-profunctors)))
  3198. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3199. (synopsis "Core libraries for diagrams embedded domain-specific language")
  3200. (description "This package provides the core modules underlying
  3201. diagrams, an embedded domain-specific language for compositional,
  3202. declarative drawing.")
  3203. (license license:bsd-3)))
  3204. (define-public ghc-diagrams-lib
  3205. (package
  3206. (name "ghc-diagrams-lib")
  3207. (version "1.4.2.3")
  3208. (source
  3209. (origin
  3210. (method url-fetch)
  3211. (uri (string-append "https://hackage.haskell.org/package/"
  3212. "diagrams-lib/diagrams-lib-" version ".tar.gz"))
  3213. (sha256
  3214. (base32
  3215. "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
  3216. (build-system haskell-build-system)
  3217. (inputs
  3218. `(("ghc-semigroups" ,ghc-semigroups)
  3219. ("ghc-monoid-extras" ,ghc-monoid-extras)
  3220. ("ghc-dual-tree" ,ghc-dual-tree)
  3221. ("ghc-diagrams-core" ,ghc-diagrams-core)
  3222. ("ghc-diagrams-solve" ,ghc-diagrams-solve)
  3223. ("ghc-active" ,ghc-active)
  3224. ("ghc-colour" ,ghc-colour)
  3225. ("ghc-data-default-class" ,ghc-data-default-class)
  3226. ("ghc-fingertree" ,ghc-fingertree)
  3227. ("ghc-intervals" ,ghc-intervals)
  3228. ("ghc-lens" ,ghc-lens)
  3229. ("ghc-tagged" ,ghc-tagged)
  3230. ("ghc-optparse-applicative" ,ghc-optparse-applicative)
  3231. ("ghc-juicypixels" ,ghc-juicypixels)
  3232. ("ghc-hashable" ,ghc-hashable)
  3233. ("ghc-linear" ,ghc-linear)
  3234. ("ghc-adjunctions" ,ghc-adjunctions)
  3235. ("ghc-distributive" ,ghc-distributive)
  3236. ("ghc-fsnotify" ,ghc-fsnotify)
  3237. ("ghc-unordered-containers" ,ghc-unordered-containers)
  3238. ("ghc-profunctors" ,ghc-profunctors)
  3239. ("ghc-exceptions" ,ghc-exceptions)
  3240. ("ghc-cereal" ,ghc-cereal)))
  3241. (native-inputs
  3242. `(("ghc-tasty" ,ghc-tasty)
  3243. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  3244. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  3245. ("ghc-numeric-extras" ,ghc-numeric-extras)))
  3246. (arguments
  3247. `(#:cabal-revision
  3248. ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
  3249. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3250. (synopsis "Embedded domain-specific language for declarative graphics")
  3251. (description "Diagrams is a flexible, extensible embedded
  3252. domain-specific language (EDSL) for creating graphics of many types.
  3253. Graphics can be created in arbitrary vector spaces and rendered with
  3254. multiple backends. This package provides a standard library of
  3255. primitives and operations for creating diagrams.")
  3256. (license license:bsd-3)))
  3257. (define-public ghc-diagrams-solve
  3258. (package
  3259. (name "ghc-diagrams-solve")
  3260. (version "0.1.1")
  3261. (source
  3262. (origin
  3263. (method url-fetch)
  3264. (uri (string-append "https://hackage.haskell.org/package/"
  3265. "diagrams-solve/diagrams-solve-"
  3266. version ".tar.gz"))
  3267. (sha256
  3268. (base32
  3269. "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
  3270. (build-system haskell-build-system)
  3271. (native-inputs
  3272. `(("ghc-tasty" ,ghc-tasty)
  3273. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  3274. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  3275. (arguments
  3276. `(#:cabal-revision
  3277. ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
  3278. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3279. (synopsis "Pure Haskell solver routines used by diagrams")
  3280. (description "This library provides Pure Haskell solver routines for
  3281. use by the
  3282. @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
  3283. diagrams framework}. It currently includes routines for finding real
  3284. roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
  3285. and cyclic tridiagonal linear systems.")
  3286. (license license:bsd-3)))
  3287. (define-public ghc-diagrams-svg
  3288. (package
  3289. (name "ghc-diagrams-svg")
  3290. (version "1.4.2")
  3291. (source
  3292. (origin
  3293. (method url-fetch)
  3294. (uri (string-append "https://hackage.haskell.org/package/"
  3295. "diagrams-svg/diagrams-svg-" version ".tar.gz"))
  3296. (sha256
  3297. (base32
  3298. "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
  3299. (build-system haskell-build-system)
  3300. (inputs
  3301. `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
  3302. ("ghc-colour" ,ghc-colour)
  3303. ("ghc-diagrams-core" ,ghc-diagrams-core)
  3304. ("ghc-diagrams-lib" ,ghc-diagrams-lib)
  3305. ("ghc-monoid-extras" ,ghc-monoid-extras)
  3306. ("ghc-svg-builder" ,ghc-svg-builder)
  3307. ("ghc-juicypixels" ,ghc-juicypixels)
  3308. ("ghc-split" ,ghc-split)
  3309. ("ghc-lens" ,ghc-lens)
  3310. ("ghc-hashable" ,ghc-hashable)
  3311. ("ghc-optparse-applicative" ,ghc-optparse-applicative)
  3312. ("ghc-semigroups" ,ghc-semigroups)))
  3313. (arguments
  3314. `(#:cabal-revision
  3315. ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
  3316. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3317. (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
  3318. (description "This package provides a modular backend for rendering
  3319. diagrams created with the diagrams embedded domain-specific
  3320. language (EDSL) to Scalable Vector Graphics (SVG) files.")
  3321. (license license:bsd-3)))
  3322. (define-public ghc-dictionary-sharing
  3323. (package
  3324. (name "ghc-dictionary-sharing")
  3325. (version "0.1.0.0")
  3326. (source
  3327. (origin
  3328. (method url-fetch)
  3329. (uri (string-append "https://hackage.haskell.org/package/"
  3330. "dictionary-sharing/dictionary-sharing-"
  3331. version ".tar.gz"))
  3332. (sha256
  3333. (base32
  3334. "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
  3335. (build-system haskell-build-system)
  3336. (arguments
  3337. `(#:cabal-revision
  3338. ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
  3339. (home-page "https://hackage.haskell.org/package/dictionary-sharing")
  3340. (synopsis "Sharing/memoization of class members")
  3341. (description "This library provides tools for ensuring that class
  3342. members are shared.")
  3343. (license license:bsd-3)))
  3344. (define-public ghc-diff
  3345. (package
  3346. (name "ghc-diff")
  3347. (version "0.3.4")
  3348. (source (origin
  3349. (method url-fetch)
  3350. (uri (string-append "https://hackage.haskell.org/package/"
  3351. "Diff/Diff-" version ".tar.gz"))
  3352. (patches (search-patches "ghc-diff-swap-cover-args.patch"))
  3353. (sha256
  3354. (base32
  3355. "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
  3356. (build-system haskell-build-system)
  3357. (native-inputs
  3358. `(("ghc-quickcheck" ,ghc-quickcheck)
  3359. ("ghc-test-framework" ,ghc-test-framework)
  3360. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  3361. (home-page "https://hub.darcs.net/sterlingclover/Diff")
  3362. (synopsis "O(ND) diff algorithm in Haskell")
  3363. (description
  3364. "This package provides an implementation of the standard diff algorithm,
  3365. and utilities for pretty printing.")
  3366. (license license:bsd-3)))
  3367. (define-public ghc-disk-free-space
  3368. (package
  3369. (name "ghc-disk-free-space")
  3370. (version "0.1.0.1")
  3371. (source
  3372. (origin
  3373. (method url-fetch)
  3374. (uri (string-append "https://hackage.haskell.org/package/"
  3375. "disk-free-space/disk-free-space-"
  3376. version ".tar.gz"))
  3377. (sha256
  3378. (base32
  3379. "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
  3380. (build-system haskell-build-system)
  3381. (home-page "https://github.com/redneb/disk-free-space")
  3382. (synopsis "Retrieve information about disk space usage")
  3383. (description "A cross-platform library for retrieving information about
  3384. disk space usage.")
  3385. (license license:bsd-3)))
  3386. (define-public ghc-distributive
  3387. (package
  3388. (name "ghc-distributive")
  3389. (version "0.6.2")
  3390. (source
  3391. (origin
  3392. (method url-fetch)
  3393. (uri (string-append
  3394. "https://hackage.haskell.org/package/distributive/distributive-"
  3395. version
  3396. ".tar.gz"))
  3397. (sha256
  3398. (base32
  3399. "1j93zkfffm6s16kgr0j0z87y5ds28rw0r2gyc5ncwcylvrqy4kl2"))))
  3400. (build-system haskell-build-system)
  3401. (inputs
  3402. `(("ghc-tagged" ,ghc-tagged)
  3403. ("ghc-base-orphans" ,ghc-base-orphans)
  3404. ("ghc-transformers-compat" ,ghc-transformers-compat)
  3405. ("ghc-semigroups" ,ghc-semigroups)
  3406. ("ghc-generic-deriving" ,ghc-generic-deriving)))
  3407. (native-inputs
  3408. `(("cabal-doctest" ,cabal-doctest)
  3409. ("ghc-doctest" ,ghc-doctest)
  3410. ("ghc-hspec" ,ghc-hspec)
  3411. ("hspec-discover" ,hspec-discover)))
  3412. (home-page "https://github.com/ekmett/distributive/")
  3413. (synopsis "Distributive functors for Haskell")
  3414. (description "This package provides distributive functors for Haskell.
  3415. Dual to @code{Traversable}.")
  3416. (license license:bsd-3)))
  3417. (define-public ghc-dlist
  3418. (package
  3419. (name "ghc-dlist")
  3420. (version "0.8.0.7")
  3421. (source
  3422. (origin
  3423. (method url-fetch)
  3424. (uri (string-append
  3425. "https://hackage.haskell.org/package/dlist/dlist-"
  3426. version
  3427. ".tar.gz"))
  3428. (sha256
  3429. (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
  3430. (build-system haskell-build-system)
  3431. (inputs
  3432. `(("ghc-quickcheck" ,ghc-quickcheck)))
  3433. (home-page "https://github.com/spl/dlist")
  3434. (synopsis "Difference lists")
  3435. (description
  3436. "Difference lists are a list-like type supporting O(1) append. This is
  3437. particularly useful for efficient logging and pretty printing (e.g. with the
  3438. Writer monad), where list append quickly becomes too expensive.")
  3439. (license license:bsd-3)))
  3440. (define-public ghc-doctemplates
  3441. (package
  3442. (name "ghc-doctemplates")
  3443. (version "0.2.2.1")
  3444. (source
  3445. (origin
  3446. (method url-fetch)
  3447. (uri (string-append "https://hackage.haskell.org/package/"
  3448. "doctemplates/doctemplates-"
  3449. version ".tar.gz"))
  3450. (sha256
  3451. (base32
  3452. "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
  3453. (build-system haskell-build-system)
  3454. (inputs
  3455. `(("ghc-aeson" ,ghc-aeson)
  3456. ("ghc-blaze-markup" ,ghc-blaze-markup)
  3457. ("ghc-blaze-html" ,ghc-blaze-html)
  3458. ("ghc-vector" ,ghc-vector)
  3459. ("ghc-unordered-containers" ,ghc-unordered-containers)
  3460. ("ghc-scientific" ,ghc-scientific)))
  3461. (native-inputs
  3462. `(("ghc-hspec" ,ghc-hspec)))
  3463. (home-page "https://github.com/jgm/doctemplates#readme")
  3464. (synopsis "Pandoc-style document templates")
  3465. (description
  3466. "This package provides a simple text templating system used by pandoc.")
  3467. (license license:bsd-3)))
  3468. (define-public ghc-doctest
  3469. (package
  3470. (name "ghc-doctest")
  3471. (version "0.16.2")
  3472. (source
  3473. (origin
  3474. (method url-fetch)
  3475. (uri (string-append
  3476. "https://hackage.haskell.org/package/doctest/doctest-"
  3477. version
  3478. ".tar.gz"))
  3479. (sha256
  3480. (base32
  3481. "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
  3482. (build-system haskell-build-system)
  3483. (arguments `(#:tests? #f)) ; FIXME: missing test framework
  3484. (inputs
  3485. `(("ghc-base-compat" ,ghc-base-compat)
  3486. ("ghc-code-page" ,ghc-code-page)
  3487. ("ghc-paths" ,ghc-paths)
  3488. ("ghc-syb" ,ghc-syb)))
  3489. (native-inputs
  3490. `(("ghc-hunit" ,ghc-hunit)
  3491. ("ghc-quickcheck" ,ghc-quickcheck)
  3492. ("ghc-hspec" ,ghc-hspec)
  3493. ("ghc-mockery" ,ghc-mockery)
  3494. ("ghc-setenv" ,ghc-setenv)
  3495. ("ghc-silently" ,ghc-silently)
  3496. ("ghc-stringbuilder" ,ghc-stringbuilder)))
  3497. (home-page
  3498. "https://github.com/sol/doctest#readme")
  3499. (synopsis "Test interactive Haskell examples")
  3500. (description "The doctest program checks examples in source code comments.
  3501. It is modeled after doctest for Python, see
  3502. @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
  3503. (license license:expat)))
  3504. (define-public ghc-dotgen
  3505. (package
  3506. (name "ghc-dotgen")
  3507. (version "0.4.2")
  3508. (source
  3509. (origin
  3510. (method url-fetch)
  3511. (uri (string-append
  3512. "mirror://hackage/package/dotgen/dotgen-"
  3513. version
  3514. ".tar.gz"))
  3515. (sha256
  3516. (base32
  3517. "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
  3518. (build-system haskell-build-system)
  3519. (home-page "https://github.com/ku-fpg/dotgen")
  3520. (synopsis
  3521. "Simple interface for building .dot graph files")
  3522. (description
  3523. "This package provides a simple interface for building .dot graph
  3524. files, for input into the dot and graphviz tools. It includes a
  3525. monadic interface for building graphs.")
  3526. (license license:bsd-3)))
  3527. (define-public ghc-double-conversion
  3528. (package
  3529. (name "ghc-double-conversion")
  3530. (version "2.0.2.0")
  3531. (source
  3532. (origin
  3533. (method url-fetch)
  3534. (uri (string-append "https://hackage.haskell.org/package/"
  3535. "double-conversion/double-conversion-"
  3536. version ".tar.gz"))
  3537. (sha256
  3538. (base32
  3539. "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
  3540. (build-system haskell-build-system)
  3541. (native-inputs
  3542. `(("ghc-hunit" ,ghc-hunit)
  3543. ("ghc-test-framework" ,ghc-test-framework)
  3544. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  3545. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  3546. (home-page "https://github.com/bos/double-conversion")
  3547. (synopsis "Fast conversion between double precision floating point and text")
  3548. (description
  3549. "This package provides a library that performs fast, accurate conversion
  3550. between double precision floating point and text.")
  3551. (license license:bsd-3)))
  3552. (define-public ghc-dual-tree
  3553. (package
  3554. (name "ghc-dual-tree")
  3555. (version "0.2.2.1")
  3556. (source
  3557. (origin
  3558. (method url-fetch)
  3559. (uri (string-append "https://hackage.haskell.org/package/"
  3560. "dual-tree/dual-tree-" version ".tar.gz"))
  3561. (sha256
  3562. (base32
  3563. "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
  3564. (build-system haskell-build-system)
  3565. (inputs
  3566. `(("ghc-semigroups" ,ghc-semigroups)
  3567. ("ghc-newtype-generics" ,ghc-newtype-generics)
  3568. ("ghc-monoid-extras" ,ghc-monoid-extras)))
  3569. (native-inputs
  3570. `(("ghc-quickcheck" ,ghc-quickcheck)
  3571. ("ghc-testing-feat" ,ghc-testing-feat)))
  3572. (home-page "https://hackage.haskell.org/package/dual-tree")
  3573. (synopsis "Rose trees with cached and accumulating monoidal annotations")
  3574. (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
  3575. cached) and downwards-traveling (i.e. accumulating) monoidal
  3576. annotations. This is used as the core data structure underlying the
  3577. @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
  3578. diagrams framework}, but potentially has other applications as well.")
  3579. (license license:bsd-3)))
  3580. (define-public ghc-easy-file
  3581. (package
  3582. (name "ghc-easy-file")
  3583. (version "0.2.2")
  3584. (source
  3585. (origin
  3586. (method url-fetch)
  3587. (uri (string-append
  3588. "https://hackage.haskell.org/package/easy-file/easy-file-"
  3589. version
  3590. ".tar.gz"))
  3591. (sha256
  3592. (base32
  3593. "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
  3594. (build-system haskell-build-system)
  3595. (home-page
  3596. "https://github.com/kazu-yamamoto/easy-file")
  3597. (synopsis "File handling library for Haskell")
  3598. (description "This library provides file handling utilities for Haskell.")
  3599. (license license:bsd-3)))
  3600. (define-public ghc-easyplot
  3601. (package
  3602. (name "ghc-easyplot")
  3603. (version "1.0")
  3604. (source
  3605. (origin
  3606. (method url-fetch)
  3607. (uri (string-append
  3608. "https://hackage.haskell.org/package/easyplot/easyplot-"
  3609. version ".tar.gz"))
  3610. (sha256
  3611. (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
  3612. (build-system haskell-build-system)
  3613. (propagated-inputs `(("gnuplot" ,gnuplot)))
  3614. (arguments
  3615. `(#:phases (modify-phases %standard-phases
  3616. (add-after 'unpack 'fix-setup-suffix
  3617. (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
  3618. (home-page "https://hub.darcs.net/scravy/easyplot")
  3619. (synopsis "Haskell plotting library based on gnuplot")
  3620. (description "This package provides a plotting library for
  3621. Haskell, using gnuplot for rendering.")
  3622. (license license:expat)))
  3623. (define-public ghc-echo
  3624. (package
  3625. (name "ghc-echo")
  3626. (version "0.1.3")
  3627. (source
  3628. (origin
  3629. (method url-fetch)
  3630. (uri (string-append
  3631. "https://hackage.haskell.org/package/echo/echo-"
  3632. version ".tar.gz"))
  3633. (sha256
  3634. (base32
  3635. "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
  3636. (build-system haskell-build-system)
  3637. (arguments
  3638. `(#:cabal-revision
  3639. ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
  3640. (home-page "https://github.com/RyanGlScott/echo")
  3641. (synopsis "Echo terminal input portably")
  3642. (description "The @code{base} library exposes the @code{hGetEcho} and
  3643. @code{hSetEcho} functions for querying and setting echo status, but
  3644. unfortunately, neither function works with MinTTY consoles on Windows.
  3645. This library provides an alternative interface which works with both
  3646. MinTTY and other consoles.")
  3647. (license license:bsd-3)))
  3648. (define-public ghc-edisonapi
  3649. (package
  3650. (name "ghc-edisonapi")
  3651. (version "1.3.1")
  3652. (source
  3653. (origin
  3654. (method url-fetch)
  3655. (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
  3656. "/EdisonAPI-" version ".tar.gz"))
  3657. (sha256
  3658. (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
  3659. (build-system haskell-build-system)
  3660. (home-page "http://rwd.rdockins.name/edison/home/")
  3661. (synopsis "Library of efficient, purely-functional data structures (API)")
  3662. (description
  3663. "Edison is a library of purely functional data structures written by
  3664. Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
  3665. value EDiSon (Efficient Data Structures). Edison provides several families of
  3666. abstractions, each with multiple implementations. The main abstractions
  3667. provided by Edison are: Sequences such as stacks, queues, and dequeues;
  3668. Collections such as sets, bags and heaps; and Associative Collections such as
  3669. finite maps and priority queues where the priority and element are distinct.")
  3670. (license license:expat)))
  3671. (define-public ghc-edisoncore
  3672. (package
  3673. (name "ghc-edisoncore")
  3674. (version "1.3.2.1")
  3675. (source
  3676. (origin
  3677. (method url-fetch)
  3678. (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
  3679. "/EdisonCore-" version ".tar.gz"))
  3680. (sha256
  3681. (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
  3682. (build-system haskell-build-system)
  3683. (inputs
  3684. `(("ghc-quickcheck" ,ghc-quickcheck)
  3685. ("ghc-edisonapi" ,ghc-edisonapi)))
  3686. (home-page "http://rwd.rdockins.name/edison/home/")
  3687. (synopsis "Library of efficient, purely-functional data structures")
  3688. (description
  3689. "This package provides the core Edison data structure implementations,
  3690. including multiple sequence, set, bag, and finite map concrete implementations
  3691. with various performance characteristics.")
  3692. (license license:expat)))
  3693. (define-public ghc-edit-distance
  3694. (package
  3695. (name "ghc-edit-distance")
  3696. (version "0.2.2.1")
  3697. (source
  3698. (origin
  3699. (method url-fetch)
  3700. (uri (string-append "https://hackage.haskell.org/package/edit-distance"
  3701. "/edit-distance-" version ".tar.gz"))
  3702. (sha256
  3703. (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
  3704. (build-system haskell-build-system)
  3705. (arguments
  3706. `(#:phases
  3707. (modify-phases %standard-phases
  3708. (add-before 'configure 'update-constraints
  3709. (lambda _
  3710. (substitute* "edit-distance.cabal"
  3711. (("QuickCheck >= 2\\.4 && <2\\.9")
  3712. "QuickCheck >= 2.4 && < 2.14")))))))
  3713. (inputs
  3714. `(("ghc-random" ,ghc-random)
  3715. ("ghc-test-framework" ,ghc-test-framework)
  3716. ("ghc-quickcheck" ,ghc-quickcheck)
  3717. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  3718. (home-page "https://github.com/phadej/edit-distance")
  3719. (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
  3720. (description
  3721. "This package provides optimized functions to determine the edit
  3722. distances for fuzzy matching, including Levenshtein and restricted
  3723. Damerau-Levenshtein algorithms.")
  3724. (license license:bsd-3)))
  3725. (define-public ghc-edit-distance-vector
  3726. (package
  3727. (name "ghc-edit-distance-vector")
  3728. (version "1.0.0.4")
  3729. (source
  3730. (origin
  3731. (method url-fetch)
  3732. (uri (string-append "https://hackage.haskell.org/package/"
  3733. "edit-distance-vector/edit-distance-vector-"
  3734. version ".tar.gz"))
  3735. (sha256
  3736. (base32
  3737. "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
  3738. (build-system haskell-build-system)
  3739. (inputs
  3740. `(("ghc-vector" ,ghc-vector)))
  3741. (native-inputs
  3742. `(("ghc-quickcheck" ,ghc-quickcheck)
  3743. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
  3744. (home-page "https://github.com/thsutton/edit-distance-vector")
  3745. (synopsis "Calculate edit distances and edit scripts between vectors")
  3746. (description "This package provides implementation of the
  3747. Wagner-Fischer dynamic programming algorithm to find the optimal edit
  3748. script and cost between two sequences. The implementation in this
  3749. package is specialised to sequences represented with @code{Data.Vector}
  3750. but is otherwise agnostic to:
  3751. @itemize
  3752. @item The type of values in the vectors;
  3753. @item The type representing edit operations; and
  3754. @item The type representing the cost of operations.
  3755. @end itemize")
  3756. (license license:bsd-3)) )
  3757. (define-public ghc-either
  3758. (package
  3759. (name "ghc-either")
  3760. (version "5.0.1.1")
  3761. (source
  3762. (origin
  3763. (method url-fetch)
  3764. (uri (string-append "https://hackage.haskell.org/package/"
  3765. "either-" version "/"
  3766. "either-" version ".tar.gz"))
  3767. (sha256
  3768. (base32
  3769. "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
  3770. (build-system haskell-build-system)
  3771. (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
  3772. ("ghc-exceptions" ,ghc-exceptions)
  3773. ("ghc-free" ,ghc-free)
  3774. ("ghc-monad-control" ,ghc-monad-control)
  3775. ("ghc-manodrandom" ,ghc-monadrandom)
  3776. ("ghc-mmorph" ,ghc-mmorph)
  3777. ("ghc-profunctors" ,ghc-profunctors)
  3778. ("ghc-semigroups" ,ghc-semigroups)
  3779. ("ghc-semigroupoids" ,ghc-semigroupoids)
  3780. ("ghc-transformers-base" ,ghc-transformers-base)))
  3781. (native-inputs
  3782. `(("ghc-quickcheck" ,ghc-quickcheck)
  3783. ("ghc-test-framework" ,ghc-test-framework)
  3784. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  3785. (home-page "https://github.com/ekmett/either")
  3786. (synopsis "Provides an either monad transformer for Haskell")
  3787. (description "This Haskell package provides an either monad transformer.")
  3788. (license license:bsd-3)))
  3789. (define-public ghc-email-validate
  3790. (package
  3791. (name "ghc-email-validate")
  3792. (version "2.3.2.12")
  3793. (source
  3794. (origin
  3795. (method url-fetch)
  3796. (uri (string-append
  3797. "https://hackage.haskell.org/package/"
  3798. "email-validate/email-validate-"
  3799. version
  3800. ".tar.gz"))
  3801. (sha256
  3802. (base32
  3803. "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
  3804. (build-system haskell-build-system)
  3805. (inputs
  3806. `(("ghc-attoparsec" ,ghc-attoparsec)
  3807. ("ghc-hspec" ,ghc-hspec)
  3808. ("ghc-quickcheck" ,ghc-quickcheck)
  3809. ("ghc-doctest" ,ghc-doctest)))
  3810. (home-page
  3811. "https://github.com/Porges/email-validate-hs")
  3812. (synopsis "Email address validator for Haskell")
  3813. (description
  3814. "This Haskell package provides a validator that can validate an email
  3815. address string against RFC 5322.")
  3816. (license license:bsd-3)))
  3817. (define-public ghc-enclosed-exceptions
  3818. (package
  3819. (name "ghc-enclosed-exceptions")
  3820. (version "1.0.3")
  3821. (source (origin
  3822. (method url-fetch)
  3823. (uri (string-append "https://hackage.haskell.org/package/"
  3824. "enclosed-exceptions/enclosed-exceptions-"
  3825. version ".tar.gz"))
  3826. (sha256
  3827. (base32
  3828. "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
  3829. (build-system haskell-build-system)
  3830. ;; FIXME: one of the tests blocks forever:
  3831. ;; "thread blocked indefinitely in an MVar operation"
  3832. (arguments '(#:tests? #f))
  3833. (inputs
  3834. `(("ghc-lifted-base" ,ghc-lifted-base)
  3835. ("ghc-monad-control" ,ghc-monad-control)
  3836. ("ghc-async" ,ghc-async)
  3837. ("ghc-transformers-base" ,ghc-transformers-base)))
  3838. (native-inputs
  3839. `(("ghc-hspec" ,ghc-hspec)
  3840. ("ghc-quickcheck" ,ghc-quickcheck)))
  3841. (home-page "https://github.com/jcristovao/enclosed-exceptions")
  3842. (synopsis "Catch all exceptions from within an enclosed computation")
  3843. (description
  3844. "This library implements a technique to catch all exceptions raised
  3845. within an enclosed computation, while remaining responsive to (external)
  3846. asynchronous exceptions.")
  3847. (license license:expat)))
  3848. (define-public ghc-equivalence
  3849. (package
  3850. (name "ghc-equivalence")
  3851. (version "0.3.5")
  3852. (source
  3853. (origin
  3854. (method url-fetch)
  3855. (uri (string-append "https://hackage.haskell.org/package/equivalence"
  3856. "/equivalence-" version ".tar.gz"))
  3857. (sha256
  3858. (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
  3859. (build-system haskell-build-system)
  3860. (inputs
  3861. `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
  3862. ("ghc-transformers-compat" ,ghc-transformers-compat)
  3863. ("ghc-fail" ,ghc-fail)
  3864. ("ghc-quickcheck" ,ghc-quickcheck)))
  3865. (home-page "https://github.com/pa-ba/equivalence")
  3866. (synopsis "Maintaining an equivalence relation implemented as union-find")
  3867. (description
  3868. "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
  3869. Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
  3870. 22(2), 1975) in order to maintain an equivalence relation. This
  3871. implementation is a port of the @code{union-find} package using the @code{ST}
  3872. monad transformer (instead of the IO monad).")
  3873. (license license:bsd-3)))
  3874. (define-public ghc-erf
  3875. (package
  3876. (name "ghc-erf")
  3877. (version "2.0.0.0")
  3878. (source
  3879. (origin
  3880. (method url-fetch)
  3881. (uri (string-append "https://hackage.haskell.org/package/"
  3882. "erf-" version "/"
  3883. "erf-" version ".tar.gz"))
  3884. (sha256
  3885. (base32
  3886. "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
  3887. (build-system haskell-build-system)
  3888. (home-page "https://hackage.haskell.org/package/erf")
  3889. (synopsis "The error function, erf, and related functions for Haskell")
  3890. (description "This Haskell library provides a type class for the
  3891. error function, erf, and related functions. Instances for Float and
  3892. Double.")
  3893. (license license:bsd-3)))
  3894. (define-public ghc-errorcall-eq-instance
  3895. (package
  3896. (name "ghc-errorcall-eq-instance")
  3897. (version "0.3.0")
  3898. (source
  3899. (origin
  3900. (method url-fetch)
  3901. (uri (string-append "https://hackage.haskell.org/package/"
  3902. "errorcall-eq-instance/errorcall-eq-instance-"
  3903. version ".tar.gz"))
  3904. (sha256
  3905. (base32
  3906. "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
  3907. (build-system haskell-build-system)
  3908. (inputs
  3909. `(("ghc-base-orphans" ,ghc-base-orphans)))
  3910. (native-inputs
  3911. `(("ghc-quickcheck" ,ghc-quickcheck)
  3912. ("ghc-hspec" ,ghc-hspec)
  3913. ("hspec-discover" ,hspec-discover)))
  3914. (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
  3915. (synopsis "Orphan Eq instance for ErrorCall")
  3916. (description
  3917. "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
  3918. This package provides an orphan instance.")
  3919. (license license:expat)))
  3920. (define-public ghc-errors
  3921. (package
  3922. (name "ghc-errors")
  3923. (version "2.3.0")
  3924. (source
  3925. (origin
  3926. (method url-fetch)
  3927. (uri (string-append "https://hackage.haskell.org/package/"
  3928. "errors-" version "/"
  3929. "errors-" version ".tar.gz"))
  3930. (sha256
  3931. (base32
  3932. "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
  3933. (build-system haskell-build-system)
  3934. (inputs
  3935. `(("ghc-exceptions" ,ghc-exceptions)
  3936. ("ghc-transformers-compat" ,ghc-transformers-compat)
  3937. ("ghc-unexceptionalio" ,ghc-unexceptionalio)
  3938. ("ghc-safe" ,ghc-safe)))
  3939. (home-page "https://github.com/gabriel439/haskell-errors-library")
  3940. (synopsis "Error handling library for Haskell")
  3941. (description "This library encourages an error-handling style that
  3942. directly uses the type system, rather than out-of-band exceptions.")
  3943. (license license:bsd-3)))
  3944. (define-public ghc-esqueleto
  3945. (package
  3946. (name "ghc-esqueleto")
  3947. (version "3.3.1.1")
  3948. (source
  3949. (origin
  3950. (method url-fetch)
  3951. (uri (string-append "https://hackage.haskell.org/package/"
  3952. "esqueleto/esqueleto-" version ".tar.gz"))
  3953. (sha256
  3954. (base32
  3955. "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
  3956. (build-system haskell-build-system)
  3957. (arguments
  3958. `(#:haddock? #f ; Haddock reports an internal error.
  3959. #:phases
  3960. (modify-phases %standard-phases
  3961. ;; This package normally runs tests for the MySQL, PostgreSQL, and
  3962. ;; SQLite backends. Since we only have Haskell packages for
  3963. ;; SQLite, we remove the other two test suites. FIXME: Add the
  3964. ;; other backends and run all three test suites.
  3965. (add-before 'configure 'remove-non-sqlite-test-suites
  3966. (lambda _
  3967. (use-modules (ice-9 rdelim))
  3968. (with-atomic-file-replacement "esqueleto.cabal"
  3969. (lambda (in out)
  3970. (let loop ((line (read-line in 'concat)) (deleting? #f))
  3971. (cond
  3972. ((eof-object? line) #t)
  3973. ((string-every char-set:whitespace line)
  3974. (unless deleting? (display line out))
  3975. (loop (read-line in 'concat) #f))
  3976. ((member line '("test-suite mysql\n"
  3977. "test-suite postgresql\n"))
  3978. (loop (read-line in 'concat) #t))
  3979. (else
  3980. (unless deleting? (display line out))
  3981. (loop (read-line in 'concat) deleting?)))))))))))
  3982. (inputs
  3983. `(("ghc-blaze-html" ,ghc-blaze-html)
  3984. ("ghc-conduit" ,ghc-conduit)
  3985. ("ghc-monad-logger" ,ghc-monad-logger)
  3986. ("ghc-persistent" ,ghc-persistent)
  3987. ("ghc-resourcet" ,ghc-resourcet)
  3988. ("ghc-tagged" ,ghc-tagged)
  3989. ("ghc-unliftio" ,ghc-unliftio)
  3990. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  3991. (native-inputs
  3992. `(("ghc-hspec" ,ghc-hspec)
  3993. ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
  3994. ("ghc-persistent-template" ,ghc-persistent-template)))
  3995. (home-page "https://github.com/bitemyapp/esqueleto")
  3996. (synopsis "Type-safe embedded domain specific language for SQL queries")
  3997. (description "This library provides a type-safe embedded domain specific
  3998. language (EDSL) for SQL queries that works with SQL backends as provided by
  3999. @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
  4000. to learn new concepts, just new syntax, and it's fairly easy to predict the
  4001. generated SQL and optimize it for your backend.")
  4002. (license license:bsd-3)))
  4003. (define-public ghc-exactprint
  4004. (package
  4005. (name "ghc-exactprint")
  4006. (version "0.6.1")
  4007. (source
  4008. (origin
  4009. (method url-fetch)
  4010. (uri (string-append
  4011. "https://hackage.haskell.org/package/"
  4012. "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
  4013. (sha256
  4014. (base32
  4015. "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
  4016. (build-system haskell-build-system)
  4017. (inputs
  4018. `(("ghc-paths" ,ghc-paths)
  4019. ("ghc-syb" ,ghc-syb)
  4020. ("ghc-free" ,ghc-free)))
  4021. (native-inputs
  4022. `(("ghc-hunit" ,ghc-hunit)
  4023. ("ghc-diff" ,ghc-diff)
  4024. ("ghc-silently" ,ghc-silently)
  4025. ("ghc-filemanip" ,ghc-filemanip)))
  4026. (home-page
  4027. "https://hackage.haskell.org/package/ghc-exactprint")
  4028. (synopsis "ExactPrint for GHC")
  4029. (description
  4030. "Using the API Annotations available from GHC 7.10.2, this library
  4031. provides a means to round-trip any code that can be compiled by GHC, currently
  4032. excluding @file{.lhs} files.")
  4033. (license license:bsd-3)))
  4034. (define-public ghc-exceptions
  4035. (package
  4036. (name "ghc-exceptions")
  4037. (version "0.10.3")
  4038. (source
  4039. (origin
  4040. (method url-fetch)
  4041. (uri (string-append
  4042. "https://hackage.haskell.org/package/exceptions/exceptions-"
  4043. version
  4044. ".tar.gz"))
  4045. (sha256
  4046. (base32
  4047. "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
  4048. (build-system haskell-build-system)
  4049. (native-inputs
  4050. `(("ghc-quickcheck" ,ghc-quickcheck)
  4051. ("ghc-test-framework" ,ghc-test-framework)
  4052. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  4053. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  4054. (inputs
  4055. `(("ghc-transformers-compat" ,ghc-transformers-compat)))
  4056. (home-page "https://github.com/ekmett/exceptions/")
  4057. (synopsis "Extensible optionally-pure exceptions")
  4058. (description "This library provides extensible optionally-pure exceptions
  4059. for Haskell.")
  4060. (license license:bsd-3)))
  4061. (define-public ghc-executable-path
  4062. (package
  4063. (name "ghc-executable-path")
  4064. (version "0.0.3.1")
  4065. (source (origin
  4066. (method url-fetch)
  4067. (uri (string-append "https://hackage.haskell.org/package/"
  4068. "executable-path/executable-path-"
  4069. version ".tar.gz"))
  4070. (sha256
  4071. (base32
  4072. "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
  4073. (build-system haskell-build-system)
  4074. (home-page "https://hackage.haskell.org/package/executable-path")
  4075. (synopsis "Find out the full path of the executable")
  4076. (description
  4077. "The documentation of @code{System.Environment.getProgName} says that
  4078. \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
  4079. instead, for maximum portability, we just return the leafname of the program
  4080. as invoked.\" This library tries to provide the missing path.")
  4081. (license license:public-domain)))
  4082. (define-public ghc-extensible-exceptions
  4083. (package
  4084. (name "ghc-extensible-exceptions")
  4085. (version "0.1.1.4")
  4086. (source
  4087. (origin
  4088. (method url-fetch)
  4089. (uri (string-append "https://hackage.haskell.org/package/"
  4090. "extensible-exceptions/extensible-exceptions-"
  4091. version ".tar.gz"))
  4092. (sha256
  4093. (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
  4094. (build-system haskell-build-system)
  4095. (home-page "https://hackage.haskell.org/package/extensible-exceptions")
  4096. (synopsis "Extensible exceptions for Haskell")
  4097. (description
  4098. "This package provides extensible exceptions for both new and old
  4099. versions of GHC (i.e., < 6.10).")
  4100. (license license:bsd-3)))
  4101. (define-public ghc-extra
  4102. (package
  4103. (name "ghc-extra")
  4104. (version "1.6.21")
  4105. (source
  4106. (origin
  4107. (method url-fetch)
  4108. (uri (string-append
  4109. "https://hackage.haskell.org/package/extra/extra-"
  4110. version
  4111. ".tar.gz"))
  4112. (sha256
  4113. (base32
  4114. "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
  4115. (build-system haskell-build-system)
  4116. (inputs
  4117. `(("ghc-clock" ,ghc-clock)
  4118. ("ghc-semigroups" ,ghc-semigroups)
  4119. ("ghc-quickcheck" ,ghc-quickcheck)
  4120. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
  4121. (home-page "https://github.com/ndmitchell/extra")
  4122. (synopsis "Extra Haskell functions")
  4123. (description "This library provides extra functions for the standard
  4124. Haskell libraries. Most functions are simple additions, filling out missing
  4125. functionality. A few functions are available in later versions of GHC, but
  4126. this package makes them available back to GHC 7.2.")
  4127. (license license:bsd-3)))
  4128. (define-public ghc-fail
  4129. (package
  4130. (name "ghc-fail")
  4131. (version "4.9.0.0")
  4132. (source
  4133. (origin
  4134. (method url-fetch)
  4135. (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
  4136. version ".tar.gz"))
  4137. (sha256
  4138. (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
  4139. (build-system haskell-build-system)
  4140. (arguments `(#:haddock? #f)) ; Package contains no documentation.
  4141. (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
  4142. (synopsis "Forward-compatible MonadFail class")
  4143. (description
  4144. "This package contains the @code{Control.Monad.Fail} module providing the
  4145. @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
  4146. class that became available in
  4147. @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
  4148. older @code{base} package versions. This package turns into an empty package
  4149. when used with GHC versions which already provide the
  4150. @code{Control.Monad.Fail} module.")
  4151. (license license:bsd-3)))
  4152. (define-public ghc-fast-logger
  4153. (package
  4154. (name "ghc-fast-logger")
  4155. (version "2.4.17")
  4156. (source
  4157. (origin
  4158. (method url-fetch)
  4159. (uri (string-append
  4160. "https://hackage.haskell.org/package/fast-logger/fast-logger-"
  4161. version
  4162. ".tar.gz"))
  4163. (sha256
  4164. (base32
  4165. "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
  4166. (build-system haskell-build-system)
  4167. (inputs
  4168. `(("ghc-auto-update" ,ghc-auto-update)
  4169. ("ghc-easy-file" ,ghc-easy-file)
  4170. ("ghc-unix-time" ,ghc-unix-time)
  4171. ("ghc-unix-compat" ,ghc-unix-compat)))
  4172. (native-inputs
  4173. `(("hspec-discover" ,hspec-discover)
  4174. ("ghc-hspec" ,ghc-hspec)))
  4175. (home-page "https://hackage.haskell.org/package/fast-logger")
  4176. (synopsis "Fast logging system")
  4177. (description "This library provides a fast logging system for Haskell.")
  4178. (license license:bsd-3)))
  4179. (define-public ghc-feed
  4180. (package
  4181. (name "ghc-feed")
  4182. (version "1.2.0.1")
  4183. (source
  4184. (origin
  4185. (method url-fetch)
  4186. (uri (string-append "https://hackage.haskell.org/package/"
  4187. "feed/feed-" version ".tar.gz"))
  4188. (sha256
  4189. (base32
  4190. "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
  4191. (build-system haskell-build-system)
  4192. (inputs
  4193. `(("ghc-base-compat" ,ghc-base-compat)
  4194. ("ghc-old-locale" ,ghc-old-locale)
  4195. ("ghc-old-time" ,ghc-old-time)
  4196. ("ghc-safe" ,ghc-safe)
  4197. ("ghc-time-locale-compat" ,ghc-time-locale-compat)
  4198. ("ghc-utf8-string" ,ghc-utf8-string)
  4199. ("ghc-xml-conduit" ,ghc-xml-conduit)
  4200. ("ghc-xml-types" ,ghc-xml-types)))
  4201. (native-inputs
  4202. `(("ghc-hunit" ,ghc-hunit)
  4203. ("ghc-markdown-unlit" ,ghc-markdown-unlit)
  4204. ("ghc-test-framework" ,ghc-test-framework)
  4205. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  4206. (home-page "https://github.com/bergmark/feed")
  4207. (synopsis "Haskell package for handling various syndication formats")
  4208. (description "This Haskell package includes tools for generating and
  4209. consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
  4210. (license license:bsd-3)))
  4211. (define-public ghc-fgl
  4212. (package
  4213. (name "ghc-fgl")
  4214. (version "5.7.0.1")
  4215. (outputs '("out" "static" "doc"))
  4216. (source
  4217. (origin
  4218. (method url-fetch)
  4219. (uri (string-append
  4220. "https://hackage.haskell.org/package/fgl/fgl-"
  4221. version
  4222. ".tar.gz"))
  4223. (sha256
  4224. (base32
  4225. "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
  4226. (build-system haskell-build-system)
  4227. (arguments
  4228. `(#:phases
  4229. (modify-phases %standard-phases
  4230. (add-before 'configure 'update-constraints
  4231. (lambda _
  4232. (substitute* "fgl.cabal"
  4233. (("QuickCheck >= 2\\.8 && < 2\\.13")
  4234. "QuickCheck >= 2.8 && < 2.14")
  4235. (("hspec >= 2\\.1 && < 2\\.7")
  4236. "hspec >= 2.1 && < 2.8")))))))
  4237. (inputs
  4238. `(("ghc-hspec" ,ghc-hspec)
  4239. ("ghc-quickcheck" ,ghc-quickcheck)))
  4240. (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
  4241. (synopsis
  4242. "Martin Erwig's Functional Graph Library")
  4243. (description "The functional graph library, FGL, is a collection of type
  4244. and function definitions to address graph problems. The basis of the library
  4245. is an inductive definition of graphs in the style of algebraic data types that
  4246. encourages inductive, recursive definitions of graph algorithms.")
  4247. (license license:bsd-3)))
  4248. (define-public ghc-fgl-arbitrary
  4249. (package
  4250. (name "ghc-fgl-arbitrary")
  4251. (version "0.2.0.3")
  4252. (source
  4253. (origin
  4254. (method url-fetch)
  4255. (uri (string-append
  4256. "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
  4257. version ".tar.gz"))
  4258. (sha256
  4259. (base32
  4260. "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
  4261. (build-system haskell-build-system)
  4262. (arguments
  4263. `(#:phases
  4264. (modify-phases %standard-phases
  4265. (add-before 'configure 'update-constraints
  4266. (lambda _
  4267. (substitute* "fgl-arbitrary.cabal"
  4268. (("QuickCheck >= 2\\.3 && < 2\\.10")
  4269. "QuickCheck >= 2.3 && < 2.14")
  4270. (("hspec >= 2\\.1 && < 2\\.5")
  4271. "hspec >= 2.1 && < 2.8")))))))
  4272. (inputs
  4273. `(("ghc-fgl" ,ghc-fgl)
  4274. ("ghc-quickcheck" ,ghc-quickcheck)
  4275. ("ghc-hspec" ,ghc-hspec)))
  4276. (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
  4277. (synopsis "QuickCheck support for fgl")
  4278. (description
  4279. "Provides Arbitrary instances for fgl graphs to avoid adding a
  4280. QuickCheck dependency for fgl whilst still making the instances
  4281. available to others. Also available are non-fgl-specific functions
  4282. for generating graph-like data structures.")
  4283. (license license:bsd-3)))
  4284. (define-public ghc-file-embed
  4285. (package
  4286. (name "ghc-file-embed")
  4287. (version "0.0.11")
  4288. (source
  4289. (origin
  4290. (method url-fetch)
  4291. (uri (string-append "https://hackage.haskell.org/package/file-embed/"
  4292. "file-embed-" version ".tar.gz"))
  4293. (sha256
  4294. (base32
  4295. "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
  4296. (build-system haskell-build-system)
  4297. (home-page "https://github.com/snoyberg/file-embed")
  4298. (synopsis "Use Template Haskell to embed file contents directly")
  4299. (description
  4300. "This package allows you to use Template Haskell to read a file or all
  4301. the files in a directory, and turn them into @code{(path, bytestring)} pairs
  4302. embedded in your Haskell code.")
  4303. (license license:bsd-3)))
  4304. (define-public ghc-filemanip
  4305. (package
  4306. (name "ghc-filemanip")
  4307. (version "0.3.6.3")
  4308. (source (origin
  4309. (method url-fetch)
  4310. (uri (string-append "https://hackage.haskell.org/package/"
  4311. "filemanip/filemanip-" version ".tar.gz"))
  4312. (sha256
  4313. (base32
  4314. "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
  4315. (build-system haskell-build-system)
  4316. (inputs
  4317. `(("ghc-unix-compat" ,ghc-unix-compat)))
  4318. (home-page "https://github.com/bos/filemanip")
  4319. (synopsis "File and directory manipulation for Haskell")
  4320. (description
  4321. "This package provides a Haskell library for working with files and
  4322. directories. It includes code for pattern matching, finding files, modifying
  4323. file contents, and more.")
  4324. (license license:bsd-3)))
  4325. (define-public ghc-filepath-bytestring
  4326. (package
  4327. (name "ghc-filepath-bytestring")
  4328. (version "1.4.2.1.6")
  4329. (source
  4330. (origin
  4331. (method url-fetch)
  4332. (uri (string-append
  4333. "https://hackage.haskell.org/package/filepath-bytestring/"
  4334. "filepath-bytestring-" version ".tar.gz"))
  4335. (sha256
  4336. (base32
  4337. "11xrrzdkm5i96dazbz0gi1qp8nnj2lwbnxzwy7f4cnahskz4f4g7"))))
  4338. (build-system haskell-build-system)
  4339. (native-inputs
  4340. `(("ghc-quickcheck" ,ghc-quickcheck)))
  4341. (home-page "https://hackage.haskell.org/package/filepath-bytestring")
  4342. (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
  4343. (description "This package provides a drop-in replacement for the standard
  4344. @code{filepath} library, operating on @code{RawFilePath} values rather than
  4345. @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
  4346. (license license:bsd-3)))
  4347. (define-public ghc-findbin
  4348. (package
  4349. (name "ghc-findbin")
  4350. (version "0.0.5")
  4351. (source
  4352. (origin
  4353. (method url-fetch)
  4354. (uri (string-append
  4355. "https://hackage.haskell.org/package/FindBin/FindBin-"
  4356. version ".tar.gz"))
  4357. (sha256
  4358. (base32
  4359. "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
  4360. (build-system haskell-build-system)
  4361. (home-page "https://github.com/audreyt/findbin")
  4362. (synopsis "Get the absolute path of the running program")
  4363. (description
  4364. "This module locates the full directory of the running program, to allow
  4365. the use of paths relative to it. FindBin supports invocation of Haskell
  4366. programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
  4367. an executable.")
  4368. (license license:bsd-3)))
  4369. (define-public ghc-fingertree
  4370. (package
  4371. (name "ghc-fingertree")
  4372. (version "0.1.4.2")
  4373. (source
  4374. (origin
  4375. (method url-fetch)
  4376. (uri (string-append
  4377. "https://hackage.haskell.org/package/fingertree/fingertree-"
  4378. version ".tar.gz"))
  4379. (sha256
  4380. (base32
  4381. "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
  4382. (build-system haskell-build-system)
  4383. (native-inputs
  4384. `(("ghc-hunit" ,ghc-hunit)
  4385. ("ghc-quickcheck" ,ghc-quickcheck)
  4386. ("ghc-test-framework" ,ghc-test-framework)
  4387. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  4388. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  4389. (home-page "https://hackage.haskell.org/package/fingertree")
  4390. (synopsis "Generic finger-tree structure")
  4391. (description "This library provides finger trees, a general sequence
  4392. representation with arbitrary annotations, for use as a base for
  4393. implementations of various collection types. It includes examples, as
  4394. described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
  4395. simple general-purpose data structure\".")
  4396. (license license:bsd-3)))
  4397. (define-public ghc-finite-typelits
  4398. (package
  4399. (name "ghc-finite-typelits")
  4400. (version "0.1.4.2")
  4401. (source
  4402. (origin
  4403. (method url-fetch)
  4404. (uri (string-append "https://hackage.haskell.org/package/"
  4405. "finite-typelits/"
  4406. "finite-typelits-" version ".tar.gz"))
  4407. (sha256
  4408. (base32 "0iyp9fyd2ki9qcmk9infz9p6rjhsx9jrs3f5yz0yqs8vj5na81yj"))))
  4409. (build-system haskell-build-system)
  4410. (home-page "https://github.com/mniip/finite-typelits")
  4411. (synopsis "Finitely many values, indexed by type-level naturals")
  4412. (description
  4413. "This package provides a Haskell type inhabited by finitely many values
  4414. and indexed by type-level naturals.")
  4415. (license license:bsd-3)))
  4416. (define-public ghc-fixed
  4417. (package
  4418. (name "ghc-fixed")
  4419. (version "0.3")
  4420. (source
  4421. (origin
  4422. (method url-fetch)
  4423. (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
  4424. version ".tar.gz"))
  4425. (sha256
  4426. (base32
  4427. "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
  4428. (build-system haskell-build-system)
  4429. (home-page "https://github.com/ekmett/fixed")
  4430. (synopsis "Signed 15.16 precision fixed point arithmetic")
  4431. (description
  4432. "This package provides functions for signed 15.16 precision fixed point
  4433. arithmetic.")
  4434. (license license:bsd-3)))
  4435. (define-public ghc-fmlist
  4436. (package
  4437. (name "ghc-fmlist")
  4438. (version "0.9.3")
  4439. (source
  4440. (origin
  4441. (method url-fetch)
  4442. (uri
  4443. (string-append
  4444. "https://hackage.haskell.org/package/fmlist/fmlist-"
  4445. version ".tar.gz"))
  4446. (sha256
  4447. (base32
  4448. "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
  4449. (build-system haskell-build-system)
  4450. (home-page "https://github.com/sjoerdvisscher/fmlist")
  4451. (synopsis "FoldMap lists")
  4452. (description "FoldMap lists are lists represented by their
  4453. @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
  4454. append, just like DLists, but other operations might have favorable
  4455. performance characteristics as well. These wild claims are still
  4456. completely unverified though.")
  4457. (license license:bsd-3)))
  4458. (define-public ghc-foldl
  4459. (package
  4460. (name "ghc-foldl")
  4461. (version "1.4.5")
  4462. (source
  4463. (origin
  4464. (method url-fetch)
  4465. (uri (string-append "https://hackage.haskell.org/package/"
  4466. "foldl-" version "/"
  4467. "foldl-" version ".tar.gz"))
  4468. (sha256
  4469. (base32
  4470. "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
  4471. (build-system haskell-build-system)
  4472. (outputs '("out" "static" "doc"))
  4473. (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
  4474. ("ghc-primitive" ,ghc-primitive)
  4475. ("ghc-vector" ,ghc-vector)
  4476. ("ghc-unordered-containers" ,ghc-unordered-containers)
  4477. ("ghc-hashable" ,ghc-hashable)
  4478. ("ghc-contravariant" ,ghc-contravariant)
  4479. ("ghc-semigroups" ,ghc-semigroups)
  4480. ("ghc-profunctors" ,ghc-profunctors)
  4481. ("ghc-semigroupoids" ,ghc-semigroupoids)
  4482. ("ghc-comonad" ,ghc-comonad)
  4483. ("ghc-vector-builder" ,ghc-vector-builder)))
  4484. (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
  4485. (synopsis "Composable, streaming, and efficient left folds for Haskell")
  4486. (description "This Haskell library provides strict left folds that stream
  4487. in constant memory, and you can combine folds using @code{Applicative} style
  4488. to derive new folds. Derived folds still traverse the container just once
  4489. and are often as efficient as hand-written folds.")
  4490. (license license:bsd-3)))
  4491. (define-public ghc-foundation
  4492. (package
  4493. (name "ghc-foundation")
  4494. (version "0.0.25")
  4495. (source
  4496. (origin
  4497. (method url-fetch)
  4498. (uri (string-append "https://hackage.haskell.org/package/"
  4499. "foundation/foundation-" version ".tar.gz"))
  4500. (sha256
  4501. (base32
  4502. "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
  4503. (build-system haskell-build-system)
  4504. (arguments
  4505. `(#:phases
  4506. (modify-phases %standard-phases
  4507. ;; This test is broken. For details, see
  4508. ;; https://github.com/haskell-foundation/foundation/issues/530
  4509. (add-after 'unpack 'patch-tests
  4510. (lambda _
  4511. (substitute* "tests/Test/Foundation/Number.hs"
  4512. ((", testDividible proxy") ""))
  4513. #t)))))
  4514. (outputs '("out" "static" "doc"))
  4515. (inputs `(("ghc-basement" ,ghc-basement)))
  4516. (home-page "https://github.com/haskell-foundation/foundation")
  4517. (synopsis "Alternative prelude with batteries and no dependencies")
  4518. (description
  4519. "This package provides a custom prelude with no dependencies apart from
  4520. the base package.
  4521. Foundation has the following goals:
  4522. @enumerate
  4523. @item provide a base like sets of modules that provide a consistent set of
  4524. features and bugfixes across multiple versions of GHC (unlike base).
  4525. @item provide a better and more efficient prelude than base's prelude.
  4526. @item be self-sufficient: no external dependencies apart from base;
  4527. @item provide better data-types: packed unicode string by default, arrays;
  4528. @item Numerical classes that better represent mathematical things (no more
  4529. all-in-one @code{Num});
  4530. @item I/O system with less lazy IO.
  4531. @end enumerate\n")
  4532. (license license:bsd-3)))
  4533. (define-public ghc-free
  4534. (package
  4535. (name "ghc-free")
  4536. (version "5.1.2")
  4537. (source
  4538. (origin
  4539. (method url-fetch)
  4540. (uri (string-append
  4541. "https://hackage.haskell.org/package/free/free-"
  4542. version
  4543. ".tar.gz"))
  4544. (sha256
  4545. (base32
  4546. "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
  4547. (build-system haskell-build-system)
  4548. (outputs '("out" "static" "doc"))
  4549. (inputs
  4550. `(("ghc-prelude-extras" ,ghc-prelude-extras)
  4551. ("ghc-profunctors" ,ghc-profunctors)
  4552. ("ghc-exceptions" ,ghc-exceptions)
  4553. ("ghc-bifunctors" ,ghc-bifunctors)
  4554. ("ghc-comonad" ,ghc-comonad)
  4555. ("ghc-distributive" ,ghc-distributive)
  4556. ("ghc-semigroupoids" ,ghc-semigroupoids)
  4557. ("ghc-semigroups" ,ghc-semigroups)
  4558. ("ghc-transformers-base" ,ghc-transformers-base)
  4559. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  4560. (home-page "https://github.com/ekmett/free/")
  4561. (synopsis "Unrestricted monads for Haskell")
  4562. (description "This library provides free monads, which are useful for many
  4563. tree-like structures and domain specific languages. If @code{f} is a
  4564. @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
  4565. whose nodes are labeled with the constructors of @code{f}. The word \"free\"
  4566. is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
  4567. f} makes no constraining assumptions beyond those given by @code{f} and the
  4568. definition of @code{Monad}.")
  4569. (license license:bsd-3)))
  4570. (define-public ghc-fsnotify
  4571. (package
  4572. (name "ghc-fsnotify")
  4573. (version "0.3.0.1")
  4574. (source (origin
  4575. (method url-fetch)
  4576. (uri (string-append
  4577. "https://hackage.haskell.org/package/fsnotify/"
  4578. "fsnotify-" version ".tar.gz"))
  4579. (sha256
  4580. (base32
  4581. "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
  4582. (build-system haskell-build-system)
  4583. (inputs
  4584. `(("ghc-async" ,ghc-async)
  4585. ("ghc-unix-compat" ,ghc-unix-compat)
  4586. ("ghc-hinotify" ,ghc-hinotify)
  4587. ("ghc-tasty" ,ghc-tasty)
  4588. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  4589. ("ghc-random" ,ghc-random)
  4590. ("ghc-shelly" ,ghc-shelly)
  4591. ("ghc-temporary" ,ghc-temporary)))
  4592. (home-page "https://github.com/haskell-fswatch/hfsnotify")
  4593. (synopsis "Cross platform library for file change notification.")
  4594. (description "Cross platform library for file creation, modification, and
  4595. deletion notification. This library builds upon existing libraries for platform
  4596. specific Windows, Mac, and Linux file system event notification.")
  4597. (license license:bsd-3)))
  4598. (define-public ghc-generic-deriving
  4599. (package
  4600. (name "ghc-generic-deriving")
  4601. (version "1.12.4")
  4602. (source
  4603. (origin
  4604. (method url-fetch)
  4605. (uri (string-append
  4606. "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
  4607. version
  4608. ".tar.gz"))
  4609. (sha256
  4610. (base32
  4611. "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
  4612. (build-system haskell-build-system)
  4613. (outputs '("out" "static" "doc"))
  4614. (inputs
  4615. `(("ghc-th-abstraction" ,ghc-th-abstraction)))
  4616. (native-inputs
  4617. `(("ghc-hspec" ,ghc-hspec)
  4618. ("hspec-discover" ,hspec-discover)))
  4619. (home-page "https://hackage.haskell.org/package/generic-deriving")
  4620. (synopsis "Generalise the deriving mechanism to arbitrary classes")
  4621. (description "This package provides functionality for generalising the
  4622. deriving mechanism in Haskell to arbitrary classes.")
  4623. (license license:bsd-3)))
  4624. (define-public ghc-generic-random
  4625. (package
  4626. (name "ghc-generic-random")
  4627. (version "1.2.0.0")
  4628. (source
  4629. (origin
  4630. (method url-fetch)
  4631. (uri (string-append
  4632. "https://hackage.haskell.org/package/generic-random/"
  4633. "generic-random-" version ".tar.gz"))
  4634. (sha256
  4635. (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
  4636. (build-system haskell-build-system)
  4637. (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
  4638. (native-inputs
  4639. `(("ghc-inspection-testing" ,ghc-inspection-testing)))
  4640. (arguments
  4641. `(#:cabal-revision
  4642. ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
  4643. (home-page
  4644. "https://github.com/lysxia/generic-random")
  4645. (synopsis
  4646. "Generic random generators for QuickCheck")
  4647. (description
  4648. "Derive instances of @code{Arbitrary} for QuickCheck, with various options
  4649. to customize implementations.
  4650. Automating the arbitrary boilerplate also ensures that when a type changes to
  4651. have more or fewer constructors, then the generator either fixes itself to
  4652. generate that new case (when using the uniform distribution) or causes a
  4653. compilation error so you remember to fix it (when using an explicit
  4654. distribution).
  4655. This package also offers a simple (optional) strategy to ensure termination
  4656. for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
  4657. at every recursive call; when it reaches zero, sample directly from a
  4658. trivially terminating generator given explicitly (@code{genericArbitraryRec}
  4659. and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
  4660. (license license:expat)))
  4661. (define-public ghc-generic-random-1.3.0.1
  4662. (package
  4663. (inherit ghc-generic-random)
  4664. (version "1.3.0.1")
  4665. (source
  4666. (origin
  4667. (method url-fetch)
  4668. (uri (string-append
  4669. "https://hackage.haskell.org/package/generic-random/"
  4670. "generic-random-" version ".tar.gz"))
  4671. (sha256
  4672. (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
  4673. (arguments '())))
  4674. (define-public ghc-generics-sop
  4675. (package
  4676. (name "ghc-generics-sop")
  4677. (version "0.4.0.1")
  4678. (source
  4679. (origin
  4680. (method url-fetch)
  4681. (uri (string-append "https://hackage.haskell.org/package/"
  4682. "generics-sop-" version "/"
  4683. "generics-sop-" version ".tar.gz"))
  4684. (sha256
  4685. (base32
  4686. "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
  4687. (build-system haskell-build-system)
  4688. (outputs '("out" "static" "doc"))
  4689. (inputs
  4690. `(("ghc-sop-core" ,ghc-sop-core)
  4691. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  4692. (home-page "https://github.com/well-typed/generics-sop")
  4693. (synopsis "Generic Programming using True Sums of Products for Haskell")
  4694. (description "This Haskell package supports the definition of generic
  4695. functions. Datatypes are viewed in a uniform, structured way: the choice
  4696. between constructors is represented using an n-ary sum, and the arguments of
  4697. each constructor are represented using an n-ary product.")
  4698. (license license:bsd-3)))
  4699. (define-public ghc-geniplate-mirror
  4700. (package
  4701. (name "ghc-geniplate-mirror")
  4702. (version "0.7.6")
  4703. (source
  4704. (origin
  4705. (method url-fetch)
  4706. (uri (string-append "https://hackage.haskell.org/package"
  4707. "/geniplate-mirror"
  4708. "/geniplate-mirror-" version ".tar.gz"))
  4709. (sha256
  4710. (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
  4711. (build-system haskell-build-system)
  4712. (arguments
  4713. `(#:cabal-revision
  4714. ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
  4715. (home-page "https://github.com/danr/geniplate")
  4716. (synopsis "Use Template Haskell to generate Uniplate-like functions")
  4717. (description
  4718. "Use Template Haskell to generate Uniplate-like functions. This is a
  4719. maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
  4720. geniplate} package, written by Lennart Augustsson.")
  4721. (license license:bsd-3)))
  4722. (define-public ghc-genvalidity
  4723. (package
  4724. (name "ghc-genvalidity")
  4725. (version "0.8.0.0")
  4726. (source
  4727. (origin
  4728. (method url-fetch)
  4729. (uri (string-append
  4730. "https://hackage.haskell.org/package/genvalidity/genvalidity-"
  4731. version
  4732. ".tar.gz"))
  4733. (sha256
  4734. (base32
  4735. "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
  4736. (build-system haskell-build-system)
  4737. (inputs
  4738. `(("ghc-quickcheck" ,ghc-quickcheck)
  4739. ("ghc-validity" ,ghc-validity)))
  4740. (native-inputs
  4741. `(("ghc-hspec" ,ghc-hspec)
  4742. ("hspec-discover" ,hspec-discover)
  4743. ("ghc-hspec-core" ,ghc-hspec-core)))
  4744. (home-page
  4745. "https://github.com/NorfairKing/validity")
  4746. (synopsis
  4747. "Testing utilities for the @code{validity} library")
  4748. (description
  4749. "This package provides testing utilities that are useful in conjunction
  4750. with the @code{Validity} typeclass.")
  4751. (license license:expat)))
  4752. (define-public ghc-genvalidity-property
  4753. (package
  4754. (name "ghc-genvalidity-property")
  4755. (version "0.4.0.0")
  4756. (source
  4757. (origin
  4758. (method url-fetch)
  4759. (uri (string-append
  4760. "https://hackage.haskell.org/package/"
  4761. "genvalidity-property/genvalidity-property-"
  4762. version
  4763. ".tar.gz"))
  4764. (sha256
  4765. (base32
  4766. "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
  4767. (build-system haskell-build-system)
  4768. (inputs
  4769. `(("ghc-quickcheck" ,ghc-quickcheck)
  4770. ("ghc-genvalidity" ,ghc-genvalidity)
  4771. ("ghc-hspec" ,ghc-hspec)
  4772. ("hspec-discover" ,hspec-discover)
  4773. ("ghc-validity" ,ghc-validity)))
  4774. (native-inputs `(("ghc-doctest" ,ghc-doctest)))
  4775. (home-page
  4776. "https://github.com/NorfairKing/validity")
  4777. (synopsis
  4778. "Standard properties for functions on @code{Validity} types")
  4779. (description
  4780. "This package supplements the @code{Validity} typeclass with standard
  4781. properties for functions operating on them.")
  4782. (license license:expat)))
  4783. (define-public ghc-getopt-generics
  4784. (package
  4785. (name "ghc-getopt-generics")
  4786. (version "0.13.0.4")
  4787. (source
  4788. (origin
  4789. (method url-fetch)
  4790. (uri (string-append "https://hackage.haskell.org/package/"
  4791. "getopt-generics/getopt-generics-"
  4792. version ".tar.gz"))
  4793. (sha256
  4794. (base32
  4795. "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
  4796. (build-system haskell-build-system)
  4797. (inputs
  4798. `(("ghc-base-compat" ,ghc-base-compat)
  4799. ("ghc-base-orphans" ,ghc-base-orphans)
  4800. ("ghc-generics-sop" ,ghc-generics-sop)
  4801. ("ghc-tagged" ,ghc-tagged)))
  4802. (native-inputs
  4803. `(("ghc-quickcheck" ,ghc-quickcheck)
  4804. ("ghc-hspec" ,ghc-hspec)
  4805. ("ghc-safe" ,ghc-safe)
  4806. ("ghc-silently" ,ghc-silently)
  4807. ("hspec-discover" ,hspec-discover)))
  4808. (home-page "https://github.com/soenkehahn/getopt-generics")
  4809. (synopsis "Create command line interfaces with ease")
  4810. (description "This library provides tools to create command line
  4811. interfaces with ease.")
  4812. (license license:bsd-3)))
  4813. (define-public ghc-gitrev
  4814. (package
  4815. (name "ghc-gitrev")
  4816. (version "1.3.1")
  4817. (source
  4818. (origin
  4819. (method url-fetch)
  4820. (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
  4821. version ".tar.gz"))
  4822. (sha256
  4823. (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
  4824. (build-system haskell-build-system)
  4825. (inputs `(("ghc-base-compat" ,ghc-base-compat)))
  4826. (home-page "https://github.com/acfoltzer/gitrev")
  4827. (synopsis "Compile git revision info into Haskell projects")
  4828. (description
  4829. "This package provides some handy Template Haskell splices for including
  4830. the current git hash and branch in the code of your project. This is useful
  4831. for including in panic messages, @command{--version} output, or diagnostic
  4832. info for more informative bug reports.")
  4833. (license license:bsd-3)))
  4834. (define-public ghc-glob
  4835. (package
  4836. (name "ghc-glob")
  4837. (version "0.10.0")
  4838. (source
  4839. (origin
  4840. (method url-fetch)
  4841. (uri (string-append "https://hackage.haskell.org/package/"
  4842. "Glob-" version "/"
  4843. "Glob-" version ".tar.gz"))
  4844. (sha256
  4845. (base32
  4846. "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
  4847. (build-system haskell-build-system)
  4848. (inputs
  4849. `(("ghc-dlist" ,ghc-dlist)
  4850. ("ghc-semigroups" ,ghc-semigroups)
  4851. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  4852. (native-inputs
  4853. `(("ghc-hunit" ,ghc-hunit)
  4854. ("ghc-quickcheck" ,ghc-quickcheck)
  4855. ("ghc-test-framework" ,ghc-test-framework)
  4856. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  4857. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  4858. (home-page "http://iki.fi/matti.niemenmaa/glob/")
  4859. (synopsis "Haskell library matching glob patterns against file paths")
  4860. (description "This package provides a Haskell library for @dfn{globbing}:
  4861. matching patterns against file paths.")
  4862. (license license:bsd-3)))
  4863. (define-public ghc-gluraw
  4864. (package
  4865. (name "ghc-gluraw")
  4866. (version "2.0.0.4")
  4867. (source
  4868. (origin
  4869. (method url-fetch)
  4870. (uri (string-append
  4871. "https://hackage.haskell.org/package/GLURaw/GLURaw-"
  4872. version
  4873. ".tar.gz"))
  4874. (sha256
  4875. (base32
  4876. "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
  4877. (build-system haskell-build-system)
  4878. (inputs
  4879. `(("ghc-openglraw" ,ghc-openglraw)))
  4880. (home-page "https://wiki.haskell.org/Opengl")
  4881. (synopsis "Raw Haskell bindings GLU")
  4882. (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
  4883. utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
  4884. basis for a nicer interface.")
  4885. (license license:bsd-3)))
  4886. (define-public ghc-glut
  4887. (package
  4888. (name "ghc-glut")
  4889. (version "2.7.0.15")
  4890. (source
  4891. (origin
  4892. (method url-fetch)
  4893. (uri (string-append
  4894. "https://hackage.haskell.org/package/GLUT/GLUT-"
  4895. version
  4896. ".tar.gz"))
  4897. (sha256
  4898. (base32
  4899. "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
  4900. (build-system haskell-build-system)
  4901. (inputs
  4902. `(("ghc-statevar" ,ghc-statevar)
  4903. ("ghc-opengl" ,ghc-opengl)
  4904. ("ghc-openglraw" ,ghc-openglraw)
  4905. ("freeglut" ,freeglut)))
  4906. (home-page "https://wiki.haskell.org/Opengl")
  4907. (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
  4908. (description "This library provides Haskell bindings for the OpenGL
  4909. Utility Toolkit, a window system-independent toolkit for writing OpenGL
  4910. programs.")
  4911. (license license:bsd-3)))
  4912. (define-public ghc-gnuplot
  4913. (package
  4914. (name "ghc-gnuplot")
  4915. (version "0.5.6")
  4916. (source
  4917. (origin
  4918. (method url-fetch)
  4919. (uri (string-append
  4920. "mirror://hackage/package/gnuplot/gnuplot-"
  4921. version ".tar.gz"))
  4922. (sha256
  4923. (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
  4924. (build-system haskell-build-system)
  4925. (inputs
  4926. `(("ghc-temporary" ,ghc-temporary)
  4927. ("ghc-utility-ht" ,ghc-utility-ht)
  4928. ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
  4929. ("ghc-data-accessor" ,ghc-data-accessor)
  4930. ("ghc-semigroups" ,ghc-semigroups)
  4931. ("gnuplot" ,gnuplot)))
  4932. (arguments
  4933. `(#:phases
  4934. (modify-phases %standard-phases
  4935. (add-before 'configure 'fix-path-to-gnuplot
  4936. (lambda* (#:key inputs #:allow-other-keys)
  4937. (let ((gnuplot (assoc-ref inputs "gnuplot")))
  4938. (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
  4939. (("(gnuplotName = ).*$" all cmd)
  4940. (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
  4941. (home-page "https://wiki.haskell.org/Gnuplot")
  4942. (synopsis "2D and 3D plots using gnuplot")
  4943. (description "This package provides a Haskell module for creating 2D and
  4944. 3D plots using gnuplot.")
  4945. (license license:bsd-3)))
  4946. (define-public ghc-graphviz
  4947. (package
  4948. (name "ghc-graphviz")
  4949. (version "2999.20.0.3")
  4950. (source (origin
  4951. (method url-fetch)
  4952. (uri (string-append "https://hackage.haskell.org/package/"
  4953. "graphviz/graphviz-" version ".tar.gz"))
  4954. (sha256
  4955. (base32
  4956. "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
  4957. (build-system haskell-build-system)
  4958. (arguments
  4959. `(#:phases
  4960. (modify-phases %standard-phases
  4961. (add-before 'configure 'update-constraints
  4962. (lambda _
  4963. (substitute* "graphviz.cabal"
  4964. (("QuickCheck >= 2\\.3 && < 2\\.13")
  4965. "QuickCheck >= 2.3 && < 2.14")
  4966. (("hspec >= 2\\.1 && < 2\\.7")
  4967. "hspec >= 2.1 && < 2.8")))))))
  4968. (inputs
  4969. `(("ghc-quickcheck" ,ghc-quickcheck)
  4970. ("ghc-colour" ,ghc-colour)
  4971. ("ghc-dlist" ,ghc-dlist)
  4972. ("ghc-fgl" ,ghc-fgl)
  4973. ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
  4974. ("ghc-polyparse" ,ghc-polyparse)
  4975. ("ghc-temporary" ,ghc-temporary)
  4976. ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
  4977. (native-inputs
  4978. `(("ghc-hspec" ,ghc-hspec)
  4979. ("graphviz" ,graphviz)
  4980. ("hspec-discover" ,hspec-discover)))
  4981. (home-page "https://hackage.haskell.org/package/graphviz")
  4982. (synopsis "Bindings to Graphviz for graph visualisation")
  4983. (description
  4984. "This library provides bindings for the Dot language used by
  4985. the @uref{https://graphviz.org/, Graphviz} suite of programs for
  4986. visualising graphs, as well as functions to call those programs.
  4987. Main features of the graphviz library include:
  4988. @enumerate
  4989. @item Almost complete coverage of all Graphviz attributes and syntax
  4990. @item Support for specifying clusters
  4991. @item The ability to use a custom node type
  4992. @item Functions for running a Graphviz layout tool with all specified output types
  4993. @item Generate and parse Dot code with two options: strict and liberal
  4994. @item Functions to convert FGL graphs and other graph-like data structures
  4995. @item Round-trip support for passing an FGL graph through Graphviz to augment node
  4996. and edge labels with positional information, etc.
  4997. @end enumerate\n")
  4998. (license license:bsd-3)))
  4999. (define-public ghc-groups
  5000. (package
  5001. (name "ghc-groups")
  5002. (version "0.4.1.0")
  5003. (source
  5004. (origin
  5005. (method url-fetch)
  5006. (uri (string-append "https://hackage.haskell.org/package/"
  5007. "groups/groups-" version ".tar.gz"))
  5008. (sha256
  5009. (base32
  5010. "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
  5011. (build-system haskell-build-system)
  5012. (home-page "https://hackage.haskell.org/package/groups")
  5013. (synopsis "Haskell 98 groups")
  5014. (description "This package provides Haskell 98 groups. A group is a
  5015. monoid with invertibility.")
  5016. (license license:bsd-3)))
  5017. (define-public ghc-gtk2hs-buildtools
  5018. (package
  5019. (name "ghc-gtk2hs-buildtools")
  5020. (version "0.13.5.4")
  5021. (source
  5022. (origin
  5023. (method url-fetch)
  5024. (uri (string-append "https://hackage.haskell.org/package/"
  5025. "gtk2hs-buildtools/gtk2hs-buildtools-"
  5026. version ".tar.gz"))
  5027. (sha256
  5028. (base32
  5029. "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
  5030. (build-system haskell-build-system)
  5031. (inputs
  5032. `(("ghc-random" ,ghc-random)
  5033. ("ghc-hashtables" ,ghc-hashtables)))
  5034. (native-inputs
  5035. `(("ghc-alex" ,ghc-alex)
  5036. ("ghc-happy" ,ghc-happy)))
  5037. (home-page "http://projects.haskell.org/gtk2hs/")
  5038. (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
  5039. (description
  5040. "This package provides a set of helper programs necessary to build the
  5041. Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
  5042. that is used to generate FFI declarations, a tool to build a type hierarchy
  5043. that mirrors the C type hierarchy of GObjects found in glib, and a generator
  5044. for signal declarations that are used to call back from C to Haskell. These
  5045. tools are not needed to actually run Gtk2Hs programs.")
  5046. (license license:gpl2)))
  5047. (define-public ghc-hackage-security
  5048. (package
  5049. (name "ghc-hackage-security")
  5050. (version "0.5.3.0")
  5051. (source
  5052. (origin
  5053. (method url-fetch)
  5054. (uri (string-append "https://hackage.haskell.org/package/"
  5055. "hackage-security/hackage-security-"
  5056. version ".tar.gz"))
  5057. (sha256
  5058. (base32
  5059. "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
  5060. (build-system haskell-build-system)
  5061. (arguments
  5062. `(#:cabal-revision
  5063. ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
  5064. #:tests? #f)) ; Tests fail because of framework updates.
  5065. (inputs
  5066. `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
  5067. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  5068. ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
  5069. ("ghc-ed25519" ,ghc-ed25519)
  5070. ("ghc-network" ,ghc-network)
  5071. ("ghc-network-uri" ,ghc-network-uri)
  5072. ("ghc-tar" ,ghc-tar)
  5073. ("ghc-zlib" ,ghc-zlib)))
  5074. (native-inputs
  5075. `(("ghc-network-uri" ,ghc-network-uri)
  5076. ("ghc-quickcheck" ,ghc-quickcheck)
  5077. ("ghc-tar" ,ghc-tar)
  5078. ("ghc-tasty" ,ghc-tasty)
  5079. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  5080. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  5081. ("ghc-temporary" ,ghc-temporary)
  5082. ("ghc-zlib" ,ghc-zlib)))
  5083. (home-page "https://github.com/haskell/hackage-security")
  5084. (synopsis "Hackage security library")
  5085. (description "This Hackage security library provides both server and
  5086. client utilities for securing @uref{http://hackage.haskell.org/, the
  5087. Hackage package server}. It is based on
  5088. @uref{http://theupdateframework.com/, The Update Framework}, a set of
  5089. recommendations developed by security researchers at various universities
  5090. in the US as well as developers on the @uref{https://www.torproject.org/,
  5091. Tor project}.")
  5092. (license license:bsd-3)))
  5093. (define-public ghc-haddock
  5094. (package
  5095. (name "ghc-haddock")
  5096. (version "2.22.0")
  5097. (source
  5098. (origin
  5099. (method url-fetch)
  5100. (uri (string-append
  5101. "https://hackage.haskell.org/package/haddock/haddock-"
  5102. version
  5103. ".tar.gz"))
  5104. (sha256
  5105. (base32
  5106. "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
  5107. (build-system haskell-build-system)
  5108. (arguments
  5109. `(#:phases
  5110. (modify-phases %standard-phases
  5111. ;; The release tarball for 2.22.0 is missing the test data for
  5112. ;; the Hoogle test, causing it to fail. This is fixed in the
  5113. ;; next release, but for now we disable it.
  5114. (add-before 'configure 'remove-hoogle-test
  5115. (lambda _
  5116. (use-modules (ice-9 rdelim))
  5117. (with-atomic-file-replacement "haddock.cabal"
  5118. (lambda (in out)
  5119. (let loop ((line (read-line in 'concat)) (deleting? #f))
  5120. (cond
  5121. ((eof-object? line) #t)
  5122. ((string-every char-set:whitespace line)
  5123. (unless deleting? (display line out))
  5124. (loop (read-line in 'concat) #f))
  5125. ((string=? line "test-suite hoogle-test\n")
  5126. (loop (read-line in 'concat) #t))
  5127. (else
  5128. (unless deleting? (display line out))
  5129. (loop (read-line in 'concat) deleting?))))))))
  5130. (add-before 'check 'add-haddock-to-path
  5131. (lambda _
  5132. (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
  5133. ":" (getenv "PATH")))
  5134. #t)))))
  5135. (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
  5136. (native-inputs
  5137. `(("ghc-haddock-test" ,ghc-haddock-test)
  5138. ("ghc-hspec" ,ghc-hspec)))
  5139. (home-page "https://www.haskell.org/haddock/")
  5140. (synopsis
  5141. "Documentation-generation tool for Haskell libraries")
  5142. (description
  5143. "Haddock is a documentation-generation tool for Haskell libraries.")
  5144. (license license:bsd-3)))
  5145. (define-public ghc-haddock-api
  5146. (package
  5147. (name "ghc-haddock-api")
  5148. (version "2.22.0")
  5149. (source
  5150. (origin
  5151. (method url-fetch)
  5152. (uri (string-append
  5153. "https://hackage.haskell.org/package/haddock-api/haddock-api-"
  5154. version
  5155. ".tar.gz"))
  5156. (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
  5157. (sha256
  5158. (base32
  5159. "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
  5160. (build-system haskell-build-system)
  5161. (arguments
  5162. `(#:phases
  5163. (modify-phases %standard-phases
  5164. (add-before 'configure 'update-constraints
  5165. (lambda _
  5166. (substitute* "haddock-api.cabal"
  5167. (("QuickCheck \\^>= 2\\.11")
  5168. "QuickCheck ^>= 2.13")
  5169. (("hspec >= 2\\.4\\.4 && < 2\\.6")
  5170. "hspec >= 2.4.4 && < 2.8")))))))
  5171. (inputs
  5172. `(("ghc-paths" ,ghc-paths)
  5173. ("ghc-haddock-library" ,ghc-haddock-library)))
  5174. (native-inputs
  5175. `(("ghc-quickcheck" ,ghc-quickcheck)
  5176. ("ghc-hspec" ,ghc-hspec)
  5177. ("hspec-discover" ,hspec-discover)))
  5178. (home-page "https://www.haskell.org/haddock/")
  5179. (synopsis "API for documentation-generation tool Haddock")
  5180. (description "This package provides an API to Haddock, the
  5181. documentation-generation tool for Haskell libraries.")
  5182. (license license:bsd-3)))
  5183. (define-public ghc-haddock-library
  5184. (package
  5185. (name "ghc-haddock-library")
  5186. (version "1.7.0")
  5187. (source
  5188. (origin
  5189. (method url-fetch)
  5190. (uri (string-append
  5191. "https://hackage.haskell.org/package/haddock-library/haddock-library-"
  5192. version
  5193. ".tar.gz"))
  5194. (sha256
  5195. (base32
  5196. "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
  5197. (build-system haskell-build-system)
  5198. (arguments
  5199. `(#:phases
  5200. (modify-phases %standard-phases
  5201. ;; Since there is no revised Cabal file upstream, we have to
  5202. ;; patch it manually.
  5203. (add-before 'configure 'relax-test-suite-dependencies
  5204. (lambda _
  5205. (substitute* "haddock-library.cabal"
  5206. (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
  5207. (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
  5208. #t)))))
  5209. (native-inputs
  5210. `(("ghc-base-compat" ,ghc-base-compat)
  5211. ("ghc-hspec" ,ghc-hspec)
  5212. ("ghc-optparse-applicative" ,ghc-optparse-applicative)
  5213. ("ghc-quickcheck" ,ghc-quickcheck)
  5214. ("ghc-tree-diff" ,ghc-tree-diff)
  5215. ("hspec-discover" ,hspec-discover)))
  5216. (home-page "https://www.haskell.org/haddock/")
  5217. (synopsis "Library exposing some functionality of Haddock")
  5218. (description
  5219. "Haddock is a documentation-generation tool for Haskell libraries. These
  5220. modules expose some functionality of it without pulling in the GHC dependency.
  5221. Please note that the API is likely to change so specify upper bounds in your
  5222. project if you can't release often. For interacting with Haddock itself, see
  5223. the ‘haddock’ package.")
  5224. (license license:bsd-3)))
  5225. ;; This package is needed for testing 'ghc-haddock'. It is no longer
  5226. ;; published to Hackage, but it is maintained in the Haddock Git
  5227. ;; repository.
  5228. (define ghc-haddock-test
  5229. (package
  5230. (name "ghc-haddock-test")
  5231. (version "2.22.0")
  5232. (source
  5233. (origin
  5234. (method git-fetch)
  5235. (uri (git-reference
  5236. (url "https://github.com/haskell/haddock")
  5237. (commit (string-append "haddock-" version "-release"))))
  5238. (file-name (git-file-name name version))
  5239. (sha256
  5240. (base32
  5241. "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
  5242. (build-system haskell-build-system)
  5243. (arguments
  5244. `(#:phases
  5245. (modify-phases %standard-phases
  5246. (add-after 'unpack 'change-directory
  5247. (lambda _
  5248. (chdir "haddock-test"))))))
  5249. (inputs
  5250. `(("ghc-syb" ,ghc-syb)
  5251. ("ghc-xml" ,ghc-xml)))
  5252. (home-page "https://www.haskell.org/haddock/")
  5253. (synopsis "Test utilities for Haddock")
  5254. (description "This package provides test utilities for Haddock.")
  5255. (license license:bsd-3)
  5256. (properties '((hidden? #t)))))
  5257. (define-public ghc-half
  5258. (package
  5259. (name "ghc-half")
  5260. (version "0.3")
  5261. (source
  5262. (origin
  5263. (method url-fetch)
  5264. (uri (string-append
  5265. "https://hackage.haskell.org/package/half/half-"
  5266. version ".tar.gz"))
  5267. (sha256
  5268. (base32
  5269. "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
  5270. (build-system haskell-build-system)
  5271. (native-inputs
  5272. `(("ghc-hspec" ,ghc-hspec)
  5273. ("ghc-quickcheck" ,ghc-quickcheck)))
  5274. (home-page "https://github.com/ekmett/half")
  5275. (synopsis "Half-precision floating-point computations")
  5276. (description "This library provides a half-precision floating-point
  5277. computation library for Haskell.")
  5278. (license license:bsd-3)))
  5279. (define-public ghc-happy
  5280. (package
  5281. (name "ghc-happy")
  5282. (version "1.19.12")
  5283. (source
  5284. (origin
  5285. (method url-fetch)
  5286. (uri (string-append
  5287. "https://hackage.haskell.org/package/happy/happy-"
  5288. version
  5289. ".tar.gz"))
  5290. (sha256
  5291. (base32
  5292. "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
  5293. (build-system haskell-build-system)
  5294. (arguments
  5295. `(#:phases
  5296. (modify-phases %standard-phases
  5297. (add-after 'unpack 'skip-test-issue93
  5298. (lambda _
  5299. ;; Tests run out of memory on a system with 2GB of available RAM,
  5300. ;; in 'issue93.a.hs' and 'issue93.n.hs'.
  5301. (substitute* "tests/Makefile"
  5302. ((" issue93.y ") " "))
  5303. #t)))))
  5304. (home-page "https://hackage.haskell.org/package/happy")
  5305. (synopsis "Parser generator for Haskell")
  5306. (description "Happy is a parser generator for Haskell. Given a grammar
  5307. specification in BNF, Happy generates Haskell code to parse the grammar.
  5308. Happy works in a similar way to the yacc tool for C.")
  5309. (license license:bsd-3)))
  5310. (define-public ghc-hashable
  5311. (package
  5312. (name "ghc-hashable")
  5313. (version "1.2.7.0")
  5314. (outputs '("out" "static" "doc"))
  5315. (source
  5316. (origin
  5317. (method url-fetch)
  5318. (uri (string-append
  5319. "https://hackage.haskell.org/package/hashable/hashable-"
  5320. version
  5321. ".tar.gz"))
  5322. (sha256
  5323. (base32
  5324. "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
  5325. (build-system haskell-build-system)
  5326. (arguments
  5327. `(#:cabal-revision
  5328. ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
  5329. (inputs
  5330. `(("ghc-random" ,ghc-random)))
  5331. (native-inputs
  5332. `(("ghc-test-framework" ,ghc-test-framework)
  5333. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  5334. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  5335. ("ghc-hunit" ,ghc-hunit)
  5336. ("ghc-quickcheck" ,ghc-quickcheck)))
  5337. (home-page "https://github.com/tibbe/hashable")
  5338. (synopsis "Class for types that can be converted to a hash value")
  5339. (description
  5340. "This package defines a class, @code{Hashable}, for types that can be
  5341. converted to a hash value. This class exists for the benefit of hashing-based
  5342. data structures. The package provides instances for basic types and a way to
  5343. combine hash values.")
  5344. (license license:bsd-3)))
  5345. (define-public ghc-hashable-bootstrap
  5346. (package
  5347. (inherit ghc-hashable)
  5348. (name "ghc-hashable-bootstrap")
  5349. (arguments
  5350. `(#:tests? #f
  5351. ,@(package-arguments ghc-hashable)))
  5352. (native-inputs '())
  5353. (properties '((hidden? #t)))))
  5354. (define-public ghc-hashable-time
  5355. (package
  5356. (name "ghc-hashable-time")
  5357. (version "0.2.0.2")
  5358. (source
  5359. (origin
  5360. (method url-fetch)
  5361. (uri (string-append
  5362. "https://hackage.haskell.org/package/hashable-time/hashable-time-"
  5363. version
  5364. ".tar.gz"))
  5365. (sha256
  5366. (base32
  5367. "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
  5368. (build-system haskell-build-system)
  5369. (arguments
  5370. `(#:cabal-revision
  5371. ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
  5372. (inputs `(("ghc-hashable" ,ghc-hashable)))
  5373. (home-page "https://hackage.haskell.org/package/hashable-time")
  5374. (synopsis "Hashable instances for Data.Time")
  5375. (description
  5376. "This package provides @code{Hashable} instances for types in
  5377. @code{Data.Time}.")
  5378. (license license:bsd-3)))
  5379. (define-public ghc-hashtables
  5380. (package
  5381. (name "ghc-hashtables")
  5382. (version "1.2.3.4")
  5383. (source
  5384. (origin
  5385. (method url-fetch)
  5386. (uri (string-append
  5387. "https://hackage.haskell.org/package/hashtables/hashtables-"
  5388. version ".tar.gz"))
  5389. (sha256
  5390. (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
  5391. (build-system haskell-build-system)
  5392. (inputs
  5393. `(("ghc-hashable" ,ghc-hashable)
  5394. ("ghc-primitive" ,ghc-primitive)
  5395. ("ghc-vector" ,ghc-vector)))
  5396. (home-page "https://github.com/gregorycollins/hashtables")
  5397. (synopsis "Haskell Mutable hash tables in the ST monad")
  5398. (description "This package provides a Haskell library including a
  5399. couple of different implementations of mutable hash tables in the ST
  5400. monad, as well as a typeclass abstracting their common operations, and
  5401. a set of wrappers to use the hash tables in the IO monad.")
  5402. (license license:bsd-3)))
  5403. (define-public ghc-haskeline-0.8
  5404. (package
  5405. (name "ghc-haskeline")
  5406. (version "0.8.0.0")
  5407. (source
  5408. (origin
  5409. (method url-fetch)
  5410. (uri (string-append
  5411. "https://hackage.haskell.org/package/haskeline/haskeline-"
  5412. version
  5413. ".tar.gz"))
  5414. (sha256
  5415. (base32
  5416. "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
  5417. (build-system haskell-build-system)
  5418. (inputs `(("ghc-exceptions" ,ghc-exceptions)))
  5419. (native-inputs `(("ghc-hunit" ,ghc-hunit)))
  5420. ;; FIXME: Tests failing
  5421. (arguments `(#:tests? #f))
  5422. (home-page "https://github.com/judah/haskeline")
  5423. (synopsis
  5424. "Command-line interface for user input, written in Haskell")
  5425. (description
  5426. "Haskeline provides a user interface for line input in command-line
  5427. programs. This library is similar in purpose to readline, but since it is
  5428. written in Haskell it is (hopefully) more easily used in other Haskell
  5429. programs.
  5430. Haskeline runs both on POSIX-compatible systems and on Windows.")
  5431. (license license:bsd-3)))
  5432. (define-public ghc-haskell-lexer
  5433. (package
  5434. (name "ghc-haskell-lexer")
  5435. (version "1.0.2")
  5436. (source
  5437. (origin
  5438. (method url-fetch)
  5439. (uri (string-append
  5440. "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
  5441. version ".tar.gz"))
  5442. (sha256
  5443. (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
  5444. (build-system haskell-build-system)
  5445. (home-page "https://hackage.haskell.org/package/haskell-lexer")
  5446. (synopsis "Fully compliant Haskell 98 lexer")
  5447. (description
  5448. "This package provides a fully compliant Haskell 98 lexer.")
  5449. (license license:bsd-3)))
  5450. (define-public ghc-haskell-src
  5451. (package
  5452. (name "ghc-haskell-src")
  5453. (version "1.0.3.0")
  5454. (source
  5455. (origin
  5456. (method url-fetch)
  5457. (uri (string-append
  5458. "https://hackage.haskell.org/package/haskell-src/haskell-src-"
  5459. version
  5460. ".tar.gz"))
  5461. (sha256
  5462. (base32
  5463. "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
  5464. (build-system haskell-build-system)
  5465. (inputs
  5466. `(("ghc-happy" ,ghc-happy)
  5467. ("ghc-syb" ,ghc-syb)))
  5468. (home-page
  5469. "https://hackage.haskell.org/package/haskell-src")
  5470. (synopsis
  5471. "Support for manipulating Haskell source code")
  5472. (description
  5473. "The @code{haskell-src} package provides support for manipulating Haskell
  5474. source code. The package provides a lexer, parser and pretty-printer, and a
  5475. definition of a Haskell abstract syntax tree (AST). Common uses of this
  5476. package are to parse or generate Haskell 98 code.")
  5477. (license license:bsd-3)))
  5478. (define-public ghc-haskell-src-exts
  5479. (package
  5480. (name "ghc-haskell-src-exts")
  5481. (version "1.21.1")
  5482. (source
  5483. (origin
  5484. (method url-fetch)
  5485. (uri (string-append
  5486. "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
  5487. version
  5488. ".tar.gz"))
  5489. (sha256
  5490. (base32
  5491. "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
  5492. (build-system haskell-build-system)
  5493. (outputs '("out" "static" "doc"))
  5494. (inputs
  5495. `(("cpphs" ,cpphs)
  5496. ("ghc-happy" ,ghc-happy)
  5497. ("ghc-pretty-show" ,ghc-pretty-show)))
  5498. (native-inputs
  5499. `(("ghc-smallcheck" ,ghc-smallcheck)
  5500. ("ghc-tasty" ,ghc-tasty)
  5501. ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
  5502. ("ghc-tasty-golden" ,ghc-tasty-golden)))
  5503. (home-page "https://github.com/haskell-suite/haskell-src-exts")
  5504. (synopsis "Library for manipulating Haskell source")
  5505. (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
  5506. extension of the standard @code{haskell-src} package, and handles most
  5507. registered syntactic extensions to Haskell. All extensions implemented in GHC
  5508. are supported. Apart from these standard extensions, it also handles regular
  5509. patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
  5510. (license license:bsd-3)))
  5511. (define-public ghc-haskell-src-exts-util
  5512. (package
  5513. (name "ghc-haskell-src-exts-util")
  5514. (version "0.2.5")
  5515. (source
  5516. (origin
  5517. (method url-fetch)
  5518. (uri (string-append "https://hackage.haskell.org/package/"
  5519. "haskell-src-exts-util/haskell-src-exts-util-"
  5520. version ".tar.gz"))
  5521. (sha256
  5522. (base32
  5523. "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
  5524. (build-system haskell-build-system)
  5525. (inputs
  5526. `(("ghc-data-default" ,ghc-data-default)
  5527. ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
  5528. ("ghc-semigroups" ,ghc-semigroups)
  5529. ("ghc-uniplate" ,ghc-uniplate)))
  5530. (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
  5531. (synopsis "Helper functions for working with haskell-src-exts trees")
  5532. (description
  5533. "This package provides helper functions for working with
  5534. @code{haskell-src-exts} trees.")
  5535. (license license:bsd-3)))
  5536. (define-public ghc-haskell-src-meta
  5537. (package
  5538. (name "ghc-haskell-src-meta")
  5539. (version "0.8.3")
  5540. (source (origin
  5541. (method url-fetch)
  5542. (uri (string-append "https://hackage.haskell.org/package/"
  5543. "haskell-src-meta/haskell-src-meta-"
  5544. version ".tar.gz"))
  5545. (sha256
  5546. (base32
  5547. "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
  5548. (build-system haskell-build-system)
  5549. (inputs
  5550. `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
  5551. ("ghc-syb" ,ghc-syb)
  5552. ("ghc-th-orphans" ,ghc-th-orphans)))
  5553. (native-inputs
  5554. `(("ghc-hunit" ,ghc-hunit)
  5555. ("ghc-tasty" ,ghc-tasty)
  5556. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  5557. (home-page "https://hackage.haskell.org/package/haskell-src-meta")
  5558. (synopsis "Parse source to template-haskell abstract syntax")
  5559. (description
  5560. "This package provides tools to parse Haskell sources to the
  5561. template-haskell abstract syntax.")
  5562. (license license:bsd-3)))
  5563. (define-public ghc-hasktags
  5564. (package
  5565. (name "ghc-hasktags")
  5566. (version "0.71.2")
  5567. (source
  5568. (origin
  5569. (method url-fetch)
  5570. (uri (string-append
  5571. "https://hackage.haskell.org/package/hasktags/hasktags-"
  5572. version
  5573. ".tar.gz"))
  5574. (sha256
  5575. (base32
  5576. "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
  5577. (build-system haskell-build-system)
  5578. (inputs
  5579. `(("ghc-system-filepath" ,ghc-system-filepath)
  5580. ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
  5581. (native-inputs
  5582. `(("ghc-json" ,ghc-json)
  5583. ("ghc-utf8-string" ,ghc-utf8-string)
  5584. ("ghc-microlens-platform" ,ghc-microlens-platform)
  5585. ("ghc-hunit" ,ghc-hunit)))
  5586. (home-page "https://github.com/MarcWeber/hasktags")
  5587. (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
  5588. (description
  5589. "This package provides a means of generating tag files for Emacs and
  5590. Vim.")
  5591. (license license:bsd-3)))
  5592. (define-public ghc-hex
  5593. (package
  5594. (name "ghc-hex")
  5595. (version "0.1.2")
  5596. (source
  5597. (origin
  5598. (method url-fetch)
  5599. (uri (string-append "https://hackage.haskell.org/package/"
  5600. "hex-" version "/"
  5601. "hex-" version ".tar.gz"))
  5602. (sha256
  5603. (base32
  5604. "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
  5605. (build-system haskell-build-system)
  5606. (home-page "https://hackage.haskell.org/package/hex")
  5607. (synopsis "Convert strings into hexadecimal and back")
  5608. (description "This package converts between bytestrings and their
  5609. hexadecimal string representation.")
  5610. (license license:bsd-3)))
  5611. (define-public ghc-highlighting-kate
  5612. (package
  5613. (name "ghc-highlighting-kate")
  5614. (version "0.6.4")
  5615. (source (origin
  5616. (method url-fetch)
  5617. (uri (string-append "https://hackage.haskell.org/package/"
  5618. "highlighting-kate/highlighting-kate-"
  5619. version ".tar.gz"))
  5620. (sha256
  5621. (base32
  5622. "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
  5623. (build-system haskell-build-system)
  5624. (inputs
  5625. `(("ghc-diff" ,ghc-diff)
  5626. ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
  5627. (native-inputs
  5628. `(("ghc-blaze-html" ,ghc-blaze-html)
  5629. ("ghc-utf8-string" ,ghc-utf8-string)))
  5630. (home-page "https://github.com/jgm/highlighting-kate")
  5631. (synopsis "Syntax highlighting library")
  5632. (description
  5633. "Highlighting-kate is a syntax highlighting library with support for
  5634. nearly one hundred languages. The syntax parsers are automatically generated
  5635. from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
  5636. supported by Kate can be added. An (optional) command-line program is
  5637. provided, along with a utility for generating new parsers from Kate XML syntax
  5638. descriptions.")
  5639. (license license:gpl2+)))
  5640. (define-public ghc-hindent
  5641. (package
  5642. (name "ghc-hindent")
  5643. (version "5.3.1")
  5644. (source
  5645. (origin
  5646. (method url-fetch)
  5647. (uri (string-append
  5648. "https://hackage.haskell.org/package/hindent/hindent-"
  5649. version
  5650. ".tar.gz"))
  5651. (sha256
  5652. (base32
  5653. "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
  5654. (build-system haskell-build-system)
  5655. (arguments
  5656. `(#:modules ((guix build haskell-build-system)
  5657. (guix build utils)
  5658. (guix build emacs-utils))
  5659. #:imported-modules (,@%haskell-build-system-modules
  5660. (guix build emacs-utils))
  5661. #:phases
  5662. (modify-phases %standard-phases
  5663. (add-after 'install 'emacs-install
  5664. (lambda* (#:key inputs outputs #:allow-other-keys)
  5665. (let* ((out (assoc-ref outputs "out"))
  5666. (elisp-file "elisp/hindent.el")
  5667. (dest (string-append out "/share/emacs/site-lisp"))
  5668. (emacs (search-input-file inputs "/bin/emacs")))
  5669. (make-file-writable elisp-file)
  5670. (emacs-substitute-variables elisp-file
  5671. ("hindent-process-path"
  5672. (string-append out "/bin/hindent")))
  5673. (install-file elisp-file dest)
  5674. (emacs-generate-autoloads "hindent" dest)))))))
  5675. (inputs
  5676. `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
  5677. ("ghc-monad-loops" ,ghc-monad-loops)
  5678. ("ghc-utf8-string" ,ghc-utf8-string)
  5679. ("ghc-exceptions" ,ghc-exceptions)
  5680. ("ghc-yaml" ,ghc-yaml)
  5681. ("ghc-unix-compat" ,ghc-unix-compat)
  5682. ("ghc-path" ,ghc-path)
  5683. ("ghc-path-io" ,ghc-path-io)
  5684. ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
  5685. (native-inputs
  5686. `(("ghc-hspec" ,ghc-hspec)
  5687. ("ghc-diff" ,ghc-diff)
  5688. ("emacs" ,emacs-minimal)))
  5689. (home-page
  5690. "https://github.com/commercialhaskell/hindent")
  5691. (synopsis "Extensible Haskell pretty printer")
  5692. (description
  5693. "This package provides automatic formatting for Haskell files. Both a
  5694. library and an executable.")
  5695. (license license:bsd-3)))
  5696. (define-public ghc-hinotify
  5697. (package
  5698. (name "ghc-hinotify")
  5699. (version "0.4")
  5700. (source (origin
  5701. (method url-fetch)
  5702. (uri (string-append
  5703. "https://hackage.haskell.org/package/hinotify/"
  5704. "hinotify-" version ".tar.gz"))
  5705. (sha256
  5706. (base32
  5707. "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
  5708. (build-system haskell-build-system)
  5709. (inputs
  5710. `(("ghc-async" ,ghc-async)))
  5711. (home-page "https://github.com/kolmodin/hinotify.git")
  5712. (synopsis "Haskell binding to inotify")
  5713. (description "This library provides a wrapper to the Linux kernel's inotify
  5714. feature, allowing applications to subscribe to notifications when a file is
  5715. accessed or modified.")
  5716. (license license:bsd-3)))
  5717. (define-public ghc-hledger-lib
  5718. (package
  5719. (name "ghc-hledger-lib")
  5720. (version "1.14.1")
  5721. (source
  5722. (origin
  5723. (method url-fetch)
  5724. (uri (string-append
  5725. "https://hackage.haskell.org/package/hledger-lib/hledger-lib-"
  5726. version
  5727. ".tar.gz"))
  5728. (sha256
  5729. (base32
  5730. "1w6qp01cak6spnpldm01czlm6i5a2alw47w76875l2nagrc4rfp2"))))
  5731. (build-system haskell-build-system)
  5732. (inputs
  5733. `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
  5734. ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
  5735. ("ghc-blaze-markup" ,ghc-blaze-markup)
  5736. ("ghc-call-stack" ,ghc-call-stack)
  5737. ("ghc-cassava" ,ghc-cassava)
  5738. ("ghc-cassava-megaparsec" ,ghc-cassava-megaparsec)
  5739. ("ghc-cmdargs" ,ghc-cmdargs)
  5740. ("ghc-data-default" ,ghc-data-default)
  5741. ("ghc-decimal" ,ghc-decimal)
  5742. ("ghc-easytest" ,ghc-easytest)
  5743. ("ghc-extra" ,ghc-extra)
  5744. ("ghc-file-embed" ,ghc-file-embed)
  5745. ("ghc-glob" ,ghc-glob)
  5746. ("ghc-hashtables" ,ghc-hashtables)
  5747. ("ghc-megaparsec" ,ghc-megaparsec)
  5748. ("ghc-mtl-compat" ,ghc-mtl-compat)
  5749. ("ghc-old-time" ,ghc-old-time)
  5750. ("ghc-parser-combinators" ,ghc-parser-combinators)
  5751. ("ghc-pretty-show" ,ghc-pretty-show)
  5752. ("ghc-regex-tdfa" ,ghc-regex-tdfa)
  5753. ("ghc-safe" ,ghc-safe)
  5754. ("ghc-split" ,ghc-split)
  5755. ("ghc-tabular" ,ghc-tabular)
  5756. ("ghc-uglymemo" ,ghc-uglymemo)
  5757. ("ghc-utf8-string" ,ghc-utf8-string)))
  5758. (native-inputs `(("ghc-doctest" ,ghc-doctest)))
  5759. (home-page "https://hledger.org")
  5760. (synopsis "Reusable library providing the core functionality of hledger")
  5761. (description
  5762. "A reusable library containing hledger's core functionality.
  5763. This is used by most hledger* packages so that they support the same common
  5764. file formats, command line options, reports etc.
  5765. hledger is a robust, cross-platform set of tools for tracking money, time, or
  5766. any other commodity, using double-entry accounting and a simple, editable file
  5767. format, with command-line, terminal and web interfaces. It is a Haskell
  5768. rewrite of Ledger, and one of the leading implementations of Plain Text
  5769. Accounting.")
  5770. (license license:gpl3)))
  5771. (define-public ghc-hmatrix
  5772. (package
  5773. (name "ghc-hmatrix")
  5774. (version "0.20.0.0")
  5775. (source
  5776. (origin
  5777. (method url-fetch)
  5778. (uri (string-append
  5779. "https://hackage.haskell.org/package/hmatrix/hmatrix-"
  5780. version ".tar.gz"))
  5781. (sha256
  5782. (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
  5783. (build-system haskell-build-system)
  5784. (arguments
  5785. `(#:extra-directories ("lapack")))
  5786. (inputs
  5787. `(("ghc-random" ,ghc-random)
  5788. ("ghc-split" ,ghc-split)
  5789. ("ghc-storable-complex" ,ghc-storable-complex)
  5790. ("ghc-semigroups" ,ghc-semigroups)
  5791. ("ghc-vector" ,ghc-vector)
  5792. ;;("openblas" ,openblas)
  5793. ("lapack" ,lapack)))
  5794. ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
  5795. ;; disables inclusion of the LAPACK functions.
  5796. ;; (arguments `(#:configure-flags '("--flags=openblas")))
  5797. (home-page "https://github.com/albertoruiz/hmatrix")
  5798. (synopsis "Haskell numeric linear algebra library")
  5799. (description "The HMatrix package provices a Haskell library for
  5800. dealing with linear systems, matrix decompositions, and other
  5801. numerical computations based on BLAS and LAPACK.")
  5802. (license license:bsd-3)))
  5803. (define-public ghc-hmatrix-gsl
  5804. (package
  5805. (name "ghc-hmatrix-gsl")
  5806. (version "0.19.0.1")
  5807. (source
  5808. (origin
  5809. (method url-fetch)
  5810. (uri (string-append
  5811. "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
  5812. version ".tar.gz"))
  5813. (sha256
  5814. (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
  5815. (build-system haskell-build-system)
  5816. (arguments
  5817. `(#:extra-directories ("gsl")))
  5818. (inputs
  5819. `(("ghc-hmatrix" ,ghc-hmatrix)
  5820. ("ghc-vector" ,ghc-vector)
  5821. ("ghc-random" ,ghc-random)
  5822. ("gsl" ,gsl)))
  5823. (native-inputs `(("pkg-config" ,pkg-config)))
  5824. (home-page "https://github.com/albertoruiz/hmatrix")
  5825. (synopsis "Haskell GSL binding")
  5826. (description "This Haskell library provides a purely functional
  5827. interface to selected numerical computations, internally implemented
  5828. using GSL.")
  5829. (license license:gpl3+)))
  5830. (define-public ghc-hmatrix-gsl-stats
  5831. (package
  5832. (name "ghc-hmatrix-gsl-stats")
  5833. (version "0.4.1.8")
  5834. (source
  5835. (origin
  5836. (method url-fetch)
  5837. (uri
  5838. (string-append
  5839. "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
  5840. version ".tar.gz"))
  5841. (sha256
  5842. (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
  5843. (build-system haskell-build-system)
  5844. (inputs
  5845. `(("ghc-vector" ,ghc-vector)
  5846. ("ghc-storable-complex" ,ghc-storable-complex)
  5847. ("ghc-hmatrix" ,ghc-hmatrix)
  5848. ("gsl" ,gsl)))
  5849. (native-inputs `(("pkg-config" ,pkg-config)))
  5850. (home-page "http://code.haskell.org/hmatrix-gsl-stats")
  5851. (synopsis "GSL Statistics interface for Haskell")
  5852. (description "This Haskell library provides a purely functional
  5853. interface for statistics based on hmatrix and GSL.")
  5854. (license license:bsd-3)))
  5855. (define-public ghc-hmatrix-special
  5856. (package
  5857. (name "ghc-hmatrix-special")
  5858. (version "0.19.0.0")
  5859. (source
  5860. (origin
  5861. (method url-fetch)
  5862. (uri
  5863. (string-append
  5864. "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
  5865. version ".tar.gz"))
  5866. (sha256
  5867. (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
  5868. (build-system haskell-build-system)
  5869. (inputs
  5870. `(("ghc-hmatrix" ,ghc-hmatrix)
  5871. ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
  5872. (home-page "https://github.com/albertoruiz/hmatrix")
  5873. (synopsis "Haskell interface to GSL special functions")
  5874. (description "This library provides an interface to GSL special
  5875. functions for Haskell.")
  5876. (license license:gpl3+)))
  5877. (define-public ghc-hostname
  5878. (package
  5879. (name "ghc-hostname")
  5880. (version "1.0")
  5881. (source
  5882. (origin
  5883. (method url-fetch)
  5884. (uri (string-append "https://hackage.haskell.org/package/hostname/"
  5885. "hostname-" version ".tar.gz"))
  5886. (sha256
  5887. (base32
  5888. "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
  5889. (build-system haskell-build-system)
  5890. (home-page "https://hackage.haskell.org/package/hostname")
  5891. (synopsis "Hostname in Haskell")
  5892. (description "Network.HostName is a simple package providing a means to
  5893. determine the hostname.")
  5894. (license license:bsd-3)))
  5895. (define-public ghc-hourglass
  5896. (package
  5897. (name "ghc-hourglass")
  5898. (version "0.2.12")
  5899. (source (origin
  5900. (method url-fetch)
  5901. (uri (string-append "https://hackage.haskell.org/package/"
  5902. "hourglass/hourglass-" version ".tar.gz"))
  5903. (sha256
  5904. (base32
  5905. "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
  5906. (build-system haskell-build-system)
  5907. (inputs
  5908. `(("ghc-old-locale" ,ghc-old-locale)))
  5909. (native-inputs
  5910. `(("ghc-tasty" ,ghc-tasty)
  5911. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  5912. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  5913. (home-page "https://github.com/vincenthz/hs-hourglass")
  5914. (synopsis "Simple time-related library for Haskell")
  5915. (description
  5916. "This is a simple time library providing a simple but powerful and
  5917. performant API. The backbone of the library are the @code{Timeable} and
  5918. @code{Time} type classes. Each @code{Timeable} instances can be converted to
  5919. a type that has a @code{Time} instances, and thus are different
  5920. representations of current time.")
  5921. (license license:bsd-3)))
  5922. (define-public ghc-hpack
  5923. (package
  5924. (name "ghc-hpack")
  5925. (version "0.31.2")
  5926. (source
  5927. (origin
  5928. (method url-fetch)
  5929. (uri (string-append "https://hackage.haskell.org/package/hpack/"
  5930. "hpack-" version ".tar.gz"))
  5931. (patches (search-patches "ghc-hpack-fix-tests.patch"))
  5932. (sha256
  5933. (base32
  5934. "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
  5935. (build-system haskell-build-system)
  5936. (inputs
  5937. `(("ghc-aeson" ,ghc-aeson)
  5938. ("ghc-bifunctors" ,ghc-bifunctors)
  5939. ("ghc-cryptonite" ,ghc-cryptonite)
  5940. ("ghc-glob" ,ghc-glob)
  5941. ("ghc-http-client" ,ghc-http-client)
  5942. ("ghc-http-client-tls" ,ghc-http-client-tls)
  5943. ("ghc-http-types" ,ghc-http-types)
  5944. ("ghc-infer-license" ,ghc-infer-license)
  5945. ("ghc-scientific" ,ghc-scientific)
  5946. ("ghc-unordered-containers" ,ghc-unordered-containers)
  5947. ("ghc-vector" ,ghc-vector)
  5948. ("ghc-yaml" ,ghc-yaml)))
  5949. (native-inputs
  5950. `(("ghc-hspec" ,ghc-hspec)
  5951. ("ghc-hunit" ,ghc-hunit)
  5952. ("ghc-interpolate" ,ghc-interpolate)
  5953. ("ghc-mockery" ,ghc-mockery)
  5954. ("ghc-quickcheck" ,ghc-quickcheck)
  5955. ("ghc-temporary" ,ghc-temporary)
  5956. ("hspec-discover" ,hspec-discover)))
  5957. (home-page "https://github.com/sol/hpack")
  5958. (synopsis "Tools for an alternative Haskell package format")
  5959. (description
  5960. "Hpack is a format for Haskell packages. It is an alternative to the
  5961. Cabal package format and follows different design principles. Hpack packages
  5962. are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
  5963. @code{stack} support @code{package.yaml} natively. For other build tools the
  5964. @code{hpack} executable can be used to generate a @code{.cabal} file from
  5965. @code{package.yaml}.")
  5966. (license license:expat)))
  5967. (define-public ghc-hspec-megaparsec
  5968. (package
  5969. (name "ghc-hspec-megaparsec")
  5970. (version "2.0.1")
  5971. (source
  5972. (origin
  5973. (method url-fetch)
  5974. (uri (string-append
  5975. "https://hackage.haskell.org/"
  5976. "package/hspec-megaparsec/hspec-megaparsec-"
  5977. version
  5978. ".tar.gz"))
  5979. (sha256
  5980. (base32
  5981. "0w8nn2rh01lkiwsiyqh3gviklhfmy0245rakj94dmliyljw8skfg"))))
  5982. (build-system haskell-build-system)
  5983. (inputs
  5984. `(("ghc-hspec-expectations" ,ghc-hspec-expectations)
  5985. ("ghc-megaparsec" ,ghc-megaparsec)))
  5986. (native-inputs
  5987. `(("ghc-hspec" ,ghc-hspec)))
  5988. (home-page "https://github.com/mrkkrp/hspec-megaparsec")
  5989. (synopsis "Utility functions for testing Megaparsec parsers with Hspec")
  5990. (description
  5991. "Provides a small set of helper functions for testing Megaparsec parsers
  5992. with Hspec.")
  5993. (license license:bsd-3)))
  5994. (define-public ghc-hs-bibutils
  5995. (package
  5996. (name "ghc-hs-bibutils")
  5997. (version "6.7.0.0")
  5998. (source
  5999. (origin
  6000. (method url-fetch)
  6001. (uri (string-append
  6002. "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
  6003. version ".tar.gz"))
  6004. (sha256
  6005. (base32
  6006. "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
  6007. (build-system haskell-build-system)
  6008. (inputs `(("ghc-syb" ,ghc-syb)))
  6009. (home-page "https://hackage.haskell.org/package/hs-bibutils")
  6010. (synopsis "Haskell bindings to bibutils")
  6011. (description
  6012. "This package provides Haskell bindings to @code{bibutils}, a library
  6013. that interconverts between various bibliography formats using a common
  6014. MODS-format XML intermediate.")
  6015. (license license:gpl2+)))
  6016. (define-public ghc-hslogger
  6017. (package
  6018. (name "ghc-hslogger")
  6019. (version "1.2.12")
  6020. (source
  6021. (origin
  6022. (method url-fetch)
  6023. (uri (string-append "https://hackage.haskell.org/package/"
  6024. "hslogger-" version "/" "hslogger-"
  6025. version ".tar.gz"))
  6026. (sha256 (base32
  6027. "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
  6028. (build-system haskell-build-system)
  6029. (inputs
  6030. `(("ghc-network" ,ghc-network)
  6031. ("ghc-old-locale" ,ghc-old-locale)))
  6032. (native-inputs
  6033. `(("ghc-hunit" ,ghc-hunit)))
  6034. (home-page "https://software.complete.org/hslogger")
  6035. (synopsis "Logging framework for Haskell, similar to Python's logging module")
  6036. (description "Hslogger lets each log message have a priority and source be
  6037. associated with it. The programmer can then define global handlers that route
  6038. or filter messages based on the priority and source. It also has a syslog
  6039. handler built in.")
  6040. (license license:bsd-3)))
  6041. (define-public ghc-hslua
  6042. (package
  6043. (name "ghc-hslua")
  6044. (version "1.0.3.2")
  6045. (source (origin
  6046. (method url-fetch)
  6047. (uri (string-append "https://hackage.haskell.org/package/"
  6048. "hslua/hslua-" version ".tar.gz"))
  6049. (sha256
  6050. (base32
  6051. "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
  6052. (build-system haskell-build-system)
  6053. (arguments
  6054. `(#:configure-flags '("-fsystem-lua")
  6055. #:extra-directories ("lua")))
  6056. (inputs
  6057. `(("lua" ,lua)
  6058. ("ghc-exceptions" ,ghc-exceptions)
  6059. ("ghc-fail" ,ghc-fail)))
  6060. (native-inputs
  6061. `(("ghc-tasty" ,ghc-tasty)
  6062. ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
  6063. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  6064. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  6065. ("ghc-quickcheck" ,ghc-quickcheck)
  6066. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
  6067. (home-page "https://hackage.haskell.org/package/hslua")
  6068. (synopsis "Lua language interpreter embedding in Haskell")
  6069. (description
  6070. "The Scripting.Lua module is a wrapper of the Lua language interpreter as
  6071. described in @url{https://www.lua.org/}.")
  6072. (license license:expat)))
  6073. (define-public ghc-hslua-module-system
  6074. (package
  6075. (name "ghc-hslua-module-system")
  6076. (version "0.2.1")
  6077. (source
  6078. (origin
  6079. (method url-fetch)
  6080. (uri (string-append "https://hackage.haskell.org/package/"
  6081. "hslua-module-system/hslua-module-system-"
  6082. version ".tar.gz"))
  6083. (sha256
  6084. (base32
  6085. "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
  6086. (build-system haskell-build-system)
  6087. (inputs
  6088. `(("ghc-exceptions" ,ghc-exceptions)
  6089. ("ghc-hslua" ,ghc-hslua)
  6090. ("ghc-temporary" ,ghc-temporary)))
  6091. (native-inputs
  6092. `(("ghc-tasty" ,ghc-tasty)
  6093. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  6094. (home-page "https://github.com/hslua/hslua-module-system")
  6095. (synopsis "Lua module wrapper around Haskell's System module")
  6096. (description "This library provides access to system information and
  6097. functionality to Lua scripts via Haskell's @code{System} module. Intended
  6098. usage for this package is to preload it by adding the loader function to
  6099. @code{package.preload}. Note that the Lua @code{package} library must have
  6100. already been loaded before the loader can be added.")
  6101. (license license:expat)))
  6102. (define-public ghc-hslua-module-text
  6103. (package
  6104. (name "ghc-hslua-module-text")
  6105. (version "0.2.1")
  6106. (source
  6107. (origin
  6108. (method url-fetch)
  6109. (uri (string-append "https://hackage.haskell.org/package/"
  6110. "hslua-module-text/hslua-module-text-"
  6111. version ".tar.gz"))
  6112. (sha256
  6113. (base32
  6114. "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
  6115. (build-system haskell-build-system)
  6116. (inputs
  6117. `(("ghc-hslua" ,ghc-hslua)))
  6118. (native-inputs
  6119. `(("ghc-tasty" ,ghc-tasty)
  6120. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  6121. (home-page "https://github.com/hslua/hslua-module-text")
  6122. (synopsis "Lua module for text")
  6123. (description
  6124. "This package provides a UTF-8 aware subset of Lua's @code{string} module
  6125. for Haskell. The functions provided by this module are @code{upper},
  6126. @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
  6127. (license license:expat)))
  6128. (define-public ghc-hsyaml
  6129. (package
  6130. (name "ghc-hsyaml")
  6131. (version "0.1.2.0")
  6132. (source
  6133. (origin
  6134. (method url-fetch)
  6135. (uri (string-append "https://hackage.haskell.org/package/"
  6136. "HsYAML/HsYAML-" version ".tar.gz"))
  6137. (sha256
  6138. (base32
  6139. "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
  6140. (build-system haskell-build-system)
  6141. (arguments
  6142. `(#:cabal-revision
  6143. ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
  6144. (home-page "https://github.com/haskell-hvr/HsYAML")
  6145. (synopsis "Pure Haskell YAML 1.2 parser")
  6146. (description "This library provides a
  6147. @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
  6148. for Haskell. Its features include:
  6149. @itemize
  6150. @item Pure Haskell implementation with small dependency footprint and
  6151. emphasis on strict compliance with the YAML 1.2 specification.
  6152. @item Direct decoding to native Haskell types via (aeson-inspired)
  6153. typeclass-based API (see @code{Data.YAML}).
  6154. @item Support for constructing custom YAML node graph
  6155. representation (including support for cyclic YAML data structures).
  6156. @item Support for the standard (untyped) @emph{Failsafe}, (strict)
  6157. @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
  6158. typing rules as defined in the YAML 1.2 specification (including support
  6159. for user-defined custom schemas).
  6160. @item Event-based API resembling LibYAML's Event-based API (see
  6161. @code{Data.YAML.Event}).
  6162. @item Low-level API access to lexical token-based scanner (see
  6163. @code{Data.YAML.Token}).
  6164. @end itemize")
  6165. (license license:gpl2+)))
  6166. (define-public ghc-http-api-data
  6167. (package
  6168. (name "ghc-http-api-data")
  6169. (version "0.4.1")
  6170. (source
  6171. (origin
  6172. (method url-fetch)
  6173. (uri (string-append "https://hackage.haskell.org/package/"
  6174. "http-api-data-" version "/"
  6175. "http-api-data-" version ".tar.gz"))
  6176. (sha256
  6177. (base32
  6178. "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
  6179. (build-system haskell-build-system)
  6180. (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
  6181. ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
  6182. ("ghc-cookie" ,ghc-cookie)
  6183. ("ghc-hashable" ,ghc-hashable)
  6184. ("ghc-http-types" ,ghc-http-types)
  6185. ("ghc-time-compat" ,ghc-time-compat)
  6186. ("ghc-unordered-containers" ,ghc-unordered-containers)
  6187. ("ghc-uuid-types" ,ghc-uuid-types)))
  6188. (native-inputs
  6189. `(("cabal-doctest" ,cabal-doctest)
  6190. ("ghc-nats" ,ghc-nats)
  6191. ("ghc-hunit" ,ghc-hunit)
  6192. ("ghc-hspec" ,ghc-hspec)
  6193. ("ghc-quickcheck" ,ghc-quickcheck)
  6194. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  6195. ("ghc-doctest" ,ghc-doctest)
  6196. ("hspec-discover" ,hspec-discover)))
  6197. (home-page "https://github.com/fizruk/http-api-data")
  6198. (synopsis "Convert to/from HTTP API data like URL pieces, headers and
  6199. query parameters")
  6200. (description "This Haskell package defines typeclasses used for converting
  6201. Haskell data types to and from HTTP API data.")
  6202. (license license:bsd-3)))
  6203. (define-public ghc-ieee754
  6204. (package
  6205. (name "ghc-ieee754")
  6206. (version "0.8.0")
  6207. (source (origin
  6208. (method url-fetch)
  6209. (uri (string-append
  6210. "https://hackage.haskell.org/package/ieee754/"
  6211. "ieee754-" version ".tar.gz"))
  6212. (sha256
  6213. (base32
  6214. "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
  6215. (build-system haskell-build-system)
  6216. (home-page "https://github.com/patperry/hs-ieee754")
  6217. (synopsis "Utilities for dealing with IEEE floating point numbers")
  6218. (description "Utilities for dealing with IEEE floating point numbers,
  6219. ported from the Tango math library; approximate and exact equality comparisons
  6220. for general types.")
  6221. (license license:bsd-3)))
  6222. (define-public ghc-ifelse
  6223. (package
  6224. (name "ghc-ifelse")
  6225. (version "0.85")
  6226. (source
  6227. (origin
  6228. (method url-fetch)
  6229. (uri (string-append "https://hackage.haskell.org/package/"
  6230. "IfElse/IfElse-" version ".tar.gz"))
  6231. (sha256
  6232. (base32
  6233. "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
  6234. (build-system haskell-build-system)
  6235. (home-page "https://hackage.haskell.org/package/IfElse")
  6236. (synopsis "Monadic control flow with anaphoric variants")
  6237. (description "This library provides functions for control flow inside of
  6238. monads with anaphoric variants on @code{if} and @code{when} and a C-like
  6239. @code{switch} function.")
  6240. (license license:bsd-3)))
  6241. (define-public ghc-indents
  6242. (package
  6243. (name "ghc-indents")
  6244. (version "0.5.0.1")
  6245. (source (origin
  6246. (method url-fetch)
  6247. (uri (string-append
  6248. "https://hackage.haskell.org/package/indents/indents-"
  6249. version ".tar.gz"))
  6250. (sha256
  6251. (base32
  6252. "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
  6253. (build-system haskell-build-system)
  6254. ;; This package needs an older version of tasty.
  6255. (arguments '(#:tests? #f))
  6256. (inputs
  6257. `(("ghc-concatenative" ,ghc-concatenative)))
  6258. (native-inputs
  6259. `(("ghc-tasty" ,ghc-tasty)
  6260. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  6261. (home-page "https://github.com/jaspervdj/indents")
  6262. (synopsis "Indentation sensitive parser-combinators for parsec")
  6263. (description
  6264. "This library provides functions for use in parsing indentation sensitive
  6265. contexts. It parses blocks of lines all indented to the same level as well as
  6266. lines continued at an indented level below.")
  6267. (license license:bsd-3)))
  6268. (define-public ghc-infer-license
  6269. (package
  6270. (name "ghc-infer-license")
  6271. (version "0.2.0")
  6272. (source
  6273. (origin
  6274. (method url-fetch)
  6275. (uri (string-append "https://hackage.haskell.org/package/"
  6276. "infer-license/infer-license-" version ".tar.gz"))
  6277. (sha256
  6278. (base32
  6279. "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
  6280. (build-system haskell-build-system)
  6281. (inputs
  6282. `(("ghc-text-metrics" ,ghc-text-metrics)))
  6283. (native-inputs
  6284. `(("ghc-hspec" ,ghc-hspec)
  6285. ("hspec-discover" ,hspec-discover)))
  6286. (home-page "https://hackage.haskell.org/package/infer-license")
  6287. (synopsis "Infer software license from a given license file")
  6288. (description "This library provides tools to infer a software
  6289. license from a given license file.")
  6290. (license license:expat)))
  6291. (define-public ghc-ini
  6292. (package
  6293. (name "ghc-ini")
  6294. (version "0.4.1")
  6295. (source
  6296. (origin
  6297. (method url-fetch)
  6298. (uri (string-append "https://hackage.haskell.org/package/"
  6299. "ini/ini-" version ".tar.gz"))
  6300. (sha256
  6301. (base32 "0mvwii8jbh2ll54qb9dij5m66c6324s2y4vrwz1qr4wz40m3qa8l"))))
  6302. (build-system haskell-build-system)
  6303. (native-inputs `(("ghc-hspec" ,ghc-hspec)))
  6304. (inputs
  6305. `(("ghc-attoparsec" ,ghc-attoparsec)
  6306. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  6307. (home-page "https://github.com/chrisdone/ini")
  6308. (synopsis
  6309. "Haskell library to easily handle configuration files in the INI format")
  6310. (description
  6311. "The @code{ghc-ini} Haskell library lets programmers quickly and easily
  6312. read and write configuration files in the simple INI format.")
  6313. (license license:bsd-3)))
  6314. (define-public ghc-inline-c
  6315. (package
  6316. (name "ghc-inline-c")
  6317. (version "0.7.0.1")
  6318. (source
  6319. (origin
  6320. (method url-fetch)
  6321. (uri (string-append "https://hackage.haskell.org/package/inline-c/"
  6322. "inline-c-" version ".tar.gz"))
  6323. (sha256
  6324. (base32
  6325. "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
  6326. (build-system haskell-build-system)
  6327. (inputs
  6328. `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
  6329. ("ghc-cryptohash" ,ghc-cryptohash)
  6330. ("ghc-hashable" ,ghc-hashable)
  6331. ("ghc-parsers" ,ghc-parsers)
  6332. ("ghc-unordered-containers" ,ghc-unordered-containers)
  6333. ("ghc-vector" ,ghc-vector)))
  6334. (native-inputs
  6335. `(("ghc-quickcheck" ,ghc-quickcheck)
  6336. ("ghc-hspec" ,ghc-hspec)
  6337. ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
  6338. ("ghc-regex-posix" ,ghc-regex-posix)))
  6339. (home-page "https://hackage.haskell.org/package/inline-c")
  6340. (synopsis "Write Haskell source files including C code inline")
  6341. (description
  6342. "inline-c lets you seamlessly call C libraries and embed high-performance
  6343. inline C code in Haskell modules. Haskell and C can be freely intermixed in
  6344. the same source file, and data passed to and from code in either language with
  6345. minimal overhead. No FFI required.")
  6346. (license license:expat)))
  6347. (define-public ghc-inline-c-cpp
  6348. (package
  6349. (name "ghc-inline-c-cpp")
  6350. (version "0.3.0.3")
  6351. (source
  6352. (origin
  6353. (method url-fetch)
  6354. (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
  6355. "inline-c-cpp-" version ".tar.gz"))
  6356. (sha256
  6357. (base32
  6358. "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
  6359. (build-system haskell-build-system)
  6360. (inputs
  6361. `(("ghc-inline-c" ,ghc-inline-c)
  6362. ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
  6363. (native-inputs
  6364. `(("ghc-hspec" ,ghc-hspec)))
  6365. (home-page "https://hackage.haskell.org/package/inline-c-cpp")
  6366. (synopsis "Lets you embed C++ code into Haskell")
  6367. (description
  6368. "This package provides utilities to inline C++ code into Haskell using
  6369. @code{inline-c}.")
  6370. (license license:expat)))
  6371. (define-public ghc-integer-logarithms
  6372. (package
  6373. (name "ghc-integer-logarithms")
  6374. (version "1.0.3")
  6375. (source
  6376. (origin
  6377. (method url-fetch)
  6378. (uri (string-append "https://hackage.haskell.org/package/"
  6379. "integer-logarithms/integer-logarithms-"
  6380. version ".tar.gz"))
  6381. (sha256
  6382. (base32
  6383. "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
  6384. (build-system haskell-build-system)
  6385. (arguments
  6386. `(#:phases
  6387. (modify-phases %standard-phases
  6388. (add-before 'configure 'update-constraints
  6389. (lambda _
  6390. (substitute* "integer-logarithms.cabal"
  6391. (("tasty >= 0\\.10 && < 1\\.1")
  6392. "tasty >= 0.10 && < 1.2")))))))
  6393. (native-inputs
  6394. `(("ghc-quickcheck" ,ghc-quickcheck)
  6395. ("ghc-smallcheck" ,ghc-smallcheck)
  6396. ("ghc-tasty" ,ghc-tasty)
  6397. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  6398. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  6399. ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
  6400. (home-page "https://github.com/Bodigrim/integer-logarithms")
  6401. (synopsis "Integer logarithms")
  6402. (description
  6403. "This package provides the following modules:
  6404. @code{Math.NumberTheory.Logarithms} and
  6405. @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
  6406. @code{GHC.Integer.Logarithms.Compat} and
  6407. @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
  6408. in migrated modules.")
  6409. (license license:expat)))
  6410. (define-public ghc-integer-logarithms-bootstrap
  6411. (package
  6412. (inherit ghc-integer-logarithms)
  6413. (name "ghc-integer-logarithms-bootstrap")
  6414. (arguments `(#:tests? #f))
  6415. (native-inputs '())
  6416. (properties '((hidden? #t)))))
  6417. (define-public ghc-interpolate
  6418. (package
  6419. (name "ghc-interpolate")
  6420. (version "0.2.0")
  6421. (source
  6422. (origin
  6423. (method url-fetch)
  6424. (uri (string-append "https://hackage.haskell.org/package/interpolate/"
  6425. "interpolate-" version ".tar.gz"))
  6426. (sha256
  6427. (base32
  6428. "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
  6429. (build-system haskell-build-system)
  6430. (inputs
  6431. `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
  6432. (native-inputs
  6433. `(("ghc-base-compat" ,ghc-base-compat)
  6434. ("ghc-hspec" ,ghc-hspec)
  6435. ("ghc-quickcheck" ,ghc-quickcheck)
  6436. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  6437. ("hspec-discover" ,hspec-discover)))
  6438. (home-page "https://github.com/sol/interpolate")
  6439. (synopsis "String interpolation library")
  6440. (description "This package provides a string interpolation library for
  6441. Haskell.")
  6442. (license license:expat)))
  6443. (define-public ghc-intervalmap
  6444. (package
  6445. (name "ghc-intervalmap")
  6446. (version "0.6.1.1")
  6447. (source
  6448. (origin
  6449. (method url-fetch)
  6450. (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
  6451. "IntervalMap-" version ".tar.gz"))
  6452. (sha256
  6453. (base32
  6454. "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
  6455. (build-system haskell-build-system)
  6456. (native-inputs
  6457. `(("ghc-quickcheck" ,ghc-quickcheck)))
  6458. (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
  6459. (synopsis "Containers for intervals, with efficient search")
  6460. (description
  6461. "This package provides ordered containers of intervals, with efficient
  6462. search for all keys containing a point or overlapping an interval. See the
  6463. example code on the home page for a quick introduction.")
  6464. (license license:bsd-3)))
  6465. (define-public ghc-intervals
  6466. (package
  6467. (name "ghc-intervals")
  6468. (version "0.8.1")
  6469. (source
  6470. (origin
  6471. (method url-fetch)
  6472. (uri (string-append "https://hackage.haskell.org/package/"
  6473. "intervals/intervals-" version ".tar.gz"))
  6474. (sha256
  6475. (base32
  6476. "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
  6477. (build-system haskell-build-system)
  6478. (inputs
  6479. `(("ghc-distributive" ,ghc-distributive)))
  6480. (native-inputs
  6481. `(("cabal-doctest" ,cabal-doctest)
  6482. ("ghc-doctest" ,ghc-doctest)
  6483. ("ghc-quickcheck" ,ghc-quickcheck)))
  6484. (arguments
  6485. `(#:cabal-revision
  6486. ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
  6487. (home-page "https://github.com/ekmett/intervals")
  6488. (synopsis "Interval arithmetic")
  6489. (description "This library provides
  6490. @code{Numeric.Interval.Interval}, which represets a closed, convex set
  6491. of floating point values.")
  6492. (license license:bsd-3)))
  6493. (define-public ghc-invariant
  6494. (package
  6495. (name "ghc-invariant")
  6496. (version "0.5.3")
  6497. (source
  6498. (origin
  6499. (method url-fetch)
  6500. (uri (string-append
  6501. "https://hackage.haskell.org/package/invariant/invariant-"
  6502. version ".tar.gz"))
  6503. (sha256
  6504. (base32
  6505. "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
  6506. (build-system haskell-build-system)
  6507. (inputs
  6508. `(("ghc-bifunctors" ,ghc-bifunctors)
  6509. ("ghc-comonad" ,ghc-comonad)
  6510. ("ghc-contravariant" ,ghc-contravariant)
  6511. ("ghc-profunctors" ,ghc-profunctors)
  6512. ("ghc-semigroups" ,ghc-semigroups)
  6513. ("ghc-statevar" ,ghc-statevar)
  6514. ("ghc-tagged" ,ghc-tagged)
  6515. ("ghc-th-abstraction" ,ghc-th-abstraction)
  6516. ("ghc-transformers-compat" ,ghc-transformers-compat)
  6517. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  6518. (native-inputs
  6519. `(("ghc-hspec" ,ghc-hspec)
  6520. ("ghc-quickcheck" ,ghc-quickcheck)
  6521. ("hspec-discover" ,hspec-discover)))
  6522. (home-page "https://github.com/nfrisby/invariant-functors")
  6523. (synopsis "Haskell98 invariant functors")
  6524. (description "Haskell98 invariant functors (also known as exponential
  6525. functors). For more information, see Edward Kmett's article
  6526. @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
  6527. (license license:bsd-2)))
  6528. (define-public ghc-io-streams
  6529. (package
  6530. (name "ghc-io-streams")
  6531. (version "1.5.1.0")
  6532. (source
  6533. (origin
  6534. (method url-fetch)
  6535. (uri (string-append "https://hackage.haskell.org/package/"
  6536. "io-streams/io-streams-" version ".tar.gz"))
  6537. (sha256
  6538. (base32
  6539. "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
  6540. (build-system haskell-build-system)
  6541. (inputs
  6542. `(("ghc-attoparsec" ,ghc-attoparsec)
  6543. ("ghc-bytestring-builder" ,ghc-bytestring-builder)
  6544. ("ghc-network" ,ghc-network)
  6545. ("ghc-primitive" ,ghc-primitive)
  6546. ("ghc-vector" ,ghc-vector)
  6547. ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
  6548. (native-inputs
  6549. `(("ghc-hunit" ,ghc-hunit)
  6550. ("ghc-quickcheck" ,ghc-quickcheck)
  6551. ("ghc-test-framework" ,ghc-test-framework)
  6552. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  6553. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  6554. ("ghc-zlib" ,ghc-zlib)))
  6555. (home-page "https://hackage.haskell.org/package/io-streams")
  6556. (synopsis "Simple and composable stream I/O")
  6557. (description "This library contains simple and easy-to-use
  6558. primitives for I/O using streams.")
  6559. (license license:bsd-3)))
  6560. (define-public ghc-io-streams-haproxy
  6561. (package
  6562. (name "ghc-io-streams-haproxy")
  6563. (version "1.0.1.0")
  6564. (source
  6565. (origin
  6566. (method url-fetch)
  6567. (uri (string-append "https://hackage.haskell.org/package/"
  6568. "io-streams-haproxy/io-streams-haproxy-"
  6569. version ".tar.gz"))
  6570. (sha256
  6571. (base32
  6572. "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
  6573. (build-system haskell-build-system)
  6574. (inputs
  6575. `(("ghc-attoparsec" ,ghc-attoparsec)
  6576. ("ghc-io-streams" ,ghc-io-streams)
  6577. ("ghc-network" ,ghc-network)))
  6578. (native-inputs
  6579. `(("ghc-hunit" ,ghc-hunit)
  6580. ("ghc-test-framework" ,ghc-test-framework)
  6581. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  6582. (home-page "http://snapframework.com/")
  6583. (synopsis "HAProxy protocol 1.5 support for io-streams")
  6584. (description "HAProxy protocol version 1.5 support
  6585. (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
  6586. for applications using io-streams. The proxy protocol allows information
  6587. about a networked peer (like remote address and port) to be propagated
  6588. through a forwarding proxy that is configured to speak this protocol.")
  6589. (license license:bsd-3)))
  6590. (define-public ghc-iproute
  6591. (package
  6592. (name "ghc-iproute")
  6593. (version "1.7.7")
  6594. (source
  6595. (origin
  6596. (method url-fetch)
  6597. (uri (string-append
  6598. "https://hackage.haskell.org/package/iproute/iproute-"
  6599. version
  6600. ".tar.gz"))
  6601. (sha256
  6602. (base32
  6603. "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
  6604. (build-system haskell-build-system)
  6605. (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
  6606. ; exported by ghc-byteorder. Doctest issue.
  6607. (inputs
  6608. `(("ghc-appar" ,ghc-appar)
  6609. ("ghc-byteorder" ,ghc-byteorder)
  6610. ("ghc-network" ,ghc-network)
  6611. ("ghc-safe" ,ghc-safe)))
  6612. (home-page "https://www.mew.org/~kazu/proj/iproute/")
  6613. (synopsis "IP routing table")
  6614. (description "IP Routing Table is a tree of IP ranges to search one of
  6615. them on the longest match base. It is a kind of TRIE with one way branching
  6616. removed. Both IPv4 and IPv6 are supported.")
  6617. (license license:bsd-3)))
  6618. (define-public ghc-ipynb
  6619. (package
  6620. (name "ghc-ipynb")
  6621. (version "0.1")
  6622. (source
  6623. (origin
  6624. (method url-fetch)
  6625. (uri (string-append "https://hackage.haskell.org/package/"
  6626. "ipynb/ipynb-" version ".tar.gz"))
  6627. (sha256
  6628. (base32
  6629. "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
  6630. (build-system haskell-build-system)
  6631. (inputs
  6632. `(("ghc-unordered-containers" ,ghc-unordered-containers)
  6633. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  6634. ("ghc-aeson" ,ghc-aeson)
  6635. ("ghc-semigroups" ,ghc-semigroups)))
  6636. (native-inputs
  6637. `(("ghc-tasty" ,ghc-tasty)
  6638. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  6639. ("ghc-aeson-diff" ,ghc-aeson-diff)
  6640. ("ghc-microlens-aeson" ,ghc-microlens-aeson)
  6641. ("ghc-microlens" ,ghc-microlens)
  6642. ("ghc-vector" ,ghc-vector)))
  6643. (home-page "https://hackage.haskell.org/package/ipynb")
  6644. (synopsis "Data structure for working with Jupyter notebooks")
  6645. (description "This library defines a data structure for representing
  6646. Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
  6647. instances for conversion to and from JSON .ipynb files.")
  6648. (license license:bsd-3)))
  6649. (define-public ghc-iwlib
  6650. (package
  6651. (name "ghc-iwlib")
  6652. (version "0.1.0")
  6653. (source
  6654. (origin
  6655. (method url-fetch)
  6656. (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
  6657. version ".tar.gz"))
  6658. (sha256
  6659. (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
  6660. (build-system haskell-build-system)
  6661. (arguments
  6662. `(#:extra-directories ("wireless-tools")))
  6663. (inputs
  6664. `(("wireless-tools" ,wireless-tools)))
  6665. (home-page "https://github.com/jaor/iwlib")
  6666. (synopsis "Haskell binding to the iw wireless networking library")
  6667. (description
  6668. "IWlib is a thin Haskell binding to the iw C library. It provides
  6669. information about the current wireless network connections, and adapters on
  6670. supported systems.")
  6671. (license license:bsd-3)))
  6672. (define-public ghc-json
  6673. (package
  6674. (name "ghc-json")
  6675. (version "0.9.3")
  6676. (source
  6677. (origin
  6678. (method url-fetch)
  6679. (uri (string-append "https://hackage.haskell.org/package/json/"
  6680. "json-" version ".tar.gz"))
  6681. (sha256
  6682. (base32
  6683. "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
  6684. (build-system haskell-build-system)
  6685. (inputs
  6686. `(("ghc-syb" ,ghc-syb)))
  6687. (home-page "https://hackage.haskell.org/package/json")
  6688. (synopsis "Serializes Haskell data to and from JSON")
  6689. (description "This package provides a parser and pretty printer for
  6690. converting between Haskell values and JSON.
  6691. JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
  6692. (license license:bsd-3)))
  6693. (define-public ghc-juicypixels
  6694. (package
  6695. (name "ghc-juicypixels")
  6696. (version "3.3.4")
  6697. (source (origin
  6698. (method url-fetch)
  6699. (uri (string-append "https://hackage.haskell.org/package/"
  6700. "JuicyPixels/JuicyPixels-"
  6701. version ".tar.gz"))
  6702. (sha256
  6703. (base32
  6704. "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
  6705. (build-system haskell-build-system)
  6706. (outputs '("out" "static" "doc"))
  6707. (inputs
  6708. `(("ghc-zlib" ,ghc-zlib)
  6709. ("ghc-vector" ,ghc-vector)
  6710. ("ghc-primitive" ,ghc-primitive)
  6711. ("ghc-mmap" ,ghc-mmap)))
  6712. (home-page "https://github.com/Twinside/Juicy.Pixels")
  6713. (synopsis "Picture loading and serialization library")
  6714. (description
  6715. "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
  6716. TIFF and GIF formats.")
  6717. (license license:bsd-3)))
  6718. (define-public ghc-kan-extensions
  6719. (package
  6720. (name "ghc-kan-extensions")
  6721. (version "5.2")
  6722. (source
  6723. (origin
  6724. (method url-fetch)
  6725. (uri (string-append
  6726. "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
  6727. version
  6728. ".tar.gz"))
  6729. (sha256
  6730. (base32
  6731. "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
  6732. (build-system haskell-build-system)
  6733. (inputs
  6734. `(("ghc-adjunctions" ,ghc-adjunctions)
  6735. ("ghc-comonad" ,ghc-comonad)
  6736. ("ghc-contravariant" ,ghc-contravariant)
  6737. ("ghc-distributive" ,ghc-distributive)
  6738. ("ghc-free" ,ghc-free)
  6739. ("ghc-invariant" ,ghc-invariant)
  6740. ("ghc-semigroupoids" ,ghc-semigroupoids)
  6741. ("ghc-tagged" ,ghc-tagged)
  6742. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  6743. (home-page "https://github.com/ekmett/kan-extensions/")
  6744. (synopsis "Kan extensions library")
  6745. (description "This library provides Kan extensions, Kan lifts, various
  6746. forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
  6747. (license license:bsd-3)))
  6748. (define-public ghc-language-c
  6749. (package
  6750. (name "ghc-language-c")
  6751. (version "0.8.3")
  6752. (source
  6753. (origin
  6754. (method url-fetch)
  6755. (uri (string-append "https://hackage.haskell.org/package/"
  6756. "language-c/language-c-" version ".tar.gz"))
  6757. (sha256
  6758. (base32
  6759. "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
  6760. (build-system haskell-build-system)
  6761. (inputs `(("ghc-syb" ,ghc-syb)))
  6762. (native-inputs
  6763. `(("ghc-happy" ,ghc-happy)
  6764. ("ghc-alex" ,ghc-alex)))
  6765. (home-page "https://visq.github.io/language-c/")
  6766. (synopsis "Analysis and generation of C code")
  6767. (description
  6768. "Language C is a Haskell library for the analysis and generation of C code.
  6769. It features a complete, well-tested parser and pretty printer for all of C99
  6770. and a large set of GNU extensions.")
  6771. (license license:bsd-3)))
  6772. (define-public ghc-language-glsl
  6773. (package
  6774. (name "ghc-language-glsl")
  6775. (version "0.3.0")
  6776. (source
  6777. (origin
  6778. (method url-fetch)
  6779. (uri (string-append "https://hackage.haskell.org/package/"
  6780. "language-glsl/language-glsl-" version ".tar.gz"))
  6781. (sha256
  6782. (base32
  6783. "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
  6784. (build-system haskell-build-system)
  6785. (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
  6786. (arguments
  6787. `(#:tests? #f
  6788. #:cabal-revision
  6789. ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
  6790. (home-page "https://hackage.haskell.org/package/language-glsl")
  6791. (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
  6792. (description "This package is a Haskell library for the
  6793. representation, parsing, and pretty-printing of GLSL 1.50 code.")
  6794. (license license:bsd-3)))
  6795. (define-public ghc-language-haskell-extract
  6796. (package
  6797. (name "ghc-language-haskell-extract")
  6798. (version "0.2.4")
  6799. (source
  6800. (origin
  6801. (method url-fetch)
  6802. (uri (string-append "https://hackage.haskell.org/package/"
  6803. "language-haskell-extract-" version "/"
  6804. "language-haskell-extract-" version ".tar.gz"))
  6805. (sha256
  6806. (base32
  6807. "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
  6808. (build-system haskell-build-system)
  6809. (inputs
  6810. `(("ghc-regex-posix" ,ghc-regex-posix)))
  6811. (home-page "https://github.com/finnsson/template-helper")
  6812. (synopsis "Haskell module to automatically extract functions from
  6813. the local code")
  6814. (description "This package contains helper functions on top of
  6815. Template Haskell.
  6816. For example, @code{functionExtractor} extracts all functions after a
  6817. regexp-pattern, which can be useful if you wish to extract all functions
  6818. beginning with @code{test} (for a test framework) or all functions beginning
  6819. with @code{wc} (for a web service).")
  6820. (license license:bsd-3)))
  6821. (define-public ghc-lens
  6822. (package
  6823. (name "ghc-lens")
  6824. (version "4.17.1")
  6825. (source
  6826. (origin
  6827. (method url-fetch)
  6828. (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
  6829. version ".tar.gz"))
  6830. (sha256
  6831. (base32
  6832. "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
  6833. (build-system haskell-build-system)
  6834. (outputs '("out" "static" "doc"))
  6835. (inputs
  6836. `(("ghc-base-orphans" ,ghc-base-orphans)
  6837. ("ghc-bifunctors" ,ghc-bifunctors)
  6838. ("ghc-distributive" ,ghc-distributive)
  6839. ("ghc-exceptions" ,ghc-exceptions)
  6840. ("ghc-free" ,ghc-free)
  6841. ("ghc-kan-extensions" ,ghc-kan-extensions)
  6842. ("ghc-parallel" ,ghc-parallel)
  6843. ("ghc-reflection" ,ghc-reflection)
  6844. ("ghc-semigroupoids" ,ghc-semigroupoids)
  6845. ("ghc-vector" ,ghc-vector)
  6846. ("ghc-call-stack" ,ghc-call-stack)
  6847. ("ghc-comonad" ,ghc-comonad)
  6848. ("ghc-contravariant" ,ghc-contravariant)
  6849. ("ghc-hashable" ,ghc-hashable)
  6850. ("ghc-profunctors" ,ghc-profunctors)
  6851. ("ghc-semigroups" ,ghc-semigroups)
  6852. ("ghc-tagged" ,ghc-tagged)
  6853. ("ghc-transformers-compat" ,ghc-transformers-compat)
  6854. ("ghc-unordered-containers" ,ghc-unordered-containers)
  6855. ("ghc-void" ,ghc-void)
  6856. ("ghc-generic-deriving" ,ghc-generic-deriving)
  6857. ("ghc-nats" ,ghc-nats)
  6858. ("ghc-simple-reflect" ,ghc-simple-reflect)
  6859. ("hlint" ,hlint)))
  6860. (native-inputs
  6861. `(("cabal-doctest" ,cabal-doctest)
  6862. ("ghc-doctest" ,ghc-doctest)
  6863. ("ghc-hunit" ,ghc-hunit)
  6864. ("ghc-test-framework" ,ghc-test-framework)
  6865. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  6866. ("ghc-test-framework-th" ,ghc-test-framework-th)
  6867. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  6868. ("ghc-quickcheck" ,ghc-quickcheck)))
  6869. (home-page "https://github.com/ekmett/lens/")
  6870. (synopsis "Lenses, Folds and Traversals")
  6871. (description "This library provides @code{Control.Lens}. The combinators
  6872. in @code{Control.Lens} provide a highly generic toolbox for composing families
  6873. of getters, folds, isomorphisms, traversals, setters and lenses and their
  6874. indexed variants.")
  6875. (license license:bsd-3)))
  6876. (define-public ghc-lens-family-core
  6877. (package
  6878. (name "ghc-lens-family-core")
  6879. (version "1.2.3")
  6880. (source
  6881. (origin
  6882. (method url-fetch)
  6883. (uri (string-append
  6884. "mirror://hackage/package/lens-family-core/lens-family-core-"
  6885. version
  6886. ".tar.gz"))
  6887. (sha256
  6888. (base32
  6889. "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
  6890. (build-system haskell-build-system)
  6891. (home-page
  6892. "http://hackage.haskell.org/package/lens-family-core")
  6893. (synopsis "Haskell 98 Lens Families")
  6894. (description
  6895. "This package provides first class functional references. In addition to
  6896. the usual operations of getting, setting and composition, plus integration
  6897. with the state monad, lens families provide some unique features:
  6898. @itemize
  6899. @item Polymorphic updating
  6900. @item Traversals
  6901. @item Cast projection functions to read-only lenses
  6902. @item Cast @code{toList} functions to read-only traversals
  6903. @item Cast semantic editor combinators to modify-only traversals
  6904. @end itemize
  6905. For optimal first-class support use the lens-family package with rank 2/rank N
  6906. polymorphism. @code{Lens.Family.Clone} allows for first-class support of
  6907. lenses and traversals for those who require Haskell 98.")
  6908. (license license:bsd-3)))
  6909. (define-public ghc-libffi
  6910. (package
  6911. (name "ghc-libffi")
  6912. (version "0.1")
  6913. (source
  6914. (origin
  6915. (method url-fetch)
  6916. (uri (string-append "https://hackage.haskell.org/package/"
  6917. "libffi/libffi-" version ".tar.gz"))
  6918. (sha256
  6919. (base32
  6920. "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
  6921. (build-system haskell-build-system)
  6922. (native-inputs `(("pkg-config" ,pkg-config)))
  6923. (inputs `(("libffi" ,libffi)))
  6924. (home-page "https://hackage.haskell.org/package/libffi")
  6925. (synopsis "Haskell binding to libffi")
  6926. (description
  6927. "A binding to libffi, allowing C functions of types only known at runtime
  6928. to be called from Haskell.")
  6929. (license license:bsd-3)))
  6930. (define-public ghc-libmpd
  6931. (package
  6932. (name "ghc-libmpd")
  6933. (version "0.9.0.10")
  6934. (source
  6935. (origin
  6936. (method url-fetch)
  6937. (uri (string-append
  6938. "mirror://hackage/package/libmpd/libmpd-"
  6939. version
  6940. ".tar.gz"))
  6941. (sha256
  6942. (base32
  6943. "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
  6944. (build-system haskell-build-system)
  6945. ;; Tests fail on i686.
  6946. ;; See https://github.com/vimus/libmpd-haskell/issues/112
  6947. (arguments `(#:tests? #f))
  6948. (inputs
  6949. `(("ghc-attoparsec" ,ghc-attoparsec)
  6950. ("ghc-old-locale" ,ghc-old-locale)
  6951. ("ghc-data-default-class" ,ghc-data-default-class)
  6952. ("ghc-network" ,ghc-network)
  6953. ("ghc-safe-exceptions" ,ghc-safe-exceptions)
  6954. ("ghc-utf8-string" ,ghc-utf8-string)))
  6955. (native-inputs
  6956. `(("ghc-quickcheck" ,ghc-quickcheck)
  6957. ("ghc-hspec" ,ghc-hspec)
  6958. ("hspec-discover" ,hspec-discover)))
  6959. (home-page "https://github.com/vimus/libmpd-haskell")
  6960. (synopsis "Haskell client library for the Music Player Daemon")
  6961. (description "This package provides a pure Haskell client library for the
  6962. Music Player Daemon.")
  6963. (license license:expat)))
  6964. (define-public ghc-lib-parser
  6965. (package
  6966. (name "ghc-lib-parser")
  6967. (version "8.8.0.20190424")
  6968. (source
  6969. (origin
  6970. (method url-fetch)
  6971. (uri (string-append "https://hackage.haskell.org/package/"
  6972. "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
  6973. (sha256
  6974. (base32
  6975. "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
  6976. (build-system haskell-build-system)
  6977. (outputs '("out" "static" "doc")) ; documentation is 39M
  6978. (native-inputs
  6979. `(("ghc-alex" ,ghc-alex)
  6980. ("ghc-happy" ,ghc-happy)))
  6981. (home-page "https://github.com/digital-asset/ghc-lib")
  6982. (synopsis "The GHC API, decoupled from GHC versions")
  6983. (description "This library implements the GHC API. It is like the
  6984. compiler-provided @code{ghc} package, but it can be loaded on many
  6985. compiler versions.")
  6986. (license license:bsd-3)))
  6987. (define-public ghc-libxml
  6988. (package
  6989. (name "ghc-libxml")
  6990. (version "0.1.1")
  6991. (source
  6992. (origin
  6993. (method url-fetch)
  6994. (uri (string-append "https://hackage.haskell.org/package/libxml/"
  6995. "libxml-" version ".tar.gz"))
  6996. (sha256
  6997. (base32
  6998. "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
  6999. (build-system haskell-build-system)
  7000. (inputs
  7001. `(("libxml2" ,libxml2)))
  7002. (arguments
  7003. `(#:configure-flags
  7004. `(,(string-append "--extra-include-dirs="
  7005. (assoc-ref %build-inputs "libxml2")
  7006. "/include/libxml2"))))
  7007. (home-page "https://hackage.haskell.org/package/libxml")
  7008. (synopsis "Haskell bindings to libxml2")
  7009. (description
  7010. "This library provides minimal Haskell binding to libxml2.")
  7011. (license license:bsd-3)))
  7012. (define-public ghc-libyaml
  7013. (package
  7014. (name "ghc-libyaml")
  7015. (version "0.1.1.0")
  7016. (source
  7017. (origin
  7018. (method url-fetch)
  7019. (uri (string-append "https://hackage.haskell.org/package/"
  7020. "libyaml/libyaml-" version ".tar.gz"))
  7021. (sha256
  7022. (base32
  7023. "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
  7024. (modules '((guix build utils)))
  7025. (snippet
  7026. ;; Delete bundled LibYAML.
  7027. '(begin
  7028. (delete-file-recursively "libyaml_src")
  7029. #t))))
  7030. (build-system haskell-build-system)
  7031. (arguments
  7032. `(#:configure-flags `("--flags=system-libyaml")
  7033. #:extra-directories ("libyaml+static")))
  7034. (inputs
  7035. `(("ghc-conduit" ,ghc-conduit)
  7036. ("ghc-resourcet" ,ghc-resourcet)
  7037. ("libyaml+static" ,libyaml+static)))
  7038. (home-page "https://github.com/snoyberg/yaml#readme")
  7039. (synopsis "Low-level, streaming YAML interface.")
  7040. (description "This package provides a Haskell wrapper over the
  7041. LibYAML C library.")
  7042. (license license:bsd-3)))
  7043. (define-public ghc-lifted-async
  7044. (package
  7045. (name "ghc-lifted-async")
  7046. (version "0.10.0.4")
  7047. (source
  7048. (origin
  7049. (method url-fetch)
  7050. (uri (string-append
  7051. "https://hackage.haskell.org/package/lifted-async/lifted-async-"
  7052. version ".tar.gz"))
  7053. (sha256
  7054. (base32
  7055. "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
  7056. (build-system haskell-build-system)
  7057. (inputs
  7058. `(("ghc-async" ,ghc-async)
  7059. ("ghc-lifted-base" ,ghc-lifted-base)
  7060. ("ghc-transformers-base" ,ghc-transformers-base)
  7061. ("ghc-monad-control" ,ghc-monad-control)
  7062. ("ghc-constraints" ,ghc-constraints)
  7063. ("ghc-hunit" ,ghc-hunit)
  7064. ("ghc-tasty" ,ghc-tasty)
  7065. ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
  7066. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  7067. ("ghc-tasty-th" ,ghc-tasty-th)))
  7068. (home-page "https://github.com/maoe/lifted-async")
  7069. (synopsis "Run lifted IO operations asynchronously and wait for their results")
  7070. (description
  7071. "This package provides IO operations from @code{async} package lifted to any
  7072. instance of @code{MonadBase} or @code{MonadBaseControl}.")
  7073. (license license:bsd-3)))
  7074. (define-public ghc-lifted-base
  7075. (package
  7076. (name "ghc-lifted-base")
  7077. (version "0.2.3.12")
  7078. (source
  7079. (origin
  7080. (method url-fetch)
  7081. (uri (string-append
  7082. "https://hackage.haskell.org/package/lifted-base/lifted-base-"
  7083. version
  7084. ".tar.gz"))
  7085. (sha256
  7086. (base32
  7087. "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
  7088. (build-system haskell-build-system)
  7089. (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
  7090. (inputs
  7091. `(("ghc-transformers-base" ,ghc-transformers-base)
  7092. ("ghc-monad-control" ,ghc-monad-control)
  7093. ("ghc-transformers-compat" ,ghc-transformers-compat)
  7094. ("ghc-hunit" ,ghc-hunit)))
  7095. (home-page "https://github.com/basvandijk/lifted-base")
  7096. (synopsis "Lifted IO operations from the base library")
  7097. (description "Lifted-base exports IO operations from the @code{base}
  7098. library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
  7099. Note that not all modules from @code{base} are converted yet. The package
  7100. includes a copy of the @code{monad-peel} test suite written by Anders
  7101. Kaseorg.")
  7102. (license license:bsd-3)))
  7103. (define-public ghc-linear
  7104. (package
  7105. (name "ghc-linear")
  7106. (version "1.20.9")
  7107. (source
  7108. (origin
  7109. (method url-fetch)
  7110. (uri (string-append "https://hackage.haskell.org/package/linear/"
  7111. "linear-" version ".tar.gz"))
  7112. (sha256
  7113. (base32
  7114. "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
  7115. (build-system haskell-build-system)
  7116. (inputs
  7117. `(("ghc-adjunctions" ,ghc-adjunctions)
  7118. ("ghc-base-orphans" ,ghc-base-orphans)
  7119. ("ghc-bytes" ,ghc-bytes)
  7120. ("ghc-cereal" ,ghc-cereal)
  7121. ("ghc-distributive" ,ghc-distributive)
  7122. ("ghc-hashable" ,ghc-hashable)
  7123. ("ghc-lens" ,ghc-lens)
  7124. ("ghc-reflection" ,ghc-reflection)
  7125. ("ghc-semigroups" ,ghc-semigroups)
  7126. ("ghc-semigroupoids" ,ghc-semigroupoids)
  7127. ("ghc-tagged" ,ghc-tagged)
  7128. ("ghc-transformers-compat" ,ghc-transformers-compat)
  7129. ("ghc-unordered-containers" ,ghc-unordered-containers)
  7130. ("ghc-vector" ,ghc-vector)
  7131. ("ghc-void" ,ghc-void)))
  7132. (native-inputs
  7133. `(("cabal-doctest" ,cabal-doctest)
  7134. ("ghc-doctest" ,ghc-doctest)
  7135. ("ghc-simple-reflect" ,ghc-simple-reflect)
  7136. ("ghc-test-framework" ,ghc-test-framework)
  7137. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  7138. ("ghc-hunit" ,ghc-hunit)))
  7139. (home-page "https://github.com/ekmett/linear/")
  7140. (synopsis "Linear algebra library for Haskell")
  7141. (description
  7142. "This package provides types and combinators for linear algebra on free
  7143. vector spaces.")
  7144. (license license:bsd-3)))
  7145. (define-public ghc-listlike
  7146. (package
  7147. (name "ghc-listlike")
  7148. (version "4.6.2")
  7149. (source
  7150. (origin
  7151. (method url-fetch)
  7152. (uri
  7153. (string-append
  7154. "https://hackage.haskell.org/package/ListLike/ListLike-"
  7155. version ".tar.gz"))
  7156. (sha256
  7157. (base32
  7158. "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
  7159. (build-system haskell-build-system)
  7160. (inputs
  7161. `(("ghc-vector" ,ghc-vector)
  7162. ("ghc-dlist" ,ghc-dlist)
  7163. ("ghc-fmlist" ,ghc-fmlist)
  7164. ("ghc-hunit" ,ghc-hunit)
  7165. ("ghc-quickcheck" ,ghc-quickcheck)
  7166. ("ghc-random" ,ghc-random)
  7167. ("ghc-utf8-string" ,ghc-utf8-string)))
  7168. (home-page "https://github.com/JohnLato/listlike")
  7169. (synopsis "Generic support for list-like structures")
  7170. (description "The ListLike module provides a common interface to the
  7171. various Haskell types that are list-like. Predefined interfaces include
  7172. standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
  7173. Custom types can easily be made ListLike instances as well.
  7174. ListLike also provides for String-like types, such as String and
  7175. ByteString, for types that support input and output, and for types that
  7176. can handle infinite lists.")
  7177. (license license:bsd-3)))
  7178. (define-public ghc-llvm-hs-pure
  7179. (package
  7180. (name "ghc-llvm-hs-pure")
  7181. (version "9.0.0")
  7182. (source
  7183. (origin
  7184. (method url-fetch)
  7185. (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
  7186. "llvm-hs-pure-" version ".tar.gz"))
  7187. (sha256
  7188. (base32
  7189. "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
  7190. (build-system haskell-build-system)
  7191. (inputs
  7192. `(("ghc-attoparsec" ,ghc-attoparsec)
  7193. ("ghc-fail" ,ghc-fail)
  7194. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  7195. (native-inputs
  7196. `(("ghc-tasty" ,ghc-tasty)
  7197. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  7198. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  7199. (home-page "https://github.com/llvm-hs/llvm-hs/")
  7200. (synopsis "Pure Haskell LLVM functionality (no FFI)")
  7201. (description "llvm-hs-pure is a set of pure Haskell types and functions
  7202. for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
  7203. LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
  7204. llvm-hs-pure does not require LLVM to be available.")
  7205. (license license:bsd-3)))
  7206. (define-public ghc-llvm-hs
  7207. (package
  7208. (name "ghc-llvm-hs")
  7209. (version "9.0.1")
  7210. (source
  7211. (origin
  7212. (method url-fetch)
  7213. (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
  7214. version ".tar.gz"))
  7215. (sha256
  7216. (base32
  7217. "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
  7218. (build-system haskell-build-system)
  7219. (inputs
  7220. `(("ghc-attoparsec" ,ghc-attoparsec)
  7221. ("ghc-exceptions" ,ghc-exceptions)
  7222. ("ghc-utf8-string" ,ghc-utf8-string)
  7223. ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
  7224. ("llvm" ,llvm-9)))
  7225. (native-inputs
  7226. `(("ghc-tasty" ,ghc-tasty)
  7227. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  7228. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  7229. ("ghc-quickcheck" ,ghc-quickcheck)
  7230. ("ghc-temporary" ,ghc-temporary)
  7231. ("ghc-pretty-show" ,ghc-pretty-show)
  7232. ("ghc-temporary" ,ghc-temporary)))
  7233. (home-page "https://github.com/llvm-hs/llvm-hs/")
  7234. (synopsis "General purpose LLVM bindings for Haskell")
  7235. (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
  7236. current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
  7237. IR, and so offers two advantages: it handles almost all of the stateful
  7238. complexities of using the LLVM API to build IR; and it supports moving IR not
  7239. only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
  7240. into Haskell.")
  7241. (license license:bsd-3)))
  7242. (define-public ghc-logging-facade
  7243. (package
  7244. (name "ghc-logging-facade")
  7245. (version "0.3.0")
  7246. (source (origin
  7247. (method url-fetch)
  7248. (uri (string-append "https://hackage.haskell.org/package/"
  7249. "logging-facade/logging-facade-"
  7250. version ".tar.gz"))
  7251. (sha256
  7252. (base32
  7253. "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
  7254. (build-system haskell-build-system)
  7255. (native-inputs
  7256. `(("ghc-hspec" ,ghc-hspec)
  7257. ("hspec-discover" ,hspec-discover)))
  7258. (home-page "https://hackage.haskell.org/package/logging-facade")
  7259. (synopsis "Simple logging abstraction that allows multiple back-ends")
  7260. (description
  7261. "This package provides a simple logging abstraction that allows multiple
  7262. back-ends.")
  7263. (license license:expat)))
  7264. (define-public ghc-logict
  7265. (package
  7266. (name "ghc-logict")
  7267. (version "0.7.0.2")
  7268. (source
  7269. (origin
  7270. (method url-fetch)
  7271. (uri (string-append
  7272. "https://hackage.haskell.org/package/logict/logict-"
  7273. version
  7274. ".tar.gz"))
  7275. (sha256
  7276. (base32
  7277. "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
  7278. (build-system haskell-build-system)
  7279. (native-inputs
  7280. `(("ghc-tasty" ,ghc-tasty)
  7281. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  7282. (home-page "http://code.haskell.org/~dolio/")
  7283. (synopsis "Backtracking logic-programming monad")
  7284. (description "This library provides a continuation-based, backtracking,
  7285. logic programming monad. An adaptation of the two-continuation implementation
  7286. found in the paper \"Backtracking, Interleaving, and Terminating Monad
  7287. Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
  7288. online}.")
  7289. (license license:bsd-3)))
  7290. (define-public ghc-lucid
  7291. (package
  7292. (name "ghc-lucid")
  7293. (version "2.9.12")
  7294. (source
  7295. (origin
  7296. (method url-fetch)
  7297. (uri (string-append
  7298. "https://hackage.haskell.org/package/lucid/lucid-"
  7299. version
  7300. ".tar.gz"))
  7301. (sha256
  7302. (base32
  7303. "156wniydd1hlb7rygbm95zln8ky8lai8rn2apkkv0rax9cdw6jrh"))))
  7304. (build-system haskell-build-system)
  7305. (inputs
  7306. `(("ghc-blaze-builder" ,ghc-blaze-builder)
  7307. ("ghc-hashable" ,ghc-hashable)
  7308. ("ghc-mmorph" ,ghc-mmorph)
  7309. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  7310. (native-inputs
  7311. `(("ghc-hunit" ,ghc-hunit)
  7312. ("ghc-hspec" ,ghc-hspec)
  7313. ("ghc-bifunctors" ,ghc-bifunctors)))
  7314. (arguments
  7315. `(#:cabal-revision
  7316. ("1"
  7317. "1f0whk5ncanxfjjanrf6rqyncig2xgc5mh2j0sqy3nrlyjr9aqq9")))
  7318. (home-page "https://github.com/chrisdone/lucid")
  7319. (synopsis "Haskell DSL for rendering HTML")
  7320. (description "Clear to write, read and edit Haskell DSL for HTML.
  7321. @itemize @bullet
  7322. @item
  7323. Names are consistent, and do not conflict with base or are keywords
  7324. (all have suffix @code{-}).
  7325. @item
  7326. Same combinator can be used for attributes and elements
  7327. (e.g. @code{style_}).
  7328. @end itemize")
  7329. (license license:bsd-3)))
  7330. (define-public ghc-lzma
  7331. (package
  7332. (name "ghc-lzma")
  7333. (version "0.0.0.3")
  7334. (source
  7335. (origin
  7336. (method url-fetch)
  7337. (uri (string-append "https://hackage.haskell.org/package/lzma/"
  7338. "lzma-" version ".tar.gz"))
  7339. (sha256
  7340. (base32
  7341. "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
  7342. (build-system haskell-build-system)
  7343. (arguments
  7344. '(#:tests? #f ; requires older versions of QuickCheck and tasty.
  7345. #:cabal-revision
  7346. ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
  7347. (native-inputs
  7348. `(("ghc-hunit" ,ghc-hunit)
  7349. ("ghc-quickcheck" ,ghc-quickcheck)
  7350. ("ghc-tasty" ,ghc-tasty)
  7351. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  7352. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  7353. (home-page "https://github.com/hvr/lzma")
  7354. (synopsis "LZMA/XZ compression and decompression")
  7355. (description
  7356. "This package provides a pure interface for compressing and
  7357. decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
  7358. monadic incremental interface is provided as well.")
  7359. (license license:bsd-3)))
  7360. (define-public ghc-lzma-conduit
  7361. (package
  7362. (name "ghc-lzma-conduit")
  7363. (version "1.2.1")
  7364. (source
  7365. (origin
  7366. (method url-fetch)
  7367. (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
  7368. "lzma-conduit-" version ".tar.gz"))
  7369. (sha256
  7370. (base32
  7371. "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
  7372. (build-system haskell-build-system)
  7373. (inputs
  7374. `(("ghc-conduit" ,ghc-conduit)
  7375. ("ghc-lzma" ,ghc-lzma)
  7376. ("ghc-resourcet" ,ghc-resourcet)))
  7377. (native-inputs
  7378. `(("ghc-base-compat" ,ghc-base-compat)
  7379. ("ghc-test-framework" ,ghc-test-framework)
  7380. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  7381. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  7382. ("ghc-hunit" ,ghc-hunit)
  7383. ("ghc-quickcheck" ,ghc-quickcheck)))
  7384. (home-page "https://github.com/alphaHeavy/lzma-conduit")
  7385. (synopsis "Conduit interface for lzma/xz compression")
  7386. (description
  7387. "This package provides a @code{Conduit} interface for the LZMA
  7388. compression algorithm used in the @code{.xz} file format.")
  7389. (license license:bsd-3)))
  7390. (define-public ghc-magic
  7391. (package
  7392. (name "ghc-magic")
  7393. (version "1.1")
  7394. (source
  7395. (origin
  7396. (method url-fetch)
  7397. (uri (string-append
  7398. "https://hackage.haskell.org/package/magic/magic-"
  7399. version ".tar.gz"))
  7400. (sha256
  7401. (base32
  7402. "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
  7403. (build-system haskell-build-system)
  7404. (home-page "https://hackage.haskell.org/package/magic")
  7405. (synopsis "Interface to C file/magic library")
  7406. (description
  7407. "This package provides a full-featured binding to the C libmagic library.
  7408. With it, you can determine the type of a file by examining its contents rather
  7409. than its name.")
  7410. (license license:bsd-3)))
  7411. (define-public ghc-managed
  7412. (package
  7413. (name "ghc-managed")
  7414. (version "1.0.6")
  7415. (source
  7416. (origin
  7417. (method url-fetch)
  7418. (uri (string-append
  7419. "mirror://hackage/package/managed/managed-"
  7420. version
  7421. ".tar.gz"))
  7422. (sha256
  7423. (base32
  7424. "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
  7425. (build-system haskell-build-system)
  7426. (home-page "http://hackage.haskell.org/package/managed")
  7427. (synopsis "Monad for managed values")
  7428. (description
  7429. "In Haskell you very often acquire values using the with... idiom using
  7430. functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
  7431. special case of the ContT monad (from transformers) or the Codensity
  7432. monad (from kan-extensions). The main purpose behind this package is to
  7433. provide a restricted form of these monads specialized to this unusually common
  7434. case.
  7435. The reason this package defines a specialized version of these types
  7436. is to:
  7437. @itemize
  7438. @item be more beginner-friendly,
  7439. @item simplify inferred types and error messages, and:
  7440. @item provide some additional type class instances that would otherwise be
  7441. orphan instances
  7442. @end itemize")
  7443. (license license:bsd-3)))
  7444. (define-public ghc-markdown-unlit
  7445. (package
  7446. (name "ghc-markdown-unlit")
  7447. (version "0.5.0")
  7448. (source (origin
  7449. (method url-fetch)
  7450. (uri (string-append
  7451. "mirror://hackage/package/markdown-unlit/"
  7452. "markdown-unlit-" version ".tar.gz"))
  7453. (sha256
  7454. (base32
  7455. "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
  7456. (build-system haskell-build-system)
  7457. (inputs
  7458. `(("ghc-base-compat" ,ghc-base-compat)
  7459. ("ghc-hspec" ,ghc-hspec)
  7460. ("ghc-quickcheck" ,ghc-quickcheck)
  7461. ("ghc-silently" ,ghc-silently)
  7462. ("ghc-stringbuilder" ,ghc-stringbuilder)
  7463. ("ghc-temporary" ,ghc-temporary)
  7464. ("hspec-discover" ,hspec-discover)))
  7465. (home-page "https://github.com/sol/markdown-unlit#readme")
  7466. (synopsis "Literate Haskell support for Markdown")
  7467. (description "This package allows you to have a README.md that at the
  7468. same time is a literate Haskell program.")
  7469. (license license:expat)))
  7470. (define-public ghc-math-functions
  7471. (package
  7472. (name "ghc-math-functions")
  7473. (version "0.3.3.0")
  7474. (source
  7475. (origin
  7476. (method url-fetch)
  7477. (uri (string-append "https://hackage.haskell.org/package/"
  7478. "math-functions-" version "/"
  7479. "math-functions-" version ".tar.gz"))
  7480. (sha256
  7481. (base32
  7482. "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
  7483. (build-system haskell-build-system)
  7484. (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
  7485. (inputs
  7486. `(("ghc-data-default-class" ,ghc-data-default-class)
  7487. ("ghc-vector" ,ghc-vector)
  7488. ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
  7489. (native-inputs
  7490. `(("ghc-hunit" ,ghc-hunit)
  7491. ("ghc-quickcheck" ,ghc-quickcheck)
  7492. ("ghc-erf" ,ghc-erf)
  7493. ("ghc-test-framework" ,ghc-test-framework)
  7494. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  7495. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  7496. (home-page "https://github.com/bos/math-functions")
  7497. (synopsis "Special functions and Chebyshev polynomials for Haskell")
  7498. (description "This Haskell library provides implementations of
  7499. special mathematical functions and Chebyshev polynomials. These
  7500. functions are often useful in statistical and numerical computing.")
  7501. (license license:bsd-3)))
  7502. (define-public ghc-megaparsec
  7503. (package
  7504. (name "ghc-megaparsec")
  7505. (version "7.0.5")
  7506. (source
  7507. (origin
  7508. (method url-fetch)
  7509. (uri (string-append "https://hackage.haskell.org/package/"
  7510. "megaparsec/megaparsec-"
  7511. version ".tar.gz"))
  7512. (sha256
  7513. (base32
  7514. "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
  7515. (build-system haskell-build-system)
  7516. (inputs
  7517. `(("ghc-case-insensitive" ,ghc-case-insensitive)
  7518. ("ghc-parser-combinators" ,ghc-parser-combinators)
  7519. ("ghc-scientific" ,ghc-scientific)))
  7520. (native-inputs
  7521. `(("ghc-quickcheck" ,ghc-quickcheck)
  7522. ("ghc-hspec" ,ghc-hspec)
  7523. ("ghc-hspec-expectations" ,ghc-hspec-expectations)
  7524. ("hspec-discover" ,hspec-discover)))
  7525. (home-page "https://github.com/mrkkrp/megaparsec")
  7526. (synopsis "Monadic parser combinators")
  7527. (description
  7528. "This is an industrial-strength monadic parser combinator library.
  7529. Megaparsec is a feature-rich package that strikes a nice balance between
  7530. speed, flexibility, and quality of parse errors.")
  7531. (license license:bsd-2)))
  7532. (define-public ghc-memory
  7533. (package
  7534. (name "ghc-memory")
  7535. (version "0.14.18")
  7536. (source (origin
  7537. (method url-fetch)
  7538. (uri (string-append "https://hackage.haskell.org/package/"
  7539. "memory/memory-" version ".tar.gz"))
  7540. (sha256
  7541. (base32
  7542. "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
  7543. (build-system haskell-build-system)
  7544. (inputs
  7545. `(("ghc-basement" ,ghc-basement)
  7546. ("ghc-foundation" ,ghc-foundation)))
  7547. (native-inputs
  7548. `(("ghc-tasty" ,ghc-tasty)
  7549. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  7550. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  7551. (home-page "https://github.com/vincenthz/hs-memory")
  7552. (synopsis "Memory abstractions for Haskell")
  7553. (description
  7554. "This package provides memory abstractions, such as chunk of memory,
  7555. polymorphic byte array management and manipulation functions. It contains a
  7556. polymorphic byte array abstraction and functions similar to strict ByteString,
  7557. different type of byte array abstraction, raw memory IO operations (memory
  7558. set, memory copy, ..) and more")
  7559. (license license:bsd-3)))
  7560. (define-public ghc-memotrie
  7561. (package
  7562. (name "ghc-memotrie")
  7563. (version "0.6.9")
  7564. (source
  7565. (origin
  7566. (method url-fetch)
  7567. (uri (string-append
  7568. "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
  7569. version
  7570. ".tar.gz"))
  7571. (sha256
  7572. (base32
  7573. "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
  7574. (build-system haskell-build-system)
  7575. (inputs
  7576. `(("ghc-newtype-generics" ,ghc-newtype-generics)))
  7577. (home-page "https://github.com/conal/MemoTrie")
  7578. (synopsis "Trie-based memo functions")
  7579. (description "This package provides a functional library for creating
  7580. efficient memo functions using tries.")
  7581. (license license:bsd-3)))
  7582. (define-public ghc-microlens
  7583. (package
  7584. (name "ghc-microlens")
  7585. (version "0.4.10")
  7586. (source
  7587. (origin
  7588. (method url-fetch)
  7589. (uri (string-append "https://hackage.haskell.org/package/"
  7590. "microlens-" version "/"
  7591. "microlens-" version ".tar.gz"))
  7592. (sha256
  7593. (base32
  7594. "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
  7595. (build-system haskell-build-system)
  7596. (home-page
  7597. "https://github.com/aelve/microlens")
  7598. (synopsis "Provides a tiny lens Haskell library with no dependencies")
  7599. (description "This Haskell package provides a lens library, just like
  7600. @code{ghc-lens}, but smaller. It provides essential lenses and
  7601. traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
  7602. nice to have (like @code{each}, @code{at}, and @code{ix}), and some
  7603. combinators (like @code{failing} and @code{singular}), but everything else is
  7604. stripped. As the result, this package has no dependencies.")
  7605. (license license:bsd-3)))
  7606. (define-public ghc-microlens-aeson
  7607. (package
  7608. (name "ghc-microlens-aeson")
  7609. (version "2.3.0.4")
  7610. (source
  7611. (origin
  7612. (method url-fetch)
  7613. (uri (string-append "https://hackage.haskell.org/package/"
  7614. "microlens-aeson/microlens-aeson-"
  7615. version ".tar.gz"))
  7616. (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
  7617. (sha256
  7618. (base32
  7619. "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
  7620. (build-system haskell-build-system)
  7621. (inputs
  7622. `(("ghc-aeson" ,ghc-aeson)
  7623. ("ghc-attoparsec" ,ghc-attoparsec)
  7624. ("ghc-hashable" ,ghc-hashable)
  7625. ("ghc-microlens" ,ghc-microlens)
  7626. ("ghc-scientific" ,ghc-scientific)
  7627. ("ghc-unordered-containers" ,ghc-unordered-containers)
  7628. ("ghc-vector" ,ghc-vector)))
  7629. (native-inputs
  7630. `(("ghc-tasty" ,ghc-tasty)
  7631. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  7632. (home-page "https://github.com/fosskers/microlens-aeson")
  7633. (synopsis "Law-abiding lenses for Aeson, using microlens")
  7634. (description "This library provides law-abiding lenses for Aeson, using
  7635. microlens.")
  7636. (license license:expat)))
  7637. (define-public ghc-microlens-ghc
  7638. (package
  7639. (name "ghc-microlens-ghc")
  7640. (version "0.4.10")
  7641. (source
  7642. (origin
  7643. (method url-fetch)
  7644. (uri (string-append
  7645. "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
  7646. version
  7647. ".tar.gz"))
  7648. (sha256
  7649. (base32
  7650. "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
  7651. (build-system haskell-build-system)
  7652. (inputs `(("ghc-microlens" ,ghc-microlens)))
  7653. (home-page "https://github.com/monadfix/microlens")
  7654. (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
  7655. (description "This library provides everything that @code{microlens}
  7656. provides plus instances to make @code{each}, @code{at}, and @code{ix}
  7657. usable with arrays, @code{ByteString}, and containers. This package is
  7658. a part of the @uref{http://hackage.haskell.org/package/microlens,
  7659. microlens} family; see the readme
  7660. @uref{https://github.com/aelve/microlens#readme, on Github}.")
  7661. (license license:bsd-3)))
  7662. (define-public ghc-microlens-mtl
  7663. (package
  7664. (name "ghc-microlens-mtl")
  7665. (version "0.1.11.1")
  7666. (source
  7667. (origin
  7668. (method url-fetch)
  7669. (uri (string-append
  7670. "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
  7671. version
  7672. ".tar.gz"))
  7673. (sha256
  7674. (base32
  7675. "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
  7676. (build-system haskell-build-system)
  7677. (inputs
  7678. `(("ghc-microlens" ,ghc-microlens)
  7679. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  7680. (home-page "https://github.com/monadfix/microlens")
  7681. (synopsis
  7682. "@code{microlens} support for Reader/Writer/State from mtl")
  7683. (description
  7684. "This package contains functions (like @code{view} or @code{+=}) which
  7685. work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
  7686. mtl package. This package is a part of the
  7687. @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
  7688. readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
  7689. (license license:bsd-3)))
  7690. (define-public ghc-microlens-platform
  7691. (package
  7692. (name "ghc-microlens-platform")
  7693. (version "0.3.11")
  7694. (source
  7695. (origin
  7696. (method url-fetch)
  7697. (uri (string-append
  7698. "https://hackage.haskell.org/package/"
  7699. "microlens-platform/microlens-platform-" version ".tar.gz"))
  7700. (sha256
  7701. (base32
  7702. "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
  7703. (build-system haskell-build-system)
  7704. (inputs
  7705. `(("ghc-hashable" ,ghc-hashable)
  7706. ("ghc-microlens" ,ghc-microlens)
  7707. ("ghc-microlens-ghc" ,ghc-microlens-ghc)
  7708. ("ghc-microlens-mtl" ,ghc-microlens-mtl)
  7709. ("ghc-microlens-th" ,ghc-microlens-th)
  7710. ("ghc-unordered-containers" ,ghc-unordered-containers)
  7711. ("ghc-vector" ,ghc-vector)))
  7712. (home-page "https://github.com/monadfix/microlens")
  7713. (synopsis "Feature-complete microlens")
  7714. (description
  7715. "This package exports a module which is the recommended starting point
  7716. for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
  7717. you aren't trying to keep your dependencies minimal. By importing
  7718. @code{Lens.Micro.Platform} you get all functions and instances from
  7719. @uref{http://hackage.haskell.org/package/microlens, microlens},
  7720. @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
  7721. @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
  7722. @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
  7723. well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
  7724. minor and major versions of @code{microlens-platform} are incremented whenever
  7725. the minor and major versions of any other @code{microlens} package are
  7726. incremented, so you can depend on the exact version of
  7727. @code{microlens-platform} without specifying the version of @code{microlens}
  7728. you need. This package is a part of the
  7729. @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
  7730. readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
  7731. (license license:bsd-3)))
  7732. (define-public ghc-microlens-th
  7733. (package
  7734. (name "ghc-microlens-th")
  7735. (version "0.4.2.3")
  7736. (source
  7737. (origin
  7738. (method url-fetch)
  7739. (uri (string-append "https://hackage.haskell.org/package/"
  7740. "microlens-th-" version "/"
  7741. "microlens-th-" version ".tar.gz"))
  7742. (sha256
  7743. (base32
  7744. "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
  7745. (build-system haskell-build-system)
  7746. (arguments
  7747. `(#:cabal-revision
  7748. ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
  7749. (inputs `(("ghc-microlens" ,ghc-microlens)
  7750. ("ghc-th-abstraction" ,ghc-th-abstraction)))
  7751. (home-page
  7752. "https://github.com/aelve/microlens")
  7753. (synopsis "Automatic generation of record lenses for
  7754. @code{ghc-microlens}")
  7755. (description "This Haskell package lets you automatically generate lenses
  7756. for data types; code was extracted from the lens package, and therefore
  7757. generated lenses are fully compatible with ones generated by lens (and can be
  7758. used both from lens and microlens).")
  7759. (license license:bsd-3)))
  7760. (define-public ghc-missingh
  7761. (package
  7762. (name "ghc-missingh")
  7763. (version "1.4.1.0")
  7764. (source
  7765. (origin
  7766. (method url-fetch)
  7767. (uri (string-append "https://hackage.haskell.org/package/MissingH/"
  7768. "MissingH-" version ".tar.gz"))
  7769. (sha256
  7770. (base32
  7771. "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
  7772. (build-system haskell-build-system)
  7773. ;; Tests require the unmaintained testpack package, which depends on the
  7774. ;; outdated QuickCheck version 2.7, which can no longer be built with
  7775. ;; recent versions of GHC and Haskell libraries.
  7776. (arguments '(#:tests? #f))
  7777. (inputs
  7778. `(("ghc-network" ,ghc-network)
  7779. ("ghc-hunit" ,ghc-hunit)
  7780. ("ghc-regex-compat" ,ghc-regex-compat)
  7781. ("ghc-hslogger" ,ghc-hslogger)
  7782. ("ghc-random" ,ghc-random)
  7783. ("ghc-old-time" ,ghc-old-time)
  7784. ("ghc-old-locale" ,ghc-old-locale)))
  7785. (native-inputs
  7786. `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
  7787. ("ghc-quickcheck" ,ghc-quickcheck)
  7788. ("ghc-hunit" ,ghc-hunit)))
  7789. ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
  7790. (home-page "https://github.com/haskell-hvr/missingh")
  7791. (synopsis "Large utility library")
  7792. (description
  7793. "MissingH is a library of all sorts of utility functions for Haskell
  7794. programmers. It is written in pure Haskell and thus should be extremely
  7795. portable and easy to use.")
  7796. (license license:bsd-3)))
  7797. (define-public ghc-mmap
  7798. (package
  7799. (name "ghc-mmap")
  7800. (version "0.5.9")
  7801. (source (origin
  7802. (method url-fetch)
  7803. (uri (string-append "https://hackage.haskell.org/package/"
  7804. "mmap/mmap-" version ".tar.gz"))
  7805. (sha256
  7806. (base32
  7807. "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
  7808. (build-system haskell-build-system)
  7809. (home-page "https://hackage.haskell.org/package/mmap")
  7810. (synopsis "Memory mapped files for Haskell")
  7811. (description
  7812. "This library provides a wrapper to @code{mmap}, allowing files or
  7813. devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
  7814. @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
  7815. do on-demand loading.")
  7816. (license license:bsd-3)))
  7817. (define-public ghc-mmorph
  7818. (package
  7819. (name "ghc-mmorph")
  7820. (version "1.1.3")
  7821. (source
  7822. (origin
  7823. (method url-fetch)
  7824. (uri (string-append
  7825. "https://hackage.haskell.org/package/mmorph/mmorph-"
  7826. version
  7827. ".tar.gz"))
  7828. (sha256
  7829. (base32
  7830. "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
  7831. (build-system haskell-build-system)
  7832. (inputs
  7833. `(("ghc-transformers-compat" ,ghc-transformers-compat)))
  7834. (home-page "https://hackage.haskell.org/package/mmorph")
  7835. (synopsis "Monad morphisms")
  7836. (description
  7837. "This library provides monad morphism utilities, most commonly used for
  7838. manipulating monad transformer stacks.")
  7839. (license license:bsd-3)))
  7840. (define-public ghc-mockery
  7841. (package
  7842. (name "ghc-mockery")
  7843. (version "0.3.5")
  7844. (source (origin
  7845. (method url-fetch)
  7846. (uri (string-append "https://hackage.haskell.org/package/"
  7847. "mockery/mockery-" version ".tar.gz"))
  7848. (sha256
  7849. (base32
  7850. "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
  7851. (build-system haskell-build-system)
  7852. (inputs
  7853. `(("ghc-temporary" ,ghc-temporary)
  7854. ("ghc-logging-facade" ,ghc-logging-facade)
  7855. ("ghc-base-compat" ,ghc-base-compat)))
  7856. (native-inputs
  7857. `(("ghc-hspec" ,ghc-hspec)
  7858. ("hspec-discover" ,hspec-discover)))
  7859. (home-page "https://hackage.haskell.org/package/mockery")
  7860. (synopsis "Support functions for automated testing")
  7861. (description
  7862. "The mockery package provides support functions for automated testing.")
  7863. (license license:expat)))
  7864. (define-public ghc-monad-control
  7865. (package
  7866. (name "ghc-monad-control")
  7867. (version "1.0.2.3")
  7868. (source
  7869. (origin
  7870. (method url-fetch)
  7871. (uri (string-append
  7872. "https://hackage.haskell.org/package/monad-control"
  7873. "/monad-control-" version ".tar.gz"))
  7874. (sha256
  7875. (base32
  7876. "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
  7877. (build-system haskell-build-system)
  7878. (inputs
  7879. `(("ghc-transformers-base" ,ghc-transformers-base)
  7880. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  7881. (home-page "https://github.com/basvandijk/monad-control")
  7882. (synopsis "Monad transformers to lift control operations like exception
  7883. catching")
  7884. (description "This package defines the type class @code{MonadBaseControl},
  7885. a subset of @code{MonadBase} into which generic control operations such as
  7886. @code{catch} can be lifted from @code{IO} or any other base monad.")
  7887. (license license:bsd-3)))
  7888. (define-public ghc-monad-logger
  7889. (package
  7890. (name "ghc-monad-logger")
  7891. (version "0.3.30")
  7892. (source
  7893. (origin
  7894. (method url-fetch)
  7895. (uri (string-append "https://hackage.haskell.org/package/"
  7896. "monad-logger-" version "/"
  7897. "monad-logger-" version ".tar.gz"))
  7898. (sha256
  7899. (base32
  7900. "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
  7901. (build-system haskell-build-system)
  7902. (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
  7903. ("ghc-stm-chans" ,ghc-stm-chans)
  7904. ("ghc-lifted-base" ,ghc-lifted-base)
  7905. ("ghc-resourcet" ,ghc-resourcet)
  7906. ("ghc-conduit" ,ghc-conduit)
  7907. ("ghc-conduit-extra" ,ghc-conduit-extra)
  7908. ("ghc-fast-logger" ,ghc-fast-logger)
  7909. ("ghc-transformers-base" ,ghc-transformers-base)
  7910. ("ghc-monad-control" ,ghc-monad-control)
  7911. ("ghc-monad-loops" ,ghc-monad-loops)
  7912. ("ghc-blaze-builder" ,ghc-blaze-builder)
  7913. ("ghc-exceptions" ,ghc-exceptions)))
  7914. (home-page "https://github.com/kazu-yamamoto/logger")
  7915. (synopsis "Provides a class of monads which can log messages for Haskell")
  7916. (description "This Haskell package uses a monad transformer approach
  7917. for logging.
  7918. This package provides Template Haskell functions for determining source
  7919. code locations of messages.")
  7920. (license license:expat)))
  7921. (define-public ghc-monad-loops
  7922. (package
  7923. (name "ghc-monad-loops")
  7924. (version "0.4.3")
  7925. (source
  7926. (origin
  7927. (method url-fetch)
  7928. (uri (string-append "https://hackage.haskell.org/package/"
  7929. "monad-loops-" version "/"
  7930. "monad-loops-" version ".tar.gz"))
  7931. (sha256
  7932. (base32
  7933. "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
  7934. (build-system haskell-build-system)
  7935. (native-inputs `(("ghc-tasty" ,ghc-tasty)
  7936. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  7937. (home-page "https://github.com/mokus0/monad-loops")
  7938. (synopsis "Monadic loops for Haskell")
  7939. (description "This Haskell package provides some useful control
  7940. operators for looping.")
  7941. (license license:public-domain)))
  7942. (define-public ghc-monad-par
  7943. (package
  7944. (name "ghc-monad-par")
  7945. (version "0.3.4.8")
  7946. (source
  7947. (origin
  7948. (method url-fetch)
  7949. (uri (string-append "https://hackage.haskell.org/package/"
  7950. "monad-par-" version "/"
  7951. "monad-par-" version ".tar.gz"))
  7952. (patches (search-patches "ghc-monad-par-fix-tests.patch"))
  7953. (sha256
  7954. (base32
  7955. "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
  7956. (build-system haskell-build-system)
  7957. (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
  7958. ("ghc-abstract-deque" ,ghc-abstract-deque)
  7959. ("ghc-monad-par-extras" ,ghc-monad-par-extras)
  7960. ("ghc-mwc-random" ,ghc-mwc-random)
  7961. ("ghc-parallel" ,ghc-parallel)))
  7962. (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
  7963. ("ghc-hunit" ,ghc-hunit)
  7964. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  7965. ("ghc-test-framework-quickcheck2"
  7966. ,ghc-test-framework-quickcheck2)
  7967. ("ghc-test-framework" ,ghc-test-framework)
  7968. ("ghc-test-framework-th" ,ghc-test-framework-th)))
  7969. (home-page "https://github.com/simonmar/monad-par")
  7970. (synopsis "Haskell library for parallel programming based on a monad")
  7971. (description "The @code{Par} monad offers an API for parallel
  7972. programming. The library works for parallelising both pure and @code{IO}
  7973. computations, although only the pure version is deterministic. The default
  7974. implementation provides a work-stealing scheduler and supports forking tasks
  7975. that are much lighter weight than IO-threads.")
  7976. (license license:bsd-3)))
  7977. (define-public ghc-monad-par-extras
  7978. (package
  7979. (name "ghc-monad-par-extras")
  7980. (version "0.3.3")
  7981. (source
  7982. (origin
  7983. (method url-fetch)
  7984. (uri (string-append "https://hackage.haskell.org/package/"
  7985. "monad-par-extras-" version "/"
  7986. "monad-par-extras-" version ".tar.gz"))
  7987. (sha256
  7988. (base32
  7989. "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
  7990. (build-system haskell-build-system)
  7991. (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
  7992. ("ghc-cereal" ,ghc-cereal)
  7993. ("ghc-random" ,ghc-random)))
  7994. (home-page "https://github.com/simonmar/monad-par")
  7995. (synopsis "Combinators and extra features for Par monads for Haskell")
  7996. (description "This Haskell package provides additional data structures,
  7997. and other added capabilities layered on top of the @code{Par} monad.")
  7998. (license license:bsd-3)))
  7999. (define-public ghc-monadrandom
  8000. (package
  8001. (name "ghc-monadrandom")
  8002. (version "0.5.1.1")
  8003. (source
  8004. (origin
  8005. (method url-fetch)
  8006. (uri (string-append "https://hackage.haskell.org/package/"
  8007. "MonadRandom-" version "/"
  8008. "MonadRandom-" version ".tar.gz"))
  8009. (sha256
  8010. (base32
  8011. "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
  8012. (build-system haskell-build-system)
  8013. (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
  8014. ("ghc-primitive" ,ghc-primitive)
  8015. ("ghc-fail" ,ghc-fail)
  8016. ("ghc-random" ,ghc-random)))
  8017. (home-page "https://github.com/byorgey/MonadRandom")
  8018. (synopsis "Random-number generation monad for Haskell")
  8019. (description "This Haskell package provides support for computations
  8020. which consume random values.")
  8021. (license license:bsd-3)))
  8022. (define-public ghc-monads-tf
  8023. (package
  8024. (name "ghc-monads-tf")
  8025. (version "0.1.0.3")
  8026. (source
  8027. (origin
  8028. (method url-fetch)
  8029. (uri (string-append
  8030. "https://hackage.haskell.org/package/monads-tf/monads-tf-"
  8031. version ".tar.gz"))
  8032. (sha256
  8033. (base32
  8034. "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
  8035. (build-system haskell-build-system)
  8036. (home-page "https://hackage.haskell.org/package/monads-tf")
  8037. (synopsis "Monad classes, using type families")
  8038. (description
  8039. "Monad classes using type families, with instances for various monad transformers,
  8040. inspired by the paper 'Functional Programming with Overloading and Higher-Order
  8041. Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
  8042. the @code{mtl-tf} package.")
  8043. (license license:bsd-3)))
  8044. (define-public ghc-mono-traversable
  8045. (package
  8046. (name "ghc-mono-traversable")
  8047. (version "1.0.13.0")
  8048. (source
  8049. (origin
  8050. (method url-fetch)
  8051. (uri (string-append "https://hackage.haskell.org/package/"
  8052. "mono-traversable-" version "/"
  8053. "mono-traversable-" version ".tar.gz"))
  8054. (sha256
  8055. (base32
  8056. "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
  8057. (build-system haskell-build-system)
  8058. (outputs '("out" "static" "doc"))
  8059. (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
  8060. ("ghc-hashable" ,ghc-hashable)
  8061. ("ghc-vector" ,ghc-vector)
  8062. ("ghc-vector-algorithms" ,ghc-vector-algorithms)
  8063. ("ghc-split" ,ghc-split)))
  8064. (native-inputs `(("ghc-hspec" ,ghc-hspec)
  8065. ("ghc-hunit" ,ghc-hunit)
  8066. ("ghc-quickcheck" ,ghc-quickcheck)
  8067. ("ghc-semigroups" ,ghc-semigroups)
  8068. ("ghc-foldl" ,ghc-foldl)))
  8069. (home-page "https://github.com/snoyberg/mono-traversable")
  8070. (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
  8071. containers")
  8072. (description "This Haskell package provides Monomorphic variants of the
  8073. Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
  8074. basic typeclasses, you understand mono-traversable. In addition to what
  8075. you are used to, it adds on an IsSequence typeclass and has code for marking
  8076. data structures as non-empty.")
  8077. (license license:expat)))
  8078. (define-public ghc-monoid-extras
  8079. (package
  8080. (name "ghc-monoid-extras")
  8081. (version "0.5.1")
  8082. (source
  8083. (origin
  8084. (method url-fetch)
  8085. (uri (string-append "https://hackage.haskell.org/package/"
  8086. "monoid-extras/monoid-extras-" version ".tar.gz"))
  8087. (sha256
  8088. (base32
  8089. "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
  8090. (build-system haskell-build-system)
  8091. (inputs
  8092. `(("ghc-groups" ,ghc-groups)
  8093. ("ghc-semigroups" ,ghc-semigroups)
  8094. ("ghc-semigroupoids" ,ghc-semigroupoids)))
  8095. (arguments
  8096. `(#:cabal-revision
  8097. ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
  8098. (home-page "https://hackage.haskell.org/package/monoid-extras")
  8099. (synopsis "Various extra monoid-related definitions and utilities")
  8100. (description "This package provides various extra monoid-related
  8101. definitions and utilities, such as monoid actions, monoid coproducts,
  8102. semi-direct products, \"deletable\" monoids, \"split\" monoids, and
  8103. \"cut\" monoids.")
  8104. (license license:bsd-3)))
  8105. (define-public ghc-mountpoints
  8106. (package
  8107. (name "ghc-mountpoints")
  8108. (version "1.0.2")
  8109. (source
  8110. (origin
  8111. (method url-fetch)
  8112. (uri (string-append
  8113. "https://hackage.haskell.org/package/mountpoints/mountpoints-"
  8114. version
  8115. ".tar.gz"))
  8116. (sha256
  8117. (base32
  8118. "1hnm31pqcffphyc463wf0vbik9fzm5lb2r4wjdc1y4dqzmjdzz37"))))
  8119. (build-system haskell-build-system)
  8120. (home-page
  8121. "http://hackage.haskell.org/package/mountpoints")
  8122. (synopsis "Haskell library for listing mount points")
  8123. (description "This library provides Haskell bindings for checking
  8124. currently mounted filesystems.")
  8125. (license license:lgpl2.1+)))
  8126. (define-public ghc-mtl-compat
  8127. (package
  8128. (name "ghc-mtl-compat")
  8129. (version "0.2.2")
  8130. (source
  8131. (origin
  8132. (method url-fetch)
  8133. (uri (string-append
  8134. "mirror://hackage/package/mtl-compat/mtl-compat-"
  8135. version
  8136. ".tar.gz"))
  8137. (sha256
  8138. (base32
  8139. "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
  8140. (build-system haskell-build-system)
  8141. (home-page
  8142. "https://github.com/haskell-compat/mtl-compat")
  8143. (synopsis
  8144. "Backported Control.Monad.Except module from mtl")
  8145. (description
  8146. "This package backports the Control.Monad.Except module from mtl (if
  8147. using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
  8148. and the MonadError class.
  8149. This package should only be used if there is a need to use the
  8150. Control.Monad.Except module specifically. If you just want the mtl class
  8151. instances for ExceptT, use transformers-compat instead, since mtl-compat does
  8152. nothing but reexport the instances from that package.
  8153. Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
  8154. module defined in this package exports all of ExceptT's monad class instances.
  8155. Therefore, you may have to declare @code{import Control.Monad.Except ()} at
  8156. the top of your file to get all of the ExceptT instances in scope.")
  8157. (license license:bsd-3)))
  8158. (define-public ghc-murmur-hash
  8159. (package
  8160. (name "ghc-murmur-hash")
  8161. (version "0.1.0.9")
  8162. (source
  8163. (origin
  8164. (method url-fetch)
  8165. (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
  8166. "/murmur-hash-" version ".tar.gz"))
  8167. (sha256
  8168. (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
  8169. (build-system haskell-build-system)
  8170. (home-page "https://github.com/nominolo/murmur-hash")
  8171. (synopsis "MurmurHash2 implementation for Haskell")
  8172. (description
  8173. "This package provides an implementation of MurmurHash2, a good, fast,
  8174. general-purpose, non-cryptographic hashing function. See
  8175. @url{https://sites.google.com/site/murmurhash/} for details. This
  8176. implementation is pure Haskell, so it might be a bit slower than a C FFI
  8177. binding.")
  8178. (license license:bsd-3)))
  8179. (define-public ghc-mwc-random
  8180. (package
  8181. (name "ghc-mwc-random")
  8182. (version "0.14.0.0")
  8183. (source
  8184. (origin
  8185. (method url-fetch)
  8186. (uri (string-append "https://hackage.haskell.org/package/"
  8187. "mwc-random-" version "/"
  8188. "mwc-random-" version ".tar.gz"))
  8189. (sha256
  8190. (base32
  8191. "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
  8192. (build-system haskell-build-system)
  8193. (inputs
  8194. `(("ghc-primitive" ,ghc-primitive)
  8195. ("ghc-vector" ,ghc-vector)
  8196. ("ghc-math-functions" ,ghc-math-functions)))
  8197. (arguments
  8198. `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
  8199. (native-inputs
  8200. `(("ghc-hunit" ,ghc-hunit)
  8201. ("ghc-quickcheck" ,ghc-quickcheck)
  8202. ("ghc-test-framework" ,ghc-test-framework)
  8203. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  8204. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  8205. (home-page "https://github.com/bos/mwc-random")
  8206. (synopsis "Random number generation library for Haskell")
  8207. (description "This Haskell package contains code for generating
  8208. high quality random numbers that follow either a uniform or normal
  8209. distribution. The generated numbers are suitable for use in
  8210. statistical applications.
  8211. The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
  8212. multiply-with-carry generator, which has a period of 2^{8222} and
  8213. fares well in tests of randomness. It is also extremely fast,
  8214. between 2 and 3 times faster than the Mersenne Twister.")
  8215. (license license:bsd-3)))
  8216. (define-public ghc-nats
  8217. (package
  8218. (name "ghc-nats")
  8219. (version "1.1.2")
  8220. (source
  8221. (origin
  8222. (method url-fetch)
  8223. (uri (string-append
  8224. "https://hackage.haskell.org/package/nats/nats-"
  8225. version
  8226. ".tar.gz"))
  8227. (sha256
  8228. (base32
  8229. "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
  8230. (build-system haskell-build-system)
  8231. (arguments `(#:haddock? #f))
  8232. (inputs
  8233. `(("ghc-hashable" ,ghc-hashable)))
  8234. (home-page "https://hackage.haskell.org/package/nats")
  8235. (synopsis "Natural numbers")
  8236. (description "This library provides the natural numbers for Haskell.")
  8237. (license license:bsd-3)))
  8238. (define-public ghc-nats-bootstrap
  8239. (package
  8240. (inherit ghc-nats)
  8241. (name "ghc-nats-bootstrap")
  8242. (inputs
  8243. `(("ghc-hashable" ,ghc-hashable-bootstrap)))
  8244. (properties '((hidden? #t)))))
  8245. (define-public ghc-ncurses
  8246. (package
  8247. (name "ghc-ncurses")
  8248. (version "0.2.16")
  8249. (source
  8250. (origin
  8251. (method url-fetch)
  8252. (uri (string-append
  8253. "https://hackage.haskell.org/package/ncurses/ncurses-"
  8254. version ".tar.gz"))
  8255. (sha256
  8256. (base32
  8257. "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
  8258. (build-system haskell-build-system)
  8259. (arguments
  8260. '(#:extra-directories ("ncurses")
  8261. #:phases
  8262. (modify-phases %standard-phases
  8263. (add-before 'build 'fix-includes
  8264. (lambda _
  8265. (substitute* '("cbits/hsncurses-shim.h"
  8266. "lib/UI/NCurses.chs"
  8267. "lib/UI/NCurses/Enums.chs"
  8268. "lib/UI/NCurses/Panel.chs")
  8269. (("<ncursesw/") "<"))
  8270. #t)))
  8271. #:cabal-revision
  8272. ("1"
  8273. "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
  8274. (inputs `(("ncurses" ,ncurses)))
  8275. (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
  8276. (home-page "https://john-millikin.com/software/haskell-ncurses/")
  8277. (synopsis "Modernised bindings to GNU ncurses")
  8278. (description "GNU ncurses is a library for creating command-line application
  8279. with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
  8280. ncurses.")
  8281. (license license:gpl3)))
  8282. (define-public ghc-network
  8283. (package
  8284. (name "ghc-network")
  8285. (version "2.8.0.1")
  8286. (outputs '("out" "static" "doc"))
  8287. (source
  8288. (origin
  8289. (method url-fetch)
  8290. (uri (string-append
  8291. "https://hackage.haskell.org/package/network/network-"
  8292. version
  8293. ".tar.gz"))
  8294. (sha256
  8295. (base32
  8296. "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
  8297. (build-system haskell-build-system)
  8298. ;; The regression tests depend on an unpublished module.
  8299. (arguments `(#:tests? #f))
  8300. (native-inputs
  8301. `(("ghc-hunit" ,ghc-hunit)
  8302. ("ghc-doctest" ,ghc-doctest)
  8303. ("ghc-test-framework" ,ghc-test-framework)
  8304. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  8305. (home-page "https://github.com/haskell/network")
  8306. (synopsis "Low-level networking interface")
  8307. (description
  8308. "This package provides a low-level networking interface.")
  8309. (license license:bsd-3)))
  8310. (define-public ghc-network-bsd
  8311. (package
  8312. (name "ghc-network-bsd")
  8313. (version "2.8.0.0")
  8314. (source
  8315. (origin
  8316. (method url-fetch)
  8317. (uri (string-append "https://hackage.haskell.org/package/"
  8318. "network-bsd/network-bsd-" version ".tar.gz"))
  8319. (sha256
  8320. (base32
  8321. "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
  8322. (build-system haskell-build-system)
  8323. (inputs
  8324. `(("ghc-network" ,ghc-network)))
  8325. (home-page "https://github.com/haskell/network-bsd")
  8326. (synopsis "POSIX network database (<netdb.h>) API")
  8327. (description "This package provides Haskell bindings to the the POSIX
  8328. network database (<netdb.h>) API.")
  8329. (license license:bsd-3)))
  8330. (define-public ghc-network-byte-order
  8331. (package
  8332. (name "ghc-network-byte-order")
  8333. (version "0.1.1.1")
  8334. (source
  8335. (origin
  8336. (method url-fetch)
  8337. (uri (string-append "https://hackage.haskell.org/package/"
  8338. "network-byte-order/network-byte-order-"
  8339. version ".tar.gz"))
  8340. (sha256
  8341. (base32
  8342. "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
  8343. (build-system haskell-build-system)
  8344. (native-inputs
  8345. `(("ghc-doctest" ,ghc-doctest)))
  8346. (home-page "https://hackage.haskell.org/package/network-byte-order")
  8347. (synopsis "Network byte order utilities")
  8348. (description "This library provides peek and poke functions for network
  8349. byte order.")
  8350. (license license:bsd-3)))
  8351. (define-public ghc-network-info
  8352. (package
  8353. (name "ghc-network-info")
  8354. (version "0.2.0.10")
  8355. (source
  8356. (origin
  8357. (method url-fetch)
  8358. (uri (string-append "https://hackage.haskell.org/package/"
  8359. "network-info-" version "/"
  8360. "network-info-" version ".tar.gz"))
  8361. (sha256
  8362. (base32
  8363. "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
  8364. (build-system haskell-build-system)
  8365. (home-page "https://github.com/jystic/network-info")
  8366. (synopsis "Access the local computer's basic network configuration")
  8367. (description "This Haskell library provides simple read-only access to the
  8368. local computer's networking configuration. It is currently capable of
  8369. getting a list of all the network interfaces and their respective
  8370. IPv4, IPv6 and MAC addresses.")
  8371. (license license:bsd-3)))
  8372. (define-public ghc-network-multicast
  8373. (package
  8374. (name "ghc-network-multicast")
  8375. (version "0.3.2")
  8376. (source
  8377. (origin
  8378. (method url-fetch)
  8379. (uri (string-append
  8380. "https://hackage.haskell.org/package/network-multicast/network-multicast-"
  8381. version
  8382. ".tar.gz"))
  8383. (sha256
  8384. (base32
  8385. "0whvi0pbwjy6dbwfdf9rv1j3yr3lcmfp3q7a8pwq63g537l4l2l3"))))
  8386. (build-system haskell-build-system)
  8387. (inputs
  8388. `(("ghc-network" ,ghc-network)
  8389. ("ghc-network-bsd" ,ghc-network-bsd)))
  8390. (home-page
  8391. "http://hackage.haskell.org/package/network-multicast")
  8392. (synopsis "Simple multicast library for Haskell")
  8393. (description
  8394. "This package provides the Network.Multicast Haskell module for
  8395. sending UDP datagrams over multicast (class D) addresses.")
  8396. ;; Note that this is technically under CC0 1.0 and Expat, though it's not
  8397. ;; totally clear what the breakdown is. Since CC0 1.0 is effectively
  8398. ;; "public domain with a minimal fallback license", figuring marking it
  8399. ;; as effectively Expat is probably correct.
  8400. (license license:expat)))
  8401. (define-public ghc-network-uri
  8402. (package
  8403. (name "ghc-network-uri")
  8404. (version "2.6.1.0")
  8405. (outputs '("out" "static" "doc"))
  8406. (source
  8407. (origin
  8408. (method url-fetch)
  8409. (uri (string-append
  8410. "https://hackage.haskell.org/package/network-uri/network-uri-"
  8411. version
  8412. ".tar.gz"))
  8413. (sha256
  8414. (base32
  8415. "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
  8416. (build-system haskell-build-system)
  8417. (arguments
  8418. `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
  8419. (inputs
  8420. `(("ghc-network" ,ghc-network)))
  8421. (native-inputs
  8422. `(("ghc-hunit" ,ghc-hunit)))
  8423. (home-page
  8424. "https://github.com/haskell/network-uri")
  8425. (synopsis "Library for URI manipulation")
  8426. (description "This package provides an URI manipulation interface. In
  8427. @code{network-2.6} the @code{Network.URI} module was split off from the
  8428. @code{network} package into this package.")
  8429. (license license:bsd-3)))
  8430. (define-public ghc-newtype-generics
  8431. (package
  8432. (name "ghc-newtype-generics")
  8433. (version "0.5.4")
  8434. (source
  8435. (origin
  8436. (method url-fetch)
  8437. (uri (string-append "https://hackage.haskell.org/package/"
  8438. "newtype-generics/newtype-generics-"
  8439. version ".tar.gz"))
  8440. (sha256
  8441. (base32
  8442. "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
  8443. (build-system haskell-build-system)
  8444. (native-inputs
  8445. `(("ghc-hspec" ,ghc-hspec)
  8446. ("hspec-discover" ,hspec-discover)))
  8447. (home-page "https://github.com/sjakobi/newtype-generics")
  8448. (synopsis "Typeclass and set of functions for working with newtypes")
  8449. (description "The @code{Newtype} typeclass represents the packing and
  8450. unpacking of a newtype, and allows you to operate under that newtype with
  8451. functions such as @code{ala}. Generics support was added in version 0.4,
  8452. making this package a full replacement for the original newtype package,
  8453. and an alternative to newtype-th.")
  8454. (license license:bsd-3)))
  8455. (define-public ghc-non-negative
  8456. (package
  8457. (name "ghc-non-negative")
  8458. (version "0.1.2")
  8459. (source
  8460. (origin
  8461. (method url-fetch)
  8462. (uri
  8463. (string-append
  8464. "https://hackage.haskell.org/package/non-negative/non-negative-"
  8465. version ".tar.gz"))
  8466. (sha256
  8467. (base32
  8468. "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
  8469. (build-system haskell-build-system)
  8470. (inputs
  8471. `(("ghc-semigroups" ,ghc-semigroups)
  8472. ("ghc-utility-ht" ,ghc-utility-ht)
  8473. ("ghc-quickcheck" ,ghc-quickcheck)))
  8474. (home-page "https://hackage.haskell.org/package/non-negative")
  8475. (synopsis "Non-negative numbers class")
  8476. (description "This library provides a class for non-negative numbers,
  8477. a wrapper which can turn any ordered numeric type into a member of that
  8478. class, and a lazy number type for non-negative numbers (a generalization
  8479. of Peano numbers).")
  8480. (license license:gpl3+)))
  8481. (define-public ghc-nonce
  8482. (package
  8483. (name "ghc-nonce")
  8484. (version "1.0.7")
  8485. (source
  8486. (origin
  8487. (method url-fetch)
  8488. (uri (string-append
  8489. "https://hackage.haskell.org/package/nonce/"
  8490. "nonce-" version ".tar.gz"))
  8491. (sha256
  8492. (base32
  8493. "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
  8494. (build-system haskell-build-system)
  8495. (inputs
  8496. `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
  8497. ("ghc-entropy" ,ghc-entropy)
  8498. ("ghc-unliftio" ,ghc-unliftio)
  8499. ("ghc-unliftio-core" ,ghc-unliftio-core)))
  8500. (home-page "https://github.com/prowdsponsor/nonce")
  8501. (synopsis "Generate cryptographic nonces in Haskell")
  8502. (description
  8503. "A nonce is an arbitrary number used only once in a cryptographic
  8504. communication. This package contain helper functions for generating nonces.
  8505. There are many kinds of nonces used in different situations. It's not
  8506. guaranteed that by using the nonces from this package you won't have any
  8507. security issues. Please make sure that the nonces generated via this
  8508. package are usable on your design.")
  8509. (license license:bsd-3)))
  8510. (define-public ghc-numeric-extras
  8511. (package
  8512. (name "ghc-numeric-extras")
  8513. (version "0.1")
  8514. (source
  8515. (origin
  8516. (method url-fetch)
  8517. (uri (string-append "https://hackage.haskell.org/package/"
  8518. "numeric-extras/numeric-extras-"
  8519. version ".tar.gz"))
  8520. (sha256
  8521. (base32
  8522. "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
  8523. (build-system haskell-build-system)
  8524. (home-page "https://github.com/ekmett/numeric-extras")
  8525. (synopsis "Useful tools from the C standard library")
  8526. (description "This library provides some useful tools from the C
  8527. standard library.")
  8528. (license license:bsd-3)))
  8529. (define-public ghc-objectname
  8530. (package
  8531. (name "ghc-objectname")
  8532. (version "1.1.0.1")
  8533. (source
  8534. (origin
  8535. (method url-fetch)
  8536. (uri (string-append
  8537. "https://hackage.haskell.org/package/ObjectName/ObjectName-"
  8538. version
  8539. ".tar.gz"))
  8540. (sha256
  8541. (base32
  8542. "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
  8543. (build-system haskell-build-system)
  8544. (home-page "https://hackage.haskell.org/package/ObjectName")
  8545. (synopsis "Helper library for Haskell OpenGL")
  8546. (description "This tiny package contains the class ObjectName, which
  8547. corresponds to the general notion of explicitly handled identifiers for API
  8548. objects, e.g. a texture object name in OpenGL or a buffer object name in
  8549. OpenAL.")
  8550. (license license:bsd-3)))
  8551. (define-public ghc-old-locale
  8552. (package
  8553. (name "ghc-old-locale")
  8554. (version "1.0.0.7")
  8555. (source
  8556. (origin
  8557. (method url-fetch)
  8558. (uri (string-append
  8559. "https://hackage.haskell.org/package/old-locale/old-locale-"
  8560. version
  8561. ".tar.gz"))
  8562. (sha256
  8563. (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
  8564. (build-system haskell-build-system)
  8565. (arguments
  8566. `(#:cabal-revision
  8567. ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
  8568. (home-page "https://hackage.haskell.org/package/old-locale")
  8569. (synopsis "Adapt to locale conventions")
  8570. (description
  8571. "This package provides the ability to adapt to locale conventions such as
  8572. date and time formats.")
  8573. (license license:bsd-3)))
  8574. (define-public ghc-old-time
  8575. (package
  8576. (name "ghc-old-time")
  8577. (version "1.1.0.3")
  8578. (source
  8579. (origin
  8580. (method url-fetch)
  8581. (uri (string-append
  8582. "https://hackage.haskell.org/package/old-time/old-time-"
  8583. version
  8584. ".tar.gz"))
  8585. (sha256
  8586. (base32
  8587. "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
  8588. (build-system haskell-build-system)
  8589. (arguments
  8590. `(#:cabal-revision
  8591. ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
  8592. (inputs
  8593. `(("ghc-old-locale" ,ghc-old-locale)))
  8594. (home-page "https://hackage.haskell.org/package/old-time")
  8595. (synopsis "Time compatibility library for Haskell")
  8596. (description "Old-time is a package for backwards compatibility with the
  8597. old @code{time} library. For new projects, the newer
  8598. @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
  8599. (license license:bsd-3)))
  8600. (define-public ghc-only
  8601. (package
  8602. (name "ghc-only")
  8603. (version "0.1")
  8604. (source
  8605. (origin
  8606. (method url-fetch)
  8607. (uri (string-append
  8608. "https://hackage.haskell.org/package/Only/Only-"
  8609. version
  8610. ".tar.gz"))
  8611. (sha256
  8612. (base32
  8613. "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb"))))
  8614. (build-system haskell-build-system)
  8615. (arguments
  8616. `(#:cabal-revision
  8617. ("1"
  8618. "1ahk7p34kmh041mz7lyc10nhcxgv2i4z8nvzxvqm2x34gslmsbzr")))
  8619. (home-page "https://hackage.haskell.org/package/Only")
  8620. (synopsis "The 1-tuple type or single-value collection")
  8621. (description
  8622. "This package provides a canonical anonymous 1-tuple type missing from
  8623. Haskell for attaching typeclass instances.
  8624. There is also the @url{https://hackage.haskell.org/package/OneTuple, OneTuple
  8625. package} which by using a boxed @code{data}-type provides a 1-tuple type which
  8626. has laziness properties which are more faithful to the ones of Haskell's
  8627. native tuples; whereas the primary purpose of @code{Only} is to provide the
  8628. traditionally so named type-wrapper for attaching typeclass instances.")
  8629. (license license:bsd-3)))
  8630. (define-public ghc-opengl
  8631. (package
  8632. (name "ghc-opengl")
  8633. (version "3.0.3.0")
  8634. (source
  8635. (origin
  8636. (method url-fetch)
  8637. (uri (string-append
  8638. "https://hackage.haskell.org/package/OpenGL/OpenGL-"
  8639. version
  8640. ".tar.gz"))
  8641. (sha256
  8642. (base32
  8643. "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
  8644. (build-system haskell-build-system)
  8645. (arguments
  8646. `(#:cabal-revision
  8647. ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
  8648. (inputs
  8649. `(("ghc-objectname" ,ghc-objectname)
  8650. ("ghc-gluraw" ,ghc-gluraw)
  8651. ("ghc-statevar" ,ghc-statevar)
  8652. ("ghc-openglraw" ,ghc-openglraw)))
  8653. (home-page "https://wiki.haskell.org/Opengl")
  8654. (synopsis "Haskell bindings for the OpenGL graphics system")
  8655. (description "This package provides Haskell bindings for the OpenGL
  8656. graphics system (GL, version 4.5) and its accompanying utility library (GLU,
  8657. version 1.3).")
  8658. (license license:bsd-3)))
  8659. (define-public ghc-openglraw
  8660. (package
  8661. (name "ghc-openglraw")
  8662. (version "3.3.3.0")
  8663. (source
  8664. (origin
  8665. (method url-fetch)
  8666. (uri (string-append
  8667. "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
  8668. version
  8669. ".tar.gz"))
  8670. (sha256
  8671. (base32
  8672. "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
  8673. (build-system haskell-build-system)
  8674. (arguments
  8675. `(#:extra-directories ("glu")))
  8676. (inputs
  8677. `(("ghc-half" ,ghc-half)
  8678. ("ghc-fixed" ,ghc-fixed)
  8679. ("glu" ,glu)))
  8680. (home-page "https://wiki.haskell.org/Opengl")
  8681. (synopsis "Raw Haskell bindings for the OpenGL graphics system")
  8682. (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
  8683. graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
  8684. of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
  8685. offers access to all necessary functions, tokens and types plus a general
  8686. facility for loading extension entries. The module hierarchy closely mirrors
  8687. the naming structure of the OpenGL extensions, making it easy to find the
  8688. right module to import. All API entries are loaded dynamically, so no special
  8689. C header files are needed for building this package. If an API entry is not
  8690. found at runtime, a userError is thrown.")
  8691. (license license:bsd-3)))
  8692. (define-public ghc-operational
  8693. (package
  8694. (name "ghc-operational")
  8695. (version "0.2.3.5")
  8696. (source
  8697. (origin
  8698. (method url-fetch)
  8699. (uri (string-append "https://hackage.haskell.org/package/operational/"
  8700. "operational-" version ".tar.gz"))
  8701. (sha256
  8702. (base32
  8703. "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
  8704. (build-system haskell-build-system)
  8705. (inputs
  8706. `(("ghc-random" ,ghc-random)))
  8707. (home-page "http://wiki.haskell.org/Operational")
  8708. (synopsis "Implementation of difficult monads made easy with operational semantics")
  8709. (description
  8710. "This library makes it easy to implement monads with tricky control
  8711. flow. This is useful for: writing web applications in a sequential style,
  8712. programming games with a uniform interface for human and AI players and easy
  8713. replay capababilities, implementing fast parser monads, designing monadic
  8714. DSLs, etc.")
  8715. (license license:bsd-3)))
  8716. (define-public ghc-optional-args
  8717. (package
  8718. (name "ghc-optional-args")
  8719. (version "1.0.2")
  8720. (source
  8721. (origin
  8722. (method url-fetch)
  8723. (uri (string-append
  8724. "mirror://hackage/package/optional-args/optional-args-"
  8725. version
  8726. ".tar.gz"))
  8727. (sha256
  8728. (base32
  8729. "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
  8730. (build-system haskell-build-system)
  8731. (home-page
  8732. "http://hackage.haskell.org/package/optional-args")
  8733. (synopsis "Optional function arguments")
  8734. (description
  8735. "This library provides a type for specifying @code{Optional} function
  8736. arguments.")
  8737. (license license:bsd-3)))
  8738. (define-public ghc-options
  8739. (package
  8740. (name "ghc-options")
  8741. (version "1.2.1.1")
  8742. (source
  8743. (origin
  8744. (method url-fetch)
  8745. (uri (string-append
  8746. "https://hackage.haskell.org/package/options/options-"
  8747. version ".tar.gz"))
  8748. (sha256
  8749. (base32
  8750. "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
  8751. (build-system haskell-build-system)
  8752. (arguments
  8753. `(#:phases
  8754. (modify-phases %standard-phases
  8755. (add-before 'configure 'update-constraints
  8756. (lambda _
  8757. (substitute* "options.cabal"
  8758. (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
  8759. #t)))))
  8760. (inputs
  8761. `(("ghc-monads-tf" ,ghc-monads-tf)
  8762. ("ghc-chell" ,ghc-chell)
  8763. ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
  8764. (home-page "https://john-millikin.com/software/haskell-options/")
  8765. (synopsis "Powerful and easy-to-use command-line option parser")
  8766. (description
  8767. "The @code{options} package lets library and application developers
  8768. easily work with command-line options.")
  8769. (license license:expat)))
  8770. ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
  8771. (define ghc-options-bootstrap
  8772. (package
  8773. (name "ghc-options-bootstrap")
  8774. (version "1.2.1.1")
  8775. (source
  8776. (origin
  8777. (method url-fetch)
  8778. (uri (string-append
  8779. "https://hackage.haskell.org/package/options/options-"
  8780. version ".tar.gz"))
  8781. (sha256
  8782. (base32
  8783. "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
  8784. (build-system haskell-build-system)
  8785. (arguments
  8786. `(#:tests? #f))
  8787. (inputs
  8788. `(("ghc-monads-tf" ,ghc-monads-tf)))
  8789. (home-page "https://john-millikin.com/software/haskell-options/")
  8790. (synopsis "Powerful and easy-to-use command-line option parser")
  8791. (description
  8792. "The @code{options} package lets library and application developers
  8793. easily work with command-line options.")
  8794. (license license:expat)))
  8795. (define-public ghc-optparse-applicative
  8796. (package
  8797. (name "ghc-optparse-applicative")
  8798. (version "0.14.3.0")
  8799. (source
  8800. (origin
  8801. (method url-fetch)
  8802. (uri (string-append
  8803. "https://hackage.haskell.org/package/optparse-applicative"
  8804. "/optparse-applicative-" version ".tar.gz"))
  8805. (sha256
  8806. (base32
  8807. "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
  8808. (build-system haskell-build-system)
  8809. (arguments
  8810. `(#:cabal-revision
  8811. ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
  8812. (inputs
  8813. `(("ghc-transformers-compat" ,ghc-transformers-compat)
  8814. ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
  8815. (native-inputs
  8816. `(("ghc-quickcheck" ,ghc-quickcheck)))
  8817. (home-page "https://github.com/pcapriotti/optparse-applicative")
  8818. (synopsis "Utilities and combinators for parsing command line options")
  8819. (description "This package provides utilities and combinators for parsing
  8820. command line options in Haskell.")
  8821. (license license:bsd-3)))
  8822. (define-public ghc-jira-wiki-markup
  8823. (package
  8824. (name "ghc-jira-wiki-markup")
  8825. (version "1.0.0")
  8826. (source
  8827. (origin
  8828. (method url-fetch)
  8829. (uri (string-append
  8830. "https://hackage.haskell.org/package/jira-wiki-markup/"
  8831. "jira-wiki-markup-" version ".tar.gz"))
  8832. (sha256
  8833. (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
  8834. (build-system haskell-build-system)
  8835. (native-inputs
  8836. `(("ghc-tasty" ,ghc-tasty)
  8837. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  8838. (home-page "https://github.com/tarleb/jira-wiki-markup")
  8839. (synopsis "Handle Jira wiki markup")
  8840. (description
  8841. "Parse jira wiki text into an abstract syntax tree for easy transformation
  8842. to other formats.")
  8843. (license license:expat)))
  8844. (define-public ghc-emojis
  8845. (package
  8846. (name "ghc-emojis")
  8847. (version "0.1")
  8848. (source
  8849. (origin
  8850. (method url-fetch)
  8851. (uri (string-append
  8852. "https://hackage.haskell.org/package/emojis/"
  8853. "emojis-" version ".tar.gz"))
  8854. (sha256
  8855. (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
  8856. (build-system haskell-build-system)
  8857. (native-inputs
  8858. `(("ghc-hunit" ,ghc-hunit)))
  8859. (home-page "https://github.com/jgm/emojis#readme")
  8860. (synopsis "Conversion between emoji characters and their names.")
  8861. (description
  8862. "This package provides functions for converting emoji names to emoji
  8863. characters and vice versa.
  8864. How does it differ from the @code{emoji} package?
  8865. @itemize
  8866. @item It supports a fuller range of emojis, including all those supported by
  8867. GitHub
  8868. @item It supports lookup of emoji aliases from emoji
  8869. @item It uses Text rather than String
  8870. @item It has a lighter dependency footprint: in particular, it does not
  8871. require aeson
  8872. @item It does not require TemplateHaskell
  8873. @end itemize")
  8874. (license license:bsd-3)))
  8875. (define-public ghc-text-conversions
  8876. (package
  8877. (name "ghc-text-conversions")
  8878. (version "0.3.0")
  8879. (source
  8880. (origin
  8881. (method url-fetch)
  8882. (uri (string-append
  8883. "https://hackage.haskell.org/package/text-conversions/"
  8884. "text-conversions-" version ".tar.gz"))
  8885. (sha256
  8886. (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
  8887. (build-system haskell-build-system)
  8888. (inputs
  8889. `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
  8890. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  8891. ("ghc-errors" ,ghc-errors)))
  8892. (native-inputs
  8893. `(("ghc-hspec" ,ghc-hspec)
  8894. ("hspec-discover" ,hspec-discover)))
  8895. (home-page "https://github.com/cjdev/text-conversions#readme")
  8896. (synopsis "Safe conversions between textual types")
  8897. (description "Safe conversions between textual types")
  8898. (license license:isc)))
  8899. (define-public ghc-text-short
  8900. (package
  8901. (name "ghc-text-short")
  8902. (version "0.1.3")
  8903. (source
  8904. (origin
  8905. (method url-fetch)
  8906. (uri (string-append
  8907. "https://hackage.haskell.org/package/text-short/text-short-"
  8908. version
  8909. ".tar.gz"))
  8910. (sha256
  8911. (base32
  8912. "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz"))))
  8913. (build-system haskell-build-system)
  8914. (inputs `(("ghc-hashable" ,ghc-hashable)))
  8915. (native-inputs
  8916. `(("ghc-tasty" ,ghc-tasty)
  8917. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  8918. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  8919. ("ghc-quickcheck-instances"
  8920. ,ghc-quickcheck-instances)))
  8921. (arguments
  8922. `(#:cabal-revision
  8923. ("2"
  8924. "17cb7p0qywf2dsrq3g8qb3ssknd9wl5k0nc2pxz9gc3l8rxpkw51")))
  8925. (home-page "https://hackage.haskell.org/package/text-short")
  8926. (synopsis "Memory-efficient representation of Unicode text strings")
  8927. (description "This package provides the @code{ShortText} type which
  8928. is suitable for keeping many short strings in memory. This is similar
  8929. to how @code{ShortByteString} relates to @code{ByteString}.
  8930. The main difference between @code{Text} and @code{ShortText} is that
  8931. @code{ShortText} uses UTF-8 instead of UTF-16 internally and also doesn't
  8932. support zero-copy slicing (thereby saving 2 words). Consequently, the memory
  8933. footprint of a (boxed) @{ShortText} value is 4 words (2 words when unboxed)
  8934. plus the length of the UTF-8 encoded payload.")
  8935. (license license:bsd-3)))
  8936. (define-public ghc-text-zipper
  8937. (package
  8938. (name "ghc-text-zipper")
  8939. (version "0.10.1")
  8940. (source
  8941. (origin
  8942. (method url-fetch)
  8943. (uri (string-append "https://hackage.haskell.org/package/text-zipper/"
  8944. "text-zipper-" version ".tar.gz"))
  8945. (sha256
  8946. (base32 "0jxicjp0ak1fyl1n3yspxq6hv9l90zzy75glsv8bc2svsn9ypyls"))))
  8947. (build-system haskell-build-system)
  8948. (native-inputs
  8949. `(("ghc-hspec" ,ghc-hspec)
  8950. ("ghc-quickcheck" ,ghc-quickcheck)
  8951. ("hspec-discover" ,hspec-discover)))
  8952. (inputs
  8953. `(("ghc-vector" ,ghc-vector)))
  8954. (home-page "https://github.com/jtdaugherty/text-zipper/")
  8955. (synopsis "Text editor zipper library")
  8956. (description
  8957. "This Haskell library provides a two-dimensional zipper data structure for
  8958. editing text. The structure represents the body of text and an editing cursor
  8959. which can be moved through it, along with a set of editing transformations.
  8960. Text zippers are generalized over the set of data types that might be used to
  8961. store lists of characters (e.g., @code{String}, @code{T.Text}, etc.).
  8962. Implementations using both of these examples are provided.")
  8963. (license license:bsd-3)))
  8964. (define-public ghc-doclayout
  8965. (package
  8966. (name "ghc-doclayout")
  8967. (version "0.3")
  8968. (source
  8969. (origin
  8970. (method url-fetch)
  8971. (uri (string-append
  8972. "https://hackage.haskell.org/package/doclayout/"
  8973. "doclayout-" version ".tar.gz"))
  8974. (sha256
  8975. (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
  8976. (build-system haskell-build-system)
  8977. (inputs
  8978. `(("ghc-safe" ,ghc-safe)))
  8979. (native-inputs
  8980. `(("ghc-tasty" ,ghc-tasty)
  8981. ("ghc-tasty-golden" ,ghc-tasty-golden)
  8982. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  8983. (home-page "https://github.com/jgm/doclayout")
  8984. (synopsis "Pretty-printing library for laying out text documents")
  8985. (description
  8986. "doclayout is a pretty-printing library for laying out text documents,
  8987. with several features not present in pretty-printing libraries designed for
  8988. code. It was designed for use in @code{Pandoc}.")
  8989. (license license:bsd-3)))
  8990. (define-public ghc-pandoc
  8991. (package
  8992. (name "ghc-pandoc")
  8993. (version "2.7.3")
  8994. (source
  8995. (origin
  8996. (method url-fetch)
  8997. (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
  8998. version ".tar.gz"))
  8999. (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
  9000. "ghc-pandoc-fix-latex-test.patch"))
  9001. (sha256
  9002. (base32
  9003. "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
  9004. (build-system haskell-build-system)
  9005. (arguments
  9006. `(#:phases
  9007. (modify-phases %standard-phases
  9008. (add-after 'unpack 'find-library
  9009. (lambda _
  9010. (substitute* "test/Tests/Command.hs"
  9011. (("= dynlibEnv")
  9012. (format #f "= [(\"LD_LIBRARY_PATH\" , \"~a/dist/build\")]"
  9013. (getcwd))))
  9014. #t)))))
  9015. (outputs '("out" "static" "doc"))
  9016. (inputs
  9017. `(("ghc-aeson" ,ghc-aeson)
  9018. ("ghc-aeson-pretty" ,ghc-aeson-pretty)
  9019. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  9020. ("ghc-blaze-html" ,ghc-blaze-html)
  9021. ("ghc-blaze-markup" ,ghc-blaze-markup)
  9022. ("ghc-cmark-gfm" ,ghc-cmark-gfm)
  9023. ("ghc-data-default" ,ghc-data-default)
  9024. ("ghc-diff" ,ghc-diff)
  9025. ("ghc-doctemplates" ,ghc-doctemplates)
  9026. ("ghc-executable-path" ,ghc-executable-path)
  9027. ("ghc-glob" ,ghc-glob)
  9028. ("ghc-haddock-library" ,ghc-haddock-library)
  9029. ("ghc-hslua" ,ghc-hslua)
  9030. ("ghc-hslua-module-system" ,ghc-hslua-module-system)
  9031. ("ghc-hslua-module-text" ,ghc-hslua-module-text)
  9032. ("ghc-hsyaml" ,ghc-hsyaml)
  9033. ("ghc-http" ,ghc-http)
  9034. ("ghc-http-client" ,ghc-http-client)
  9035. ("ghc-http-client-tls" ,ghc-http-client-tls)
  9036. ("ghc-http-types" ,ghc-http-types)
  9037. ("ghc-ipynb" ,ghc-ipynb)
  9038. ("ghc-juicypixels" ,ghc-juicypixels)
  9039. ("ghc-network" ,ghc-network)
  9040. ("ghc-network-uri" ,ghc-network-uri)
  9041. ("ghc-pandoc-types" ,ghc-pandoc-types)
  9042. ("ghc-random" ,ghc-random)
  9043. ("ghc-scientific" ,ghc-scientific)
  9044. ("ghc-sha" ,ghc-sha)
  9045. ("ghc-skylighting" ,ghc-skylighting)
  9046. ("ghc-split" ,ghc-split)
  9047. ("ghc-syb" ,ghc-syb)
  9048. ("ghc-tagsoup" ,ghc-tagsoup)
  9049. ("ghc-temporary" ,ghc-temporary)
  9050. ("ghc-texmath" ,ghc-texmath)
  9051. ("ghc-unicode-transforms" ,ghc-unicode-transforms)
  9052. ("ghc-unordered-containers" ,ghc-unordered-containers)
  9053. ("ghc-vector" ,ghc-vector)
  9054. ("ghc-xml" ,ghc-xml)
  9055. ("ghc-zip-archive" ,ghc-zip-archive)
  9056. ("ghc-zlib" ,ghc-zlib)))
  9057. (native-inputs
  9058. `(("ghc-tasty" ,ghc-tasty)
  9059. ("ghc-tasty-golden" ,ghc-tasty-golden)
  9060. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  9061. ("ghc-tasty-lua" ,ghc-tasty-lua)
  9062. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  9063. ("ghc-quickcheck" ,ghc-quickcheck)
  9064. ("ghc-hunit" ,ghc-hunit)))
  9065. (home-page "https://pandoc.org")
  9066. (synopsis "Conversion between markup formats")
  9067. (description
  9068. "Pandoc is a Haskell library for converting from one markup format to
  9069. another, and a command-line tool that uses this library. It can read and
  9070. write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
  9071. LaTeX, DocBook, and many more.
  9072. Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
  9073. definition lists, tables, and other features. A compatibility mode is
  9074. provided for those who need a drop-in replacement for Markdown.pl.")
  9075. (license license:gpl2+)))
  9076. (define-public pandoc
  9077. (package
  9078. (inherit ghc-pandoc)
  9079. (name "pandoc")
  9080. (arguments
  9081. `(#:configure-flags
  9082. (list "-fstatic"
  9083. ;; Do not build trypandoc; this is the default but it's better to
  9084. ;; be explicit.
  9085. "-f-trypandoc"
  9086. ;; TODO: Without these we cannot link the Haskell libraries
  9087. ;; statically. It would be nice if we could also build the
  9088. ;; shared libraries.
  9089. "--disable-shared"
  9090. "--disable-executable-dynamic"
  9091. ;; That's where we place all static libraries
  9092. "--extra-lib-dirs=static-libs/"
  9093. "--ghc-option=-static")
  9094. #:modules ((guix build haskell-build-system)
  9095. (guix build utils)
  9096. (ice-9 match)
  9097. (srfi srfi-1))
  9098. #:phases
  9099. (modify-phases %standard-phases
  9100. (add-after 'unpack 'create-simple-paths-module
  9101. (lambda* (#:key outputs #:allow-other-keys)
  9102. (call-with-output-file "Paths_pandoc.hs"
  9103. (lambda (port)
  9104. (format port "\
  9105. {-# LANGUAGE CPP #-}
  9106. {-# LANGUAGE NoRebindableSyntax #-}
  9107. {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
  9108. module Paths_pandoc (version,getDataDir,getDataFileName) where
  9109. import Prelude
  9110. import Data.Version (Version(..))
  9111. import System.Info
  9112. version :: Version
  9113. version = Version [~a] []
  9114. datadir :: FilePath
  9115. datadir = \"~a/share/\" ++
  9116. arch ++ \"-\" ++
  9117. os ++ \"-\" ++
  9118. compilerName ++ \"-~a/pandoc-~a\"
  9119. getDataDir :: IO FilePath
  9120. getDataDir = return datadir
  9121. getDataFileName :: FilePath -> IO FilePath
  9122. getDataFileName name = do
  9123. dir <- getDataDir
  9124. return (dir ++ \"/\" ++ name)
  9125. "
  9126. (string-map (lambda (chr) (if (eq? chr #\.) #\, chr))
  9127. ,(package-version ghc-pandoc))
  9128. (assoc-ref outputs "out")
  9129. ,(package-version ghc)
  9130. ,(package-version ghc-pandoc))))
  9131. #t))
  9132. (add-after 'unpack 'prepare-static-libraries
  9133. (lambda* (#:key inputs #:allow-other-keys)
  9134. (mkdir-p (string-append (getcwd) "/static-libs"))
  9135. (for-each
  9136. (lambda (input)
  9137. (when (or (string-prefix? "static-" (car input))
  9138. (string-prefix? "ghc" (car input)))
  9139. (match (find-files (cdr input) "\\.a$")
  9140. ((and (first . rest) libs)
  9141. (for-each (lambda (lib)
  9142. (let ((target (string-append (getcwd) "/static-libs/"
  9143. (basename lib))))
  9144. (unless (file-exists? target)
  9145. (symlink first target))))
  9146. libs))
  9147. (_ #f))))
  9148. inputs)
  9149. #t))
  9150. (delete 'check)
  9151. (add-after 'install 'post-install-check
  9152. (assoc-ref %standard-phases 'check)))))
  9153. (outputs '("out" "lib" "static" "doc"))
  9154. (inputs
  9155. (let* ((direct-inputs (package-inputs ghc-pandoc))
  9156. (all-static-inputs
  9157. (map (lambda (pkg)
  9158. (list (string-append "static-" (package-name pkg))
  9159. pkg "static"))
  9160. (delete-duplicates
  9161. (append (map cadr direct-inputs)
  9162. (filter (lambda (pkg)
  9163. (string-prefix? "ghc-" (package-name pkg)))
  9164. (package-closure
  9165. (map cadr direct-inputs))))))))
  9166. `(("zlib:static" ,zlib "static")
  9167. ,@all-static-inputs
  9168. ,@direct-inputs)))
  9169. (native-inputs
  9170. (let* ((direct-inputs (package-native-inputs ghc-pandoc))
  9171. (all-static-inputs
  9172. (map (lambda (pkg)
  9173. (list (string-append "static-" (package-name pkg))
  9174. pkg "static"))
  9175. (delete-duplicates
  9176. (append (map cadr direct-inputs)
  9177. (filter (lambda (pkg)
  9178. (string-prefix? "ghc-" (package-name pkg)))
  9179. (package-closure
  9180. (map cadr direct-inputs))))))))
  9181. `(,@all-static-inputs
  9182. ,@direct-inputs)))))
  9183. (define-public ghc-pandoc-citeproc
  9184. (package
  9185. (name "ghc-pandoc-citeproc")
  9186. (version "0.16.2")
  9187. (source
  9188. (origin
  9189. (method url-fetch)
  9190. (uri (string-append "https://hackage.haskell.org/package/"
  9191. "pandoc-citeproc/pandoc-citeproc-"
  9192. version ".tar.gz"))
  9193. (sha256
  9194. (base32
  9195. "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
  9196. (build-system haskell-build-system)
  9197. (arguments
  9198. `(#:phases
  9199. (modify-phases %standard-phases
  9200. ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
  9201. ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
  9202. (add-before 'configure 'patch-tests
  9203. (lambda _
  9204. (substitute* "tests/test-pandoc-citeproc.hs"
  9205. (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
  9206. "let allTests = citeprocTests"))))
  9207. ;; Tests need to be run after installation.
  9208. (delete 'check)
  9209. (add-after 'install 'post-install-check
  9210. (assoc-ref %standard-phases 'check)))))
  9211. (inputs
  9212. `(("ghc-pandoc-types" ,ghc-pandoc-types)
  9213. ("ghc-pandoc" ,ghc-pandoc)
  9214. ("ghc-tagsoup" ,ghc-tagsoup)
  9215. ("ghc-aeson" ,ghc-aeson)
  9216. ("ghc-vector" ,ghc-vector)
  9217. ("ghc-xml-conduit" ,ghc-xml-conduit)
  9218. ("ghc-unordered-containers" ,ghc-unordered-containers)
  9219. ("ghc-data-default" ,ghc-data-default)
  9220. ("ghc-setenv" ,ghc-setenv)
  9221. ("ghc-split" ,ghc-split)
  9222. ("ghc-yaml" ,ghc-yaml)
  9223. ("ghc-hs-bibutils" ,ghc-hs-bibutils)
  9224. ("ghc-rfc5051" ,ghc-rfc5051)
  9225. ("ghc-syb" ,ghc-syb)
  9226. ("ghc-old-locale" ,ghc-old-locale)
  9227. ("ghc-aeson-pretty" ,ghc-aeson-pretty)
  9228. ("ghc-attoparsec" ,ghc-attoparsec)
  9229. ("ghc-temporary" ,ghc-temporary)))
  9230. (home-page "https://github.com/jgm/pandoc-citeproc")
  9231. (synopsis "Library for using pandoc with citeproc")
  9232. (description
  9233. "The @code{pandoc-citeproc} library exports functions for using the
  9234. citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
  9235. rendering bibliographic reference citations into a variety of styles using a
  9236. macro language called @dfn{Citation Style Language} (CSL). This package also
  9237. contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
  9238. and also has a mode for converting bibliographic databases a YAML format
  9239. suitable for inclusion in pandoc YAML metadata.")
  9240. (license license:bsd-3)))
  9241. (define-public pandoc-citeproc
  9242. (package (inherit ghc-pandoc-citeproc)
  9243. (name "pandoc-citeproc")
  9244. (arguments
  9245. `(#:configure-flags
  9246. (list "-fstatic"
  9247. "--disable-shared"
  9248. "--disable-executable-dynamic"
  9249. ;; That's where we place all static libraries
  9250. "--extra-lib-dirs=static-libs/"
  9251. "--ghc-option=-static")
  9252. #:modules ((guix build haskell-build-system)
  9253. (guix build utils)
  9254. (ice-9 match)
  9255. (srfi srfi-1))
  9256. #:phases
  9257. (modify-phases %standard-phases
  9258. ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
  9259. ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
  9260. (add-before 'configure 'patch-tests
  9261. (lambda _
  9262. (substitute* "tests/test-pandoc-citeproc.hs"
  9263. (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
  9264. "let allTests = citeprocTests"))))
  9265. ;; Tests need to be run after installation.
  9266. (delete 'check)
  9267. (add-after 'install 'post-install-check
  9268. (assoc-ref %standard-phases 'check))
  9269. (add-after 'unpack 'create-simple-paths-module
  9270. (lambda* (#:key outputs #:allow-other-keys)
  9271. (call-with-output-file "Paths_pandoc_citeproc.hs"
  9272. (lambda (port)
  9273. (format port "\
  9274. {-# LANGUAGE CPP #-}
  9275. {-# LANGUAGE NoRebindableSyntax #-}
  9276. {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
  9277. module Paths_pandoc_citeproc (version,getDataFileName) where
  9278. import Prelude
  9279. import Data.Version (Version(..))
  9280. import System.Info
  9281. version :: Version
  9282. version = Version [~a] []
  9283. datadir :: FilePath
  9284. datadir = \"~a/share/\" ++
  9285. arch ++ \"-\" ++
  9286. os ++ \"-\" ++
  9287. compilerName ++ \"-~a/pandoc-citeproc-~a\"
  9288. getDataDir :: IO FilePath
  9289. getDataDir = return datadir
  9290. getDataFileName :: FilePath -> IO FilePath
  9291. getDataFileName name = do
  9292. dir <- getDataDir
  9293. return (dir ++ \"/\" ++ name)
  9294. "
  9295. (string-map (lambda (chr) (if (eq? chr #\.) #\, chr))
  9296. ,(package-version ghc-pandoc-citeproc))
  9297. (assoc-ref outputs "out")
  9298. ,(package-version ghc)
  9299. ,(package-version ghc-pandoc-citeproc))))
  9300. #t))
  9301. (add-after 'unpack 'prepare-static-libraries
  9302. (lambda* (#:key inputs #:allow-other-keys)
  9303. (mkdir-p (string-append (getcwd) "/static-libs"))
  9304. (for-each
  9305. (lambda (input)
  9306. (when (or (string-prefix? "static-" (car input))
  9307. (string-prefix? "ghc" (car input)))
  9308. (match (find-files (cdr input) "\\.a$")
  9309. ((and (first . rest) libs)
  9310. (for-each (lambda (lib)
  9311. (let ((target (string-append (getcwd) "/static-libs/"
  9312. (basename lib))))
  9313. (unless (file-exists? target)
  9314. (symlink first target))))
  9315. libs))
  9316. (_ #f))))
  9317. inputs)
  9318. #t)))))
  9319. (inputs
  9320. (let* ((direct-inputs
  9321. (cons `("ghc-pandoc" ,pandoc)
  9322. (alist-delete "ghc-pandoc"
  9323. (package-inputs ghc-pandoc-citeproc))))
  9324. (all-static-inputs
  9325. (map (lambda (pkg)
  9326. (list (string-append "static-" (package-name pkg))
  9327. pkg "static"))
  9328. (delete-duplicates
  9329. (append (map cadr direct-inputs)
  9330. (filter (lambda (pkg)
  9331. (string-prefix? "ghc-" (package-name pkg)))
  9332. (package-closure
  9333. (map cadr direct-inputs))))))))
  9334. `(("zlib:static" ,zlib "static")
  9335. ("pandoc" ,pandoc "lib")
  9336. ,@all-static-inputs
  9337. ,@direct-inputs)))
  9338. (outputs '("out" "lib" "static" "doc"))
  9339. (synopsis "Pandoc filter for bibliographic references")))
  9340. (define-public ghc-pandoc-types
  9341. (package
  9342. (name "ghc-pandoc-types")
  9343. (version "1.17.6.1")
  9344. (source (origin
  9345. (method url-fetch)
  9346. (uri (string-append "https://hackage.haskell.org/package/"
  9347. "pandoc-types/pandoc-types-"
  9348. version ".tar.gz"))
  9349. (sha256
  9350. (base32
  9351. "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
  9352. (build-system haskell-build-system)
  9353. (arguments
  9354. `(#:phases
  9355. (modify-phases %standard-phases
  9356. ;; None of the directory names are actually used. By generating a
  9357. ;; simpler module without references to store names we avoid
  9358. ;; introducing references in the pandoc executable.
  9359. (add-after 'unpack 'create-simple-paths-module
  9360. (lambda _
  9361. (call-with-output-file "Paths_pandoc_types.hs"
  9362. (lambda (port)
  9363. (format port "\
  9364. {-# LANGUAGE CPP #-}
  9365. {-# LANGUAGE NoRebindableSyntax #-}
  9366. {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
  9367. module Paths_pandoc_types (version) where
  9368. import Data.Version (Version(..))
  9369. version :: Version
  9370. version = Version [~a] []
  9371. " (string-map (lambda (chr) (if (eq? chr #\.) #\, chr)) ,version))))
  9372. #t)))))
  9373. (inputs
  9374. `(("ghc-syb" ,ghc-syb)
  9375. ("ghc-aeson" ,ghc-aeson)
  9376. ("ghc-string-qq" ,ghc-string-qq)))
  9377. (native-inputs
  9378. `(("ghc-quickcheck" ,ghc-quickcheck)
  9379. ("ghc-test-framework" ,ghc-test-framework)
  9380. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  9381. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  9382. ("ghc-hunit" ,ghc-hunit)))
  9383. (home-page "https://pandoc.org")
  9384. (synopsis "Types for representing a structured document")
  9385. (description
  9386. "This module defines the @code{Pandoc} data structure, which is used by
  9387. pandoc to represent structured documents. It also provides functions for
  9388. building up, manipulating and serialising @code{Pandoc} structures.")
  9389. (license license:bsd-3)))
  9390. (define-public ghc-parallel
  9391. (package
  9392. (name "ghc-parallel")
  9393. (version "3.2.2.0")
  9394. (outputs '("out" "static" "doc"))
  9395. (source
  9396. (origin
  9397. (method url-fetch)
  9398. (uri (string-append
  9399. "https://hackage.haskell.org/package/parallel/parallel-"
  9400. version
  9401. ".tar.gz"))
  9402. (sha256
  9403. (base32
  9404. "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
  9405. (build-system haskell-build-system)
  9406. (home-page "https://hackage.haskell.org/package/parallel")
  9407. (synopsis "Parallel programming library")
  9408. (description
  9409. "This package provides a library for parallel programming.")
  9410. (license license:bsd-3)))
  9411. (define-public ghc-parsec-numbers
  9412. (package
  9413. (name "ghc-parsec-numbers")
  9414. (version "0.1.0")
  9415. (source
  9416. (origin
  9417. (method url-fetch)
  9418. (uri (string-append "https://hackage.haskell.org/package/"
  9419. "parsec-numbers/parsec-numbers-" version ".tar.gz"))
  9420. (sha256
  9421. (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
  9422. (build-system haskell-build-system)
  9423. (home-page "https://hackage.haskell.org/package/parsec-numbers")
  9424. (synopsis "Utilities for parsing numbers from strings")
  9425. (description
  9426. "This package provides the number parsers without the need to use a large
  9427. (and unportable) token parser.")
  9428. (license license:bsd-3)))
  9429. (define-public ghc-parser-combinators
  9430. (package
  9431. (name "ghc-parser-combinators")
  9432. (version "1.1.0")
  9433. (source
  9434. (origin
  9435. (method url-fetch)
  9436. (uri (string-append "https://hackage.haskell.org/package/"
  9437. "parser-combinators/parser-combinators-"
  9438. version ".tar.gz"))
  9439. (sha256
  9440. (base32
  9441. "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
  9442. (build-system haskell-build-system)
  9443. (home-page "https://github.com/mrkkrp/parser-combinators")
  9444. (synopsis "Commonly useful parser combinators")
  9445. (description
  9446. "This is a lightweight package providing commonly useful parser
  9447. combinators.")
  9448. (license license:bsd-3)))
  9449. (define-public ghc-parsers
  9450. (package
  9451. (name "ghc-parsers")
  9452. (version "0.12.10")
  9453. (source
  9454. (origin
  9455. (method url-fetch)
  9456. (uri (string-append
  9457. "https://hackage.haskell.org/package/parsers/parsers-"
  9458. version
  9459. ".tar.gz"))
  9460. (sha256
  9461. (base32
  9462. "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
  9463. (build-system haskell-build-system)
  9464. (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
  9465. ; -package attoparsec-0.13.0.1"
  9466. (inputs
  9467. `(("ghc-base-orphans" ,ghc-base-orphans)
  9468. ("ghc-attoparsec" ,ghc-attoparsec)
  9469. ("ghc-scientific" ,ghc-scientific)
  9470. ("ghc-charset" ,ghc-charset)
  9471. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  9472. (home-page "https://github.com/ekmett/parsers/")
  9473. (synopsis "Parsing combinators")
  9474. (description "This library provides convenient combinators for working
  9475. with and building parsing combinator libraries. Given a few simple instances,
  9476. you get access to a large number of canned definitions. Instances exist for
  9477. the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
  9478. @code{Text.Read}.")
  9479. (license license:bsd-3)))
  9480. (define-public ghc-path
  9481. (package
  9482. (name "ghc-path")
  9483. (version "0.6.1")
  9484. (source
  9485. (origin
  9486. (method url-fetch)
  9487. (uri (string-append
  9488. "https://hackage.haskell.org/package/path/path-"
  9489. version
  9490. ".tar.gz"))
  9491. (sha256
  9492. (base32
  9493. "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
  9494. (build-system haskell-build-system)
  9495. (arguments
  9496. ;; TODO: There are some Windows-related tests and modules that need to be
  9497. ;; danced around.
  9498. `(#:tests? #f
  9499. #:cabal-revision
  9500. ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
  9501. (inputs
  9502. `(("ghc-aeson" ,ghc-aeson)
  9503. ("ghc-exceptions" ,ghc-exceptions)
  9504. ("ghc-hashable" ,ghc-hashable)))
  9505. (native-inputs
  9506. `(("ghc-hspec" ,ghc-hspec)
  9507. ("ghc-quickcheck" ,ghc-quickcheck)
  9508. ("ghc-genvalidity" ,ghc-genvalidity)
  9509. ("ghc-genvalidity-property" ,ghc-genvalidity-property)
  9510. ("ghc-hspec" ,ghc-hspec)
  9511. ("ghc-validity" ,ghc-validity)))
  9512. (home-page
  9513. "https://hackage.haskell.org/package/path")
  9514. (synopsis "Support for well-typed paths")
  9515. (description "This package introduces a type for paths upholding useful
  9516. invariants.")
  9517. (license license:bsd-3)))
  9518. (define-public ghc-path-io
  9519. (package
  9520. (name "ghc-path-io")
  9521. (version "1.4.2")
  9522. (source
  9523. (origin
  9524. (method url-fetch)
  9525. (uri (string-append
  9526. "https://hackage.haskell.org/package/path-io/path-io-"
  9527. version
  9528. ".tar.gz"))
  9529. (sha256
  9530. (base32
  9531. "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
  9532. (build-system haskell-build-system)
  9533. (inputs
  9534. `(("ghc-dlist" ,ghc-dlist)
  9535. ("ghc-exceptions" ,ghc-exceptions)
  9536. ("ghc-path" ,ghc-path)
  9537. ("ghc-transformers-base" ,ghc-transformers-base)
  9538. ("ghc-unix-compat" ,ghc-unix-compat)
  9539. ("ghc-temporary" ,ghc-temporary)))
  9540. (native-inputs
  9541. `(("ghc-hspec" ,ghc-hspec)))
  9542. (home-page
  9543. "https://github.com/mrkkrp/path-io")
  9544. (synopsis "Functions for manipulating well-typed paths")
  9545. (description "This package provides an interface to the @code{directory}
  9546. package for users of @code{path}. It also implements some missing stuff like
  9547. recursive scanning and copying of directories, working with temporary
  9548. files/directories, and more.")
  9549. (license license:bsd-3)))
  9550. (define-public ghc-paths
  9551. (package
  9552. (name "ghc-paths")
  9553. (version "0.1.0.12")
  9554. (outputs '("out" "static" "doc"))
  9555. (source
  9556. (origin
  9557. (method url-fetch)
  9558. (uri (string-append
  9559. "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
  9560. version
  9561. ".tar.gz"))
  9562. (sha256
  9563. (base32
  9564. "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
  9565. (build-system haskell-build-system)
  9566. (home-page "https://github.com/simonmar/ghc-paths")
  9567. (synopsis
  9568. "Knowledge of GHC's installation directories")
  9569. (description
  9570. "Knowledge of GHC's installation directories.")
  9571. (license license:bsd-3)))
  9572. (define-public ghc-patience
  9573. (package
  9574. (name "ghc-patience")
  9575. (version "0.3")
  9576. (source
  9577. (origin
  9578. (method url-fetch)
  9579. (uri (string-append
  9580. "https://hackage.haskell.org/package/patience/patience-"
  9581. version ".tar.gz"))
  9582. (sha256
  9583. (base32
  9584. "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
  9585. (build-system haskell-build-system)
  9586. (home-page "https://hackage.haskell.org/package/patience")
  9587. (synopsis "Patience diff and longest increasing subsequence")
  9588. (description
  9589. "This library implements the 'patience diff' algorithm, as well as the
  9590. patience algorithm for the longest increasing subsequence problem.
  9591. Patience diff computes the difference between two lists, for example the lines
  9592. of two versions of a source file. It provides a good balance between
  9593. performance, nice output for humans, and simplicity of implementation.")
  9594. (license license:bsd-3)))
  9595. (define-public ghc-pattern-arrows
  9596. (package
  9597. (name "ghc-pattern-arrows")
  9598. (version "0.0.2")
  9599. (source
  9600. (origin
  9601. (method url-fetch)
  9602. (uri (string-append
  9603. "mirror://hackage/package/pattern-arrows/pattern-arrows-"
  9604. version
  9605. ".tar.gz"))
  9606. (sha256
  9607. (base32
  9608. "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
  9609. (build-system haskell-build-system)
  9610. (home-page
  9611. "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
  9612. (synopsis "Arrows for Pretty Printing")
  9613. (description
  9614. "A library for generating concise pretty printers based on precedence
  9615. rules.")
  9616. (license license:expat)))
  9617. (define-public ghc-pcre-light
  9618. (package
  9619. (name "ghc-pcre-light")
  9620. (version "0.4.0.4")
  9621. (source
  9622. (origin
  9623. (method url-fetch)
  9624. (uri (string-append
  9625. "https://hackage.haskell.org/package/pcre-light/pcre-light-"
  9626. version
  9627. ".tar.gz"))
  9628. (sha256
  9629. (base32
  9630. "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
  9631. (build-system haskell-build-system)
  9632. (arguments
  9633. `(#:extra-directories ("pcre")))
  9634. (inputs
  9635. `(("pcre" ,pcre)))
  9636. (native-inputs
  9637. `(("pkg-config" ,pkg-config)))
  9638. (home-page "https://github.com/Daniel-Diaz/pcre-light")
  9639. (synopsis "Haskell library for Perl 5 compatible regular expressions")
  9640. (description "This package provides a small, efficient, and portable regex
  9641. library for Perl 5 compatible regular expressions. The PCRE library is a set
  9642. of functions that implement regular expression pattern matching using the same
  9643. syntax and semantics as Perl 5.")
  9644. (license license:bsd-3)))
  9645. (define-public ghc-persistent
  9646. (package
  9647. (name "ghc-persistent")
  9648. (version "2.10.4")
  9649. (source
  9650. (origin
  9651. (method url-fetch)
  9652. (uri (string-append
  9653. "https://hackage.haskell.org/package/persistent/"
  9654. "persistent-" version ".tar.gz"))
  9655. (sha256
  9656. (base32
  9657. "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
  9658. (build-system haskell-build-system)
  9659. (inputs
  9660. `(("ghc-aeson" ,ghc-aeson)
  9661. ("ghc-attoparsec" ,ghc-attoparsec)
  9662. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  9663. ("ghc-blaze-html" ,ghc-blaze-html)
  9664. ("ghc-conduit" ,ghc-conduit)
  9665. ("ghc-fast-logger" ,ghc-fast-logger)
  9666. ("ghc-http-api-data" ,ghc-http-api-data)
  9667. ("ghc-monad-logger" ,ghc-monad-logger)
  9668. ("ghc-path-pieces" ,ghc-path-pieces)
  9669. ("ghc-resource-pool" ,ghc-resource-pool)
  9670. ("ghc-resourcet" ,ghc-resourcet)
  9671. ("ghc-scientific" ,ghc-scientific)
  9672. ("ghc-silently" ,ghc-silently)
  9673. ("ghc-unliftio-core" ,ghc-unliftio-core)
  9674. ("ghc-unliftio" ,ghc-unliftio)
  9675. ("ghc-unordered-containers"
  9676. ,ghc-unordered-containers)
  9677. ("ghc-vector" ,ghc-vector)))
  9678. (native-inputs `(("ghc-hspec" ,ghc-hspec)))
  9679. (home-page "https://www.yesodweb.com/book/persistent")
  9680. (synopsis "Type-safe, multi-backend data serialization for Haskell")
  9681. (description "This Haskell package allows Haskell programs to access data
  9682. storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
  9683. way.")
  9684. (license license:expat)))
  9685. (define-public ghc-persistent-sqlite
  9686. (package
  9687. (name "ghc-persistent-sqlite")
  9688. (version "2.10.5.2")
  9689. (source
  9690. (origin
  9691. (method url-fetch)
  9692. (uri (string-append
  9693. "https://hackage.haskell.org/package/persistent-sqlite/"
  9694. "persistent-sqlite-" version ".tar.gz"))
  9695. (sha256
  9696. (base32
  9697. "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
  9698. (build-system haskell-build-system)
  9699. (inputs
  9700. `(("ghc-persistent" ,ghc-persistent)
  9701. ("ghc-aeson" ,ghc-aeson)
  9702. ("ghc-conduit" ,ghc-conduit)
  9703. ("ghc-microlens-th" ,ghc-microlens-th)
  9704. ("ghc-monad-logger" ,ghc-monad-logger)
  9705. ("ghc-resource-pool" ,ghc-resource-pool)
  9706. ("ghc-resourcet" ,ghc-resourcet)
  9707. ("ghc-unliftio-core" ,ghc-unliftio-core)
  9708. ("ghc-unordered-containers"
  9709. ,ghc-unordered-containers)))
  9710. (native-inputs
  9711. `(("ghc-persistent-template"
  9712. ,ghc-persistent-template)
  9713. ("ghc-persistent-test" ,ghc-persistent-test)
  9714. ("ghc-exceptions" ,ghc-exceptions)
  9715. ("ghc-fast-logger" ,ghc-fast-logger)
  9716. ("ghc-hspec" ,ghc-hspec)
  9717. ("ghc-hunit" ,ghc-hunit)
  9718. ("ghc-quickcheck" ,ghc-quickcheck)
  9719. ("ghc-system-fileio" ,ghc-system-fileio)
  9720. ("ghc-system-filepath" ,ghc-system-filepath)
  9721. ("ghc-temporary" ,ghc-temporary)))
  9722. (home-page
  9723. "https://www.yesodweb.com/book/persistent")
  9724. (synopsis "Backend for the persistent library using sqlite3")
  9725. (description "This Haskell package includes a thin sqlite3 wrapper based
  9726. on the direct-sqlite package, as well as the entire C library, so there are no
  9727. system dependencies.")
  9728. (license license:expat)))
  9729. (define-public ghc-persistent-template
  9730. (package
  9731. (name "ghc-persistent-template")
  9732. (version "2.8.0")
  9733. (source
  9734. (origin
  9735. (method url-fetch)
  9736. (uri (string-append
  9737. "https://hackage.haskell.org/package/persistent-template/"
  9738. "persistent-template-" version ".tar.gz"))
  9739. (sha256
  9740. (base32
  9741. "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
  9742. (build-system haskell-build-system)
  9743. (inputs
  9744. `(("ghc-persistent" ,ghc-persistent)
  9745. ("ghc-aeson" ,ghc-aeson)
  9746. ("ghc-http-api-data" ,ghc-http-api-data)
  9747. ("ghc-monad-control" ,ghc-monad-control)
  9748. ("ghc-monad-logger" ,ghc-monad-logger)
  9749. ("ghc-path-pieces" ,ghc-path-pieces)
  9750. ("ghc-th-lift-instances" ,ghc-th-lift-instances)
  9751. ("ghc-unordered-containers"
  9752. ,ghc-unordered-containers)))
  9753. (native-inputs
  9754. `(("ghc-hspec" ,ghc-hspec)
  9755. ("ghc-quickcheck" ,ghc-quickcheck)))
  9756. (home-page "https://www.yesodweb.com/book/persistent")
  9757. (synopsis "Type-safe, non-relational, multi-backend persistence")
  9758. (description "This Haskell package provides interfaces and helper
  9759. functions for the ghc-persistent package.")
  9760. (license license:expat)))
  9761. (define-public ghc-persistent-test
  9762. (package
  9763. (name "ghc-persistent-test")
  9764. (version "2.0.3.1")
  9765. (source
  9766. (origin
  9767. (method url-fetch)
  9768. (uri (string-append
  9769. "https://hackage.haskell.org/package/persistent-test/"
  9770. "persistent-test-" version ".tar.gz"))
  9771. (sha256
  9772. (base32
  9773. "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
  9774. (build-system haskell-build-system)
  9775. (inputs
  9776. `(("ghc-aeson" ,ghc-aeson)
  9777. ("ghc-blaze-html" ,ghc-blaze-html)
  9778. ("ghc-conduit" ,ghc-conduit)
  9779. ("ghc-monad-control" ,ghc-monad-control)
  9780. ("ghc-monad-logger" ,ghc-monad-logger)
  9781. ("ghc-path-pieces" ,ghc-path-pieces)
  9782. ("ghc-persistent" ,ghc-persistent)
  9783. ("ghc-persistent-template" ,ghc-persistent-template)
  9784. ("ghc-random" ,ghc-random)
  9785. ("ghc-resourcet" ,ghc-resourcet)
  9786. ("ghc-transformers-base" ,ghc-transformers-base)
  9787. ("ghc-unliftio" ,ghc-unliftio)
  9788. ("ghc-unliftio-core" ,ghc-unliftio-core)
  9789. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  9790. (native-inputs
  9791. `(("ghc-quickcheck" ,ghc-quickcheck)
  9792. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  9793. ("ghc-hspec" ,ghc-hspec)
  9794. ("ghc-hspec-expectations" ,ghc-hspec-expectations)
  9795. ("ghc-hunit" ,ghc-hunit)))
  9796. (home-page "https://www.yesodweb.com/book/persistent")
  9797. (synopsis "Tests for the Persistent database library")
  9798. (description
  9799. "This is only for use in developing libraries that should conform to
  9800. the persistent interface, not for users of the persistent suite of database
  9801. libraries.")
  9802. (license license:expat)))
  9803. (define-public ghc-pgp-wordlist
  9804. (package
  9805. (name "ghc-pgp-wordlist")
  9806. (version "0.1.0.3")
  9807. (source
  9808. (origin
  9809. (method url-fetch)
  9810. (uri (string-append
  9811. "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
  9812. version
  9813. ".tar.gz"))
  9814. (sha256
  9815. (base32
  9816. "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
  9817. (build-system haskell-build-system)
  9818. (inputs
  9819. `(("ghc-vector" ,ghc-vector)))
  9820. (native-inputs
  9821. `(("ghc-hunit" ,ghc-hunit)
  9822. ("ghc-tasty" ,ghc-tasty)
  9823. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  9824. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  9825. ("ghc-doctest" ,ghc-doctest)))
  9826. (home-page
  9827. "https://github.com/quchen/pgp-wordlist")
  9828. (synopsis
  9829. "Translate between binary data and a human-readable collection of words")
  9830. (description
  9831. "The PGP Word List consists of two phonetic alphabets, each with one word
  9832. per possible byte value. A string of bytes is translated with these
  9833. alphabets, alternating between them at each byte.
  9834. The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
  9835. spellbind headwaters\", for example.
  9836. For further information, see
  9837. @url{http://en.wikipedia.org/wiki/PGP_word_list}.")
  9838. (license license:bsd-3)))
  9839. (define-public ghc-pipes
  9840. (package
  9841. (name "ghc-pipes")
  9842. (version "4.3.13")
  9843. (source
  9844. (origin
  9845. (method url-fetch)
  9846. (uri (string-append
  9847. "https://hackage.haskell.org/package/pipes/"
  9848. "pipes-" version ".tar.gz"))
  9849. (sha256
  9850. (base32
  9851. "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
  9852. (build-system haskell-build-system)
  9853. (inputs
  9854. `(("ghc-exceptions" ,ghc-exceptions)
  9855. ("ghc-mmorph" ,ghc-mmorph)
  9856. ("ghc-void" ,ghc-void)
  9857. ("ghc-semigroups" ,ghc-semigroups)))
  9858. (native-inputs
  9859. `(("ghc-quickcheck" ,ghc-quickcheck)
  9860. ("ghc-test-framework" ,ghc-test-framework)
  9861. ("ghc-test-framework-quickcheck2"
  9862. ,ghc-test-framework-quickcheck2)))
  9863. (home-page
  9864. "https://hackage.haskell.org/package/pipes")
  9865. (synopsis "Compositional pipelines")
  9866. (description
  9867. "A clean and powerful stream processing library that lets you build
  9868. and connect reusable streaming components. Advantages over traditional streaming
  9869. libraries:
  9870. @itemize
  9871. @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
  9872. and @code{yield}
  9873. @item Blazing fast: Implementation tuned for speed, including shortcut fusion
  9874. @item Lightweight Dependency: pipes is small and compiles very rapidly, including
  9875. dependencies
  9876. @item Elegant semantics: Use practical category theory
  9877. @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
  9878. @item Bidirectionality: Implement duplex channels
  9879. @end itemize")
  9880. (license license:bsd-3)))
  9881. (define-public ghc-pointedlist
  9882. (package
  9883. (name "ghc-pointedlist")
  9884. (version "0.6.1")
  9885. (source
  9886. (origin
  9887. (method url-fetch)
  9888. (uri (string-append
  9889. "https://hackage.haskell.org/package/pointedlist/"
  9890. "pointedlist-" version ".tar.gz"))
  9891. (sha256
  9892. (base32
  9893. "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
  9894. (build-system haskell-build-system)
  9895. (home-page
  9896. "https://hackage.haskell.org/package/pointedlist")
  9897. (synopsis
  9898. "Zipper-like comonad which works as a list, tracking a position")
  9899. (description
  9900. "A PointedList tracks the position in a non-empty list which works
  9901. similarly to a zipper. A current item is always required, and therefore
  9902. the list may never be empty. A circular PointedList wraps around to the
  9903. other end when progressing past the actual edge.")
  9904. (license license:bsd-3)))
  9905. (define-public ghc-polyparse
  9906. (package
  9907. (name "ghc-polyparse")
  9908. (version "1.12.1")
  9909. (source
  9910. (origin
  9911. (method url-fetch)
  9912. (uri (string-append
  9913. "https://hackage.haskell.org/package/polyparse/polyparse-"
  9914. version
  9915. ".tar.gz"))
  9916. (sha256
  9917. (base32
  9918. "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
  9919. (build-system haskell-build-system)
  9920. (home-page
  9921. "http://code.haskell.org/~malcolm/polyparse/")
  9922. (synopsis
  9923. "Alternative parser combinator libraries")
  9924. (description
  9925. "This package provides a variety of alternative parser combinator
  9926. libraries, including the original HuttonMeijer set. The Poly sets have
  9927. features like good error reporting, arbitrary token type, running state, lazy
  9928. parsing, and so on. Finally, Text.Parse is a proposed replacement for the
  9929. standard Read class, for better deserialisation of Haskell values from
  9930. Strings.")
  9931. (license license:lgpl2.1)))
  9932. (define-public ghc-pqueue
  9933. (package
  9934. (name "ghc-pqueue")
  9935. (version "1.4.1.2")
  9936. (source
  9937. (origin
  9938. (method url-fetch)
  9939. (uri (string-append "https://hackage.haskell.org/package/"
  9940. "pqueue/pqueue-" version ".tar.gz"))
  9941. (sha256
  9942. (base32
  9943. "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
  9944. (build-system haskell-build-system)
  9945. (native-inputs
  9946. `(("ghc-quickcheck" ,ghc-quickcheck)))
  9947. (home-page "https://hackage.haskell.org/package/pqueue")
  9948. (synopsis "Reliable, persistent, fast priority queues")
  9949. (description
  9950. "This package provides a fast, reliable priority queue implementation
  9951. based on a binomial heap.")
  9952. (license license:bsd-3)))
  9953. (define-public ghc-prelude-extras
  9954. (package
  9955. (name "ghc-prelude-extras")
  9956. (version "0.4.0.3")
  9957. (source
  9958. (origin
  9959. (method url-fetch)
  9960. (uri (string-append
  9961. "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
  9962. version
  9963. ".tar.gz"))
  9964. (sha256
  9965. (base32
  9966. "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
  9967. (build-system haskell-build-system)
  9968. (home-page "https://github.com/ekmett/prelude-extras")
  9969. (synopsis "Higher order versions of Prelude classes")
  9970. (description "This library provides higher order versions of
  9971. @code{Prelude} classes to ease programming with polymorphic recursion and
  9972. reduce @code{UndecidableInstances}.")
  9973. (license license:bsd-3)))
  9974. (define-public ghc-prettyclass
  9975. (package
  9976. (name "ghc-prettyclass")
  9977. (version "1.0.0.0")
  9978. (source
  9979. (origin
  9980. (method url-fetch)
  9981. (uri (string-append "https://hackage.haskell.org/package/"
  9982. "prettyclass/prettyclass-" version ".tar.gz"))
  9983. (sha256
  9984. (base32
  9985. "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
  9986. (build-system haskell-build-system)
  9987. (home-page "https://hackage.haskell.org/package/prettyclass")
  9988. (synopsis "Pretty printing class similar to Show")
  9989. (description "This package provides a pretty printing class similar
  9990. to @code{Show}, based on the HughesPJ pretty printing library. It
  9991. provides the pretty printing class and instances for the Prelude
  9992. types.")
  9993. (license license:bsd-3)))
  9994. (define-public ghc-prettyprinter
  9995. (package
  9996. (name "ghc-prettyprinter")
  9997. (version "1.2.1.1")
  9998. (source
  9999. (origin
  10000. (method url-fetch)
  10001. (uri (string-append
  10002. "mirror://hackage/package/prettyprinter/prettyprinter-"
  10003. version
  10004. ".tar.gz"))
  10005. (sha256
  10006. (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
  10007. (build-system haskell-build-system)
  10008. (native-inputs
  10009. `(("ghc-doctest" ,ghc-doctest)
  10010. ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
  10011. ("ghc-tasty" ,ghc-tasty)
  10012. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  10013. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  10014. (home-page "https://github.com/quchen/prettyprinter")
  10015. (synopsis
  10016. "Modern, easy to use, well-documented, extensible pretty-printer")
  10017. (description
  10018. "A prettyprinter/text rendering engine. Easy to use, well-documented,
  10019. ANSI terminal backend exists, HTML backend is trivial to implement, no name
  10020. clashes, @code{Text}-based, extensible.")
  10021. (license license:bsd-2)))
  10022. (define-public ghc-prettyprinter-1.6
  10023. (package
  10024. (inherit ghc-prettyprinter)
  10025. (version "1.6.1")
  10026. (source
  10027. (origin
  10028. (method url-fetch)
  10029. (uri (string-append
  10030. "mirror://hackage/package/prettyprinter/prettyprinter-"
  10031. version
  10032. ".tar.gz"))
  10033. (sha256
  10034. (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
  10035. (inputs
  10036. `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
  10037. ,@(package-inputs ghc-prettyprinter)))))
  10038. (define-public ghc-prettyprinter-ansi-terminal
  10039. (package
  10040. (name "ghc-prettyprinter-ansi-terminal")
  10041. (version "1.1.1.2")
  10042. (source
  10043. (origin
  10044. (method url-fetch)
  10045. (uri (string-append
  10046. "mirror://hackage/package/prettyprinter-ansi-terminal/"
  10047. "prettyprinter-ansi-terminal-" version ".tar.gz"))
  10048. (sha256
  10049. (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
  10050. (build-system haskell-build-system)
  10051. (inputs
  10052. `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
  10053. ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
  10054. (native-inputs `(("ghc-doctest" ,ghc-doctest)))
  10055. (home-page
  10056. "https://github.com/quchen/prettyprinter")
  10057. (synopsis
  10058. "ANSI terminal backend for the prettyprinter package")
  10059. (description "ANSI terminal backend for the prettyprinter package.")
  10060. (license license:bsd-2)))
  10061. (define-public ghc-pretty-hex
  10062. (package
  10063. (name "ghc-pretty-hex")
  10064. (version "1.0")
  10065. (source
  10066. (origin
  10067. (method url-fetch)
  10068. (uri (string-append "https://hackage.haskell.org/package/"
  10069. "pretty-hex-" version "/"
  10070. "pretty-hex-" version ".tar.gz"))
  10071. (sha256
  10072. (base32
  10073. "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
  10074. (build-system haskell-build-system)
  10075. (home-page "https://github.com/GaloisInc/hexdump")
  10076. (synopsis "Haskell library for hex dumps of ByteStrings")
  10077. (description "This Haskell library generates pretty hex dumps of
  10078. ByteStrings in the style of other common *nix hex dump tools.")
  10079. (license license:bsd-3)))
  10080. (define-public ghc-pretty-show
  10081. (package
  10082. (name "ghc-pretty-show")
  10083. (version "1.9.5")
  10084. (source
  10085. (origin
  10086. (method url-fetch)
  10087. (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
  10088. "pretty-show-" version ".tar.gz"))
  10089. (sha256
  10090. (base32
  10091. "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
  10092. (build-system haskell-build-system)
  10093. (inputs
  10094. `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
  10095. ("ghc-happy" ,ghc-happy)))
  10096. (home-page "https://wiki.github.com/yav/pretty-show")
  10097. (synopsis "Tools for working with derived `Show` instances")
  10098. (description
  10099. "This package provides a library and an executable for working with
  10100. derived @code{Show} instances. By using the library, derived @code{Show}
  10101. instances can be parsed into a generic data structure. The @code{ppsh} tool
  10102. uses the library to produce human-readable versions of @code{Show} instances,
  10103. which can be quite handy for debugging Haskell programs. We can also render
  10104. complex generic values into an interactive Html page, for easier
  10105. examination.")
  10106. (license license:expat)))
  10107. (define-public ghc-pretty-simple
  10108. (package
  10109. (name "ghc-pretty-simple")
  10110. (version "2.2.0.1")
  10111. (source
  10112. (origin
  10113. (method url-fetch)
  10114. (uri (string-append
  10115. "mirror://hackage/package/pretty-simple/"
  10116. "pretty-simple-" version ".tar.gz"))
  10117. (sha256
  10118. (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
  10119. (build-system haskell-build-system)
  10120. (inputs
  10121. `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
  10122. ("ghc-glob" ,ghc-glob)
  10123. ("ghc-optparse-applicative" ,ghc-optparse-applicative)
  10124. ("ghc-aeson" ,ghc-aeson)))
  10125. (native-inputs
  10126. `(("ghc-doctest" ,ghc-doctest)))
  10127. (home-page "https://github.com/cdepillabout/pretty-simple")
  10128. (synopsis "Pretty printer for data types with a 'Show' instance")
  10129. (description
  10130. "Pretty-simple is a pretty printer for Haskell data types that have a
  10131. Show instance.")
  10132. (license license:bsd-3)))
  10133. (define-public ghc-primitive
  10134. (package
  10135. (name "ghc-primitive")
  10136. (version "0.6.4.0")
  10137. (outputs '("out" "static" "doc"))
  10138. (source
  10139. (origin
  10140. (method url-fetch)
  10141. (uri (string-append
  10142. "https://hackage.haskell.org/package/primitive/primitive-"
  10143. version
  10144. ".tar.gz"))
  10145. (sha256
  10146. (base32
  10147. "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
  10148. (build-system haskell-build-system)
  10149. (arguments
  10150. `(#:cabal-revision
  10151. ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
  10152. (home-page
  10153. "https://github.com/haskell/primitive")
  10154. (synopsis "Primitive memory-related operations")
  10155. (description
  10156. "This package provides various primitive memory-related operations.")
  10157. (license license:bsd-3)))
  10158. (define-public ghc-process-extras
  10159. (package
  10160. (name "ghc-process-extras")
  10161. (version "0.7.4")
  10162. (source
  10163. (origin
  10164. (method url-fetch)
  10165. (uri
  10166. (string-append
  10167. "https://hackage.haskell.org/package/process-extras/"
  10168. "process-extras-" version ".tar.gz"))
  10169. (sha256
  10170. (base32
  10171. "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
  10172. (build-system haskell-build-system)
  10173. (inputs
  10174. `(("ghc-data-default" ,ghc-data-default)
  10175. ("ghc-generic-deriving" ,ghc-generic-deriving)
  10176. ("ghc-hunit" ,ghc-hunit)
  10177. ("ghc-listlike" ,ghc-listlike)))
  10178. (home-page "https://github.com/seereason/process-extras")
  10179. (synopsis "Extra tools for managing processes")
  10180. (description "This package extends
  10181. @url{http://hackage.haskell.org/package/process}. It allows you to read
  10182. process input and output as ByteStrings or Text, or write your own
  10183. ProcessOutput instance. It also provides lazy process input and output,
  10184. and a ProcessMaker class for more flexibility in the process creation
  10185. API.")
  10186. (license license:expat)))
  10187. (define-public ghc-profunctors
  10188. (package
  10189. (name "ghc-profunctors")
  10190. (version "5.3")
  10191. (source
  10192. (origin
  10193. (method url-fetch)
  10194. (uri (string-append
  10195. "https://hackage.haskell.org/package/profunctors/profunctors-"
  10196. version
  10197. ".tar.gz"))
  10198. (sha256
  10199. (base32
  10200. "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
  10201. (build-system haskell-build-system)
  10202. (outputs '("out" "static" "doc"))
  10203. (inputs
  10204. `(("ghc-base-orphans" ,ghc-base-orphans)
  10205. ("ghc-bifunctors" ,ghc-bifunctors)
  10206. ("ghc-comonad" ,ghc-comonad)
  10207. ("ghc-contravariant" ,ghc-contravariant)
  10208. ("ghc-distributive" ,ghc-distributive)
  10209. ("ghc-semigroups" ,ghc-semigroups)
  10210. ("ghc-tagged" ,ghc-tagged)))
  10211. (home-page "https://github.com/ekmett/profunctors/")
  10212. (synopsis "Profunctors for Haskell")
  10213. (description "This library provides profunctors for Haskell.")
  10214. (license license:bsd-3)))
  10215. (define-public ghc-project-template
  10216. (package
  10217. (name "ghc-project-template")
  10218. (version "0.2.0.1")
  10219. (source
  10220. (origin
  10221. (method url-fetch)
  10222. (uri (string-append
  10223. "https://hackage.haskell.org/package/project-template/project-template-"
  10224. version ".tar.gz"))
  10225. (sha256
  10226. (base32
  10227. "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
  10228. (build-system haskell-build-system)
  10229. (inputs
  10230. `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
  10231. ("ghc-conduit" ,ghc-conduit)
  10232. ("ghc-conduit-extra" ,ghc-conduit-extra)
  10233. ("ghc-resourcet" ,ghc-resourcet)))
  10234. (native-inputs
  10235. `(("ghc-hspec" ,ghc-hspec)
  10236. ("hspec-discover" ,hspec-discover)
  10237. ("ghc-quickcheck" ,ghc-quickcheck)))
  10238. (arguments
  10239. `(#:cabal-revision
  10240. ("1"
  10241. "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
  10242. (home-page "https://github.com/fpco/haskell-ide")
  10243. (synopsis "Specify Haskell project templates and generate files")
  10244. (description
  10245. "Haskell library for both generating and consuming project templates.
  10246. ost IDEs provide the concept of a project template: instead of writing all
  10247. of the code for a project from scratch, you select a template, answer a few
  10248. questions, and a bunch of files are automatically generated.
  10249. project-template tries to provide a canonical Haskell library for implementing
  10250. the ideal templating system.")
  10251. (license license:bsd-3)))
  10252. (define-public ghc-protolude
  10253. (package
  10254. (name "ghc-protolude")
  10255. (version "0.2.3")
  10256. (source
  10257. (origin
  10258. (method url-fetch)
  10259. (uri (string-append
  10260. "mirror://hackage/package/protolude/protolude-"
  10261. version
  10262. ".tar.gz"))
  10263. (sha256
  10264. (base32
  10265. "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
  10266. (build-system haskell-build-system)
  10267. (inputs
  10268. `(("ghc-async" ,ghc-async)
  10269. ("ghc-hashable" ,ghc-hashable)
  10270. ("ghc-mtl-compat" ,ghc-mtl-compat)
  10271. ("ghc-transformers-compat" ,ghc-transformers-compat)))
  10272. (home-page "https://github.com/protolude/protolude")
  10273. (synopsis "Sensible set of defaults for writing custom Preludes")
  10274. (description
  10275. "Protolude gives you sensible defaults for writing custom Preludes to
  10276. replace the standard one provided by GHC.")
  10277. (license license:expat)))
  10278. (define-public ghc-protolude-0.3
  10279. (package
  10280. (inherit ghc-protolude)
  10281. (name "ghc-protolude")
  10282. (version "0.3.0")
  10283. (source
  10284. (origin
  10285. (method url-fetch)
  10286. (uri (string-append
  10287. "mirror://hackage/package/protolude/protolude-"
  10288. version
  10289. ".tar.gz"))
  10290. (sha256
  10291. (base32
  10292. "1b6wprbwfdjyvds2bm6na0fbqgzdkj5ikkk33whbkyh3krd3i0s0"))))))
  10293. (define-public ghc-psqueue
  10294. (package
  10295. (name "ghc-psqueue")
  10296. (version "1.1.0.1")
  10297. (source (origin
  10298. (method url-fetch)
  10299. (uri (string-append "mirror://hackage/package/PSQueue-"
  10300. version "/PSQueue-" version ".tar.gz"))
  10301. (sha256
  10302. (base32
  10303. "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
  10304. (build-system haskell-build-system)
  10305. (home-page "https://hackage.haskell.org/package/PSQueue")
  10306. (synopsis "Priority search queue")
  10307. (description
  10308. "A @dfn{priority search queue} efficiently supports the operations of
  10309. both a search tree and a priority queue. A @code{Binding} is a product of
  10310. a key and a priority. Bindings can be inserted, deleted, modified and queried
  10311. in logarithmic time, and the binding with the least priority can be retrieved
  10312. in constant time. A queue can be built from a list of bindings, sorted by
  10313. keys, in linear time.")
  10314. (license license:bsd-3)))
  10315. (define-public ghc-psqueues
  10316. (package
  10317. (name "ghc-psqueues")
  10318. (version "0.2.7.2")
  10319. (source
  10320. (origin
  10321. (method url-fetch)
  10322. (uri (string-append "https://hackage.haskell.org/package/"
  10323. "psqueues-" version "/"
  10324. "psqueues-" version ".tar.gz"))
  10325. (sha256
  10326. (base32
  10327. "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
  10328. (build-system haskell-build-system)
  10329. (inputs
  10330. `(("ghc-hashable" ,ghc-hashable)))
  10331. (native-inputs
  10332. `(("ghc-hunit" ,ghc-hunit)
  10333. ("ghc-quickcheck" ,ghc-quickcheck)
  10334. ("ghc-tagged" ,ghc-tagged)
  10335. ("ghc-tasty" ,ghc-tasty)
  10336. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  10337. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  10338. (home-page "https://github.com/jaspervdj/psqueues")
  10339. (synopsis "Pure priority search queues")
  10340. (description "The psqueues package provides
  10341. @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
  10342. three different flavors:
  10343. @itemize
  10344. @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
  10345. fast insertion, deletion and lookup. This implementation is based on Ralf
  10346. Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
  10347. Implementation Technique for Priority Search Queues}.
  10348. Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
  10349. PSQueue} library, although it is considerably faster and provides a slightly
  10350. different API.
  10351. @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
  10352. key type to @code{Int} and uses a
  10353. @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
  10354. with an additional min-heap property.
  10355. @item @code{HashPSQ k p v} is a fairly straightforward extension
  10356. of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
  10357. @code{IntPSQ}. If there are any hash collisions, it uses an
  10358. @code{OrdPSQ} to resolve those. The performance of this implementation
  10359. is comparable to that of @code{IntPSQ}, but it is more widely
  10360. applicable since the keys are not restricted to @code{Int},
  10361. but rather to any @code{Hashable} datatype.
  10362. @end itemize
  10363. Each of the three implementations provides the same API, so they can
  10364. be used interchangeably.
  10365. Typical applications of Priority Search Queues include:
  10366. @itemize
  10367. @item Caches, and more specifically LRU Caches;
  10368. @item Schedulers;
  10369. @item Pathfinding algorithms, such as Dijkstra's and A*.
  10370. @end itemize")
  10371. (license license:bsd-3)))
  10372. (define-public ghc-pwstore-fast
  10373. (package
  10374. (name "ghc-pwstore-fast")
  10375. (version "2.4.4")
  10376. (source
  10377. (origin
  10378. (method url-fetch)
  10379. (uri (string-append
  10380. "https://hackage.haskell.org/package/pwstore-fast/"
  10381. "pwstore-fast-" version ".tar.gz"))
  10382. (sha256
  10383. (base32
  10384. "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
  10385. (build-system haskell-build-system)
  10386. (inputs
  10387. `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
  10388. ("ghc-cryptohash" ,ghc-cryptohash)
  10389. ("ghc-random" ,ghc-random)
  10390. ("ghc-byteable" ,ghc-byteable)))
  10391. (home-page "https://github.com/PeterScott/pwstore")
  10392. (synopsis "Secure password storage")
  10393. (description
  10394. "To store passwords securely, they should be salted, then hashed with
  10395. a slow hash function. This library uses PBKDF1-SHA256, and handles all the
  10396. details. It uses the cryptohash package for speed; if you need a pure
  10397. Haskell library, pwstore-purehaskell has the exact same API, but uses only
  10398. pure Haskell. It is about 25 times slower than this package, but still quite
  10399. usable.")
  10400. (license license:bsd-3)))
  10401. (define-public ghc-random
  10402. (package
  10403. (name "ghc-random")
  10404. (version "1.1")
  10405. (outputs '("out" "static" "doc"))
  10406. (source
  10407. (origin
  10408. (method url-fetch)
  10409. (uri (string-append
  10410. "https://hackage.haskell.org/package/random/random-"
  10411. version
  10412. ".tar.gz"))
  10413. (sha256
  10414. (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
  10415. (build-system haskell-build-system)
  10416. (home-page "https://hackage.haskell.org/package/random")
  10417. (synopsis "Random number library")
  10418. (description "This package provides a basic random number generation
  10419. library, including the ability to split random number generators.")
  10420. (license license:bsd-3)))
  10421. (define-public ghc-raw-strings-qq
  10422. (package
  10423. (name "ghc-raw-strings-qq")
  10424. (version "1.1")
  10425. (source
  10426. (origin
  10427. (method url-fetch)
  10428. (uri (string-append "https://hackage.haskell.org/package/"
  10429. "raw-strings-qq/raw-strings-qq-"
  10430. version ".tar.gz"))
  10431. (sha256
  10432. (base32
  10433. "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
  10434. (build-system haskell-build-system)
  10435. (native-inputs `(("ghc-hunit" ,ghc-hunit)))
  10436. (home-page "https://github.com/23Skidoo/raw-strings-qq")
  10437. (synopsis "Raw string literals for Haskell")
  10438. (description
  10439. "This package provides a quasiquoter for raw string literals, i.e. string
  10440. literals that don't recognise the standard escape sequences. Basically, they
  10441. make your code more readable by freeing you from the responsibility to escape
  10442. backslashes. They are useful when working with regular expressions,
  10443. DOS/Windows paths and markup languages (such as XML).")
  10444. (license license:bsd-3)))
  10445. (define-public ghc-readable
  10446. (package
  10447. (name "ghc-readable")
  10448. (version "0.3.1")
  10449. (source
  10450. (origin
  10451. (method url-fetch)
  10452. (uri (string-append "https://hackage.haskell.org/package/"
  10453. "readable/readable-" version ".tar.gz"))
  10454. (sha256
  10455. (base32
  10456. "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
  10457. (build-system haskell-build-system)
  10458. (home-page "https://github.com/mightybyte/readable")
  10459. (synopsis "Type class for reading from Text and ByteString")
  10460. (description "This package provides a @code{Readable} type class for
  10461. reading data types from @code{ByteString} and @code{Text}. It also
  10462. includes efficient implementations for common data types.")
  10463. (license license:bsd-3)))
  10464. (define-public ghc-rebase
  10465. (package
  10466. (name "ghc-rebase")
  10467. (version "1.3.1.1")
  10468. (source
  10469. (origin
  10470. (method url-fetch)
  10471. (uri (string-append "https://hackage.haskell.org/package/"
  10472. "rebase-" version "/"
  10473. "rebase-" version ".tar.gz"))
  10474. (sha256
  10475. (base32
  10476. "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
  10477. (build-system haskell-build-system)
  10478. (outputs '("out" "static" "doc"))
  10479. (inputs `(("ghc-hashable" ,ghc-hashable)
  10480. ("ghc-vector" ,ghc-vector)
  10481. ("ghc-unordered-containers" ,ghc-unordered-containers)
  10482. ("ghc-scientific" ,ghc-scientific)
  10483. ("ghc-uuid" ,ghc-uuid)
  10484. ("ghc-dlist" ,ghc-dlist)
  10485. ("ghc-void" ,ghc-void)
  10486. ("ghc-bifunctors" ,ghc-bifunctors)
  10487. ("ghc-profunctors" ,ghc-profunctors)
  10488. ("ghc-contravariant" ,ghc-contravariant)
  10489. ("ghc-contravariant-extras" ,ghc-contravariant-extras)
  10490. ("ghc-semigroups" ,ghc-semigroups)
  10491. ("ghc-either" ,ghc-either)
  10492. ("ghc-fail" ,ghc-fail)
  10493. ("ghc-base-prelude" ,ghc-base-prelude)))
  10494. (home-page "https://github.com/nikita-volkov/rebase")
  10495. (synopsis "Progressive alternative to the base package
  10496. for Haskell")
  10497. (description "This Haskell package is intended for those who are
  10498. tired of keeping long lists of dependencies to the same essential libraries
  10499. in each package as well as the endless imports of the same APIs all over again.
  10500. It also supports the modern tendencies in the language.
  10501. To solve those problems this package does the following:
  10502. @itemize
  10503. @item Reexport the original APIs under the @code{Rebase} namespace.
  10504. @item Export all the possible non-conflicting symbols from the
  10505. @code{Rebase.Prelude} module.
  10506. @item Give priority to the modern practices in the conflicting cases.
  10507. @end itemize
  10508. The policy behind the package is only to reexport the non-ambiguous and
  10509. non-controversial APIs, which the community has obviously settled on.
  10510. The package is intended to rapidly evolve with the contribution from
  10511. the community, with the missing features being added with pull-requests.")
  10512. (license license:expat)))
  10513. (define-public ghc-reducers
  10514. (package
  10515. (name "ghc-reducers")
  10516. (version "3.12.3")
  10517. (source
  10518. (origin
  10519. (method url-fetch)
  10520. (uri (string-append
  10521. "https://hackage.haskell.org/package/reducers/reducers-"
  10522. version
  10523. ".tar.gz"))
  10524. (sha256
  10525. (base32
  10526. "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
  10527. (build-system haskell-build-system)
  10528. (inputs
  10529. `(("ghc-fingertree" ,ghc-fingertree)
  10530. ("ghc-hashable" ,ghc-hashable)
  10531. ("ghc-unordered-containers" ,ghc-unordered-containers)
  10532. ("ghc-semigroupoids" ,ghc-semigroupoids)
  10533. ("ghc-semigroups" ,ghc-semigroups)))
  10534. (home-page "https://github.com/ekmett/reducers/")
  10535. (synopsis "Semigroups, specialized containers and a general map/reduce framework")
  10536. (description "This library provides various semigroups, specialized
  10537. containers and a general map/reduce framework for Haskell.")
  10538. (license license:bsd-3)))
  10539. (define-public ghc-refact
  10540. (package
  10541. (name "ghc-refact")
  10542. (version "0.3.0.2")
  10543. (source
  10544. (origin
  10545. (method url-fetch)
  10546. (uri (string-append "https://hackage.haskell.org/package/"
  10547. "refact/refact-"
  10548. version ".tar.gz"))
  10549. (sha256
  10550. (base32
  10551. "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
  10552. (build-system haskell-build-system)
  10553. (home-page "https://hackage.haskell.org/package/refact")
  10554. (synopsis "Specify refactorings to perform with apply-refact")
  10555. (description
  10556. "This library provides a datatype which can be interpreted by
  10557. @code{apply-refact}. It exists as a separate library so that applications can
  10558. specify refactorings without depending on GHC.")
  10559. (license license:bsd-3)))
  10560. (define-public ghc-reflection
  10561. (package
  10562. (name "ghc-reflection")
  10563. (version "2.1.5")
  10564. (source
  10565. (origin
  10566. (method url-fetch)
  10567. (uri (string-append
  10568. "https://hackage.haskell.org/package/reflection/reflection-"
  10569. version
  10570. ".tar.gz"))
  10571. (sha256
  10572. (base32
  10573. "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
  10574. (build-system haskell-build-system)
  10575. (inputs `(("ghc-tagged" ,ghc-tagged)))
  10576. (native-inputs
  10577. `(("ghc-hspec" ,ghc-hspec)
  10578. ("ghc-quickcheck" ,ghc-quickcheck)
  10579. ("hspec-discover" ,hspec-discover)))
  10580. (home-page "https://github.com/ekmett/reflection")
  10581. (synopsis "Reify arbitrary terms into types that can be reflected back
  10582. into terms")
  10583. (description "This package addresses the 'configuration problem' which is
  10584. propagating configurations that are available at run-time, allowing multiple
  10585. configurations to coexist without resorting to mutable global variables or
  10586. @code{System.IO.Unsafe.unsafePerformIO}.")
  10587. (license license:bsd-3)))
  10588. (define-public ghc-regex
  10589. (package
  10590. (name "ghc-regex")
  10591. (version "1.0.2.0")
  10592. (source
  10593. (origin
  10594. (method url-fetch)
  10595. (uri (string-append "https://hackage.haskell.org/package/regex/"
  10596. "regex-" version ".tar.gz"))
  10597. (sha256
  10598. (base32
  10599. "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
  10600. (build-system haskell-build-system)
  10601. (arguments
  10602. `(#:phases
  10603. (modify-phases %standard-phases
  10604. (add-after 'unpack 'relax-dependencies
  10605. (lambda _
  10606. (substitute* "regex.cabal"
  10607. (("base-compat.*>=.*0.6.*")
  10608. "base-compat >= 0.6\n")
  10609. (("template-haskell.*>=.*2.7.*")
  10610. "template-haskell >= 2.7\n"))
  10611. #t)))))
  10612. (inputs
  10613. `(("ghc-base-compat" ,ghc-base-compat)
  10614. ("ghc-hashable" ,ghc-hashable)
  10615. ("ghc-regex-base" ,ghc-regex-base)
  10616. ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
  10617. ("ghc-regex-tdfa" ,ghc-regex-tdfa)
  10618. ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
  10619. ("ghc-time-locale-compat" ,ghc-time-locale-compat)
  10620. ("ghc-unordered-containers" ,ghc-unordered-containers)
  10621. ("ghc-utf8-string" ,ghc-utf8-string)))
  10622. (home-page "http://regex.uk")
  10623. (synopsis "Toolkit for regex-base")
  10624. (description
  10625. "This package provides a regular expression toolkit for @code{regex-base}
  10626. with compile-time checking of regular expression syntax, data types for
  10627. matches and captures, a text replacement toolkit, portable options, high-level
  10628. AWK-like tools for building text processing apps, regular expression macros
  10629. with parsers and test bench, comprehensive documentation, tutorials and
  10630. copious examples.")
  10631. (license license:bsd-3)))
  10632. (define-public ghc-regex-applicative
  10633. (package
  10634. (name "ghc-regex-applicative")
  10635. (version "0.3.3.1")
  10636. (source
  10637. (origin
  10638. (method url-fetch)
  10639. (uri (string-append
  10640. "https://hackage.haskell.org/package/regex-applicative/"
  10641. "regex-applicative-" version ".tar.gz"))
  10642. (sha256
  10643. (base32
  10644. "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
  10645. (build-system haskell-build-system)
  10646. (inputs
  10647. `(("ghc-smallcheck" ,ghc-smallcheck)
  10648. ("ghc-tasty" ,ghc-tasty)
  10649. ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
  10650. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  10651. (home-page "https://github.com/feuerbach/regex-applicative")
  10652. (synopsis "Regex-based parsing with applicative interface")
  10653. (description
  10654. "@code{regex-applicative} is a Haskell library for parsing using
  10655. regular expressions. Parsers can be built using Applicative interface.")
  10656. (license license:expat)))
  10657. (define-public ghc-regex-base
  10658. (package
  10659. (name "ghc-regex-base")
  10660. (version "0.93.2")
  10661. (source
  10662. (origin
  10663. (method url-fetch)
  10664. (uri (string-append
  10665. "https://hackage.haskell.org/package/regex-base/regex-base-"
  10666. version
  10667. ".tar.gz"))
  10668. (sha256
  10669. (base32
  10670. "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
  10671. (build-system haskell-build-system)
  10672. (home-page
  10673. "https://sourceforge.net/projects/lazy-regex")
  10674. (synopsis "Replaces/Enhances Text.Regex")
  10675. (description "@code{Text.Regex.Base} provides the interface API for
  10676. regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
  10677. (license license:bsd-3)))
  10678. (define-public ghc-regex-compat
  10679. (package
  10680. (name "ghc-regex-compat")
  10681. (version "0.95.1")
  10682. (source
  10683. (origin
  10684. (method url-fetch)
  10685. (uri (string-append
  10686. "https://hackage.haskell.org/package/regex-compat/regex-compat-"
  10687. version
  10688. ".tar.gz"))
  10689. (sha256
  10690. (base32
  10691. "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
  10692. (build-system haskell-build-system)
  10693. (inputs
  10694. `(("ghc-regex-base" ,ghc-regex-base)
  10695. ("ghc-regex-posix" ,ghc-regex-posix)))
  10696. (home-page "https://sourceforge.net/projects/lazy-regex")
  10697. (synopsis "Replaces/Enhances Text.Regex")
  10698. (description "This library provides one module layer over
  10699. @code{regex-posix} to replace @code{Text.Regex}.")
  10700. (license license:bsd-3)))
  10701. (define-public ghc-regex-compat-tdfa
  10702. (package
  10703. (name "ghc-regex-compat-tdfa")
  10704. (version "0.95.1.4")
  10705. (source
  10706. (origin
  10707. (method url-fetch)
  10708. (uri (string-append
  10709. "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
  10710. version ".tar.gz"))
  10711. (sha256
  10712. (base32
  10713. "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
  10714. (build-system haskell-build-system)
  10715. (inputs
  10716. `(("ghc-regex-base" ,ghc-regex-base)
  10717. ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
  10718. (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
  10719. (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
  10720. (description
  10721. "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
  10722. @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
  10723. This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
  10724. this problem.")
  10725. (license license:bsd-3)))
  10726. (define-public ghc-regex-pcre
  10727. (package
  10728. (name "ghc-regex-pcre")
  10729. (version "0.94.4")
  10730. (source (origin
  10731. (method url-fetch)
  10732. (uri (string-append "https://hackage.haskell.org/package/"
  10733. "regex-pcre/regex-pcre-" version ".tar.gz"))
  10734. (sha256
  10735. (base32
  10736. "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
  10737. (build-system haskell-build-system)
  10738. (arguments
  10739. `(#:extra-directories ("pcre")))
  10740. (inputs
  10741. `(("ghc-regex-base" ,ghc-regex-base)
  10742. ("pcre" ,pcre)))
  10743. (home-page "https://hackage.haskell.org/package/regex-pcre")
  10744. (synopsis "Enhancement of the builtin Text.Regex library")
  10745. (description
  10746. "This package is an enhancement of the @code{Text.Regex} library.
  10747. It wraps the @code{PCRE} C library providing Perl-compatible regular
  10748. expressions.")
  10749. (license license:bsd-3)))
  10750. (define-public ghc-regex-pcre-builtin
  10751. (package
  10752. (name "ghc-regex-pcre-builtin")
  10753. (version "0.94.5.8.8.35")
  10754. (source (origin
  10755. (method url-fetch)
  10756. (uri (string-append "https://hackage.haskell.org/package/"
  10757. "regex-pcre-builtin/regex-pcre-builtin-"
  10758. version ".tar.gz"))
  10759. (sha256
  10760. (base32
  10761. "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
  10762. (build-system haskell-build-system)
  10763. (inputs
  10764. `(("ghc-regex-base" ,ghc-regex-base)))
  10765. (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
  10766. (synopsis "Enhancement of the builtin Text.Regex library")
  10767. (description
  10768. "This package is an enhancement of the @code{Text.Regex} library,
  10769. providing the PCRE backend to accompany regex-base, with bundled code from
  10770. @url{https://www.pcre.org}.")
  10771. (license license:bsd-3)))
  10772. (define-public ghc-regex-posix
  10773. (package
  10774. (name "ghc-regex-posix")
  10775. (version "0.95.2")
  10776. (source
  10777. (origin
  10778. (method url-fetch)
  10779. (uri (string-append
  10780. "https://hackage.haskell.org/package/regex-posix/regex-posix-"
  10781. version
  10782. ".tar.gz"))
  10783. (sha256
  10784. (base32
  10785. "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
  10786. (build-system haskell-build-system)
  10787. (inputs
  10788. `(("ghc-regex-base" ,ghc-regex-base)))
  10789. (home-page "https://sourceforge.net/projects/lazy-regex")
  10790. (synopsis "POSIX regular expressions for Haskell")
  10791. (description "This library provides the POSIX regex backend used by the
  10792. Haskell library @code{regex-base}.")
  10793. (license license:bsd-3)))
  10794. (define-public ghc-regex-tdfa
  10795. (package
  10796. (name "ghc-regex-tdfa")
  10797. (version "1.2.3.2")
  10798. (source
  10799. (origin
  10800. (method url-fetch)
  10801. (uri (string-append
  10802. "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
  10803. version ".tar.gz"))
  10804. (sha256
  10805. (base32
  10806. "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
  10807. (build-system haskell-build-system)
  10808. (outputs '("out" "static" "doc"))
  10809. (inputs
  10810. `(("ghc-regex-base" ,ghc-regex-base)))
  10811. (home-page "https://github.com/haskell-hvr/regex-tdfa")
  10812. (synopsis "POSIX extended regular expressions in Haskell.")
  10813. (description
  10814. "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
  10815. extended regular expressions. It is a \"tagged\" DFA regex engine. It is
  10816. inspired by libtre.")
  10817. (license license:bsd-3)))
  10818. (define-public ghc-regex-tdfa-text
  10819. (package
  10820. (name "ghc-regex-tdfa-text")
  10821. (version "1.0.0.3")
  10822. (source
  10823. (origin
  10824. (method url-fetch)
  10825. (uri (string-append
  10826. "https://hackage.haskell.org/package/regex-tdfa-text/"
  10827. "regex-tdfa-text-" version ".tar.gz"))
  10828. (sha256
  10829. (base32
  10830. "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
  10831. (build-system haskell-build-system)
  10832. (inputs
  10833. `(("ghc-regex-base" ,ghc-regex-base)
  10834. ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
  10835. (home-page
  10836. "https://hackage.haskell.org/package/regex-tdfa-text")
  10837. (synopsis "Text interface for regex-tdfa")
  10838. (description
  10839. "This provides an extra text interface for regex-tdfa.")
  10840. (license license:bsd-3)))
  10841. (define-public ghc-repline
  10842. (package
  10843. (name "ghc-repline")
  10844. (version "0.2.0.0")
  10845. (source
  10846. (origin
  10847. (method url-fetch)
  10848. (uri (string-append
  10849. "mirror://hackage/package/repline/repline-"
  10850. version
  10851. ".tar.gz"))
  10852. (sha256
  10853. (base32
  10854. "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
  10855. (build-system haskell-build-system)
  10856. (home-page "https://github.com/sdiehl/repline")
  10857. (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
  10858. (description
  10859. "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
  10860. normal mtl transformers.")
  10861. (license license:expat)))
  10862. (define-public ghc-repline-0.3
  10863. (package
  10864. (inherit ghc-repline)
  10865. (version "0.3.0.0")
  10866. (source
  10867. (origin
  10868. (method url-fetch)
  10869. (uri (string-append
  10870. "mirror://hackage/package/repline/repline-"
  10871. version
  10872. ".tar.gz"))
  10873. (sha256
  10874. (base32
  10875. "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
  10876. (inputs
  10877. `(("ghc-exceptions" ,ghc-exceptions)
  10878. ("ghc-haskeline" ,ghc-haskeline-0.8)))))
  10879. (define-public ghc-rerebase
  10880. (package
  10881. (name "ghc-rerebase")
  10882. (version "1.3.1.1")
  10883. (source
  10884. (origin
  10885. (method url-fetch)
  10886. (uri (string-append
  10887. "https://hackage.haskell.org/package/rerebase/rerebase-"
  10888. version ".tar.gz"))
  10889. (sha256
  10890. (base32
  10891. "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
  10892. (build-system haskell-build-system)
  10893. (outputs '("out" "static" "doc"))
  10894. (inputs
  10895. `(("ghc-rebase" ,ghc-rebase)))
  10896. (home-page "https://github.com/nikita-volkov/rerebase")
  10897. (synopsis "Reexports from ``base'' with many other standard libraries")
  10898. (description "A rich drop-in replacement for @code{base}. For details and
  10899. documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
  10900. the project's home page}.")
  10901. (license license:expat)))
  10902. (define-public ghc-resolv
  10903. (package
  10904. (name "ghc-resolv")
  10905. (version "0.1.1.2")
  10906. (source
  10907. (origin
  10908. (method url-fetch)
  10909. (uri (string-append
  10910. "https://hackage.haskell.org/package/resolv/resolv-"
  10911. version ".tar.gz"))
  10912. (sha256
  10913. (base32
  10914. "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
  10915. (build-system haskell-build-system)
  10916. (arguments
  10917. `(#:phases
  10918. (modify-phases %standard-phases
  10919. (add-before 'configure 'update-constraints
  10920. (lambda _
  10921. (substitute* "resolv.cabal"
  10922. (("tasty >= 1\\.1 && < 1\\.2")
  10923. "tasty >= 1.1 && < 1.3"))
  10924. #t)))))
  10925. (inputs
  10926. `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
  10927. (native-inputs
  10928. `(("ghc-tasty" ,ghc-tasty)
  10929. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  10930. (home-page "https://github.com/haskell/hackage-security")
  10931. (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
  10932. (description "This package implements an API for accessing the
  10933. @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
  10934. resolver service via the standard @code{libresolv} system library (whose
  10935. API is often available directly via the standard @code{libc} C library) on
  10936. Unix systems.")
  10937. (license license:gpl3)))
  10938. (define-public ghc-resource-pool
  10939. (package
  10940. (name "ghc-resource-pool")
  10941. (version "0.2.3.2")
  10942. (source
  10943. (origin
  10944. (method url-fetch)
  10945. (uri (string-append "https://hackage.haskell.org/package/"
  10946. "resource-pool-" version "/"
  10947. "resource-pool-" version ".tar.gz"))
  10948. (sha256
  10949. (base32
  10950. "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
  10951. (build-system haskell-build-system)
  10952. (inputs `(("ghc-hashable" ,ghc-hashable)
  10953. ("ghc-monad-control" ,ghc-monad-control)
  10954. ("ghc-transformers-base" ,ghc-transformers-base)
  10955. ("ghc-vector" ,ghc-vector)))
  10956. (home-page "https://github.com/bos/pool")
  10957. (synopsis "Striped resource pooling implementation in Haskell")
  10958. (description "This Haskell package provides striped pooling abstraction
  10959. for managing flexibly-sized collections of resources such as database
  10960. connections.")
  10961. (license license:bsd-3)))
  10962. (define-public ghc-resourcet
  10963. (package
  10964. (name "ghc-resourcet")
  10965. (version "1.2.2")
  10966. (source
  10967. (origin
  10968. (method url-fetch)
  10969. (uri (string-append "https://hackage.haskell.org/package/resourcet/"
  10970. "resourcet-" version ".tar.gz"))
  10971. (sha256
  10972. (base32
  10973. "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
  10974. (build-system haskell-build-system)
  10975. (inputs
  10976. `(("ghc-transformers-base" ,ghc-transformers-base)
  10977. ("ghc-monad-control" ,ghc-monad-control)
  10978. ("ghc-transformers-compat" ,ghc-transformers-compat)
  10979. ("ghc-mmorph" ,ghc-mmorph)
  10980. ("ghc-exceptions" ,ghc-exceptions)
  10981. ("ghc-unliftio-core" ,ghc-unliftio-core)))
  10982. (native-inputs
  10983. `(("ghc-lifted-base" ,ghc-lifted-base)
  10984. ("ghc-hspec" ,ghc-hspec)))
  10985. (home-page "https://github.com/snoyberg/conduit")
  10986. (synopsis "Deterministic allocation and freeing of scarce resources")
  10987. (description "ResourceT is a monad transformer which creates a region of
  10988. code where you can safely allocate resources.")
  10989. (license license:bsd-3)))
  10990. (define-public ghc-retry
  10991. (package
  10992. (name "ghc-retry")
  10993. (version "0.8.1.0")
  10994. (source
  10995. (origin
  10996. (method url-fetch)
  10997. (uri (string-append "https://hackage.haskell.org/package/"
  10998. "retry/retry-" version ".tar.gz"))
  10999. (sha256
  11000. (base32
  11001. "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
  11002. (build-system haskell-build-system)
  11003. (inputs
  11004. `(("ghc-exceptions" ,ghc-exceptions)
  11005. ("ghc-random" ,ghc-random)))
  11006. (native-inputs
  11007. `(("ghc-hunit" ,ghc-hunit)
  11008. ("ghc-tasty" ,ghc-tasty)
  11009. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  11010. ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
  11011. ("ghc-hedgehog" ,ghc-hedgehog)))
  11012. (home-page "https://github.com/Soostone/retry")
  11013. (synopsis "Retry combinators for monadic actions that may fail")
  11014. (description "This package exposes combinators that can wrap
  11015. arbitrary monadic actions. They run the action and potentially retry
  11016. running it with some configurable delay for a configurable number of
  11017. times. The purpose is to make it easier to work with IO and especially
  11018. network IO actions that often experience temporary failure and warrant
  11019. retrying of the original action. For example, a database query may time
  11020. out for a while, in which case we should hang back for a bit and retry
  11021. the query instead of simply raising an exception.")
  11022. (license license:bsd-3)))
  11023. (define-public ghc-rfc5051
  11024. (package
  11025. (name "ghc-rfc5051")
  11026. (version "0.1.0.4")
  11027. (source
  11028. (origin
  11029. (method url-fetch)
  11030. (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
  11031. "rfc5051-" version ".tar.gz"))
  11032. (sha256
  11033. (base32
  11034. "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
  11035. (build-system haskell-build-system)
  11036. (home-page "https://hackage.haskell.org/package/rfc5051")
  11037. (synopsis "Simple unicode collation as per RFC5051")
  11038. (description
  11039. "This library implements @code{unicode-casemap}, the simple, non
  11040. locale-sensitive unicode collation algorithm described in RFC 5051. Proper
  11041. unicode collation can be done using @code{text-icu}, but that is a big
  11042. dependency that depends on a large C library, and @code{rfc5051} might be
  11043. better for some purposes.")
  11044. (license license:bsd-3)))
  11045. (define-public ghc-rio
  11046. (package
  11047. (name "ghc-rio")
  11048. (version "0.1.12.0")
  11049. (source
  11050. (origin
  11051. (method url-fetch)
  11052. (uri (string-append
  11053. "https://hackage.haskell.org/package/rio/rio-"
  11054. version ".tar.gz"))
  11055. (sha256
  11056. (base32
  11057. "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
  11058. (build-system haskell-build-system)
  11059. (inputs
  11060. `(("ghc-exceptions" ,ghc-exceptions)
  11061. ("ghc-hashable" ,ghc-hashable)
  11062. ("ghc-microlens" ,ghc-microlens)
  11063. ("ghc-primitive" ,ghc-primitive)
  11064. ("ghc-typed-process" ,ghc-typed-process)
  11065. ("ghc-unliftio" ,ghc-unliftio)
  11066. ("ghc-unordered-containers" ,ghc-unordered-containers)
  11067. ("ghc-vector" ,ghc-vector)))
  11068. (native-inputs
  11069. `(("ghc-hspec" ,ghc-hspec)
  11070. ("hspec-discover" ,hspec-discover)))
  11071. (home-page "https://github.com/commercialhaskell/rio#readme")
  11072. (synopsis "A standard library for Haskell")
  11073. (description "This package works as a prelude replacement for Haskell,
  11074. providing more functionality and types out of the box than the standard
  11075. prelude (such as common data types like @code{ByteString} and
  11076. @code{Text}), as well as removing common ``gotchas'', like partial
  11077. functions and lazy I/O. The guiding principle here is:
  11078. @itemize
  11079. @item If something is safe to use in general and has no expected naming
  11080. conflicts, expose it.
  11081. @item If something should not always be used, or has naming conflicts,
  11082. expose it from another module in the hierarchy.
  11083. @end itemize")
  11084. (license license:expat)))
  11085. (define-public ghc-safe
  11086. (package
  11087. (name "ghc-safe")
  11088. (version "0.3.17")
  11089. (source
  11090. (origin
  11091. (method url-fetch)
  11092. (uri (string-append
  11093. "https://hackage.haskell.org/package/safe/safe-"
  11094. version
  11095. ".tar.gz"))
  11096. (sha256
  11097. (base32
  11098. "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
  11099. (build-system haskell-build-system)
  11100. (native-inputs
  11101. `(("ghc-quickcheck" ,ghc-quickcheck)))
  11102. (home-page "https://github.com/ndmitchell/safe#readme")
  11103. (synopsis "Library of safe (exception free) functions")
  11104. (description "This library provides wrappers around @code{Prelude} and
  11105. @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
  11106. exceptions.")
  11107. (license license:bsd-3)))
  11108. (define-public ghc-safe-exceptions
  11109. (package
  11110. (name "ghc-safe-exceptions")
  11111. (version "0.1.7.0")
  11112. (source
  11113. (origin
  11114. (method url-fetch)
  11115. (uri (string-append "https://hackage.haskell.org/package/"
  11116. "safe-exceptions/safe-exceptions-"
  11117. version ".tar.gz"))
  11118. (sha256
  11119. (base32
  11120. "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
  11121. (build-system haskell-build-system)
  11122. (arguments
  11123. '(#:cabal-revision
  11124. ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
  11125. (inputs `(("ghc-exceptions" ,ghc-exceptions)))
  11126. (native-inputs
  11127. `(("ghc-hspec" ,ghc-hspec)
  11128. ("ghc-void" ,ghc-void)
  11129. ("hspec-discover" ,hspec-discover)))
  11130. (home-page "https://github.com/fpco/safe-exceptions")
  11131. (synopsis "Safe, consistent, and easy exception handling")
  11132. (description "Runtime exceptions - as exposed in @code{base} by the
  11133. @code{Control.Exception} module - have long been an intimidating part of the
  11134. Haskell ecosystem. This package is intended to overcome this. It provides a
  11135. safe and simple API on top of the existing exception handling machinery. The
  11136. API is equivalent to the underlying implementation in terms of power but
  11137. encourages best practices to minimize the chances of getting the exception
  11138. handling wrong.")
  11139. (license license:expat)))
  11140. (define-public ghc-safeio
  11141. (package
  11142. (name "ghc-safeio")
  11143. (version "0.0.5.0")
  11144. (source
  11145. (origin
  11146. (method url-fetch)
  11147. (uri (string-append "https://hackage.haskell.org/package/safeio/"
  11148. "safeio-" version ".tar.gz"))
  11149. (sha256
  11150. (base32
  11151. "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
  11152. (build-system haskell-build-system)
  11153. (inputs
  11154. `(("ghc-conduit" ,ghc-conduit)
  11155. ("ghc-conduit-combinators" ,ghc-conduit-combinators)
  11156. ("ghc-exceptions" ,ghc-exceptions)
  11157. ("ghc-resourcet" ,ghc-resourcet)))
  11158. (native-inputs
  11159. `(("ghc-hunit" ,ghc-hunit)
  11160. ("ghc-test-framework" ,ghc-test-framework)
  11161. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  11162. ("ghc-test-framework-th" ,ghc-test-framework-th)))
  11163. (home-page "https://github.com/luispedro/safeio")
  11164. (synopsis "Write output to disk atomically")
  11165. (description
  11166. "This package implements utilities to perform atomic output so as to
  11167. avoid the problem of partial intermediate files.")
  11168. (license license:expat)))
  11169. (define-public ghc-safesemaphore
  11170. (package
  11171. (name "ghc-safesemaphore")
  11172. (version "0.10.1")
  11173. (source
  11174. (origin
  11175. (method url-fetch)
  11176. (uri (string-append "https://hackage.haskell.org/package/"
  11177. "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
  11178. (sha256
  11179. (base32
  11180. "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
  11181. (build-system haskell-build-system)
  11182. (native-inputs
  11183. `(("ghc-hunit" ,ghc-hunit)))
  11184. (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
  11185. (synopsis "Exception safe semaphores")
  11186. (description "This library provides exception safe semaphores that can be
  11187. used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
  11188. are not exception safe and can be broken by @code{killThread}.")
  11189. (license license:bsd-3)))
  11190. (define-public ghc-sandi
  11191. (package
  11192. (name "ghc-sandi")
  11193. (version "0.5")
  11194. (source
  11195. (origin
  11196. (method url-fetch)
  11197. (uri (string-append
  11198. "https://hackage.haskell.org/package/sandi/sandi-"
  11199. version ".tar.gz"))
  11200. (sha256
  11201. (base32
  11202. "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
  11203. (build-system haskell-build-system)
  11204. (inputs
  11205. `(("ghc-stringsearch" ,ghc-stringsearch)
  11206. ("ghc-conduit" ,ghc-conduit)
  11207. ("ghc-exceptions" ,ghc-exceptions)
  11208. ("ghc-hunit" ,ghc-hunit)
  11209. ("ghc-tasty" ,ghc-tasty)
  11210. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  11211. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  11212. ("ghc-tasty-th" ,ghc-tasty-th)))
  11213. (home-page "https://hackage.haskell.org/package/sandi")
  11214. (synopsis "Data encoding library")
  11215. (description "Reasonably fast data encoding library.")
  11216. (license license:bsd-3)))
  11217. (define-public ghc-say
  11218. (package
  11219. (name "ghc-say")
  11220. (version "0.1.0.1")
  11221. (source
  11222. (origin
  11223. (method url-fetch)
  11224. (uri (string-append
  11225. "https://hackage.haskell.org/package/say/say-"
  11226. version
  11227. ".tar.gz"))
  11228. (sha256
  11229. (base32
  11230. "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
  11231. (build-system haskell-build-system)
  11232. (native-inputs
  11233. `(("ghc-hspec" ,ghc-hspec)
  11234. ("hspec-discover" ,hspec-discover)
  11235. ("ghc-unliftio" ,ghc-unliftio)))
  11236. (home-page "https://github.com/fpco/say")
  11237. (synopsis
  11238. "Send textual messages to a Handle in a thread-friendly way")
  11239. (description
  11240. "A thread safe API to write a line of textual data to a Handle, such
  11241. as sending some messages to the terminal - that has the following properties:
  11242. @itemize
  11243. @item Properly handle character encoding settings on the Handle
  11244. @item For reasonably sized messages, ensure that the entire message is written
  11245. in one chunk to avoid interleaving data with other threads
  11246. @item Avoid unnecessary memory allocations and copies
  11247. @item Minimize locking.
  11248. @end itemize")
  11249. (license license:expat)))
  11250. (define-public ghc-scientific
  11251. (package
  11252. (name "ghc-scientific")
  11253. (version "0.3.6.2")
  11254. (source
  11255. (origin
  11256. (method url-fetch)
  11257. (uri (string-append
  11258. "https://hackage.haskell.org/package/scientific/scientific-"
  11259. version
  11260. ".tar.gz"))
  11261. (sha256
  11262. (base32
  11263. "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
  11264. (build-system haskell-build-system)
  11265. (inputs
  11266. `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
  11267. ("ghc-hashable" ,ghc-hashable)
  11268. ("ghc-primitive" ,ghc-primitive)))
  11269. (native-inputs
  11270. `(("ghc-tasty" ,ghc-tasty)
  11271. ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
  11272. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  11273. ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
  11274. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  11275. ("ghc-smallcheck" ,ghc-smallcheck)
  11276. ("ghc-quickcheck" ,ghc-quickcheck)))
  11277. (home-page "https://github.com/basvandijk/scientific")
  11278. (synopsis "Numbers represented using scientific notation")
  11279. (description "This package provides @code{Data.Scientific}, which provides
  11280. the number type @code{Scientific}. Scientific numbers are arbitrary precision
  11281. and space efficient. They are represented using
  11282. @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
  11283. notation}.")
  11284. (license license:bsd-3)))
  11285. (define-public ghc-scientific-bootstrap
  11286. (package
  11287. (inherit ghc-scientific)
  11288. (name "ghc-scientific-bootstrap")
  11289. (arguments `(#:tests? #f))
  11290. (inputs
  11291. `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
  11292. ("ghc-hashable" ,ghc-hashable)
  11293. ("ghc-primitive" ,ghc-primitive)))
  11294. (native-inputs '())
  11295. (properties '((hidden? #t)))))
  11296. (define-public ghc-sdl
  11297. (package
  11298. (name "ghc-sdl")
  11299. (version "0.6.7.0")
  11300. (source
  11301. (origin
  11302. (method url-fetch)
  11303. (uri (string-append
  11304. "https://hackage.haskell.org/package/SDL/SDL-"
  11305. version
  11306. ".tar.gz"))
  11307. (sha256
  11308. (base32
  11309. "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
  11310. (build-system haskell-build-system)
  11311. (inputs
  11312. `(("sdl" ,sdl)))
  11313. (home-page "https://hackage.haskell.org/package/SDL")
  11314. (synopsis "LibSDL for Haskell")
  11315. (description "Simple DirectMedia Layer (libSDL) is a cross-platform
  11316. multimedia library designed to provide low level access to audio, keyboard,
  11317. mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
  11318. by MPEG playback software, emulators, and many popular games, including the
  11319. award winning Linux port of \"Civilization: Call To Power.\"")
  11320. (license license:bsd-3)))
  11321. (define-public ghc-sdl2
  11322. (package
  11323. (name "ghc-sdl2")
  11324. (version "2.5.0.0")
  11325. (source
  11326. (origin
  11327. (method url-fetch)
  11328. (uri (string-append "https://hackage.haskell.org/package/"
  11329. "sdl2/sdl2-" version ".tar.gz"))
  11330. (sha256
  11331. (base32
  11332. "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
  11333. (build-system haskell-build-system)
  11334. (arguments '(#:tests? #f)) ; tests require graphical environment
  11335. (inputs
  11336. `(("ghc-exceptions" ,ghc-exceptions)
  11337. ("ghc-linear" ,ghc-linear)
  11338. ("ghc-statevar" ,ghc-statevar)
  11339. ("ghc-vector" ,ghc-vector)
  11340. ("sdl2" ,sdl2)))
  11341. (native-inputs
  11342. `(("ghc-weigh" ,ghc-weigh)
  11343. ("pkg-config" ,pkg-config)))
  11344. (home-page "https://hackage.haskell.org/package/sdl2")
  11345. (synopsis "High- and low-level bindings to the SDL library")
  11346. (description
  11347. "This package contains bindings to the SDL 2 library, in both high- and
  11348. low-level forms. The @code{SDL} namespace contains high-level bindings, where
  11349. enumerations are split into sum types, and we perform automatic
  11350. error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
  11351. translation of the C API into Haskell FFI calls. As such, this does not
  11352. contain sum types nor error checking. Thus this namespace is suitable for
  11353. building your own abstraction over SDL, but is not recommended for day-to-day
  11354. programming.")
  11355. (license license:bsd-3)))
  11356. (define-public ghc-sdl2-image
  11357. (package
  11358. (name "ghc-sdl2-image")
  11359. (version "2.0.0")
  11360. (source
  11361. (origin
  11362. (method url-fetch)
  11363. (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
  11364. "sdl2-image-" version ".tar.gz"))
  11365. (sha256
  11366. (base32
  11367. "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
  11368. (build-system haskell-build-system)
  11369. (inputs
  11370. `(("ghc-sdl2" ,ghc-sdl2)
  11371. ("sdl2-image" ,sdl2-image)))
  11372. (native-inputs
  11373. `(("pkg-config" ,pkg-config)))
  11374. (home-page "https://hackage.haskell.org/package/sdl2-image")
  11375. (synopsis "Bindings to SDL2_image")
  11376. (description "This package provides Haskell bindings to
  11377. @code{SDL2_image}.")
  11378. (license license:expat)))
  11379. (define-public ghc-sdl2-mixer
  11380. (package
  11381. (name "ghc-sdl2-mixer")
  11382. (version "1.1.0")
  11383. (source
  11384. (origin
  11385. (method url-fetch)
  11386. (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
  11387. "sdl2-mixer-" version ".tar.gz"))
  11388. (sha256
  11389. (base32
  11390. "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
  11391. (build-system haskell-build-system)
  11392. (inputs
  11393. `(("ghc-data-default-class" ,ghc-data-default-class)
  11394. ("ghc-lifted-base" ,ghc-lifted-base)
  11395. ("ghc-monad-control" ,ghc-monad-control)
  11396. ("ghc-sdl2" ,ghc-sdl2)
  11397. ("ghc-vector" ,ghc-vector)
  11398. ("sdl2-mixer" ,sdl2-mixer)))
  11399. (native-inputs
  11400. `(("pkg-config" ,pkg-config)))
  11401. (home-page "https://hackage.haskell.org/package/sdl2-mixer")
  11402. (synopsis "Bindings to SDL2 mixer")
  11403. (description "This package provides Haskell bindings to
  11404. @code{SDL2_mixer}.")
  11405. (license license:bsd-3)))
  11406. (define-public ghc-sdl-image
  11407. (package
  11408. (name "ghc-sdl-image")
  11409. (version "0.6.2.0")
  11410. (source
  11411. (origin
  11412. (method url-fetch)
  11413. (uri (string-append
  11414. "https://hackage.haskell.org/package/SDL-image/SDL-image-"
  11415. version
  11416. ".tar.gz"))
  11417. (sha256
  11418. (base32
  11419. "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
  11420. (build-system haskell-build-system)
  11421. (arguments
  11422. `(#:configure-flags
  11423. (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
  11424. (sdl-image-include (string-append sdl-image "/include/SDL")))
  11425. (list (string-append "--extra-include-dirs=" sdl-image-include)))))
  11426. (inputs
  11427. `(("ghc-sdl" ,ghc-sdl)
  11428. ("sdl-image" ,sdl-image)))
  11429. (home-page "https://hackage.haskell.org/package/SDL-image")
  11430. (synopsis "Haskell bindings to libSDL_image")
  11431. (description "SDL_image is an image file loading library. It loads images
  11432. as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
  11433. PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
  11434. (license license:bsd-3)))
  11435. (define-public ghc-sdl-mixer
  11436. (package
  11437. (name "ghc-sdl-mixer")
  11438. (version "0.6.3.0")
  11439. (source
  11440. (origin
  11441. (method url-fetch)
  11442. (uri (string-append
  11443. "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
  11444. version
  11445. ".tar.gz"))
  11446. (sha256
  11447. (base32
  11448. "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
  11449. (build-system haskell-build-system)
  11450. (arguments
  11451. `(#:configure-flags
  11452. (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
  11453. (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
  11454. (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
  11455. (inputs
  11456. `(("ghc-sdl" ,ghc-sdl)
  11457. ("sdl-mixer" ,sdl-mixer)))
  11458. (home-page "https://hackage.haskell.org/package/SDL-mixer")
  11459. (synopsis "Haskell bindings to libSDL_mixer")
  11460. (description "SDL_mixer is a sample multi-channel audio mixer library. It
  11461. supports any number of simultaneously playing channels of 16 bit stereo audio,
  11462. plus a single channel of music, mixed by the popular MikMod MOD, Timidity
  11463. MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
  11464. (license license:bsd-3)))
  11465. (define-public ghc-securemem
  11466. (package
  11467. (name "ghc-securemem")
  11468. (version "0.1.10")
  11469. (source
  11470. (origin
  11471. (method url-fetch)
  11472. (uri (string-append "https://hackage.haskell.org/package/"
  11473. "securemem-" version "/"
  11474. "securemem-" version ".tar.gz"))
  11475. (sha256
  11476. (base32
  11477. "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
  11478. (build-system haskell-build-system)
  11479. (inputs `(("ghc-byteable" ,ghc-byteable)
  11480. ("ghc-memory" ,ghc-memory)))
  11481. (home-page "https://github.com/vincenthz/hs-securemem")
  11482. (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
  11483. Haskell")
  11484. (description "SecureMem is similar to ByteString, except that it provides
  11485. a memory chunk that will be auto-scrubbed after it run out of scope.")
  11486. (license license:bsd-3)))
  11487. (define-public ghc-semialign
  11488. (package
  11489. (name "ghc-semialign")
  11490. (version "1")
  11491. (source
  11492. (origin
  11493. (method url-fetch)
  11494. (uri (string-append
  11495. "https://hackage.haskell.org/package/semialign/semialign-"
  11496. version
  11497. ".tar.gz"))
  11498. (sha256
  11499. (base32
  11500. "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
  11501. (build-system haskell-build-system)
  11502. (inputs
  11503. `(("ghc-these" ,ghc-these)
  11504. ("ghc-base-compat" ,ghc-base-compat)
  11505. ("ghc-hashable" ,ghc-hashable)
  11506. ("ghc-tagged" ,ghc-tagged)
  11507. ("ghc-unordered-containers" ,ghc-unordered-containers)
  11508. ("ghc-vector" ,ghc-vector)
  11509. ("ghc-semigroupoids" ,ghc-semigroupoids)))
  11510. (arguments
  11511. `(#:cabal-revision
  11512. ("1"
  11513. "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
  11514. (home-page
  11515. "https://github.com/isomorphism/these")
  11516. (synopsis
  11517. "Align and Zip type-classes from the common Semialign ancestor ")
  11518. (description
  11519. "The major use of @code{These} of this is provided by the
  11520. @code{align} member of @code{Semialign} class, representing a
  11521. generalized notion of \"zipping with padding\" that combines
  11522. structures without truncating to the size of the smaller input. It
  11523. turns out that @code{zip} operation fits well the @code{Semialign}
  11524. class, forming lattice-like structure.")
  11525. (license license:bsd-3)))
  11526. (define-public ghc-semigroupoids
  11527. (package
  11528. (name "ghc-semigroupoids")
  11529. (version "5.3.3")
  11530. (source
  11531. (origin
  11532. (method url-fetch)
  11533. (uri (string-append
  11534. "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
  11535. version
  11536. ".tar.gz"))
  11537. (sha256
  11538. (base32
  11539. "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
  11540. (build-system haskell-build-system)
  11541. (outputs '("out" "static" "doc"))
  11542. (inputs
  11543. `(("ghc-base-orphans" ,ghc-base-orphans)
  11544. ("ghc-transformers-compat" ,ghc-transformers-compat)
  11545. ("ghc-bifunctors" ,ghc-bifunctors)
  11546. ("ghc-comonad" ,ghc-comonad)
  11547. ("ghc-contravariant" ,ghc-contravariant)
  11548. ("ghc-distributive" ,ghc-distributive)
  11549. ("ghc-hashable" ,ghc-hashable)
  11550. ("ghc-semigroups" ,ghc-semigroups)
  11551. ("ghc-tagged" ,ghc-tagged)
  11552. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  11553. (native-inputs
  11554. `(("cabal-doctest" ,cabal-doctest)
  11555. ("ghc-doctest" ,ghc-doctest)))
  11556. (home-page "https://github.com/ekmett/semigroupoids")
  11557. (synopsis "Semigroupoids operations for Haskell")
  11558. (description "This library provides a wide array of (semi)groupoids and
  11559. operations for working with them. A @code{Semigroupoid} is a @code{Category}
  11560. without the requirement of identity arrows for every object in the category.
  11561. A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
  11562. Finally, to work with these weaker structures it is beneficial to have
  11563. containers that can provide stronger guarantees about their contents, so
  11564. versions of @code{Traversable} and @code{Foldable} that can be folded with
  11565. just a @code{Semigroup} are added.")
  11566. (license license:bsd-3)))
  11567. (define-public ghc-semigroups
  11568. (package
  11569. (name "ghc-semigroups")
  11570. (version "0.18.5")
  11571. (source
  11572. (origin
  11573. (method url-fetch)
  11574. (uri (string-append
  11575. "https://hackage.haskell.org/package/semigroups/semigroups-"
  11576. version
  11577. ".tar.gz"))
  11578. (sha256
  11579. (base32
  11580. "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
  11581. (build-system haskell-build-system)
  11582. (inputs
  11583. `(("ghc-nats" ,ghc-nats)
  11584. ("ghc-tagged" ,ghc-tagged)
  11585. ("ghc-unordered-containers" ,ghc-unordered-containers)
  11586. ("ghc-hashable" ,ghc-hashable)))
  11587. (home-page "https://github.com/ekmett/semigroups/")
  11588. (synopsis "Semigroup operations for Haskell")
  11589. (description "This package provides semigroups for Haskell. In
  11590. mathematics, a semigroup is an algebraic structure consisting of a set
  11591. together with an associative binary operation. A semigroup generalizes a
  11592. monoid in that there might not exist an identity element. It
  11593. also (originally) generalized a group (a monoid with all inverses) to a type
  11594. where every element did not have to have an inverse, thus the name
  11595. semigroup.")
  11596. (license license:bsd-3)))
  11597. (define-public ghc-semigroups-bootstrap
  11598. (package
  11599. (inherit ghc-semigroups)
  11600. (name "ghc-semigroups-bootstrap")
  11601. (inputs
  11602. `(("ghc-nats" ,ghc-nats-bootstrap)
  11603. ("ghc-tagged" ,ghc-tagged)
  11604. ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
  11605. ("ghc-hashable" ,ghc-hashable-bootstrap)))
  11606. (properties '((hidden? #t)))))
  11607. (define-public ghc-serialise
  11608. (package
  11609. (name "ghc-serialise")
  11610. (version "0.2.1.0")
  11611. (source
  11612. (origin
  11613. (method url-fetch)
  11614. (uri (string-append
  11615. "mirror://hackage/package/serialise/serialise-"
  11616. version
  11617. ".tar.gz"))
  11618. (sha256
  11619. (base32
  11620. "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
  11621. (build-system haskell-build-system)
  11622. (inputs
  11623. `(("ghc-cborg" ,ghc-cborg)
  11624. ("ghc-half" ,ghc-half)
  11625. ("ghc-hashable" ,ghc-hashable)
  11626. ("ghc-primitive" ,ghc-primitive)
  11627. ("ghc-unordered-containers" ,ghc-unordered-containers)
  11628. ("ghc-vector" ,ghc-vector)))
  11629. (native-inputs
  11630. `(("ghc-quickcheck" ,ghc-quickcheck)
  11631. ("ghc-tasty" ,ghc-tasty)
  11632. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  11633. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  11634. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
  11635. (arguments
  11636. `(#:cabal-revision
  11637. ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
  11638. (home-page "https://github.com/well-typed/cborg")
  11639. (synopsis "Binary serialisation library for Haskell values")
  11640. (description
  11641. "This package (formerly binary-serialise-cbor) provides pure,
  11642. efficient serialization of Haskell values directly into ByteStrings for
  11643. storage or transmission purposes. By providing a set of type class instances,
  11644. you can also serialise any custom data type you have as well.
  11645. The underlying binary format used is the 'Concise Binary Object
  11646. Representation', or CBOR, specified in RFC 7049. As a result, serialised
  11647. Haskell values have implicit structure outside of the Haskell program itself,
  11648. meaning they can be inspected or analyzed without custom tools.
  11649. An implementation of the standard bijection between CBOR and JSON is
  11650. provided by the https://hackage.haskell.org/package/cborg-json
  11651. package. Also see https://hackage.haskell.org/package/cbor-tool for a
  11652. convenient command-line utility for working with CBOR data.")
  11653. (license license:bsd-3)))
  11654. (define-public ghc-setenv
  11655. (package
  11656. (name "ghc-setenv")
  11657. (version "0.1.1.3")
  11658. (source
  11659. (origin
  11660. (method url-fetch)
  11661. (uri (string-append
  11662. "https://hackage.haskell.org/package/setenv/setenv-"
  11663. version
  11664. ".tar.gz"))
  11665. (sha256
  11666. (base32
  11667. "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
  11668. (build-system haskell-build-system)
  11669. (home-page "https://hackage.haskell.org/package/setenv")
  11670. (synopsis "Library for setting environment variables")
  11671. (description "This package provides a Haskell library for setting
  11672. environment variables.")
  11673. (license license:expat)))
  11674. (define-public ghc-setlocale
  11675. (package
  11676. (name "ghc-setlocale")
  11677. (version "1.0.0.9")
  11678. (source (origin
  11679. (method url-fetch)
  11680. (uri (string-append
  11681. "https://hackage.haskell.org/package/setlocale-"
  11682. version "/setlocale-" version ".tar.gz"))
  11683. (sha256
  11684. (base32
  11685. "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
  11686. (build-system haskell-build-system)
  11687. (home-page "https://hackage.haskell.org/package/setlocale")
  11688. (synopsis "Haskell bindings to setlocale")
  11689. (description "This package provides Haskell bindings to the
  11690. @code{setlocale} C function.")
  11691. (license license:bsd-3)))
  11692. (define-public ghc-shakespeare
  11693. (package
  11694. (name "ghc-shakespeare")
  11695. (version "2.0.22")
  11696. (source
  11697. (origin
  11698. (method url-fetch)
  11699. (uri (string-append "https://hackage.haskell.org/package/"
  11700. "shakespeare-" version "/"
  11701. "shakespeare-" version ".tar.gz"))
  11702. (sha256
  11703. (base32
  11704. "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
  11705. (build-system haskell-build-system)
  11706. (inputs `(("ghc-aeson" ,ghc-aeson)
  11707. ("ghc-blaze-markup" ,ghc-blaze-markup)
  11708. ("ghc-blaze-html" ,ghc-blaze-html)
  11709. ("ghc-exceptions" ,ghc-exceptions)
  11710. ("ghc-vector" ,ghc-vector)
  11711. ("ghc-unordered-containers" ,ghc-unordered-containers)
  11712. ("ghc-scientific" ,ghc-scientific)))
  11713. (native-inputs `(("ghc-hspec" ,ghc-hspec)
  11714. ("ghc-hunit" ,ghc-hunit)
  11715. ("hspec-discover" ,hspec-discover)))
  11716. (home-page "https://www.yesodweb.com/book/shakespearean-templates")
  11717. (synopsis "Family of type-safe template languages for Haskell")
  11718. (description "This Haskell package provides a family of type-safe
  11719. templates with simple variable interpolation. Shakespeare templates can
  11720. be used inline with a quasi-quoter or in an external file and it
  11721. interpolates variables according to the type being inserted.")
  11722. (license license:expat)))
  11723. (define-public ghc-shelly
  11724. (package
  11725. (name "ghc-shelly")
  11726. (version "1.8.1")
  11727. (source
  11728. (origin
  11729. (method url-fetch)
  11730. (uri (string-append
  11731. "https://hackage.haskell.org/package/shelly/shelly-"
  11732. version ".tar.gz"))
  11733. (sha256
  11734. (base32
  11735. "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
  11736. (build-system haskell-build-system)
  11737. (inputs
  11738. `(("ghc-unix-compat" ,ghc-unix-compat)
  11739. ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
  11740. ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
  11741. ("ghc-monad-control" ,ghc-monad-control)
  11742. ("ghc-lifted-base" ,ghc-lifted-base)
  11743. ("ghc-lifted-async" ,ghc-lifted-async)
  11744. ("ghc-exceptions" ,ghc-exceptions)
  11745. ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
  11746. ("ghc-async" ,ghc-async)
  11747. ("ghc-transformers-base" ,ghc-transformers-base)
  11748. ("ghc-hunit" ,ghc-hunit)
  11749. ("ghc-hspec" ,ghc-hspec)
  11750. ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
  11751. (home-page "https://github.com/yesodweb/Shelly.hs")
  11752. (synopsis "Shell-like (systems) programming in Haskell")
  11753. (description
  11754. "Shelly provides convenient systems programming in Haskell, similar in
  11755. spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
  11756. (license license:bsd-3)))
  11757. (define-public ghc-silently
  11758. (package
  11759. (name "ghc-silently")
  11760. (version "1.2.5.1")
  11761. (source
  11762. (origin
  11763. (method url-fetch)
  11764. (uri (string-append
  11765. "https://hackage.haskell.org/package/silently/silently-"
  11766. version
  11767. ".tar.gz"))
  11768. (sha256
  11769. (base32
  11770. "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
  11771. (build-system haskell-build-system)
  11772. (arguments `(#:tests? #f)) ;; circular dependency with nanospec
  11773. ;; (inputs
  11774. ;; `(("ghc-temporary" ,ghc-temporary)))
  11775. (home-page "https://github.com/hspec/silently")
  11776. (synopsis "Prevent writing to stdout")
  11777. (description "This package provides functions to prevent or capture
  11778. writing to stdout and other handles.")
  11779. (license license:bsd-3)))
  11780. (define-public ghc-simple-reflect
  11781. (package
  11782. (name "ghc-simple-reflect")
  11783. (version "0.3.3")
  11784. (source
  11785. (origin
  11786. (method url-fetch)
  11787. (uri (string-append
  11788. "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
  11789. version
  11790. ".tar.gz"))
  11791. (sha256
  11792. (base32
  11793. "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
  11794. (build-system haskell-build-system)
  11795. (home-page
  11796. "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
  11797. (synopsis
  11798. "Simple reflection of expressions containing variables")
  11799. (description
  11800. "This package allows simple reflection of expressions containing
  11801. variables. Reflection here means that a Haskell expression is turned into a
  11802. string. The primary aim of this package is teaching and understanding; there
  11803. are no options for manipulating the reflected expressions beyond showing
  11804. them.")
  11805. (license license:bsd-3)))
  11806. (define-public ghc-simple-sendfile
  11807. (package
  11808. (name "ghc-simple-sendfile")
  11809. (version "0.2.30")
  11810. (source
  11811. (origin
  11812. (method url-fetch)
  11813. (uri (string-append "https://hackage.haskell.org/package/"
  11814. "simple-sendfile-" version "/"
  11815. "simple-sendfile-" version ".tar.gz"))
  11816. (sha256
  11817. (base32
  11818. "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
  11819. (build-system haskell-build-system)
  11820. (inputs
  11821. `(("ghc-conduit" ,ghc-conduit)
  11822. ("ghc-conduit-extra" ,ghc-conduit-extra)
  11823. ("ghc-network" ,ghc-network)
  11824. ("ghc-resourcet" ,ghc-resourcet)))
  11825. (native-inputs
  11826. `(("ghc-hspec" ,ghc-hspec)
  11827. ("hspec-discover" ,hspec-discover)))
  11828. (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
  11829. (synopsis "Cross platform library for the sendfile system call")
  11830. (description "This library tries to call minimum system calls which
  11831. are the bottleneck of web servers.")
  11832. (license license:bsd-3)))
  11833. (define-public ghc-size-based
  11834. (package
  11835. (name "ghc-size-based")
  11836. (version "0.1.2.0")
  11837. (source
  11838. (origin
  11839. (method url-fetch)
  11840. (uri (string-append "https://hackage.haskell.org/package/"
  11841. "size-based/size-based-" version ".tar.gz"))
  11842. (sha256
  11843. (base32
  11844. "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
  11845. (build-system haskell-build-system)
  11846. (inputs
  11847. `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
  11848. ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
  11849. ("ghc-semigroups" ,ghc-semigroups)))
  11850. (arguments
  11851. `(#:cabal-revision
  11852. ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
  11853. (home-page "https://hackage.haskell.org/package/size-based")
  11854. (synopsis "Sized functors for size-based enumerations")
  11855. (description "This library provides a framework for size-based
  11856. enumerations.")
  11857. (license license:bsd-3)))
  11858. (define-public ghc-skylighting-core
  11859. (package
  11860. (name "ghc-skylighting-core")
  11861. (version "0.8.2.1")
  11862. (source (origin
  11863. (method url-fetch)
  11864. (uri (string-append "https://hackage.haskell.org/package/"
  11865. "skylighting-core/skylighting-core-"
  11866. version ".tar.gz"))
  11867. (sha256
  11868. (base32
  11869. "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
  11870. (build-system haskell-build-system)
  11871. (inputs
  11872. `(("ghc-aeson" ,ghc-aeson)
  11873. ("ghc-ansi-terminal" ,ghc-ansi-terminal)
  11874. ("ghc-attoparsec" ,ghc-attoparsec)
  11875. ("ghc-base64-bytestring" ,ghc-base64-bytestring)
  11876. ("ghc-blaze-html" ,ghc-blaze-html)
  11877. ("ghc-case-insensitive" ,ghc-case-insensitive)
  11878. ("ghc-colour" ,ghc-colour)
  11879. ("ghc-hxt" ,ghc-hxt)
  11880. ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
  11881. ("ghc-safe" ,ghc-safe)
  11882. ("ghc-utf8-string" ,ghc-utf8-string)))
  11883. (native-inputs
  11884. `(("ghc-diff" ,ghc-diff)
  11885. ("ghc-hunit" ,ghc-hunit)
  11886. ("ghc-pretty-show" ,ghc-pretty-show)
  11887. ("ghc-quickcheck" ,ghc-quickcheck)
  11888. ("ghc-tasty" ,ghc-tasty)
  11889. ("ghc-tasty-golden" ,ghc-tasty-golden)
  11890. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  11891. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  11892. (home-page "https://github.com/jgm/skylighting")
  11893. (synopsis "Syntax highlighting library")
  11894. (description "Skylighting is a syntax highlighting library with support
  11895. for over one hundred languages. It derives its tokenizers from XML syntax
  11896. definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
  11897. supported by that framework can be added. An optional command-line program is
  11898. provided. Skylighting is intended to be the successor to highlighting-kate.")
  11899. (license license:gpl2)))
  11900. (define-public ghc-skylighting
  11901. (package
  11902. (inherit ghc-skylighting-core)
  11903. (name "ghc-skylighting")
  11904. (version "0.8.2.1")
  11905. (source (origin
  11906. (method url-fetch)
  11907. (uri (string-append "https://hackage.haskell.org/package/skylighting-"
  11908. version "/skylighting-" version ".tar.gz"))
  11909. (sha256
  11910. (base32
  11911. "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
  11912. (inputs
  11913. `(("ghc-skylighting-core" ,ghc-skylighting-core)
  11914. ,@(package-inputs ghc-skylighting-core)))))
  11915. (define-public ghc-smallcheck
  11916. (package
  11917. (name "ghc-smallcheck")
  11918. (version "1.1.5")
  11919. (source
  11920. (origin
  11921. (method url-fetch)
  11922. (uri (string-append
  11923. "https://hackage.haskell.org/package/smallcheck/smallcheck-"
  11924. version
  11925. ".tar.gz"))
  11926. (sha256
  11927. (base32
  11928. "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
  11929. (build-system haskell-build-system)
  11930. (inputs
  11931. `(("ghc-logict" ,ghc-logict)))
  11932. (home-page
  11933. "https://github.com/feuerbach/smallcheck")
  11934. (synopsis "Property-based testing library")
  11935. (description "SmallCheck is a testing library that verifies
  11936. properties for all test cases up to some depth. The test cases are generated
  11937. automatically by SmallCheck.")
  11938. (license license:bsd-3)))
  11939. (define-public ghc-socks
  11940. (package
  11941. (name "ghc-socks")
  11942. (version "0.6.1")
  11943. (source (origin
  11944. (method url-fetch)
  11945. (uri (string-append "https://hackage.haskell.org/package/"
  11946. "socks/socks-" version ".tar.gz"))
  11947. (sha256
  11948. (base32
  11949. "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
  11950. (build-system haskell-build-system)
  11951. (inputs
  11952. `(("ghc-cereal" ,ghc-cereal)
  11953. ("ghc-basement" ,ghc-basement)
  11954. ("ghc-network" ,ghc-network)))
  11955. (home-page "https://github.com/vincenthz/hs-socks")
  11956. (synopsis "SOCKS proxy (version 5) implementation")
  11957. (description
  11958. "This library provides a SOCKS proxy (version 5) implementation.")
  11959. (license license:bsd-3)))
  11960. (define-public ghc-sop-core
  11961. (package
  11962. (name "ghc-sop-core")
  11963. (version "0.4.0.0")
  11964. (source
  11965. (origin
  11966. (method url-fetch)
  11967. (uri (string-append "https://hackage.haskell.org/package/"
  11968. "sop-core/sop-core-" version ".tar.gz"))
  11969. (sha256
  11970. (base32
  11971. "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
  11972. (build-system haskell-build-system)
  11973. (home-page "https://hackage.haskell.org/package/sop-core")
  11974. (synopsis "True Sums of Products")
  11975. (description "This package provides an implementation of
  11976. @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
  11977. is the main module of this library and contains more detailed
  11978. documentation. The main use case of this package is to serve as the
  11979. core of @url{https://hackage.haskell.org/package/generics-sop,
  11980. generics-sop}.")
  11981. (license license:bsd-3)))
  11982. (define-public ghc-special-values
  11983. (package
  11984. (name "ghc-special-values")
  11985. (version "0.1.0.0")
  11986. (source
  11987. (origin
  11988. (method url-fetch)
  11989. (uri (string-append
  11990. "https://hackage.haskell.org/package/special-values/"
  11991. "special-values-" version ".tar.gz"))
  11992. (sha256
  11993. (base32
  11994. "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
  11995. (build-system haskell-build-system)
  11996. (inputs
  11997. `(("ghc-scientific" ,ghc-scientific)
  11998. ("ghc-ieee754" ,ghc-ieee754)
  11999. ("ghc-nats" ,ghc-nats)))
  12000. (home-page
  12001. "https://github.com/minad/special-values#readme")
  12002. (synopsis "Typeclass providing special values")
  12003. (description
  12004. "Special values are provided by a SpecialValues typeclass. Those can be
  12005. used for example by QuickCheck, see quickcheck-special." )
  12006. (license license:expat)))
  12007. (define-public ghc-split
  12008. (package
  12009. (name "ghc-split")
  12010. (version "0.2.3.3")
  12011. (outputs '("out" "static" "doc"))
  12012. (source
  12013. (origin
  12014. (method url-fetch)
  12015. (uri (string-append
  12016. "https://hackage.haskell.org/package/split/split-"
  12017. version
  12018. ".tar.gz"))
  12019. (sha256
  12020. (base32
  12021. "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
  12022. (build-system haskell-build-system)
  12023. (arguments
  12024. `(#:cabal-revision
  12025. ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
  12026. (native-inputs
  12027. `(("ghc-quickcheck" ,ghc-quickcheck)))
  12028. (home-page "https://hackage.haskell.org/package/split")
  12029. (synopsis "Combinator library for splitting lists")
  12030. (description "This package provides a collection of Haskell functions for
  12031. splitting lists into parts, akin to the @code{split} function found in several
  12032. mainstream languages.")
  12033. (license license:bsd-3)))
  12034. (define-public ghc-splitmix
  12035. (package
  12036. (name "ghc-splitmix")
  12037. (version "0.0.3")
  12038. (source
  12039. (origin
  12040. (method url-fetch)
  12041. (uri (string-append "https://hackage.haskell.org/package/"
  12042. "splitmix/splitmix-" version ".tar.gz"))
  12043. (sha256
  12044. (base32
  12045. "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
  12046. (build-system haskell-build-system)
  12047. (inputs
  12048. `(("ghc-random" ,ghc-random)))
  12049. (native-inputs
  12050. `(("ghc-hunit" ,ghc-hunit)
  12051. ("ghc-async" ,ghc-async)
  12052. ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
  12053. ("ghc-tf-random" ,ghc-tf-random)
  12054. ("ghc-vector" ,ghc-vector)))
  12055. (home-page "https://hackage.haskell.org/package/splitmix")
  12056. (synopsis "Fast and splittable pseudorandom number generator")
  12057. (description "This package provides a Pure Haskell implementation of the
  12058. SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
  12059. pseudorandom number generator that is quite fast: 9 64-bit
  12060. arithmetic/logical operations per 64 bits generated. SplitMix is tested
  12061. with two standard statistical test suites (DieHarder and TestU01, this
  12062. implementation only using the former) and it appears to be adequate for
  12063. \"everyday\" use, such as Monte Carlo algorithms and randomized data
  12064. structures where speed is important. In particular, it @strong{should not
  12065. be used for cryptographic or security applications}, because generated
  12066. sequences of pseudorandom values are too predictable (the mixing functions
  12067. are easily inverted, and two successive outputs suffice to reconstruct the
  12068. internal state).")
  12069. (license license:bsd-3)))
  12070. (define-public ghc-splitmix-bootstrap
  12071. (package
  12072. (inherit ghc-splitmix)
  12073. (name "ghc-splitmix-bootstrap")
  12074. (arguments `(#:tests? #f))
  12075. (native-inputs '())
  12076. (properties '((hidden? #t)))))
  12077. (define-public ghc-spoon
  12078. (package
  12079. (name "ghc-spoon")
  12080. (version "0.3.1")
  12081. (source
  12082. (origin
  12083. (method url-fetch)
  12084. (uri (string-append
  12085. "https://hackage.haskell.org/package/spoon/spoon-"
  12086. version
  12087. ".tar.gz"))
  12088. (sha256
  12089. (base32
  12090. "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
  12091. (build-system haskell-build-system)
  12092. (arguments
  12093. `(#:cabal-revision
  12094. ("1"
  12095. "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
  12096. (home-page
  12097. "http://hackage.haskell.org/package/spoon")
  12098. (synopsis
  12099. "Catch errors thrown from pure computations")
  12100. (description
  12101. "Takes an error-throwing expression and puts it back in the Maybe it
  12102. belongs in.
  12103. Note that this suffers from the
  12104. @url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
  12105. (license license:bsd-3)))
  12106. (define-public ghc-statevar
  12107. (package
  12108. (name "ghc-statevar")
  12109. (version "1.2")
  12110. (source
  12111. (origin
  12112. (method url-fetch)
  12113. (uri (string-append
  12114. "https://hackage.haskell.org/package/StateVar/StateVar-"
  12115. version
  12116. ".tar.gz"))
  12117. (sha256
  12118. (base32
  12119. "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
  12120. (build-system haskell-build-system)
  12121. (home-page "https://hackage.haskell.org/package/StateVar")
  12122. (synopsis "State variables for Haskell")
  12123. (description "This package provides state variables, which are references
  12124. in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
  12125. (license license:bsd-3)))
  12126. (define-public ghc-statistics
  12127. (package
  12128. (name "ghc-statistics")
  12129. (version "0.15.1.1")
  12130. (source
  12131. (origin
  12132. (method url-fetch)
  12133. (uri (string-append "https://hackage.haskell.org/package/"
  12134. "statistics-" version "/"
  12135. "statistics-" version ".tar.gz"))
  12136. (sha256
  12137. (base32
  12138. "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
  12139. (build-system haskell-build-system)
  12140. (arguments
  12141. '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
  12142. #:tests? #f))
  12143. (inputs
  12144. `(("ghc-aeson" ,ghc-aeson)
  12145. ("ghc-async" ,ghc-async)
  12146. ("ghc-base-orphans" ,ghc-base-orphans)
  12147. ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
  12148. ("ghc-math-functions" ,ghc-math-functions)
  12149. ("ghc-monad-par" ,ghc-monad-par)
  12150. ("ghc-mwc-random" ,ghc-mwc-random)
  12151. ("ghc-primitive" ,ghc-primitive)
  12152. ("ghc-vector" ,ghc-vector)
  12153. ("ghc-vector-algorithms" ,ghc-vector-algorithms)
  12154. ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
  12155. ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
  12156. (native-inputs
  12157. `(("ghc-hunit" ,ghc-hunit)
  12158. ("ghc-quickcheck" ,ghc-quickcheck)
  12159. ("ghc-ieee754" ,ghc-ieee754)
  12160. ("ghc-test-framework" ,ghc-test-framework)
  12161. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  12162. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  12163. (home-page "https://github.com/bos/mwc-random")
  12164. (synopsis "Haskell library of statistical types, data, and functions")
  12165. (description "This library provides a number of common functions
  12166. and types useful in statistics. We focus on high performance, numerical
  12167. robustness, and use of good algorithms. Where possible, we provide references
  12168. to the statistical literature.
  12169. The library's facilities can be divided into four broad categories:
  12170. @itemize
  12171. @item Working with widely used discrete and continuous probability
  12172. distributions. (There are dozens of exotic distributions in use; we focus
  12173. on the most common.)
  12174. @item Computing with sample data: quantile estimation, kernel density
  12175. estimation, histograms, bootstrap methods, significance testing,
  12176. and regression and autocorrelation analysis.
  12177. @item Random variate generation under several different distributions.
  12178. @item Common statistical tests for significant differences between samples.
  12179. @end itemize")
  12180. (license license:bsd-2)))
  12181. (define-public ghc-stm-chans
  12182. (package
  12183. (name "ghc-stm-chans")
  12184. (version "3.0.0.4")
  12185. (source
  12186. (origin
  12187. (method url-fetch)
  12188. (uri (string-append "https://hackage.haskell.org/package/"
  12189. "stm-chans-" version "/"
  12190. "stm-chans-" version ".tar.gz"))
  12191. (sha256
  12192. (base32
  12193. "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
  12194. (build-system haskell-build-system)
  12195. (home-page "https://hackage.haskell.org/package/stm-chans")
  12196. (synopsis "Additional types of channels for ghc-stm")
  12197. (description "This Haskell package offers a collection of channel types,
  12198. similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
  12199. features.")
  12200. (license license:bsd-3)))
  12201. (define-public ghc-stm-conduit
  12202. (package
  12203. (name "ghc-stm-conduit")
  12204. (version "4.0.1")
  12205. (source
  12206. (origin
  12207. (method url-fetch)
  12208. (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
  12209. "stm-conduit-" version ".tar.gz"))
  12210. (sha256
  12211. (base32
  12212. "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
  12213. (build-system haskell-build-system)
  12214. (inputs
  12215. `(("ghc-stm-chans" ,ghc-stm-chans)
  12216. ("ghc-cereal" ,ghc-cereal)
  12217. ("ghc-cereal-conduit" ,ghc-cereal-conduit)
  12218. ("ghc-conduit" ,ghc-conduit)
  12219. ("ghc-conduit-extra" ,ghc-conduit-extra)
  12220. ("ghc-exceptions" ,ghc-exceptions)
  12221. ("ghc-resourcet" ,ghc-resourcet)
  12222. ("ghc-async" ,ghc-async)
  12223. ("ghc-monad-loops" ,ghc-monad-loops)
  12224. ("ghc-unliftio" ,ghc-unliftio)))
  12225. (native-inputs
  12226. `(("ghc-doctest" ,ghc-doctest)
  12227. ("ghc-quickcheck" ,ghc-quickcheck)
  12228. ("ghc-hunit" ,ghc-hunit)
  12229. ("ghc-test-framework" ,ghc-test-framework)
  12230. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  12231. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  12232. (home-page "https://github.com/cgaebel/stm-conduit")
  12233. (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
  12234. (description
  12235. "This package provides two simple conduit wrappers around STM channels: a
  12236. source and a sink.")
  12237. (license license:bsd-3)))
  12238. (define-public ghc-stmonadtrans
  12239. (package
  12240. (name "ghc-stmonadtrans")
  12241. (version "0.4.3")
  12242. (source
  12243. (origin
  12244. (method url-fetch)
  12245. (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
  12246. "/STMonadTrans-" version ".tar.gz"))
  12247. (sha256
  12248. (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
  12249. (build-system haskell-build-system)
  12250. (home-page "https://hackage.haskell.org/package/STMonadTrans")
  12251. (synopsis "Monad transformer version of the ST monad")
  12252. (description
  12253. "This package provides a monad transformer version of the @code{ST} monad
  12254. for strict state threads.")
  12255. (license license:bsd-3)))
  12256. (define-public ghc-storable-complex
  12257. (package
  12258. (name "ghc-storable-complex")
  12259. (version "0.2.3.0")
  12260. (source
  12261. (origin
  12262. (method url-fetch)
  12263. (uri (string-append
  12264. "https://hackage.haskell.org/package/storable-complex/storable-complex-"
  12265. version ".tar.gz"))
  12266. (sha256
  12267. (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
  12268. (build-system haskell-build-system)
  12269. (inputs
  12270. `(("ghc-base-orphans" ,ghc-base-orphans)))
  12271. (home-page "https://github.com/cartazio/storable-complex")
  12272. (synopsis "Haskell Storable instance for Complex")
  12273. (description "This package provides a Haskell library including a
  12274. Storable instance for Complex which is binary compatible with C99, C++
  12275. and Fortran complex data types.")
  12276. (license license:bsd-3)))
  12277. (define-public ghc-storable-record
  12278. (package
  12279. (name "ghc-storable-record")
  12280. (version "0.0.4")
  12281. (source
  12282. (origin
  12283. (method url-fetch)
  12284. (uri
  12285. (string-append
  12286. "https://hackage.haskell.org/package/storable-record/"
  12287. "storable-record-" version ".tar.gz"))
  12288. (sha256
  12289. (base32
  12290. "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
  12291. (build-system haskell-build-system)
  12292. (inputs
  12293. `(("ghc-semigroups" ,ghc-semigroups)
  12294. ("ghc-utility-ht" ,ghc-utility-ht)
  12295. ("ghc-storablevector" ,ghc-storablevector)
  12296. ("ghc-timeit" ,ghc-timeit)))
  12297. (home-page "https://hackage.haskell.org/package/storable-record")
  12298. (synopsis "Elegant definition of Storable instances for records")
  12299. (description "With this package you can build a Storable instance of
  12300. a record type from Storable instances of its elements in an elegant way.
  12301. It does not do any magic, just a bit arithmetic to compute the right
  12302. offsets, that would be otherwise done manually or by a preprocessor like
  12303. C2HS. There is no guarantee that the generated memory layout is
  12304. compatible with that of a corresponding C struct. However, the module
  12305. generates the smallest layout that is possible with respect to the
  12306. alignment of the record elements.")
  12307. (license license:bsd-3)))
  12308. (define-public ghc-storable-tuple
  12309. (package
  12310. (name "ghc-storable-tuple")
  12311. (version "0.0.3.3")
  12312. (source
  12313. (origin
  12314. (method url-fetch)
  12315. (uri
  12316. (string-append
  12317. "https://hackage.haskell.org/package/storable-tuple/"
  12318. "storable-tuple-" version ".tar.gz"))
  12319. (sha256
  12320. (base32
  12321. "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
  12322. (build-system haskell-build-system)
  12323. (inputs
  12324. `(("ghc-storable-record" ,ghc-storable-record)
  12325. ("ghc-utility-ht" ,ghc-utility-ht)
  12326. ("ghc-base-orphans" ,ghc-base-orphans)))
  12327. (home-page "https://hackage.haskell.org/package/storable-tuple")
  12328. (synopsis "Storable instance for pairs and triples")
  12329. (description "This package provides a Storable instance for pairs
  12330. and triples which should be binary compatible with C99 and C++. The
  12331. only purpose of this package is to provide a standard location for this
  12332. instance so that other packages needing this instance can play nicely
  12333. together.")
  12334. (license license:bsd-3)))
  12335. (define-public ghc-storablevector
  12336. (package
  12337. (name "ghc-storablevector")
  12338. (version "0.2.13")
  12339. (source
  12340. (origin
  12341. (method url-fetch)
  12342. (uri
  12343. (string-append
  12344. "https://hackage.haskell.org/package/storablevector/storablevector-"
  12345. version ".tar.gz"))
  12346. (sha256
  12347. (base32
  12348. "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
  12349. (build-system haskell-build-system)
  12350. (inputs
  12351. `(("ghc-non-negative" ,ghc-non-negative)
  12352. ("ghc-utility-ht" ,ghc-utility-ht)
  12353. ("ghc-semigroups" ,ghc-semigroups)
  12354. ("ghc-unsafe" ,ghc-unsafe)
  12355. ("ghc-quickcheck" ,ghc-quickcheck)
  12356. ("ghc-syb" ,ghc-syb)))
  12357. (home-page "https://wiki.haskell.org/Storable_Vector")
  12358. (synopsis "Fast, packed, strict storable arrays with a list interface")
  12359. (description "This library provides fast, packed, strict storable
  12360. arrays with a list interface, a chunky lazy list interface with variable
  12361. chunk size and an interface for write access via the ST monad. This is
  12362. much like bytestring and binary but can be used for every
  12363. @code{Foreign.Storable.Storable} type. See also
  12364. @url{http://hackage.haskell.org/package/vector}, a library with a
  12365. similar intention.
  12366. This library does not do advanced fusion optimization, since especially
  12367. for lazy vectors this would either be incorrect or not applicable. See
  12368. @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
  12369. a library that provides fusion with lazy lists.")
  12370. (license license:bsd-3)))
  12371. (define-public ghc-streaming-commons
  12372. (package
  12373. (name "ghc-streaming-commons")
  12374. (version "0.2.1.1")
  12375. (source
  12376. (origin
  12377. (method url-fetch)
  12378. (uri (string-append "https://hackage.haskell.org/package/"
  12379. "streaming-commons/streaming-commons-"
  12380. version ".tar.gz"))
  12381. (sha256
  12382. (base32
  12383. "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
  12384. (build-system haskell-build-system)
  12385. (inputs
  12386. `(("ghc-async" ,ghc-async)
  12387. ("ghc-blaze-builder" ,ghc-blaze-builder)
  12388. ("ghc-network" ,ghc-network)
  12389. ("ghc-random" ,ghc-random)
  12390. ("ghc-zlib" ,ghc-zlib)))
  12391. (native-inputs
  12392. `(("ghc-quickcheck" ,ghc-quickcheck)
  12393. ("ghc-hspec" ,ghc-hspec)
  12394. ("hspec-discover" ,hspec-discover)))
  12395. (home-page "https://hackage.haskell.org/package/streaming-commons")
  12396. (synopsis "Conduit and pipes needed by some streaming data libraries")
  12397. (description "This package provides low-dependency functionality commonly
  12398. needed by various Haskell streaming data libraries, such as @code{conduit} and
  12399. @code{pipe}s.")
  12400. (license license:expat)))
  12401. (define-public ghc-strict
  12402. (package
  12403. (name "ghc-strict")
  12404. (version "0.3.2")
  12405. (source
  12406. (origin
  12407. (method url-fetch)
  12408. (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
  12409. version ".tar.gz"))
  12410. (sha256
  12411. (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
  12412. (build-system haskell-build-system)
  12413. (home-page "https://hackage.haskell.org/package/strict")
  12414. (synopsis "Strict data types and String IO")
  12415. (description
  12416. "This package provides strict versions of some standard Haskell data
  12417. types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
  12418. IO operations.")
  12419. (license license:bsd-3)))
  12420. (define-public ghc-stringbuilder
  12421. (package
  12422. (name "ghc-stringbuilder")
  12423. (version "0.5.1")
  12424. (source
  12425. (origin
  12426. (method url-fetch)
  12427. (uri (string-append
  12428. "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
  12429. version
  12430. ".tar.gz"))
  12431. (sha256
  12432. (base32
  12433. "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
  12434. (build-system haskell-build-system)
  12435. (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
  12436. ; enabled
  12437. (home-page "https://hackage.haskell.org/package/stringbuilder")
  12438. (synopsis "Writer monad for multi-line string literals")
  12439. (description "This package provides a writer monad for multi-line string
  12440. literals.")
  12441. (license license:expat)))
  12442. (define-public ghc-string-qq
  12443. (package
  12444. (name "ghc-string-qq")
  12445. (version "0.0.4")
  12446. (source
  12447. (origin
  12448. (method url-fetch)
  12449. (uri (string-append
  12450. "https://hackage.haskell.org/package/string-qq/string-qq-"
  12451. version
  12452. ".tar.gz"))
  12453. (sha256
  12454. (base32
  12455. "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
  12456. (build-system haskell-build-system)
  12457. (native-inputs
  12458. `(("ghc-hunit" ,ghc-hunit)))
  12459. (home-page "https://hackage.haskell.org/package/string-qq")
  12460. (synopsis
  12461. "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
  12462. (description
  12463. "This package provides a quasiquoter for non-interpolated strings, texts
  12464. and bytestrings.")
  12465. (license license:public-domain)))
  12466. (define-public ghc-stringsearch
  12467. (package
  12468. (name "ghc-stringsearch")
  12469. (version "0.3.6.6")
  12470. (source
  12471. (origin
  12472. (method url-fetch)
  12473. (uri (string-append
  12474. "https://hackage.haskell.org/package/stringsearch/stringsearch-"
  12475. version
  12476. ".tar.gz"))
  12477. (sha256
  12478. (base32
  12479. "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
  12480. (build-system haskell-build-system)
  12481. (arguments
  12482. `(#:cabal-revision
  12483. ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
  12484. (home-page "https://bitbucket.org/dafis/stringsearch")
  12485. (synopsis "Fast searching, splitting and replacing of ByteStrings")
  12486. (description "This package provides several functions to quickly search
  12487. for substrings in strict or lazy @code{ByteStrings}. It also provides
  12488. functions for breaking or splitting on substrings and replacing all
  12489. occurrences of a substring (the first in case of overlaps) with another.")
  12490. (license license:bsd-3)))
  12491. (define-public ghc-svg-builder
  12492. (package
  12493. (name "ghc-svg-builder")
  12494. (version "0.1.1")
  12495. (source
  12496. (origin
  12497. (method url-fetch)
  12498. (uri (string-append "https://hackage.haskell.org/package/"
  12499. "svg-builder/svg-builder-" version ".tar.gz"))
  12500. (sha256
  12501. (base32
  12502. "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
  12503. (build-system haskell-build-system)
  12504. (inputs
  12505. `(("ghc-blaze-builder" ,ghc-blaze-builder)
  12506. ("ghc-hashable" ,ghc-hashable)
  12507. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  12508. (arguments
  12509. `(#:cabal-revision
  12510. ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
  12511. (home-page "https://github.com/diagrams/svg-builder.git")
  12512. (synopsis "Domain-specific language for building Scalable Vector Graphics")
  12513. (description "Easy-to-write domain-specific language (DSL) for
  12514. building Scalable Vector Graphics (SVG).")
  12515. (license license:bsd-3)))
  12516. (define-public ghc-syb
  12517. (package
  12518. (name "ghc-syb")
  12519. (version "0.7.1")
  12520. (outputs '("out" "static" "doc"))
  12521. (source
  12522. (origin
  12523. (method url-fetch)
  12524. (uri (string-append
  12525. "https://hackage.haskell.org/package/syb/syb-"
  12526. version
  12527. ".tar.gz"))
  12528. (sha256
  12529. (base32
  12530. "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
  12531. (build-system haskell-build-system)
  12532. (inputs
  12533. `(("ghc-hunit" ,ghc-hunit)))
  12534. (home-page
  12535. "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
  12536. (synopsis "Scrap Your Boilerplate")
  12537. (description "This package contains the generics system described in the
  12538. /Scrap Your Boilerplate/ papers (see
  12539. @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
  12540. defines the @code{Data} class of types permitting folding and unfolding of
  12541. constructor applications, instances of this class for primitive types, and a
  12542. variety of traversals.")
  12543. (license license:bsd-3)))
  12544. (define-public ghc-system-fileio
  12545. (package
  12546. (name "ghc-system-fileio")
  12547. (version "0.3.16.4")
  12548. (source
  12549. (origin
  12550. (method url-fetch)
  12551. (uri (string-append
  12552. "https://hackage.haskell.org/package/system-fileio/system-fileio-"
  12553. version ".tar.gz"))
  12554. (sha256
  12555. (base32
  12556. "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
  12557. (build-system haskell-build-system)
  12558. (arguments
  12559. `(#:phases
  12560. (modify-phases %standard-phases
  12561. (add-before 'configure 'update-constraints
  12562. (lambda _
  12563. (substitute* "system-fileio.cabal"
  12564. (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
  12565. #t)))))
  12566. (inputs
  12567. `(("ghc-system-filepath" ,ghc-system-filepath)
  12568. ("ghc-chell" ,ghc-chell)
  12569. ("ghc-temporary" ,ghc-temporary)))
  12570. (home-page "https://github.com/fpco/haskell-filesystem")
  12571. (synopsis "Consistent file system interaction across GHC versions")
  12572. (description
  12573. "This is a small wrapper around the directory, unix, and Win32 packages,
  12574. for use with system-filepath. It provides a consistent API to the various
  12575. versions of these packages distributed with different versions of GHC.
  12576. In particular, this library supports working with POSIX files that have paths
  12577. which can't be decoded in the current locale encoding.")
  12578. (license license:expat)))
  12579. ;; See ghc-system-filepath-bootstrap. In addition this package depends on
  12580. ;; ghc-system-filepath.
  12581. (define ghc-system-fileio-bootstrap
  12582. (package
  12583. (name "ghc-system-fileio-bootstrap")
  12584. (version "0.3.16.3")
  12585. (source
  12586. (origin
  12587. (method url-fetch)
  12588. (uri (string-append
  12589. "https://hackage.haskell.org/package/system-fileio/system-fileio-"
  12590. version ".tar.gz"))
  12591. (sha256
  12592. (base32
  12593. "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
  12594. (build-system haskell-build-system)
  12595. (arguments
  12596. `(#:tests? #f))
  12597. (inputs
  12598. `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
  12599. ("ghc-temporary" ,ghc-temporary)))
  12600. (home-page "https://github.com/fpco/haskell-filesystem")
  12601. (synopsis "Consistent file system interaction across GHC versions")
  12602. (description
  12603. "This is a small wrapper around the directory, unix, and Win32 packages,
  12604. for use with system-filepath. It provides a consistent API to the various
  12605. versions of these packages distributed with different versions of GHC.
  12606. In particular, this library supports working with POSIX files that have paths
  12607. which can't be decoded in the current locale encoding.")
  12608. (license license:expat)))
  12609. (define-public ghc-system-filepath
  12610. (package
  12611. (name "ghc-system-filepath")
  12612. (version "0.4.14")
  12613. (source
  12614. (origin
  12615. (method url-fetch)
  12616. (uri (string-append
  12617. "https://hackage.haskell.org/package/system-filepath/system-filepath-"
  12618. version ".tar.gz"))
  12619. (sha256
  12620. (base32
  12621. "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
  12622. (build-system haskell-build-system)
  12623. ;; FIXME: One of the tests fails:
  12624. ;; [ FAIL ] tests.validity.posix
  12625. ;; note: seed=7310214548328823169
  12626. ;; *** Failed! Falsifiable (after 24 tests):
  12627. ;; FilePath "/r2\ENQ52\t ;$/o\US=/okG\146\&6\n<u\DC3/5\182\223a\DELN\EOT#\NUL/`[m/\USEKV\ETX([)b6/\ACK\SOo\245\ETBO/f\128\STX`|\EM\"/*\EMA\USD3/\143\&4/\CAN?\SUBee\CANR/9/B0\187Kx4/Vqr\232'b:/\a\234\DLE.\"\179/\ENQ{J/|/G)@^\237/\219ml/\DC3pd\ESC"
  12628. (arguments `(#:tests? #f))
  12629. (inputs
  12630. `(("ghc-chell" ,ghc-chell)
  12631. ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
  12632. ("ghc-quickcheck" ,ghc-quickcheck)))
  12633. (home-page "https://github.com/fpco/haskell-filesystem")
  12634. (synopsis "High-level, byte-based file and directory path manipulations")
  12635. (description
  12636. "Provides a FilePath datatype and utility functions for operating on it.
  12637. Unlike the filepath package, this package does not simply reuse String,
  12638. increasing type safety.")
  12639. (license license:expat)))
  12640. ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
  12641. ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
  12642. ;; which depends on ghc-chell and ghc-chell-quickcheck.
  12643. ;; Therefore we bootstrap it with tests disabled.
  12644. (define ghc-system-filepath-bootstrap
  12645. (package
  12646. (name "ghc-system-filepath-bootstrap")
  12647. (version "0.4.14")
  12648. (source
  12649. (origin
  12650. (method url-fetch)
  12651. (uri (string-append
  12652. "https://hackage.haskell.org/package/system-filepath/system-filepath-"
  12653. version ".tar.gz"))
  12654. (sha256
  12655. (base32
  12656. "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
  12657. (build-system haskell-build-system)
  12658. (arguments
  12659. `(#:tests? #f))
  12660. (inputs
  12661. `(("ghc-quickcheck" ,ghc-quickcheck)))
  12662. (home-page "https://github.com/fpco/haskell-filesystem")
  12663. (synopsis "High-level, byte-based file and directory path manipulations")
  12664. (description
  12665. "Provides a FilePath datatype and utility functions for operating on it.
  12666. Unlike the filepath package, this package does not simply reuse String,
  12667. increasing type safety.")
  12668. (license license:expat)))
  12669. (define-public ghc-tabular
  12670. (package
  12671. (name "ghc-tabular")
  12672. (version "0.2.2.7")
  12673. (source
  12674. (origin
  12675. (method url-fetch)
  12676. (uri (string-append
  12677. "https://hackage.haskell.org/package/tabular/tabular-"
  12678. version
  12679. ".tar.gz"))
  12680. (sha256
  12681. (base32
  12682. "1ysgq7rrks7f98nnvxil8xz1q27hxdgz4szbjhqwzbwd209dmy0k"))))
  12683. (build-system haskell-build-system)
  12684. (inputs
  12685. `(("ghc-csv" ,ghc-csv)
  12686. ("ghc-html" ,ghc-html)))
  12687. (home-page "https://github.com/bgamari/tabular")
  12688. (synopsis "Two-dimensional data tables with rendering functions")
  12689. (description
  12690. "Tabular provides a Haskell representation of two-dimensional data
  12691. tables, the kind that you might find in a spreadsheet or or a research report.
  12692. It also comes with some default rendering functions for turning those tables
  12693. into ASCII art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX.
  12694. Below is an example of the kind of output this library produces. The tabular
  12695. package can group rows and columns, each group having one of three
  12696. separators (no line, single line, double line) between its members.
  12697. @example
  12698. || memtest 1 | memtest 2 || time test | time test 2
  12699. ====++===========+===========++=============+============
  12700. A 1 || hog | terrible || slow | slower
  12701. A 2 || pig | not bad || fast | slowest
  12702. ----++-----------+-----------++-------------+------------
  12703. B 1 || good | awful || intolerable | bearable
  12704. B 2 || better | no chance || crawling | amazing
  12705. B 3 || meh | well... || worst ever | ok
  12706. @end example")
  12707. (license license:bsd-3)))
  12708. (define-public ghc-tagged
  12709. (package
  12710. (name "ghc-tagged")
  12711. (version "0.8.6")
  12712. (source
  12713. (origin
  12714. (method url-fetch)
  12715. (uri (string-append
  12716. "https://hackage.haskell.org/package/tagged/tagged-"
  12717. version
  12718. ".tar.gz"))
  12719. (sha256
  12720. (base32
  12721. "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
  12722. (build-system haskell-build-system)
  12723. (arguments
  12724. `(#:cabal-revision
  12725. ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
  12726. (inputs
  12727. `(("ghc-transformers-compat" ,ghc-transformers-compat)))
  12728. (home-page "https://hackage.haskell.org/package/tagged")
  12729. (synopsis "Haskell phantom types to avoid passing dummy arguments")
  12730. (description "This library provides phantom types for Haskell 98, to avoid
  12731. having to unsafely pass dummy arguments.")
  12732. (license license:bsd-3)))
  12733. (define-public ghc-tar
  12734. (package
  12735. (name "ghc-tar")
  12736. (version "0.5.1.1")
  12737. (source
  12738. (origin
  12739. (method url-fetch)
  12740. (uri (string-append
  12741. "https://hackage.haskell.org/package/tar/tar-"
  12742. version ".tar.gz"))
  12743. (sha256
  12744. (base32
  12745. "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
  12746. (build-system haskell-build-system)
  12747. ;; FIXME: 2/24 tests fail.
  12748. (arguments `(#:tests? #f))
  12749. (inputs
  12750. `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
  12751. ("ghc-quickcheck" ,ghc-quickcheck)
  12752. ("ghc-tasty" ,ghc-tasty)
  12753. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  12754. (home-page "https://hackage.haskell.org/package/tar")
  12755. (synopsis "Reading, writing and manipulating \".tar\" archive files")
  12756. (description
  12757. "This library is for working with \\\"@.tar@\\\" archive files.
  12758. It can read and write a range of common variations of the tar archive format
  12759. including V7, POSIX USTAR and GNU formats. It provides support for packing and
  12760. unpacking portable archives. This makes it suitable for distribution but not
  12761. backup because details like file ownership and exact permissions are not
  12762. preserved. It also provides features for random access to archive content using
  12763. an index.")
  12764. (license license:bsd-3)))
  12765. (define-public ghc-tar-conduit
  12766. (package
  12767. (name "ghc-tar-conduit")
  12768. (version "0.3.2")
  12769. (source
  12770. (origin
  12771. (method url-fetch)
  12772. (uri (string-append "https://hackage.haskell.org/package/"
  12773. "tar-conduit/tar-conduit-" version ".tar.gz"))
  12774. (sha256
  12775. (base32
  12776. "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
  12777. (build-system haskell-build-system)
  12778. (inputs
  12779. `(("ghc-conduit" ,ghc-conduit)
  12780. ("ghc-conduit-combinators" ,ghc-conduit-combinators)
  12781. ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
  12782. (native-inputs
  12783. `(("ghc-quickcheck" ,ghc-quickcheck)
  12784. ("ghc-conduit-extra" ,ghc-conduit-extra)
  12785. ("ghc-hspec" ,ghc-hspec)
  12786. ("ghc-hspec" ,ghc-hspec)
  12787. ("ghc-weigh" ,ghc-weigh)))
  12788. (home-page "https://github.com/snoyberg/tar-conduit#readme")
  12789. (synopsis "Extract and create tar files using conduit for streaming")
  12790. (description "This library provides a conduit-based, streaming
  12791. interface for extracting and creating tar files.")
  12792. (license license:expat)))
  12793. (define-public ghc-temporary
  12794. (package
  12795. (name "ghc-temporary")
  12796. (version "1.3")
  12797. (source
  12798. (origin
  12799. (method url-fetch)
  12800. (uri (string-append
  12801. "https://hackage.haskell.org/package/temporary/temporary-"
  12802. version
  12803. ".tar.gz"))
  12804. (sha256
  12805. (base32
  12806. "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
  12807. (build-system haskell-build-system)
  12808. (inputs
  12809. `(("ghc-exceptions" ,ghc-exceptions)
  12810. ("ghc-random" ,ghc-random)))
  12811. (native-inputs
  12812. `(("ghc-base-compat" ,ghc-base-compat)
  12813. ("ghc-tasty" ,ghc-tasty)
  12814. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  12815. (home-page "https://www.github.com/batterseapower/temporary")
  12816. (synopsis "Temporary file and directory support")
  12817. (description "The functions for creating temporary files and directories
  12818. in the Haskelll base library are quite limited. This library just repackages
  12819. the Cabal implementations of its own temporary file and folder functions so
  12820. that you can use them without linking against Cabal or depending on it being
  12821. installed.")
  12822. (license license:bsd-3)))
  12823. (define-public ghc-temporary-rc
  12824. (package
  12825. (name "ghc-temporary-rc")
  12826. (version "1.2.0.3")
  12827. (source
  12828. (origin
  12829. (method url-fetch)
  12830. (uri (string-append
  12831. "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
  12832. version
  12833. ".tar.gz"))
  12834. (sha256
  12835. (base32
  12836. "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
  12837. (build-system haskell-build-system)
  12838. (inputs `(("ghc-exceptions" ,ghc-exceptions)))
  12839. (home-page
  12840. "https://www.github.com/feuerbach/temporary")
  12841. (synopsis
  12842. "Portable temporary file and directory support")
  12843. (description
  12844. "The functions for creating temporary files and directories in the base
  12845. library are quite limited. The unixutils package contains some good ones, but
  12846. they aren't portable to Windows. This library just repackages the Cabal
  12847. implementations of its own temporary file and folder functions so that you can
  12848. use them without linking against Cabal or depending on it being installed.
  12849. This is a better maintained fork of the \"temporary\" package.")
  12850. (license license:bsd-3)))
  12851. (define-public ghc-terminal-size
  12852. (package
  12853. (name "ghc-terminal-size")
  12854. (version "0.3.2.1")
  12855. (source (origin
  12856. (method url-fetch)
  12857. (uri (string-append
  12858. "https://hackage.haskell.org/package/terminal-size/"
  12859. "terminal-size-" version ".tar.gz"))
  12860. (sha256
  12861. (base32
  12862. "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
  12863. (build-system haskell-build-system)
  12864. (home-page "https://hackage.haskell.org/package/terminal-size")
  12865. (synopsis "Get terminal window height and width")
  12866. (description "Get terminal window height and width without ncurses
  12867. dependency.")
  12868. (license license:bsd-3)))
  12869. (define-public ghc-texmath
  12870. (package
  12871. (name "ghc-texmath")
  12872. (version "0.11.3")
  12873. (source (origin
  12874. (method url-fetch)
  12875. (uri (string-append "https://hackage.haskell.org/package/"
  12876. "texmath/texmath-" version ".tar.gz"))
  12877. (sha256
  12878. (base32
  12879. "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
  12880. (build-system haskell-build-system)
  12881. (inputs
  12882. `(("ghc-syb" ,ghc-syb)
  12883. ("ghc-network-uri" ,ghc-network-uri)
  12884. ("ghc-split" ,ghc-split)
  12885. ("ghc-temporary" ,ghc-temporary)
  12886. ("ghc-utf8-string" ,ghc-utf8-string)
  12887. ("ghc-xml" ,ghc-xml)
  12888. ("ghc-pandoc-types" ,ghc-pandoc-types)))
  12889. (home-page "https://github.com/jgm/texmath")
  12890. (synopsis "Conversion between formats used to represent mathematics")
  12891. (description
  12892. "The texmath library provides functions to read and write TeX math,
  12893. presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
  12894. Office). Support is also included for converting math formats to pandoc's
  12895. native format (allowing conversion, via pandoc, to a variety of different
  12896. markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
  12897. it can parse and apply LaTeX macros.")
  12898. (license license:gpl2+)))
  12899. (define-public ghc-text-binary
  12900. (package
  12901. (name "ghc-text-binary")
  12902. (version "0.2.1.1")
  12903. (source
  12904. (origin
  12905. (method url-fetch)
  12906. (uri (string-append "https://hackage.haskell.org/package/"
  12907. "text-binary/text-binary-"
  12908. version ".tar.gz"))
  12909. (sha256
  12910. (base32
  12911. "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
  12912. (build-system haskell-build-system)
  12913. (home-page "https://github.com/kawu/text-binary")
  12914. (synopsis "Binary instances for text types")
  12915. (description
  12916. "This package provides a compatibility layer providing @code{Binary}
  12917. instances for strict and lazy text types for versions older than 1.2.1 of the
  12918. text package.")
  12919. (license license:bsd-2)))
  12920. (define-public ghc-text-manipulate
  12921. (package
  12922. (name "ghc-text-manipulate")
  12923. (version "0.2.0.1")
  12924. (source
  12925. (origin
  12926. (method url-fetch)
  12927. (uri (string-append
  12928. "https://hackage.haskell.org/package/text-manipulate"
  12929. "/text-manipulate-"
  12930. version
  12931. ".tar.gz"))
  12932. (sha256
  12933. (base32
  12934. "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
  12935. (build-system haskell-build-system)
  12936. (native-inputs
  12937. `(("ghc-tasty" ,ghc-tasty)
  12938. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  12939. (home-page
  12940. "https://github.com/brendanhay/text-manipulate")
  12941. (synopsis
  12942. "Case conversion, word boundary manipulation, and textual subjugation")
  12943. (description
  12944. "Manipulate identifiers and structurally non-complex pieces of text by
  12945. delimiting word boundaries via a combination of whitespace,
  12946. control-characters, and case-sensitivity.
  12947. Has support for common idioms like casing of programmatic variable names,
  12948. taking, dropping, and splitting by word, and modifying the first character of
  12949. a piece of text.
  12950. Caution: this library makes heavy use of the text library's internal loop
  12951. optimisation framework. Since internal modules are not guaranteed to have a
  12952. stable API there is potential for build breakage when the text dependency is
  12953. upgraded. Consider yourself warned!")
  12954. (license license:mpl2.0)))
  12955. (define-public ghc-text-metrics
  12956. (package
  12957. (name "ghc-text-metrics")
  12958. (version "0.3.0")
  12959. (source
  12960. (origin
  12961. (method url-fetch)
  12962. (uri (string-append "https://hackage.haskell.org/package/"
  12963. "text-metrics/text-metrics-" version ".tar.gz"))
  12964. (sha256
  12965. (base32
  12966. "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
  12967. (build-system haskell-build-system)
  12968. (inputs
  12969. `(("ghc-vector" ,ghc-vector)))
  12970. (native-inputs
  12971. `(("ghc-quickcheck" ,ghc-quickcheck)
  12972. ("ghc-hspec" ,ghc-hspec)))
  12973. (arguments
  12974. `(#:cabal-revision
  12975. ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
  12976. (home-page "https://github.com/mrkkrp/text-metrics")
  12977. (synopsis "Calculate various string metrics efficiently")
  12978. (description "This library provides tools to calculate various
  12979. string metrics efficiently.")
  12980. (license license:bsd-3)))
  12981. (define-public ghc-tf-random
  12982. (package
  12983. (name "ghc-tf-random")
  12984. (version "0.5")
  12985. (outputs '("out" "static" "doc"))
  12986. (source
  12987. (origin
  12988. (method url-fetch)
  12989. (uri (string-append
  12990. "https://hackage.haskell.org/package/tf-random/tf-random-"
  12991. version
  12992. ".tar.gz"))
  12993. (sha256
  12994. (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
  12995. (build-system haskell-build-system)
  12996. (inputs
  12997. `(("ghc-primitive" ,ghc-primitive)
  12998. ("ghc-random" ,ghc-random)))
  12999. (home-page "https://hackage.haskell.org/package/tf-random")
  13000. (synopsis "High-quality splittable pseudorandom number generator")
  13001. (description "This package contains an implementation of a high-quality
  13002. splittable pseudorandom number generator. The generator is based on a
  13003. cryptographic hash function built on top of the ThreeFish block cipher. See
  13004. the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
  13005. Hashing\" by Claessen, Pałka for details and the rationale of the design.")
  13006. (license license:bsd-3)))
  13007. (define-public ghc-th-abstraction
  13008. (package
  13009. (name "ghc-th-abstraction")
  13010. (version "0.3.1.0")
  13011. (source
  13012. (origin
  13013. (method url-fetch)
  13014. (uri (string-append "https://hackage.haskell.org/package/"
  13015. "th-abstraction/th-abstraction-"
  13016. version ".tar.gz"))
  13017. (sha256
  13018. (base32
  13019. "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
  13020. (build-system haskell-build-system)
  13021. (home-page "https://github.com/glguy/th-abstraction")
  13022. (synopsis "Nicer interface for reified information about data types")
  13023. (description
  13024. "This package normalizes variations in the interface for inspecting
  13025. datatype information via Template Haskell so that packages and support a
  13026. single, easier to use informational datatype while supporting many versions of
  13027. Template Haskell.")
  13028. (license license:isc)))
  13029. (define-public ghc-th-expand-syns
  13030. (package
  13031. (name "ghc-th-expand-syns")
  13032. (version "0.4.5.0")
  13033. (source (origin
  13034. (method url-fetch)
  13035. (uri (string-append "https://hackage.haskell.org/package/"
  13036. "th-expand-syns/th-expand-syns-"
  13037. version ".tar.gz"))
  13038. (sha256
  13039. (base32
  13040. "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
  13041. (build-system haskell-build-system)
  13042. (inputs
  13043. `(("ghc-syb" ,ghc-syb)))
  13044. (home-page "https://hackage.haskell.org/package/th-expand-syns")
  13045. (synopsis "Expands type synonyms in Template Haskell ASTs")
  13046. (description
  13047. "This package enables users to expand type synonyms in Template Haskell
  13048. @dfn{abstract syntax trees} (ASTs).")
  13049. (license license:bsd-3)))
  13050. (define-public ghc-th-lift
  13051. (package
  13052. (name "ghc-th-lift")
  13053. (version "0.8.0.1")
  13054. (source (origin
  13055. (method url-fetch)
  13056. (uri (string-append "https://hackage.haskell.org/package/"
  13057. "th-lift/th-lift-" version ".tar.gz"))
  13058. (sha256
  13059. (base32
  13060. "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
  13061. (build-system haskell-build-system)
  13062. (inputs
  13063. `(("ghc-th-abstraction" ,ghc-th-abstraction)))
  13064. (home-page "https://github.com/mboes/th-lift")
  13065. (synopsis "Derive Template Haskell's Lift class for datatypes")
  13066. (description
  13067. "This is a Haskell library to derive Template Haskell's Lift class for
  13068. datatypes.")
  13069. (license license:bsd-3)))
  13070. (define-public ghc-th-lift-instances
  13071. (package
  13072. (name "ghc-th-lift-instances")
  13073. (version "0.1.14")
  13074. (source
  13075. (origin
  13076. (method url-fetch)
  13077. (uri (string-append "https://hackage.haskell.org/package/"
  13078. "th-lift-instances/th-lift-instances-"
  13079. version ".tar.gz"))
  13080. (sha256
  13081. (base32
  13082. "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
  13083. (build-system haskell-build-system)
  13084. (inputs
  13085. `(("ghc-th-lift" ,ghc-th-lift)
  13086. ("ghc-vector" ,ghc-vector)
  13087. ("ghc-quickcheck" ,ghc-quickcheck)))
  13088. (home-page "https://github.com/bennofs/th-lift-instances/")
  13089. (synopsis "Lift instances for template-haskell for common data types.")
  13090. (description "Most data types in the Haskell platform do not have Lift
  13091. instances. This package provides orphan instances for @code{containers},
  13092. @code{text}, @code{bytestring} and @code{vector}.")
  13093. (license license:bsd-3)))
  13094. (define-public ghc-th-orphans
  13095. (package
  13096. (name "ghc-th-orphans")
  13097. (version "0.13.9")
  13098. (source (origin
  13099. (method url-fetch)
  13100. (uri (string-append "https://hackage.haskell.org/package/"
  13101. "th-orphans/th-orphans-" version ".tar.gz"))
  13102. (sha256
  13103. (base32
  13104. "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
  13105. (build-system haskell-build-system)
  13106. (inputs
  13107. `(("ghc-th-lift" ,ghc-th-lift)
  13108. ("ghc-th-lift-instances" ,ghc-th-lift-instances)
  13109. ("ghc-th-reify-many" ,ghc-th-reify-many)
  13110. ("ghc-generic-deriving" ,ghc-generic-deriving)))
  13111. (native-inputs
  13112. `(("ghc-hspec" ,ghc-hspec)))
  13113. (home-page "https://hackage.haskell.org/package/th-orphans")
  13114. (synopsis "Orphan instances for TH datatypes")
  13115. (description
  13116. "This package provides orphan instances for Template Haskell datatypes. In particular,
  13117. instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
  13118. and @code{Eq} instances. These instances used to live in the haskell-src-meta
  13119. package, and that's where the version number started.")
  13120. (license license:bsd-3)))
  13121. (define-public ghc-these
  13122. (package
  13123. (name "ghc-these")
  13124. (version "1.0.1")
  13125. (source
  13126. (origin
  13127. (method url-fetch)
  13128. (uri (string-append
  13129. "https://hackage.haskell.org/package/these/these-"
  13130. version
  13131. ".tar.gz"))
  13132. (sha256
  13133. (base32
  13134. "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
  13135. (build-system haskell-build-system)
  13136. (inputs
  13137. `(("ghc-base-compat" ,ghc-base-compat)
  13138. ("ghc-hashable" ,ghc-hashable)
  13139. ("ghc-aeson" ,ghc-aeson)
  13140. ("ghc-unordered-containers" ,ghc-unordered-containers)
  13141. ("ghc-assoc" ,ghc-assoc)
  13142. ("ghc-semigroupoids" ,ghc-semigroupoids)
  13143. ("ghc-quickcheck" ,ghc-quickcheck)))
  13144. (arguments
  13145. `(#:cabal-revision
  13146. ("1"
  13147. "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
  13148. (home-page
  13149. "https://github.com/isomorphism/these")
  13150. (synopsis "Either-or-both data type")
  13151. (description
  13152. "This package provides a data type @code{These a b} which can
  13153. hold a value of either type or values of each type. This is usually
  13154. thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
  13155. \"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
  13156. as \"inner join\").
  13157. @code{data These a b = This a | That b | These a b}
  13158. Since version 1, this package was split into parts:
  13159. @itemize
  13160. @item
  13161. https://hackage.haskell.org/package/semialign For @code{Align} and
  13162. @code{Zip} type-classes.
  13163. @item
  13164. https://hackage.haskell.org/package/semialign-indexed For
  13165. @code{SemialignWithIndex} class, providing @code{ialignWith} and
  13166. @code{izipWith}
  13167. @item
  13168. https://hackage.haskell.org/package/these-lens For lens combinators.
  13169. @item
  13170. http://hackage.haskell.org/package/monad-chronicle For transformers
  13171. variant of @code{These}.
  13172. @end itemize")
  13173. (license license:bsd-3)))
  13174. (define-public ghc-threads
  13175. (package
  13176. (name "ghc-threads")
  13177. (version "0.5.1.6")
  13178. (source
  13179. (origin
  13180. (method url-fetch)
  13181. (uri (string-append "https://hackage.haskell.org/package/"
  13182. "threads/threads-" version ".tar.gz"))
  13183. (sha256
  13184. (base32
  13185. "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
  13186. (build-system haskell-build-system)
  13187. (native-inputs
  13188. `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
  13189. ("ghc-hunit" ,ghc-hunit)
  13190. ("ghc-test-framework" ,ghc-test-framework)
  13191. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
  13192. (home-page "https://github.com/basvandijk/threads")
  13193. (synopsis "Fork threads and wait for their result")
  13194. (description "This package provides functions to fork threads and
  13195. wait for their result, whether it's an exception or a normal value.
  13196. Besides waiting for the termination of a single thread this package also
  13197. provides functions to wait for a group of threads to terminate. This
  13198. package is similar to the @code{threadmanager}, @code{async} and
  13199. @code{spawn} packages. The advantages of this package are:
  13200. @itemize
  13201. @item Simpler API.
  13202. @item More efficient in both space and time.
  13203. @item No space-leak when forking a large number of threads.
  13204. @item Correct handling of asynchronous exceptions.
  13205. @item GHC specific functionality like @code{forkOn} and
  13206. @code{forkIOWithUnmask}.
  13207. @end itemize")
  13208. (license license:bsd-3)))
  13209. (define-public ghc-th-reify-many
  13210. (package
  13211. (name "ghc-th-reify-many")
  13212. (version "0.1.9")
  13213. (source (origin
  13214. (method url-fetch)
  13215. (uri (string-append "https://hackage.haskell.org/package/"
  13216. "th-reify-many/th-reify-many-"
  13217. version ".tar.gz"))
  13218. (sha256
  13219. (base32
  13220. "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
  13221. (build-system haskell-build-system)
  13222. (inputs
  13223. `(("ghc-safe" ,ghc-safe)
  13224. ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
  13225. (home-page "https://github.com/mgsloan/th-reify-many")
  13226. (synopsis "Recurseively reify template haskell datatype info")
  13227. (description
  13228. "th-reify-many provides functions for recursively reifying top level
  13229. declarations. The main intended use case is for enumerating the names of
  13230. datatypes reachable from an initial datatype, and passing these names to some
  13231. function which generates instances.")
  13232. (license license:bsd-3)))
  13233. (define-public ghc-time-compat
  13234. (package
  13235. (name "ghc-time-compat")
  13236. (version "1.9.2.2")
  13237. (source
  13238. (origin
  13239. (method url-fetch)
  13240. (uri (string-append "https://hackage.haskell.org/package/"
  13241. "time-compat/time-compat-" version ".tar.gz"))
  13242. (sha256
  13243. (base32
  13244. "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
  13245. (build-system haskell-build-system)
  13246. (inputs
  13247. `(("ghc-base-orphans" ,ghc-base-orphans)))
  13248. (native-inputs
  13249. `(("ghc-hunit" ,ghc-hunit)
  13250. ("ghc-base-compat" ,ghc-base-compat)
  13251. ("ghc-quickcheck" ,ghc-quickcheck)
  13252. ("ghc-tagged" ,ghc-tagged)
  13253. ("ghc-tasty" ,ghc-tasty)
  13254. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  13255. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  13256. (arguments
  13257. `(#:cabal-revision
  13258. ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
  13259. (home-page "https://github.com/phadej/time-compat")
  13260. (synopsis "Compatibility package for time")
  13261. (description "This package tries to compat as many @code{time}
  13262. features as possible.")
  13263. (license license:bsd-3)))
  13264. (define-public ghc-time-locale-compat
  13265. (package
  13266. (name "ghc-time-locale-compat")
  13267. (version "0.1.1.5")
  13268. (source
  13269. (origin
  13270. (method url-fetch)
  13271. (uri (string-append "https://hackage.haskell.org/package/"
  13272. "time-locale-compat/time-locale-compat-"
  13273. version ".tar.gz"))
  13274. (sha256
  13275. (base32
  13276. "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
  13277. (build-system haskell-build-system)
  13278. (inputs `(("ghc-old-locale" ,ghc-old-locale)))
  13279. (home-page "https://github.com/khibino/haskell-time-locale-compat")
  13280. (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
  13281. (description "This package contains a wrapped name module for
  13282. @code{TimeLocale}.")
  13283. (license license:bsd-3)))
  13284. (define-public ghc-time-manager
  13285. (package
  13286. (name "ghc-time-manager")
  13287. (version "0.0.0")
  13288. (source
  13289. (origin
  13290. (method url-fetch)
  13291. (uri (string-append "https://hackage.haskell.org/package/"
  13292. "time-manager/time-manager-" version ".tar.gz"))
  13293. (sha256
  13294. (base32
  13295. "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
  13296. (build-system haskell-build-system)
  13297. (inputs
  13298. `(("ghc-auto-update" ,ghc-auto-update)))
  13299. (home-page "https://github.com/yesodweb/wai")
  13300. (synopsis "Scalable timer")
  13301. (description "This library contains scalable timer functions provided by a
  13302. timer manager.")
  13303. (license license:expat)))
  13304. (define-public ghc-timeit
  13305. (package
  13306. (name "ghc-timeit")
  13307. (version "2.0")
  13308. (source
  13309. (origin
  13310. (method url-fetch)
  13311. (uri
  13312. (string-append
  13313. "https://hackage.haskell.org/package/timeit/timeit-"
  13314. version ".tar.gz"))
  13315. (sha256
  13316. (base32
  13317. "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
  13318. (build-system haskell-build-system)
  13319. (home-page "https://github.com/merijn/timeit")
  13320. (synopsis "Time monadic computations with an IO base")
  13321. (description "This package provides a simple wrapper to show the
  13322. used CPU time of monadic computation with an IO base.")
  13323. (license license:bsd-3)))
  13324. (define-public ghc-timezone-series
  13325. (package
  13326. (name "ghc-timezone-series")
  13327. (version "0.1.9")
  13328. (source
  13329. (origin
  13330. (method url-fetch)
  13331. (uri
  13332. (string-append
  13333. "mirror://hackage/package/timezone-series/timezone-series-"
  13334. version ".tar.gz"))
  13335. (sha256
  13336. (base32
  13337. "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
  13338. (build-system haskell-build-system)
  13339. (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
  13340. (synopsis "Enhanced timezone handling for Time")
  13341. (description
  13342. "This package endows @code{Data.Time}, from the time package, with several
  13343. data types and functions for enhanced processing of timezones. For one way to
  13344. create timezone series, see the ghc-timezone-olson package.")
  13345. (license license:bsd-3)))
  13346. (define-public ghc-timezone-olson
  13347. (package
  13348. (name "ghc-timezone-olson")
  13349. (version "0.1.9")
  13350. (source
  13351. (origin
  13352. (method url-fetch)
  13353. (uri
  13354. (string-append
  13355. "mirror://hackage/package/timezone-olson/timezone-olson-"
  13356. version ".tar.gz"))
  13357. (sha256
  13358. (base32
  13359. "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
  13360. (build-system haskell-build-system)
  13361. (inputs
  13362. `(("ghc-timezone-series" ,ghc-timezone-series)
  13363. ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
  13364. (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
  13365. (synopsis "Parser and renderer for binary Olson timezone files")
  13366. (description
  13367. "A parser and renderer for binary Olson timezone files whose format
  13368. is specified by the tzfile(5) man page on Unix-like systems. For more
  13369. information about this format, see
  13370. @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
  13371. are provided for converting the parsed data into @code{TimeZoneSeries}
  13372. objects from the timezone-series package.")
  13373. (license license:bsd-3)))
  13374. (define-public ghc-tldr
  13375. (package
  13376. (name "ghc-tldr")
  13377. (version "0.4.0.2")
  13378. (source
  13379. (origin
  13380. (method url-fetch)
  13381. (uri (string-append
  13382. "https://hackage.haskell.org/package/tldr/tldr-"
  13383. version
  13384. ".tar.gz"))
  13385. (sha256
  13386. (base32
  13387. "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
  13388. (build-system haskell-build-system)
  13389. (inputs
  13390. `(("ghc-cmark" ,ghc-cmark)
  13391. ("ghc-optparse-applicative" ,ghc-optparse-applicative)
  13392. ("ghc-typed-process" ,ghc-typed-process)
  13393. ("ghc-semigroups" ,ghc-semigroups)))
  13394. (native-inputs
  13395. `(("ghc-tasty" ,ghc-tasty)
  13396. ("ghc-tasty-golden" ,ghc-tasty-golden)))
  13397. (home-page "https://github.com/psibi/tldr-hs#readme")
  13398. (synopsis "Haskell tldr client")
  13399. (description "This package provides the @command{tldr} command and a
  13400. Haskell client library allowing users to update and view @code{tldr} pages
  13401. from a shell. The @code{tldr} pages are a community effort to simplify the
  13402. man pages with practical examples.")
  13403. (license license:bsd-3)))
  13404. (define-public ghc-torrent
  13405. (package
  13406. (name "ghc-torrent")
  13407. (version "10000.1.1")
  13408. (source
  13409. (origin
  13410. (method url-fetch)
  13411. (uri (string-append
  13412. "https://hackage.haskell.org/package/torrent/torrent-"
  13413. version ".tar.gz"))
  13414. (sha256
  13415. (base32 "0m7s0q7f8c7glxzqhf2j86ch5xhk6jnzwwsa4mkywag22119c290"))))
  13416. (build-system haskell-build-system)
  13417. (inputs
  13418. `(("ghc-bencode" ,ghc-bencode)
  13419. ("ghc-syb" ,ghc-syb)))
  13420. (home-page "https://hackage.haskell.org/package/torrent")
  13421. (synopsis "BitTorrent file parser and generator")
  13422. (description "This library provides support for parsing and generating
  13423. BitTorrent files.")
  13424. (license license:bsd-3)))
  13425. (define-public ghc-transformers
  13426. (package
  13427. (name "ghc-transformers")
  13428. (version "0.5.6.2")
  13429. (source
  13430. (origin
  13431. (method url-fetch)
  13432. (uri (string-append
  13433. "mirror://hackage/package/transformers/transformers-"
  13434. version
  13435. ".tar.gz"))
  13436. (sha256
  13437. (base32
  13438. "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
  13439. (build-system haskell-build-system)
  13440. (home-page
  13441. "http://hackage.haskell.org/package/transformers")
  13442. (synopsis "Concrete functor and monad transformers")
  13443. (description
  13444. "Transformers provides functor and monad transformers, inspired by the
  13445. paper \"Functional Programming with Overloading and Higher-Order
  13446. Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
  13447. 1995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
  13448. This package contains:
  13449. @itemize
  13450. @item the monad transformer class (in @code{Control.Monad.Trans.Class})
  13451. @item concrete functor and monad transformers, each with associated operations
  13452. and functions to lift operations associated with other transformers.
  13453. @end itemize
  13454. This package can be used on its own in portable Haskell code, in which case
  13455. operations need to be manually lifted through transformer stacks (see
  13456. @code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
  13457. used with the non-portable monad classes in the mtl or monads-tf packages,
  13458. which automatically lift operations introduced by monad transformers through
  13459. other transformers.")
  13460. (license license:bsd-3)))
  13461. (define-public ghc-transformers-base
  13462. (package
  13463. (name "ghc-transformers-base")
  13464. (version "0.4.5.2")
  13465. (source
  13466. (origin
  13467. (method url-fetch)
  13468. (uri (string-append
  13469. "https://hackage.haskell.org/package/transformers-base/transformers-base-"
  13470. version
  13471. ".tar.gz"))
  13472. (sha256
  13473. (base32
  13474. "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
  13475. (build-system haskell-build-system)
  13476. (inputs
  13477. `(("ghc-transformers-compat" ,ghc-transformers-compat)))
  13478. (home-page
  13479. "https://hackage.haskell.org/package/transformers-compat")
  13480. (synopsis
  13481. "Backported transformer library")
  13482. (description
  13483. "Backported versions of types that were added to transformers in
  13484. transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
  13485. compatibility to run on old versions of the platform.")
  13486. (license license:bsd-3)))
  13487. (define-public ghc-transformers-compat
  13488. (package
  13489. (name "ghc-transformers-compat")
  13490. (version "0.6.5")
  13491. (source
  13492. (origin
  13493. (method url-fetch)
  13494. (uri (string-append
  13495. "https://hackage.haskell.org/package/transformers-compat"
  13496. "/transformers-compat-" version ".tar.gz"))
  13497. (sha256
  13498. (base32
  13499. "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
  13500. (build-system haskell-build-system)
  13501. (home-page "https://github.com/ekmett/transformers-compat/")
  13502. (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
  13503. (description "This package includes backported versions of types that were
  13504. added to transformers in transformers 0.3 and 0.4 for users who need strict
  13505. transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
  13506. but also need those types.")
  13507. (license license:bsd-3)))
  13508. (define-public ghc-tree-diff
  13509. (package
  13510. (name "ghc-tree-diff")
  13511. (version "0.1")
  13512. (source
  13513. (origin
  13514. (method url-fetch)
  13515. (uri (string-append
  13516. "https://hackage.haskell.org/package/tree-diff/tree-diff-"
  13517. version
  13518. ".tar.gz"))
  13519. (sha256
  13520. (base32
  13521. "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
  13522. (build-system haskell-build-system)
  13523. (inputs
  13524. `(("ghc-aeson" ,ghc-aeson)
  13525. ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
  13526. ("ghc-ansi-terminal" ,ghc-ansi-terminal)
  13527. ("ghc-base-compat" ,ghc-base-compat)
  13528. ("ghc-bytestring-builder" ,ghc-bytestring-builder)
  13529. ("ghc-hashable" ,ghc-hashable)
  13530. ("ghc-parsers" ,ghc-parsers)
  13531. ("ghc-quickcheck" ,ghc-quickcheck)
  13532. ("ghc-scientific" ,ghc-scientific)
  13533. ("ghc-tagged" ,ghc-tagged)
  13534. ("ghc-unordered-containers" ,ghc-unordered-containers)
  13535. ("ghc-uuid-types" ,ghc-uuid-types)
  13536. ("ghc-vector" ,ghc-vector)))
  13537. (native-inputs
  13538. `(("ghc-base-compat" ,ghc-base-compat)
  13539. ("ghc-quickcheck" ,ghc-quickcheck)
  13540. ("ghc-ansi-terminal" ,ghc-ansi-terminal)
  13541. ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
  13542. ("ghc-trifecta" ,ghc-trifecta)
  13543. ("ghc-tasty" ,ghc-tasty)
  13544. ("ghc-tasty-golden" ,ghc-tasty-golden)
  13545. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  13546. (home-page "https://github.com/phadej/tree-diff")
  13547. (synopsis "Compute difference between (expression) trees")
  13548. (description "This Haskell library provides a function for computing
  13549. the difference between (expression) trees. It also provides a way to
  13550. compute the difference between arbitrary abstract datatypes (ADTs) using
  13551. @code{Generics}-derivable helpers.")
  13552. (license license:bsd-3)))
  13553. (define-public ghc-trifecta
  13554. (package
  13555. (name "ghc-trifecta")
  13556. (version "2")
  13557. (source (origin
  13558. (method url-fetch)
  13559. (uri (string-append
  13560. "https://hackage.haskell.org/package/trifecta/"
  13561. "trifecta-" version ".tar.gz"))
  13562. (sha256
  13563. (base32
  13564. "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
  13565. (build-system haskell-build-system)
  13566. (arguments
  13567. `(#:tests? #f ; doctest suite fails to build on i686
  13568. #:cabal-revision
  13569. ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
  13570. (inputs
  13571. `(("ghc-reducers" ,ghc-reducers)
  13572. ("ghc-semigroups" ,ghc-semigroups)
  13573. ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
  13574. ("ghc-ansi-terminal" ,ghc-ansi-terminal)
  13575. ("ghc-blaze-builder" ,ghc-blaze-builder)
  13576. ("ghc-blaze-html" ,ghc-blaze-html)
  13577. ("ghc-blaze-markup" ,ghc-blaze-markup)
  13578. ("ghc-charset" ,ghc-charset)
  13579. ("ghc-comonad" ,ghc-comonad)
  13580. ("ghc-fingertree" ,ghc-fingertree)
  13581. ("ghc-hashable" ,ghc-hashable)
  13582. ("ghc-lens" ,ghc-lens)
  13583. ("ghc-parsers" ,ghc-parsers)
  13584. ("ghc-profunctors" ,ghc-profunctors)
  13585. ("ghc-unordered-containers" ,ghc-unordered-containers)
  13586. ("ghc-utf8-string" ,ghc-utf8-string)))
  13587. (native-inputs
  13588. `(("cabal-doctest" ,cabal-doctest)
  13589. ("ghc-doctest" ,ghc-doctest)
  13590. ("ghc-quickcheck" ,ghc-quickcheck)))
  13591. (home-page "https://github.com/ekmett/trifecta/")
  13592. (synopsis "Parser combinator library with convenient diagnostics")
  13593. (description "Trifecta is a modern parser combinator library for Haskell,
  13594. with slicing and Clang-style colored diagnostics.")
  13595. (license license:bsd-3)))
  13596. (define-public ghc-tuple-th
  13597. (package
  13598. (name "ghc-tuple-th")
  13599. (version "0.2.5")
  13600. (source
  13601. (origin
  13602. (method url-fetch)
  13603. (uri (string-append "https://hackage.haskell.org/package/"
  13604. "tuple-th-" version "/"
  13605. "tuple-th-" version ".tar.gz"))
  13606. (sha256
  13607. (base32
  13608. "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
  13609. (build-system haskell-build-system)
  13610. (home-page "https://github.com/DanielSchuessler/tuple-th")
  13611. (synopsis "Generate utility functions for tuples of statically known size
  13612. for Haskell")
  13613. (description "This Haskell package contains Template Haskell functions for
  13614. generating functions similar to those in @code{Data.List} for tuples of
  13615. statically known size.")
  13616. (license license:bsd-3)))
  13617. (define-public ghc-turtle
  13618. (package
  13619. (name "ghc-turtle")
  13620. (version "1.5.15")
  13621. (source
  13622. (origin
  13623. (method url-fetch)
  13624. (uri (string-append
  13625. "mirror://hackage/package/turtle/turtle-"
  13626. version
  13627. ".tar.gz"))
  13628. (sha256
  13629. (base32
  13630. "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
  13631. (build-system haskell-build-system)
  13632. (inputs
  13633. `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
  13634. ("ghc-async" ,ghc-async)
  13635. ("ghc-clock" ,ghc-clock)
  13636. ("ghc-exceptions" ,ghc-exceptions)
  13637. ("ghc-foldl" ,ghc-foldl)
  13638. ("ghc-hostname" ,ghc-hostname)
  13639. ("ghc-managed" ,ghc-managed)
  13640. ("ghc-semigroups" ,ghc-semigroups)
  13641. ("ghc-system-filepath" ,ghc-system-filepath)
  13642. ("ghc-system-fileio" ,ghc-system-fileio)
  13643. ("ghc-streaming-commons" ,ghc-streaming-commons)
  13644. ("ghc-temporary" ,ghc-temporary)
  13645. ("ghc-optparse-applicative" ,ghc-optparse-applicative)
  13646. ("ghc-optional-args" ,ghc-optional-args)
  13647. ("ghc-unix-compat" ,ghc-unix-compat)))
  13648. (native-inputs
  13649. `(("ghc-doctest" ,ghc-doctest)
  13650. ("ghc-fail" ,ghc-fail)))
  13651. (arguments
  13652. `(#:cabal-revision
  13653. ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
  13654. (home-page
  13655. "http://hackage.haskell.org/package/turtle")
  13656. (synopsis "Shell programming, Haskell-style")
  13657. (description
  13658. "Turtle is a reimplementation of the Unix command line environment in
  13659. Haskell so that you can use Haskell as both a shell and a scripting
  13660. language. Features include:
  13661. @itemize
  13662. @item Batteries included: Command an extended suite of predefined utilities.
  13663. @item Interoperability: You can still run external shell commands.
  13664. @item Portability: Works on Windows, OS X, and Linux.
  13665. @item Exception safety: Safely acquire and release resources.
  13666. @item Streaming: Transform or fold command output in constant space.
  13667. @item Patterns: Use typed regular expressions that can parse structured values.
  13668. @item Formatting: Type-safe printf-style text formatting.
  13669. @item Modern: Supports text and system-filepath.
  13670. @end itemize
  13671. Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
  13672. quick-start guide. Turtle is designed to be beginner-friendly, but as a
  13673. result lacks certain features, like tracing commands. If you feel comfortable
  13674. using turtle then you should also check out the Shelly library which provides
  13675. similar functionality.")
  13676. (license license:bsd-3)))
  13677. (define-public ghc-typed-process
  13678. (package
  13679. (name "ghc-typed-process")
  13680. (version "0.2.6.0")
  13681. (source
  13682. (origin
  13683. (method url-fetch)
  13684. (uri (string-append "https://hackage.haskell.org/package/"
  13685. "typed-process/typed-process-"
  13686. version ".tar.gz"))
  13687. (sha256
  13688. (base32
  13689. "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
  13690. (build-system haskell-build-system)
  13691. (inputs
  13692. `(("ghc-async" ,ghc-async)
  13693. ("ghc-unliftio-core" ,ghc-unliftio-core)))
  13694. (native-inputs
  13695. `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
  13696. ("ghc-hspec" ,ghc-hspec)
  13697. ("hspec-discover" ,hspec-discover)
  13698. ("ghc-temporary" ,ghc-temporary)))
  13699. (home-page "https://haskell-lang.org/library/typed-process")
  13700. (synopsis "Run external processes with strong typing of streams")
  13701. (description
  13702. "This library provides the ability to launch and interact with external
  13703. processes. It wraps around the @code{process} library, and intends to improve
  13704. upon it.")
  13705. (license license:expat)))
  13706. (define-public ghc-uglymemo
  13707. (package
  13708. (name "ghc-uglymemo")
  13709. (version "0.1.0.1")
  13710. (source
  13711. (origin
  13712. (method url-fetch)
  13713. (uri (string-append
  13714. "https://hackage.haskell.org/package/uglymemo/uglymemo-"
  13715. version
  13716. ".tar.gz"))
  13717. (sha256
  13718. (base32
  13719. "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy"))))
  13720. (build-system haskell-build-system)
  13721. (home-page "https://hackage.haskell.org/package/uglymemo")
  13722. (synopsis "Simple memoization function for Haskell")
  13723. (description
  13724. "This package provides a simple (but internally ugly) memoization
  13725. function.")
  13726. (license license:public-domain)))
  13727. (define-public ghc-unagi-chan
  13728. (package
  13729. (name "ghc-unagi-chan")
  13730. (version "0.4.1.2")
  13731. (source
  13732. (origin
  13733. (method url-fetch)
  13734. (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
  13735. "/unagi-chan-" version ".tar.gz"))
  13736. (sha256
  13737. (base32
  13738. "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
  13739. (build-system haskell-build-system)
  13740. (inputs
  13741. `(("ghc-atomic-primops" ,ghc-atomic-primops)
  13742. ("ghc-primitive" ,ghc-primitive)))
  13743. (arguments
  13744. `(#:tests? #f ; FIXME: Tests expect primitive 0.7
  13745. #:cabal-revision
  13746. ("1"
  13747. "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
  13748. (home-page "https://hackage.haskell.org/package/unagi-chan")
  13749. (synopsis "Fast concurrent queues with a Chan-like API, and more")
  13750. (description
  13751. "This library provides implementations of concurrent FIFO queues (for
  13752. both general boxed and primitive unboxed values) that are fast, perform well
  13753. under contention, and offer a Chan-like interface. The library may be of
  13754. limited usefulness outside of x86 architectures where the fetch-and-add
  13755. instruction is not available.")
  13756. (license license:bsd-3)))
  13757. (define-public ghc-unbounded-delays
  13758. (package
  13759. (name "ghc-unbounded-delays")
  13760. (version "0.1.1.0")
  13761. (source
  13762. (origin
  13763. (method url-fetch)
  13764. (uri (string-append
  13765. "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
  13766. version
  13767. ".tar.gz"))
  13768. (sha256
  13769. (base32
  13770. "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
  13771. (build-system haskell-build-system)
  13772. (home-page "https://github.com/basvandijk/unbounded-delays")
  13773. (synopsis "Unbounded thread delays and timeouts")
  13774. (description "The @code{threadDelay} and @code{timeout} functions from the
  13775. Haskell base library use the bounded @code{Int} type for specifying the delay
  13776. or timeout period. This package provides alternative functions which use the
  13777. unbounded @code{Integer} type.")
  13778. (license license:bsd-3)))
  13779. (define-public ghc-unexceptionalio
  13780. (package
  13781. (name "ghc-unexceptionalio")
  13782. (version "0.4.0")
  13783. (source
  13784. (origin
  13785. (method url-fetch)
  13786. (uri (string-append "https://hackage.haskell.org/package/"
  13787. "unexceptionalio-" version "/" "unexceptionalio-"
  13788. version ".tar.gz"))
  13789. (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
  13790. (build-system haskell-build-system)
  13791. (home-page "https://github.com/singpolyma/unexceptionalio")
  13792. (synopsis "IO without any non-error, synchronous exceptions")
  13793. (description "When you've caught all the exceptions that can be
  13794. handled safely, this is what you're left with.")
  13795. (license license:isc)))
  13796. (define-public ghc-unicode-transforms
  13797. (package
  13798. (name "ghc-unicode-transforms")
  13799. (version "0.3.6")
  13800. (source
  13801. (origin
  13802. (method url-fetch)
  13803. (uri (string-append "https://hackage.haskell.org/package/"
  13804. "unicode-transforms/unicode-transforms-"
  13805. version ".tar.gz"))
  13806. (sha256
  13807. (base32
  13808. "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
  13809. (build-system haskell-build-system)
  13810. (inputs
  13811. `(("ghc-bitarray" ,ghc-bitarray)))
  13812. (native-inputs
  13813. `(("ghc-quickcheck" ,ghc-quickcheck)
  13814. ("ghc-getopt-generics" ,ghc-getopt-generics)
  13815. ("ghc-split" ,ghc-split)))
  13816. (home-page "https://github.com/composewell/unicode-transforms")
  13817. (synopsis "Unicode normalization")
  13818. (description "This library provides tools for fast Unicode 12.1.0
  13819. normalization in Haskell (normalization forms C, KC, D, and KD).")
  13820. (license license:bsd-3)))
  13821. (define-public ghc-union-find
  13822. (package
  13823. (name "ghc-union-find")
  13824. (version "0.2")
  13825. (source (origin
  13826. (method url-fetch)
  13827. (uri (string-append
  13828. "https://hackage.haskell.org/package/union-find/union-find-"
  13829. version ".tar.gz"))
  13830. (sha256
  13831. (base32
  13832. "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
  13833. (build-system haskell-build-system)
  13834. (home-page "https://github.com/nominolo/union-find")
  13835. (synopsis "Efficient union and equivalence testing of sets")
  13836. (description
  13837. "The Union/Find algorithm implements these operations in (effectively)
  13838. constant-time:
  13839. @enumerate
  13840. @item Check whether two elements are in the same equivalence class.
  13841. @item Create a union of two equivalence classes.
  13842. @item Look up the descriptor of the equivalence class.
  13843. @end enumerate\n")
  13844. (license license:bsd-3)))
  13845. (define-public ghc-uniplate
  13846. (package
  13847. (name "ghc-uniplate")
  13848. (version "1.6.12")
  13849. (source
  13850. (origin
  13851. (method url-fetch)
  13852. (uri (string-append
  13853. "https://hackage.haskell.org/package/uniplate/uniplate-"
  13854. version
  13855. ".tar.gz"))
  13856. (sha256
  13857. (base32
  13858. "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
  13859. (build-system haskell-build-system)
  13860. (inputs
  13861. `(("ghc-syb" ,ghc-syb)
  13862. ("ghc-hashable" ,ghc-hashable)
  13863. ("ghc-unordered-containers" ,ghc-unordered-containers)))
  13864. (home-page "https://github.com/ndmitchell/uniplate")
  13865. (synopsis "Simple, concise and fast generic operations")
  13866. (description "Uniplate is a library for writing simple and concise generic
  13867. operations. Uniplate has similar goals to the original Scrap Your Boilerplate
  13868. work, but is substantially simpler and faster.")
  13869. (license license:bsd-3)))
  13870. (define-public ghc-unix-compat
  13871. (package
  13872. (name "ghc-unix-compat")
  13873. (version "0.5.2")
  13874. (source
  13875. (origin
  13876. (method url-fetch)
  13877. (uri (string-append
  13878. "https://hackage.haskell.org/package/unix-compat/unix-compat-"
  13879. version
  13880. ".tar.gz"))
  13881. (sha256
  13882. (base32
  13883. "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
  13884. (build-system haskell-build-system)
  13885. (home-page
  13886. "https://github.com/jystic/unix-compat")
  13887. (synopsis "Portable POSIX-compatibility layer")
  13888. (description
  13889. "This package provides portable implementations of parts of the unix
  13890. package. This package re-exports the unix package when available. When it
  13891. isn't available, portable implementations are used.")
  13892. (license license:bsd-3)))
  13893. (define-public ghc-unix-time
  13894. (package
  13895. (name "ghc-unix-time")
  13896. (version "0.4.7")
  13897. (source
  13898. (origin
  13899. (method url-fetch)
  13900. (uri (string-append
  13901. "https://hackage.haskell.org/package/unix-time/unix-time-"
  13902. version
  13903. ".tar.gz"))
  13904. (sha256
  13905. (base32
  13906. "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
  13907. (build-system haskell-build-system)
  13908. (arguments
  13909. `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
  13910. ; is weird, that should be provided by GHC 7.10.2.
  13911. (inputs
  13912. `(("ghc-old-time" ,ghc-old-time)
  13913. ("ghc-old-locale" ,ghc-old-locale)))
  13914. (home-page "https://hackage.haskell.org/package/unix-time")
  13915. (synopsis "Unix time parser/formatter and utilities")
  13916. (description "This library provides fast parsing and formatting utilities
  13917. for Unix time in Haskell.")
  13918. (license license:bsd-3)))
  13919. (define-public ghc-unliftio
  13920. (package
  13921. (name "ghc-unliftio")
  13922. (version "0.2.12")
  13923. (source
  13924. (origin
  13925. (method url-fetch)
  13926. (uri (string-append
  13927. "https://hackage.haskell.org/package/unliftio/unliftio-"
  13928. version
  13929. ".tar.gz"))
  13930. (sha256
  13931. (base32
  13932. "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
  13933. (build-system haskell-build-system)
  13934. (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
  13935. (outputs '("out" "static" "doc"))
  13936. (inputs
  13937. `(("ghc-async" ,ghc-async)
  13938. ("ghc-unliftio-core" ,ghc-unliftio-core)))
  13939. (native-inputs `(("ghc-hspec" ,ghc-hspec)))
  13940. (home-page "https://github.com/fpco/unliftio")
  13941. (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
  13942. IO (batteries included)")
  13943. (description "This Haskell package provides the core @code{MonadUnliftIO}
  13944. typeclass, a number of common instances, and a collection of common functions
  13945. working with it.")
  13946. (license license:expat)))
  13947. (define-public ghc-unliftio-core
  13948. (package
  13949. (name "ghc-unliftio-core")
  13950. (version "0.1.2.0")
  13951. (source
  13952. (origin
  13953. (method url-fetch)
  13954. (uri (string-append "https://hackage.haskell.org/package/"
  13955. "unliftio-core-" version "/"
  13956. "unliftio-core-" version ".tar.gz"))
  13957. (sha256
  13958. (base32
  13959. "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
  13960. (build-system haskell-build-system)
  13961. (arguments
  13962. `(#:cabal-revision
  13963. ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
  13964. (home-page
  13965. "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
  13966. (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
  13967. (description "This Haskell package provides the core @code{MonadUnliftIO}
  13968. typeclass, instances for base and transformers, and basic utility
  13969. functions.")
  13970. (license license:expat)))
  13971. (define-public ghc-unordered-containers
  13972. (package
  13973. (name "ghc-unordered-containers")
  13974. (version "0.2.10.0")
  13975. (outputs '("out" "static" "doc"))
  13976. (source
  13977. (origin
  13978. (method url-fetch)
  13979. (uri (string-append
  13980. "https://hackage.haskell.org/package/unordered-containers"
  13981. "/unordered-containers-" version ".tar.gz"))
  13982. (sha256
  13983. (base32
  13984. "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
  13985. (build-system haskell-build-system)
  13986. (inputs
  13987. `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
  13988. ("ghc-hunit" ,ghc-hunit)
  13989. ("ghc-quickcheck" ,ghc-quickcheck)
  13990. ("ghc-test-framework" ,ghc-test-framework)
  13991. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  13992. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  13993. ("ghc-hashable" ,ghc-hashable)))
  13994. (home-page
  13995. "https://github.com/tibbe/unordered-containers")
  13996. (synopsis
  13997. "Efficient hashing-based container types")
  13998. (description
  13999. "Efficient hashing-based container types. The containers have been
  14000. optimized for performance critical use, both in terms of large data quantities
  14001. and high speed.")
  14002. (license license:bsd-3)))
  14003. (define-public ghc-unordered-containers-bootstrap
  14004. (package
  14005. (inherit ghc-unordered-containers)
  14006. (name "ghc-unordered-containers-bootstrap")
  14007. (arguments `(#:tests? #f))
  14008. (inputs
  14009. `(("ghc-hashable" ,ghc-hashable-bootstrap)))
  14010. (properties '((hidden? #t)))))
  14011. (define-public ghc-unsafe
  14012. (package
  14013. (name "ghc-unsafe")
  14014. (version "0.0")
  14015. (source
  14016. (origin
  14017. (method url-fetch)
  14018. (uri
  14019. (string-append
  14020. "https://hackage.haskell.org/package/unsafe/unsafe-"
  14021. version ".tar.gz"))
  14022. (sha256
  14023. (base32
  14024. "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
  14025. (build-system haskell-build-system)
  14026. (home-page "https://hackage.haskell.org/package/unsafe")
  14027. (synopsis "Unified interface to unsafe functions")
  14028. (description "Safe Haskell introduced the notion of safe and unsafe
  14029. modules. In order to make as many as possible modules ``safe'', the
  14030. well-known unsafe functions were moved to distinguished modules. This
  14031. makes it hard to write packages that work with both old and new versions
  14032. of GHC. This package provides a single module System.Unsafe that
  14033. exports the unsafe functions from the base package. It provides them in
  14034. a style ready for qualification, that is, you should import them by
  14035. @code{import qualified System.Unsafe as Unsafe}.")
  14036. (license license:bsd-3)))
  14037. (define-public ghc-uri-bytestring
  14038. (package
  14039. (name "ghc-uri-bytestring")
  14040. (version "0.3.2.2")
  14041. (source
  14042. (origin
  14043. (method url-fetch)
  14044. (uri (string-append "https://hackage.haskell.org/package/"
  14045. "uri-bytestring-" version "/"
  14046. "uri-bytestring-" version ".tar.gz"))
  14047. (sha256
  14048. (base32
  14049. "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
  14050. (build-system haskell-build-system)
  14051. (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
  14052. ("ghc-blaze-builder" ,ghc-blaze-builder)
  14053. ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
  14054. (native-inputs `(("ghc-hunit" ,ghc-hunit)
  14055. ("ghc-tasty" ,ghc-tasty)
  14056. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  14057. ("ghc-hedgehog" ,ghc-hedgehog)
  14058. ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
  14059. ("ghc-base-compat" ,ghc-base-compat)
  14060. ("ghc-semigroups" ,ghc-semigroups)
  14061. ("ghc-safe" ,ghc-safe)))
  14062. (home-page "https://github.com/Soostone/uri-bytestring")
  14063. (synopsis "Haskell URI parsing as ByteStrings")
  14064. (description "This Haskell package aims to be an RFC3986 compliant URI
  14065. parser that uses ByteStrings for parsing and representing the URI data.")
  14066. (license license:bsd-3)))
  14067. (define-public ghc-utf8-light
  14068. (package
  14069. (name "ghc-utf8-light")
  14070. (version "0.4.2")
  14071. (source
  14072. (origin
  14073. (method url-fetch)
  14074. (uri (string-append
  14075. "mirror://hackage/package/utf8-light/utf8-light-"
  14076. version
  14077. ".tar.gz"))
  14078. (sha256
  14079. (base32
  14080. "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
  14081. (build-system haskell-build-system)
  14082. (home-page
  14083. "http://hackage.haskell.org/package/utf8-light")
  14084. (synopsis "Lightweight unicode support for Haskell")
  14085. (description
  14086. "This package profides a class for encoding and decoding UTF8 strings
  14087. with instances for several common types. It also includes several functions
  14088. for working with UTF8. It aims to be lightweight, depending only on Base and
  14089. including only one module.")
  14090. (license license:bsd-3)))
  14091. (define-public ghc-utf8-string
  14092. (package
  14093. (name "ghc-utf8-string")
  14094. (version "1.0.1.1")
  14095. (source
  14096. (origin
  14097. (method url-fetch)
  14098. (uri (string-append
  14099. "https://hackage.haskell.org/package/utf8-string/utf8-string-"
  14100. version
  14101. ".tar.gz"))
  14102. (sha256
  14103. (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
  14104. (build-system haskell-build-system)
  14105. (arguments
  14106. `(#:cabal-revision
  14107. ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
  14108. (home-page "https://github.com/glguy/utf8-string/")
  14109. (synopsis "Support for reading and writing UTF8 Strings")
  14110. (description
  14111. "A UTF8 layer for Strings. The utf8-string package provides operations
  14112. for encoding UTF8 strings to Word8 lists and back, and for reading and writing
  14113. UTF8 without truncation.")
  14114. (license license:bsd-3)))
  14115. (define-public ghc-utility-ht
  14116. (package
  14117. (name "ghc-utility-ht")
  14118. (version "0.0.14")
  14119. (home-page "https://hackage.haskell.org/package/utility-ht")
  14120. (source
  14121. (origin
  14122. (method url-fetch)
  14123. (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
  14124. (sha256
  14125. (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
  14126. (build-system haskell-build-system)
  14127. (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
  14128. (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
  14129. (description "This package includes Hakell modules providing various
  14130. helper functions for Lists, Maybes, Tuples, Functions.")
  14131. (license license:bsd-3)))
  14132. (define-public ghc-uuid
  14133. (package
  14134. (name "ghc-uuid")
  14135. (version "1.3.13")
  14136. (source
  14137. (origin
  14138. (method url-fetch)
  14139. (uri (string-append "https://hackage.haskell.org/package/"
  14140. "uuid-" version "/"
  14141. "uuid-" version ".tar.gz"))
  14142. (sha256
  14143. (base32
  14144. "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
  14145. (build-system haskell-build-system)
  14146. (arguments
  14147. `(#:cabal-revision
  14148. ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
  14149. #:phases
  14150. (modify-phases %standard-phases
  14151. (add-before 'configure 'strip-test-framework-constraints
  14152. (lambda _
  14153. (substitute* "uuid.cabal"
  14154. (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
  14155. (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
  14156. (("tasty >= 0\\.10 && < 0\\.12") "tasty")
  14157. (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
  14158. (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
  14159. (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
  14160. ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
  14161. ("ghc-entropy" ,ghc-entropy)
  14162. ("ghc-network-info" ,ghc-network-info)
  14163. ("ghc-random" ,ghc-random)
  14164. ("ghc-uuid-types" ,ghc-uuid-types)))
  14165. (native-inputs `(("ghc-hunit" ,ghc-hunit)
  14166. ("ghc-quickcheck" ,ghc-quickcheck)
  14167. ("ghc-tasty" ,ghc-tasty)
  14168. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  14169. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  14170. (home-page "https://github.com/hvr/uuid")
  14171. (synopsis "Haskell library to create, compare, parse, and print UUIDs")
  14172. (description "This Haskell library provides utilities creating, comparing,
  14173. parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
  14174. (license license:bsd-3)))
  14175. (define-public ghc-uuid-types
  14176. (package
  14177. (name "ghc-uuid-types")
  14178. (version "1.0.3")
  14179. (source
  14180. (origin
  14181. (method url-fetch)
  14182. (uri (string-append "https://hackage.haskell.org/package/"
  14183. "uuid-types-" version "/"
  14184. "uuid-types-" version ".tar.gz"))
  14185. (sha256
  14186. (base32
  14187. "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
  14188. (build-system haskell-build-system)
  14189. (arguments
  14190. `(#:phases
  14191. (modify-phases %standard-phases
  14192. (add-before 'configure 'strip-test-framework-constraints
  14193. (lambda _
  14194. (substitute* "uuid-types.cabal"
  14195. (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
  14196. (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
  14197. (("tasty >= 0\\.10 && < 0\\.12") "tasty")
  14198. (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
  14199. (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
  14200. (inputs `(("ghc-hashable" ,ghc-hashable)
  14201. ("ghc-random" ,ghc-random)))
  14202. (native-inputs `(("ghc-hunit" ,ghc-hunit)
  14203. ("ghc-quickcheck" ,ghc-quickcheck)
  14204. ("ghc-tasty" ,ghc-tasty)
  14205. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  14206. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  14207. (home-page "https://github.com/hvr/uuid")
  14208. (synopsis "Haskell type definitions for UUIDs")
  14209. (description "This Haskell library contains type definitions for
  14210. @dfn{Universally Unique Identifiers} or
  14211. @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
  14212. functions.")
  14213. (license license:bsd-3)))
  14214. (define-public ghc-validation
  14215. (package
  14216. (name "ghc-validation")
  14217. (version "1.1")
  14218. (source
  14219. (origin
  14220. (method url-fetch)
  14221. (uri (string-append
  14222. "mirror://hackage/package/validation/validation-"
  14223. version
  14224. ".tar.gz"))
  14225. (sha256
  14226. (base32
  14227. "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
  14228. (build-system haskell-build-system)
  14229. (arguments
  14230. `(#:cabal-revision
  14231. ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
  14232. (inputs
  14233. `(("ghc-semigroups" ,ghc-semigroups)
  14234. ("ghc-semigroupoids" ,ghc-semigroupoids)
  14235. ("ghc-bifunctors" ,ghc-bifunctors)
  14236. ("ghc-lens" ,ghc-lens)))
  14237. (native-inputs
  14238. `(("ghc-hedgehog" ,ghc-hedgehog)
  14239. ("ghc-hunit" ,ghc-hunit)))
  14240. (home-page "https://github.com/qfpl/validation")
  14241. (synopsis
  14242. "Data-type like Either but with an accumulating Applicative")
  14243. (description
  14244. "A data-type like Either but with differing properties and type-class
  14245. instances.
  14246. Library support is provided for this different representation, including
  14247. @code{lens}-related functions for converting between each and abstracting over
  14248. their similarities.
  14249. The @code{Validation} data type is isomorphic to @code{Either}, but has an
  14250. instance of @code{Applicative} that accumulates on the error side. That is to
  14251. say, if two (or more) errors are encountered, they are appended using a
  14252. @{Semigroup} operation.
  14253. As a consequence of this @code{Applicative} instance, there is no
  14254. corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
  14255. example of, \"An applicative functor that is not a monad.\"")
  14256. (license license:bsd-3)))
  14257. (define-public ghc-validity
  14258. (package
  14259. (name "ghc-validity")
  14260. (version "0.9.0.2")
  14261. (source
  14262. (origin
  14263. (method url-fetch)
  14264. (uri (string-append
  14265. "https://hackage.haskell.org/package/validity/validity-"
  14266. version
  14267. ".tar.gz"))
  14268. (sha256
  14269. (base32
  14270. "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
  14271. (build-system haskell-build-system)
  14272. (native-inputs `(("ghc-hspec" ,ghc-hspec)
  14273. ("hspec-discover" ,hspec-discover)))
  14274. (home-page
  14275. "https://github.com/NorfairKing/validity")
  14276. (synopsis "Validity typeclass")
  14277. (description
  14278. "Values of custom types usually have invariants imposed upon them. This
  14279. package provides the @code{Validity} type class, which makes these invariants
  14280. explicit by providing a function to check whether the invariants hold.")
  14281. (license license:expat)))
  14282. (define-public ghc-vault
  14283. (package
  14284. (name "ghc-vault")
  14285. (version "0.3.1.3")
  14286. (source
  14287. (origin
  14288. (method url-fetch)
  14289. (uri (string-append
  14290. "https://hackage.haskell.org/package/vault/vault-"
  14291. version
  14292. ".tar.gz"))
  14293. (sha256
  14294. (base32
  14295. "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
  14296. (build-system haskell-build-system)
  14297. (inputs
  14298. `(("ghc-unordered-containers" ,ghc-unordered-containers)
  14299. ("ghc-hashable" ,ghc-hashable)
  14300. ("ghc-semigroups" ,ghc-semigroups)))
  14301. (home-page
  14302. "https://github.com/HeinrichApfelmus/vault")
  14303. (synopsis "Persistent store for arbitrary values")
  14304. (description "This package provides vaults for Haskell. A vault is a
  14305. persistent store for values of arbitrary types. It's like having first-class
  14306. access to the storage space behind @code{IORefs}. The data structure is
  14307. analogous to a bank vault, where you can access different bank boxes with
  14308. different keys; hence the name. Also provided is a @code{locker} type,
  14309. representing a store for a single element.")
  14310. (license license:bsd-3)))
  14311. (define-public ghc-vector
  14312. (package
  14313. (name "ghc-vector")
  14314. (version "0.12.0.3")
  14315. (outputs '("out" "static" "doc"))
  14316. (source
  14317. (origin
  14318. (method url-fetch)
  14319. (uri (string-append
  14320. "https://hackage.haskell.org/package/vector/vector-"
  14321. version
  14322. ".tar.gz"))
  14323. (sha256
  14324. (base32
  14325. "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
  14326. (build-system haskell-build-system)
  14327. ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
  14328. ;; disabled for now.
  14329. (arguments
  14330. `(#:tests? #f))
  14331. (inputs
  14332. `(("ghc-primitive" ,ghc-primitive)
  14333. ("ghc-random" ,ghc-random)
  14334. ("ghc-quickcheck" ,ghc-quickcheck)
  14335. ;; ("ghc-hunit" ,ghc-hunit)
  14336. ;; ("ghc-test-framework" ,ghc-test-framework)
  14337. ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  14338. ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  14339. ))
  14340. (home-page "https://github.com/haskell/vector")
  14341. (synopsis "Efficient Arrays")
  14342. (description "This library provides an efficient implementation of
  14343. Int-indexed arrays (both mutable and immutable), with a powerful loop
  14344. optimisation framework.")
  14345. (license license:bsd-3)))
  14346. (define-public ghc-vector-algorithms
  14347. (package
  14348. (name "ghc-vector-algorithms")
  14349. (version "0.8.0.1")
  14350. (source
  14351. (origin
  14352. (method url-fetch)
  14353. (uri (string-append "https://hackage.haskell.org/package/"
  14354. "vector-algorithms-" version "/"
  14355. "vector-algorithms-" version ".tar.gz"))
  14356. (sha256
  14357. (base32
  14358. "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
  14359. (build-system haskell-build-system)
  14360. (inputs
  14361. `(("ghc-vector" ,ghc-vector)))
  14362. (native-inputs
  14363. `(("ghc-quickcheck" ,ghc-quickcheck)))
  14364. (home-page "https://github.com/bos/math-functions")
  14365. (synopsis "Algorithms for vector arrays in Haskell")
  14366. (description "This Haskell library algorithms for vector arrays.")
  14367. (license license:bsd-3)))
  14368. (define-public ghc-vector-binary-instances
  14369. (package
  14370. (name "ghc-vector-binary-instances")
  14371. (version "0.2.5.1")
  14372. (source
  14373. (origin
  14374. (method url-fetch)
  14375. (uri (string-append
  14376. "https://hackage.haskell.org/package/"
  14377. "vector-binary-instances/vector-binary-instances-"
  14378. version ".tar.gz"))
  14379. (sha256
  14380. (base32
  14381. "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
  14382. (build-system haskell-build-system)
  14383. (inputs
  14384. `(("ghc-vector" ,ghc-vector)))
  14385. (native-inputs
  14386. `(("ghc-tasty" ,ghc-tasty)
  14387. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  14388. (home-page "https://github.com/bos/vector-binary-instances")
  14389. (synopsis "Instances of Data.Binary and Data.Serialize for vector")
  14390. (description "This library provides instances of @code{Binary} for the
  14391. types defined in the @code{vector} package, making it easy to serialize
  14392. vectors to and from disk. We use the generic interface to vectors, so all
  14393. vector types are supported. Specific instances are provided for unboxed,
  14394. boxed and storable vectors.")
  14395. (license license:bsd-3)))
  14396. (define-public ghc-vector-builder
  14397. (package
  14398. (name "ghc-vector-builder")
  14399. (version "0.3.8")
  14400. (source
  14401. (origin
  14402. (method url-fetch)
  14403. (uri (string-append "https://hackage.haskell.org/package/"
  14404. "vector-builder-" version "/"
  14405. "vector-builder-" version ".tar.gz"))
  14406. (sha256
  14407. (base32
  14408. "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
  14409. (build-system haskell-build-system)
  14410. (inputs `(("ghc-vector" ,ghc-vector)
  14411. ("ghc-semigroups" ,ghc-semigroups)
  14412. ("ghc-base-prelude" ,ghc-base-prelude)))
  14413. (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
  14414. ("ghc-tasty" ,ghc-tasty)
  14415. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  14416. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  14417. ("ghc-hunit" ,ghc-hunit)
  14418. ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
  14419. ("ghc-rerebase" ,ghc-rerebase)))
  14420. (home-page "https://github.com/nikita-volkov/vector-builder")
  14421. (synopsis "Vector builder for Haskell")
  14422. (description "This Haskell package provides an API for constructing vectors.
  14423. It provides the composable @code{Builder} abstraction, which has instances of the
  14424. @code{Monoid} and @code{Semigroup} classes.
  14425. You would first use the @code{Builder} abstraction to specify the structure of
  14426. the vector; then you can execute the builder to actually produce the
  14427. vector. ")
  14428. (license license:expat)))
  14429. (define-public ghc-vector-th-unbox
  14430. (package
  14431. (name "ghc-vector-th-unbox")
  14432. (version "0.2.1.7")
  14433. (source
  14434. (origin
  14435. (method url-fetch)
  14436. (uri (string-append "https://hackage.haskell.org/package/"
  14437. "vector-th-unbox-" version "/"
  14438. "vector-th-unbox-" version ".tar.gz"))
  14439. (sha256
  14440. (base32
  14441. "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
  14442. (build-system haskell-build-system)
  14443. (inputs
  14444. `(("ghc-vector" ,ghc-vector)
  14445. ("ghc-data-default" ,ghc-data-default)))
  14446. (home-page "https://github.com/liyang/vector-th-unbox")
  14447. (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
  14448. (description "This Haskell library provides a Template Haskell
  14449. deriver for unboxed vectors, given a pair of coercion functions to
  14450. and from some existing type with an Unbox instance.")
  14451. (license license:bsd-3)))
  14452. (define-public ghc-void
  14453. (package
  14454. (name "ghc-void")
  14455. (version "0.7.3")
  14456. (source
  14457. (origin
  14458. (method url-fetch)
  14459. (uri (string-append
  14460. "https://hackage.haskell.org/package/void/void-"
  14461. version
  14462. ".tar.gz"))
  14463. (sha256
  14464. (base32
  14465. "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
  14466. (build-system haskell-build-system)
  14467. (inputs
  14468. `(("ghc-semigroups" ,ghc-semigroups)
  14469. ("ghc-hashable" ,ghc-hashable)))
  14470. (home-page "https://github.com/ekmett/void")
  14471. (synopsis
  14472. "Logically uninhabited data type")
  14473. (description
  14474. "A Haskell 98 logically uninhabited data type, used to indicate that a
  14475. given term should not exist.")
  14476. (license license:bsd-3)))
  14477. (define-public ghc-wave
  14478. (package
  14479. (name "ghc-wave")
  14480. (version "0.2.0")
  14481. (source (origin
  14482. (method url-fetch)
  14483. (uri (string-append
  14484. "https://hackage.haskell.org/package/wave/wave-"
  14485. version
  14486. ".tar.gz"))
  14487. (sha256
  14488. (base32
  14489. "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
  14490. (build-system haskell-build-system)
  14491. (arguments
  14492. '(#:phases
  14493. (modify-phases %standard-phases
  14494. (add-before 'configure 'update-constraints
  14495. (lambda _
  14496. (substitute* "wave.cabal"
  14497. (("temporary.* < 1\\.3")
  14498. "temporary >= 1.1 && < 1.4")))))))
  14499. (inputs
  14500. `(("ghc-cereal" ,ghc-cereal)
  14501. ("ghc-data-default-class"
  14502. ,ghc-data-default-class)
  14503. ("ghc-quickcheck" ,ghc-quickcheck)
  14504. ("ghc-temporary" ,ghc-temporary)))
  14505. (native-inputs
  14506. `(("hspec-discover" ,hspec-discover)
  14507. ("ghc-hspec" ,ghc-hspec)))
  14508. (home-page "https://github.com/mrkkrp/wave")
  14509. (synopsis "Work with WAVE and RF64 files in Haskell")
  14510. (description "This package allows you to work with WAVE and RF64
  14511. files in Haskell.")
  14512. (license license:bsd-3)))
  14513. (define-public ghc-wcwidth
  14514. (package
  14515. (name "ghc-wcwidth")
  14516. (version "0.0.2")
  14517. (source
  14518. (origin
  14519. (method url-fetch)
  14520. (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
  14521. version ".tar.gz"))
  14522. (sha256
  14523. (base32
  14524. "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
  14525. (build-system haskell-build-system)
  14526. (inputs
  14527. `(("ghc-setlocale" ,ghc-setlocale)
  14528. ("ghc-utf8-string" ,ghc-utf8-string)
  14529. ("ghc-attoparsec" ,ghc-attoparsec)))
  14530. (home-page "https://github.com/solidsnack/wcwidth/")
  14531. (synopsis "Haskell bindings to wcwidth")
  14532. (description "This package provides Haskell bindings to your system's
  14533. native wcwidth and a command line tool to examine the widths assigned by it.
  14534. The command line tool can compile a width table to Haskell code that assigns
  14535. widths to the Char type.")
  14536. (license license:bsd-3)))
  14537. (define-public ghc-wcwidth-bootstrap
  14538. (package
  14539. (inherit ghc-wcwidth)
  14540. (name "ghc-wcwidth-bootstrap")
  14541. (inputs
  14542. `(("ghc-setlocale" ,ghc-setlocale)
  14543. ("ghc-utf8-string" ,ghc-utf8-string)
  14544. ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
  14545. (properties '((hidden? #t)))))
  14546. (define-public ghc-weigh
  14547. (package
  14548. (name "ghc-weigh")
  14549. (version "0.0.14")
  14550. (source
  14551. (origin
  14552. (method url-fetch)
  14553. (uri (string-append "https://hackage.haskell.org/package/weigh/"
  14554. "weigh-" version ".tar.gz"))
  14555. (sha256
  14556. (base32
  14557. "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
  14558. (build-system haskell-build-system)
  14559. (inputs
  14560. `(("ghc-split" ,ghc-split)
  14561. ("ghc-temporary" ,ghc-temporary)))
  14562. (home-page "https://github.com/fpco/weigh#readme")
  14563. (synopsis "Measure allocations of a Haskell functions/values")
  14564. (description "This package provides tools to measure the memory usage of a
  14565. Haskell value or function.")
  14566. (license license:bsd-3)))
  14567. (define-public ghc-wizards
  14568. (package
  14569. (name "ghc-wizards")
  14570. (version "1.0.3")
  14571. (source
  14572. (origin
  14573. (method url-fetch)
  14574. (uri (string-append
  14575. "https://hackage.haskell.org/package/wizards/wizards-"
  14576. version
  14577. ".tar.gz"))
  14578. (sha256
  14579. (base32
  14580. "1clvbd1ckhvy29qrbmpkn7bya7300fq6znnps23nn3nxyrxhsr85"))))
  14581. (build-system haskell-build-system)
  14582. (inputs
  14583. `(("ghc-control-monad-free" ,ghc-control-monad-free)))
  14584. (arguments
  14585. `(#:cabal-revision
  14586. ("1"
  14587. "095qd17zrdhqmcvmslbyzfa5sh9glvvsnsvnlz31gzsmi8nnsgim")))
  14588. (home-page "http://hackage.haskell.org/package/wizards")
  14589. (synopsis "High level, generic library for interrogative user interfaces")
  14590. (description
  14591. "@code{wizards} is a package designed for the quick and painless
  14592. development of @emph{interrogative} programs, which revolve around a dialogue
  14593. with the user, who is asked a series of questions in a sequence much like an
  14594. installation wizard.
  14595. Everything from interactive system scripts, to installation wizards, to
  14596. full-blown shells can be implemented with the support of @code{wizards}.
  14597. It is developed transparently on top of a free monad, which separates out the
  14598. semantics of the program from any particular interface. A variety of backends
  14599. exist, including console-based @code{System.Console.Wizard.Haskeline} and
  14600. @code{System.Console.Wizard.BasicIO}, and the pure
  14601. @code{System.Console.Wizard.Pure}. It is also possible to write your own
  14602. backends, or extend existing back-ends with new features. While both built-in
  14603. IO backends operate on a console, there is no reason why @code{wizards} cannot
  14604. also be used for making GUI wizard interfaces.")
  14605. (license license:bsd-3)))
  14606. (define-public ghc-wl-pprint
  14607. (package
  14608. (name "ghc-wl-pprint")
  14609. (version "1.2.1")
  14610. (source (origin
  14611. (method url-fetch)
  14612. (uri (string-append
  14613. "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
  14614. version ".tar.gz"))
  14615. (sha256
  14616. (base32
  14617. "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
  14618. (build-system haskell-build-system)
  14619. (home-page "https://hackage.haskell.org/package/wl-pprint")
  14620. (synopsis "Wadler/Leijen pretty printer")
  14621. (description
  14622. "This is a pretty printing library based on Wadler's paper @i{A Prettier
  14623. Printer}. This version allows the library user to declare overlapping
  14624. instances of the @code{Pretty} class.")
  14625. (license license:bsd-3)))
  14626. (define-public ghc-wl-pprint-annotated
  14627. (package
  14628. (name "ghc-wl-pprint-annotated")
  14629. (version "0.1.0.1")
  14630. (source
  14631. (origin
  14632. (method url-fetch)
  14633. (uri (string-append
  14634. "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
  14635. version
  14636. ".tar.gz"))
  14637. (sha256
  14638. (base32
  14639. "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
  14640. (build-system haskell-build-system)
  14641. (native-inputs
  14642. `(("ghc-tasty" ,ghc-tasty)
  14643. ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  14644. (home-page
  14645. "https://github.com/minad/wl-pprint-annotated#readme")
  14646. (synopsis
  14647. "Wadler/Leijen pretty printer with annotation support")
  14648. (description
  14649. "Annotations are useful for coloring. This is a limited version of
  14650. @code{wl-pprint-extras} without support for point effects and without the free
  14651. monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
  14652. Compared to @code{annotated-wl-pprint} this library provides a slightly
  14653. modernized interface.")
  14654. (license license:bsd-3)))
  14655. (define-public ghc-wl-pprint-text
  14656. (package
  14657. (name "ghc-wl-pprint-text")
  14658. (version "1.2.0.0")
  14659. (source
  14660. (origin
  14661. (method url-fetch)
  14662. (uri (string-append
  14663. "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
  14664. version ".tar.gz"))
  14665. (sha256
  14666. (base32
  14667. "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
  14668. (build-system haskell-build-system)
  14669. (inputs
  14670. `(("ghc-base-compat" ,ghc-base-compat)))
  14671. (home-page "https://hackage.haskell.org/package/wl-pprint-text")
  14672. (synopsis "Wadler/Leijen Pretty Printer for Text values")
  14673. (description
  14674. "A clone of wl-pprint for use with the text library.")
  14675. (license license:bsd-3)))
  14676. (define-public ghc-word-wrap
  14677. (package
  14678. (name "ghc-word-wrap")
  14679. (version "0.4.1")
  14680. (source
  14681. (origin
  14682. (method url-fetch)
  14683. (uri (string-append "https://hackage.haskell.org/package/"
  14684. "word-wrap/word-wrap-" version ".tar.gz"))
  14685. (sha256
  14686. (base32 "15rcqhg9vb7qisk9ryjnyhhfgigxksnkrczycaw2rin08wczjwpb"))))
  14687. (build-system haskell-build-system)
  14688. (native-inputs `(("ghc-hspec" ,ghc-hspec)))
  14689. (arguments
  14690. `(#:cabal-revision
  14691. ("1" "1k4w4g053vhmpp08542hrqaw81p3p35i567xgdarqmpghfrk68pp")))
  14692. (home-page "https://github.com/jtdaugherty/word-wrap/")
  14693. (synopsis "Haskell library for word-wrapping text")
  14694. (description
  14695. "The @code{word-wrap} Haskell library wraps long lines of text.")
  14696. (license license:bsd-3)))
  14697. (define-public ghc-word8
  14698. (package
  14699. (name "ghc-word8")
  14700. (version "0.1.3")
  14701. (source
  14702. (origin
  14703. (method url-fetch)
  14704. (uri (string-append
  14705. "https://hackage.haskell.org/package/word8/word8-"
  14706. version
  14707. ".tar.gz"))
  14708. (sha256
  14709. (base32
  14710. "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
  14711. (build-system haskell-build-system)
  14712. (native-inputs
  14713. `(("ghc-hspec" ,ghc-hspec)
  14714. ("hspec-discover" ,hspec-discover)))
  14715. (home-page "https://hackage.haskell.org/package/word8")
  14716. (synopsis "Word8 library for Haskell")
  14717. (description "Word8 library to be used with @code{Data.ByteString}.")
  14718. (license license:bsd-3)))
  14719. (define-public ghc-wordexp
  14720. (package
  14721. (name "ghc-wordexp")
  14722. (version "0.2.2")
  14723. (source
  14724. (origin
  14725. (method url-fetch)
  14726. (uri (string-append
  14727. "https://hackage.haskell.org/package/wordexp/wordexp-"
  14728. version
  14729. ".tar.gz"))
  14730. (sha256
  14731. (base32
  14732. "1mbcrq89jz0dcibw66w0jdy4f4bfpx4zwjfs98rm3jjgdikwdzb4"))))
  14733. (build-system haskell-build-system)
  14734. (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
  14735. (inputs
  14736. `(("ghc-semigroups" ,ghc-semigroups)))
  14737. (home-page "https://hackage.haskell.org/package/wordexp")
  14738. (synopsis "Library wrapping @code{wordexp} for Haskell")
  14739. (description "@code{wordexp(3)} wrapper library for Haskell to perform
  14740. word expansion like a posix-shell.")
  14741. (license license:bsd-3)))
  14742. (define-public ghc-x11
  14743. (package
  14744. (name "ghc-x11")
  14745. (version "1.9.1")
  14746. (source
  14747. (origin
  14748. (method url-fetch)
  14749. (uri (string-append "https://hackage.haskell.org/package/X11/"
  14750. "X11-" version ".tar.gz"))
  14751. (sha256
  14752. (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
  14753. (build-system haskell-build-system)
  14754. (arguments
  14755. `(#:extra-directories
  14756. ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")))
  14757. (inputs
  14758. `(("libx11" ,libx11)
  14759. ("libxrandr" ,libxrandr)
  14760. ("libxinerama" ,libxinerama)
  14761. ("libxscrnsaver" ,libxscrnsaver)
  14762. ("ghc-data-default" ,ghc-data-default)))
  14763. (home-page "https://github.com/haskell-pkg-janitors/X11")
  14764. (synopsis "Bindings to the X11 graphics library")
  14765. (description
  14766. "This package provides Haskell bindings to the X11 graphics library. The
  14767. bindings are a direct translation of the C bindings.")
  14768. (license license:bsd-3)))
  14769. (define-public ghc-x11-xft
  14770. (package
  14771. (name "ghc-x11-xft")
  14772. (version "0.3.1")
  14773. (source
  14774. (origin
  14775. (method url-fetch)
  14776. (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
  14777. "X11-xft-" version ".tar.gz"))
  14778. (sha256
  14779. (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
  14780. (arguments
  14781. `(#:extra-directories ("libx11" "libxft" "xorgproto")))
  14782. (inputs
  14783. `(("ghc-x11" ,ghc-x11)
  14784. ("ghc-utf8-string" ,ghc-utf8-string)
  14785. ("libx11" ,libx11)
  14786. ("libxft" ,libxft)
  14787. ("xorgproto" ,xorgproto)))
  14788. (native-inputs
  14789. `(("pkg-config" ,pkg-config)))
  14790. (build-system haskell-build-system)
  14791. (home-page "https://hackage.haskell.org/package/X11-xft")
  14792. (synopsis "Bindings to Xft")
  14793. (description
  14794. "Bindings to the Xft, X Free Type interface library, and some Xrender
  14795. parts.")
  14796. (license license:lgpl2.1)))
  14797. (define-public ghc-xdg-basedir
  14798. (package
  14799. (name "ghc-xdg-basedir")
  14800. (version "0.2.2")
  14801. (source
  14802. (origin
  14803. (method url-fetch)
  14804. (uri (string-append
  14805. "https://hackage.haskell.org/package/xdg-basedir/"
  14806. "xdg-basedir-" version ".tar.gz"))
  14807. (sha256
  14808. (base32
  14809. "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
  14810. (build-system haskell-build-system)
  14811. (home-page "https://github.com/willdonnelly/xdg-basedir")
  14812. (synopsis "XDG Base Directory library for Haskell")
  14813. (description "This package provides a library implementing the XDG Base Directory spec.")
  14814. (license license:bsd-3)))
  14815. (define-public ghc-xml
  14816. (package
  14817. (name "ghc-xml")
  14818. (version "1.3.14")
  14819. (source
  14820. (origin
  14821. (method url-fetch)
  14822. (uri (string-append
  14823. "https://hackage.haskell.org/package/xml/xml-"
  14824. version
  14825. ".tar.gz"))
  14826. (sha256
  14827. (base32
  14828. "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
  14829. (build-system haskell-build-system)
  14830. (home-page "https://github.com/GaloisInc/xml")
  14831. (synopsis "Simple XML library for Haskell")
  14832. (description "This package provides a simple XML library for Haskell.")
  14833. (license license:bsd-3)))
  14834. (define-public ghc-xml-conduit
  14835. (package
  14836. (name "ghc-xml-conduit")
  14837. (version "1.8.0.1")
  14838. (source
  14839. (origin
  14840. (method url-fetch)
  14841. (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
  14842. "xml-conduit-" version ".tar.gz"))
  14843. (sha256
  14844. (base32
  14845. "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
  14846. (build-system haskell-build-system)
  14847. (inputs
  14848. `(("ghc-conduit" ,ghc-conduit)
  14849. ("ghc-conduit-extra" ,ghc-conduit-extra)
  14850. ("ghc-doctest" ,ghc-doctest)
  14851. ("ghc-resourcet" ,ghc-resourcet)
  14852. ("ghc-xml-types" ,ghc-xml-types)
  14853. ("ghc-attoparsec" ,ghc-attoparsec)
  14854. ("ghc-data-default-class" ,ghc-data-default-class)
  14855. ("ghc-blaze-markup" ,ghc-blaze-markup)
  14856. ("ghc-blaze-html" ,ghc-blaze-html)
  14857. ("ghc-monad-control" ,ghc-monad-control)
  14858. ("ghc-hspec" ,ghc-hspec)
  14859. ("ghc-hunit" ,ghc-hunit)))
  14860. (home-page "https://github.com/snoyberg/xml")
  14861. (synopsis "Utilities for dealing with XML with the conduit package")
  14862. (description
  14863. "This package provides pure-Haskell utilities for dealing with XML with
  14864. the @code{conduit} package.")
  14865. (license license:expat)))
  14866. (define-public ghc-xml-types
  14867. (package
  14868. (name "ghc-xml-types")
  14869. (version "0.3.6")
  14870. (source
  14871. (origin
  14872. (method url-fetch)
  14873. (uri (string-append "https://hackage.haskell.org/package/xml-types/"
  14874. "xml-types-" version ".tar.gz"))
  14875. (sha256
  14876. (base32
  14877. "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
  14878. (build-system haskell-build-system)
  14879. (home-page "https://john-millikin.com/software/haskell-xml/")
  14880. (synopsis "Basic types for representing XML")
  14881. (description "This package provides basic types for representing XML
  14882. documents.")
  14883. (license license:expat)))
  14884. (define-public ghc-xml-hamlet
  14885. (package
  14886. (name "ghc-xml-hamlet")
  14887. (version "0.5.0.1")
  14888. (source
  14889. (origin
  14890. (method url-fetch)
  14891. (uri (string-append "https://hackage.haskell.org/package/xml-hamlet/"
  14892. "xml-hamlet-" version ".tar.gz"))
  14893. (sha256
  14894. (base32 "0jrhcjy7ww59dafg857f2g2df1fw2jmbwcs1q379ph0pc5rxj3lj"))))
  14895. (build-system haskell-build-system)
  14896. (inputs
  14897. `(("ghc-shakespeare" ,ghc-shakespeare)
  14898. ("ghc-xml-conduit" ,ghc-xml-conduit)))
  14899. (native-inputs
  14900. `(("ghc-hspec" ,ghc-hspec)
  14901. ("ghc-hunit" ,ghc-hunit)))
  14902. (home-page "https://www.yesodweb.com/")
  14903. (synopsis "Hamlet-style quasiquoter for XML content")
  14904. (description "This package provides a type-safe tool for generating XML
  14905. code via quasi-quoting built on top of @code{ghc-shakespeare}.")
  14906. (license license:bsd-3)))
  14907. (define-public ghc-yaml
  14908. (package
  14909. (name "ghc-yaml")
  14910. (version "0.11.1.2")
  14911. (source (origin
  14912. (method url-fetch)
  14913. (uri (string-append "https://hackage.haskell.org/package/"
  14914. "yaml/yaml-" version ".tar.gz"))
  14915. (sha256
  14916. (base32
  14917. "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
  14918. (build-system haskell-build-system)
  14919. (inputs
  14920. `(("ghc-conduit" ,ghc-conduit)
  14921. ("ghc-resourcet" ,ghc-resourcet)
  14922. ("ghc-aeson" ,ghc-aeson)
  14923. ("ghc-unordered-containers" ,ghc-unordered-containers)
  14924. ("ghc-vector" ,ghc-vector)
  14925. ("ghc-attoparsec" ,ghc-attoparsec)
  14926. ("ghc-scientific" ,ghc-scientific)
  14927. ("ghc-semigroups" ,ghc-semigroups)
  14928. ("ghc-temporary" ,ghc-temporary)
  14929. ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
  14930. ("ghc-base-compat" ,ghc-base-compat)
  14931. ("ghc-libyaml" ,ghc-libyaml)))
  14932. (native-inputs
  14933. `(("ghc-hspec" ,ghc-hspec)
  14934. ("ghc-hunit" ,ghc-hunit)
  14935. ("hspec-discover" ,hspec-discover)
  14936. ("ghc-mockery" ,ghc-mockery)
  14937. ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
  14938. (home-page "https://github.com/snoyberg/yaml/")
  14939. (synopsis "Parsing and rendering YAML documents")
  14940. (description
  14941. "This package provides a library to parse and render YAML documents.")
  14942. (license license:bsd-3)))
  14943. (define-public ghc-zip-archive
  14944. (package
  14945. (name "ghc-zip-archive")
  14946. (version "0.4.1")
  14947. (source
  14948. (origin
  14949. (method url-fetch)
  14950. (uri (string-append
  14951. "https://hackage.haskell.org/package/zip-archive/zip-archive-"
  14952. version
  14953. ".tar.gz"))
  14954. (sha256
  14955. (base32
  14956. "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
  14957. (build-system haskell-build-system)
  14958. (arguments
  14959. `(#:phases
  14960. (modify-phases %standard-phases
  14961. (add-before 'check 'set-PATH-for-tests
  14962. (lambda* (#:key inputs #:allow-other-keys)
  14963. (let ((unzip (assoc-ref inputs "unzip"))
  14964. (which (assoc-ref inputs "which"))
  14965. (path (getenv "PATH")))
  14966. (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
  14967. #t))))))
  14968. (inputs
  14969. `(("ghc-digest" ,ghc-digest)
  14970. ("ghc-temporary" ,ghc-temporary)
  14971. ("ghc-zlib" ,ghc-zlib)))
  14972. (native-inputs
  14973. `(("ghc-hunit" ,ghc-hunit)
  14974. ("unzip" ,unzip)
  14975. ("which" ,which)))
  14976. (home-page "https://hackage.haskell.org/package/zip-archive")
  14977. (synopsis "Zip archive library for Haskell")
  14978. (description "The zip-archive library provides functions for creating,
  14979. modifying, and extracting files from zip archives in Haskell.")
  14980. (license license:bsd-3)))
  14981. (define-public ghc-zlib
  14982. (package
  14983. (name "ghc-zlib")
  14984. (version "0.6.2.1")
  14985. (outputs '("out" "static" "doc"))
  14986. (source
  14987. (origin
  14988. (method url-fetch)
  14989. (uri (string-append
  14990. "https://hackage.haskell.org/package/zlib/zlib-"
  14991. version
  14992. ".tar.gz"))
  14993. (sha256
  14994. (base32
  14995. "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
  14996. (build-system haskell-build-system)
  14997. (arguments
  14998. `(#:extra-directories ("zlib")
  14999. #:phases
  15000. (modify-phases %standard-phases
  15001. (add-before 'configure 'strip-test-framework-constraints
  15002. (lambda _
  15003. (substitute* "zlib.cabal"
  15004. (("tasty >= 0\\.8 && < 0\\.12") "tasty")
  15005. (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
  15006. (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
  15007. (inputs `(("zlib" ,zlib)))
  15008. (native-inputs
  15009. `(("ghc-quickcheck" ,ghc-quickcheck)
  15010. ("ghc-tasty" ,ghc-tasty)
  15011. ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  15012. ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  15013. (home-page "https://hackage.haskell.org/package/zlib")
  15014. (synopsis
  15015. "Compression and decompression in the gzip and zlib formats")
  15016. (description
  15017. "This package provides a pure interface for compressing and decompressing
  15018. streams of data represented as lazy @code{ByteString}s. It uses the zlib C
  15019. library so it has high performance. It supports the @code{zlib}, @code{gzip}
  15020. and @code{raw} compression formats. It provides a convenient high level API
  15021. suitable for most tasks and for the few cases where more control is needed it
  15022. provides access to the full zlib feature set.")
  15023. (license license:bsd-3)))
  15024. (define-public ghc-zlib-bindings
  15025. (package
  15026. (name "ghc-zlib-bindings")
  15027. (version "0.1.1.5")
  15028. (source
  15029. (origin
  15030. (method url-fetch)
  15031. (uri (string-append "https://hackage.haskell.org/package/"
  15032. "zlib-bindings/zlib-bindings-" version ".tar.gz"))
  15033. (sha256
  15034. (base32
  15035. "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
  15036. (build-system haskell-build-system)
  15037. (inputs
  15038. `(("ghc-zlib" ,ghc-zlib)))
  15039. (native-inputs
  15040. `(("ghc-hspec" ,ghc-hspec)
  15041. ("ghc-quickcheck" ,ghc-quickcheck)))
  15042. (arguments
  15043. `(#:cabal-revision
  15044. ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
  15045. (home-page "https://github.com/snapframework/zlib-bindings")
  15046. (synopsis "Low-level bindings to the @code{zlib} package")
  15047. (description "This package provides low-level bindings to the
  15048. @code{zlib} package.")
  15049. (license license:bsd-3)))
  15050. (define-public ghc-zstd
  15051. (package
  15052. (name "ghc-zstd")
  15053. (version "0.1.1.2")
  15054. (source
  15055. (origin
  15056. (method url-fetch)
  15057. (uri (string-append "https://hackage.haskell.org/package/"
  15058. "zstd/zstd-" version ".tar.gz"))
  15059. (sha256
  15060. (base32
  15061. "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
  15062. (build-system haskell-build-system)
  15063. (native-inputs
  15064. `(("ghc-quickcheck" ,ghc-quickcheck)
  15065. ("ghc-test-framework" ,ghc-test-framework)
  15066. ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
  15067. (home-page "https://github.com/luispedro/hs-zstd")
  15068. (synopsis "Haskell bindings to the Zstandard compression algorithm")
  15069. (description "This library provides Haskell bindings to the
  15070. Zstandard compression algorithm, a fast lossless compression algorithm
  15071. targeting real-time compression scenarios at zlib-level and better
  15072. compression ratios.")
  15073. (license license:bsd-3)))