haskell-xyz.scm 561 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108
  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. ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
  33. ;;;
  34. ;;; This file is part of GNU Guix.
  35. ;;;
  36. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  37. ;;; under the terms of the GNU General Public License as published by
  38. ;;; the Free Software Foundation; either version 3 of the License, or (at
  39. ;;; your option) any later version.
  40. ;;;
  41. ;;; GNU Guix is distributed in the hope that it will be useful, but
  42. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  43. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  44. ;;; GNU General Public License for more details.
  45. ;;;
  46. ;;; You should have received a copy of the GNU General Public License
  47. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  48. (define-module (gnu packages haskell-xyz)
  49. #:use-module (gnu packages)
  50. #:use-module (gnu packages base)
  51. #:use-module (gnu packages compression)
  52. #:use-module (gnu packages databases)
  53. #:use-module (gnu packages emacs)
  54. #:use-module (gnu packages gl)
  55. #:use-module (gnu packages graphviz)
  56. #:use-module (gnu packages gtk)
  57. #:use-module (gnu packages haskell)
  58. #:use-module (gnu packages haskell-apps)
  59. #:use-module (gnu packages haskell-check)
  60. #:use-module (gnu packages haskell-crypto)
  61. #:use-module (gnu packages haskell-web)
  62. #:use-module (gnu packages libffi)
  63. #:use-module (gnu packages linux)
  64. #:use-module (gnu packages llvm)
  65. #:use-module (gnu packages lua)
  66. #:use-module (gnu packages maths)
  67. #:use-module (gnu packages ncurses)
  68. #:use-module (gnu packages pcre)
  69. #:use-module (gnu packages pkg-config)
  70. #:use-module (gnu packages sdl)
  71. #:use-module (gnu packages serialization)
  72. #:use-module (gnu packages tls)
  73. #:use-module (gnu packages xml)
  74. #:use-module (gnu packages xorg)
  75. #:use-module (guix build-system haskell)
  76. #:use-module (guix download)
  77. #:use-module (guix git-download)
  78. #:use-module (guix utils)
  79. #:use-module ((guix licenses) #:prefix license:)
  80. #:use-module (guix packages)
  81. #:use-module (srfi srfi-1))
  82. (define-public ghc-abstract-deque
  83. (package
  84. (name "ghc-abstract-deque")
  85. (version "0.3")
  86. (source
  87. (origin
  88. (method url-fetch)
  89. (uri (string-append "https://hackage.haskell.org/package/"
  90. "abstract-deque-" version "/"
  91. "abstract-deque-" version ".tar.gz"))
  92. (sha256
  93. (base32
  94. "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
  95. (build-system haskell-build-system)
  96. (inputs (list ghc-random))
  97. (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
  98. (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
  99. (description "This Haskell package provides an abstract interface to
  100. highly-parameterizable queues/deques.
  101. Background: There exists a feature space for queues that extends between:
  102. @itemize
  103. @item Simple, single-ended, non-concurrent, bounded queues
  104. @item Double-ended, thread-safe, growable queues with important points
  105. in between (such as the queues used for work stealing).
  106. @end itemize
  107. This package includes an interface for Deques that allows the programmer
  108. to use a single API for all of the above, while using the type system to
  109. select an efficient implementation given the requirements (using type families).
  110. This package also includes a simple reference implementation based on
  111. @code{IORef} and @code{Data.Sequence}.")
  112. (license license:bsd-3)))
  113. (define-public ghc-abstract-par
  114. (package
  115. (name "ghc-abstract-par")
  116. (version "0.3.3")
  117. (source
  118. (origin
  119. (method url-fetch)
  120. (uri (string-append "https://hackage.haskell.org/package/"
  121. "abstract-par-" version "/"
  122. "abstract-par-" version ".tar.gz"))
  123. (sha256
  124. (base32
  125. "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
  126. (build-system haskell-build-system)
  127. (home-page "https://github.com/simonmar/monad-par")
  128. (synopsis "Abstract parallelization interface for Haskell")
  129. (description "This Haskell package is an abstract interface
  130. only. It provides a number of type clasess, but not an
  131. implementation. The type classes separate different levels
  132. of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
  133. module for more details.")
  134. (license license:bsd-3)))
  135. (define-public ghc-active
  136. (package
  137. (name "ghc-active")
  138. (version "0.2.0.15")
  139. (source
  140. (origin
  141. (method url-fetch)
  142. (uri (string-append "https://hackage.haskell.org/package/"
  143. "active/active-" version ".tar.gz"))
  144. (sha256
  145. (base32
  146. "019xr66pahsssqr2hybs88mga4qshv1vmd22j7624wqafqm57d74"))))
  147. (build-system haskell-build-system)
  148. (inputs
  149. (list ghc-vector ghc-semigroups ghc-semigroupoids ghc-lens
  150. ghc-linear))
  151. (native-inputs
  152. (list 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. (list ghc-profunctors
  181. ghc-comonad
  182. ghc-contravariant
  183. ghc-distributive
  184. ghc-free
  185. ghc-tagged
  186. ghc-semigroupoids
  187. ghc-semigroups
  188. ghc-transformers-compat
  189. ghc-void))
  190. (native-inputs
  191. (list ghc-generic-deriving ghc-hspec hspec-discover))
  192. (home-page "https://github.com/ekmett/adjunctions/")
  193. (synopsis "Adjunctions and representable functors")
  194. (description "This library provides adjunctions and representable functors
  195. for Haskell.")
  196. (license license:bsd-3)))
  197. (define-public ghc-aeson-compat
  198. (package
  199. (name "ghc-aeson-compat")
  200. (version "0.3.10")
  201. (source
  202. (origin
  203. (method url-fetch)
  204. (uri (string-append "https://hackage.haskell.org/package/"
  205. "aeson-compat-" version "/"
  206. "aeson-compat-" version ".tar.gz"))
  207. (sha256
  208. (base32
  209. "0ia3qfdpbrzhwwg4ywpdwca0z1m85k081pcz6jh1sx8qjsvcr71w"))))
  210. (build-system haskell-build-system)
  211. (inputs (list ghc-base-compat
  212. ghc-aeson
  213. ghc-attoparsec
  214. ghc-attoparsec-iso8601
  215. ghc-hashable
  216. ghc-scientific
  217. ghc-time-locale-compat
  218. ghc-unordered-containers
  219. ghc-vector
  220. ghc-tagged))
  221. (native-inputs
  222. (list ghc-tasty
  223. ghc-tasty-hunit
  224. ghc-tasty-quickcheck
  225. ghc-quickcheck
  226. ghc-quickcheck-instances
  227. ghc-base-orphans))
  228. (home-page "https://github.com/phadej/aeson-compat")
  229. (synopsis "Compatibility layer for ghc-aeson")
  230. (description "This Haskell package provides compatibility layer for
  231. ghc-aeson.")
  232. (license license:bsd-3)))
  233. (define-public ghc-aeson-diff
  234. (package
  235. (name "ghc-aeson-diff")
  236. (version "1.1.0.9")
  237. (source
  238. (origin
  239. (method url-fetch)
  240. (uri (string-append "https://hackage.haskell.org/package/"
  241. "aeson-diff/aeson-diff-" version ".tar.gz"))
  242. (sha256
  243. (base32
  244. "18bm4qyjjwgrr6dxc4y0vai0z6qgrh2lcqb4jrr4xqs4cxrlwr92"))))
  245. (build-system haskell-build-system)
  246. (inputs
  247. (list ghc-aeson
  248. ghc-edit-distance-vector
  249. ghc-hashable
  250. ghc-scientific
  251. ghc-unordered-containers
  252. ghc-vector
  253. ghc-semigroups
  254. ghc-optparse-applicative))
  255. (native-inputs
  256. (list ghc-quickcheck
  257. ghc-quickcheck-instances
  258. ghc-glob
  259. ghc-quickcheck
  260. ghc-quickcheck-instances
  261. ghc-quickcheck
  262. ghc-doctest
  263. hlint))
  264. (home-page "https://github.com/thsutton/aeson-diff")
  265. (synopsis "Extract and apply patches to JSON documents")
  266. (description "This is a small library for working with changes to JSON
  267. documents. It includes a library and two command-line executables in the
  268. style of the @command{diff} and @command{patch} commands available on many
  269. systems.")
  270. (license license:bsd-3)))
  271. (define-public ghc-alex
  272. (package
  273. (name "ghc-alex")
  274. (version "3.2.6")
  275. (source
  276. (origin
  277. (method url-fetch)
  278. (uri (string-append
  279. "https://hackage.haskell.org/package/alex/alex-"
  280. version
  281. ".tar.gz"))
  282. (sha256
  283. (base32
  284. "042lrkn0dbpjn5ivj6j26jzb1fwrj8c1aj18ykxja89isg0hiali"))))
  285. (build-system haskell-build-system)
  286. (arguments
  287. `(#:phases
  288. (modify-phases %standard-phases
  289. (add-before 'check 'set-check-variables
  290. (lambda _
  291. (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
  292. (getenv "PATH")))
  293. (setenv "alex_datadir" (string-append (getcwd) "/data"))
  294. #t)))))
  295. (inputs (list ghc-quickcheck))
  296. (native-inputs
  297. (list which))
  298. (home-page "https://www.haskell.org/alex/")
  299. (synopsis
  300. "Tool for generating lexical analysers in Haskell")
  301. (description
  302. "Alex is a tool for generating lexical analysers in Haskell. It takes a
  303. description of tokens based on regular expressions and generates a Haskell
  304. module containing code for scanning text efficiently. It is similar to the
  305. tool lex or flex for C/C++.")
  306. (license license:bsd-3)))
  307. (define-public ghc-alsa-core
  308. (package
  309. (name "ghc-alsa-core")
  310. (version "0.5.0.1")
  311. (source
  312. (origin
  313. (method url-fetch)
  314. (uri (string-append
  315. "mirror://hackage/package/alsa-core/alsa-core-"
  316. version
  317. ".tar.gz"))
  318. (sha256
  319. (base32
  320. "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
  321. (build-system haskell-build-system)
  322. (arguments
  323. `(#:extra-directories ("alsa-lib")))
  324. (inputs
  325. (list ghc-extensible-exceptions alsa-lib))
  326. (native-inputs
  327. (list 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 (list ghc-alsa-core))
  349. (native-inputs (list 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.11")
  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. "14rp62c7y79n9dmmi7m0l9n3mcq6dh331b4yyyrivm5da6g1nqf6"))))
  393. (build-system haskell-build-system)
  394. (inputs
  395. (list 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. (arguments
  417. `(#:cabal-revision
  418. ("2" "1xrv66v5hqchjhj8a0g3awy1qpsswk2jqb4w4yh3mm1py5s0dlr0")))
  419. (inputs
  420. (list ghc-ansi-terminal))
  421. (home-page "https://github.com/ekmett/ansi-wl-pprint")
  422. (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
  423. (description "This is a pretty printing library based on Wadler's paper
  424. \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
  425. colored output using the ansi-terminal package.")
  426. (license license:bsd-3)))
  427. (define-public ghc-appar
  428. (package
  429. (name "ghc-appar")
  430. (version "0.1.8")
  431. (source
  432. (origin
  433. (method url-fetch)
  434. (uri (string-append
  435. "https://hackage.haskell.org/package/appar/appar-"
  436. version
  437. ".tar.gz"))
  438. (sha256
  439. (base32
  440. "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
  441. (build-system haskell-build-system)
  442. (home-page
  443. "https://hackage.haskell.org/package/appar")
  444. (synopsis "Simple applicative parser")
  445. (description "This package provides a simple applicative parser in Parsec
  446. style.")
  447. (license license:bsd-3)))
  448. (define-public ghc-assoc
  449. (package
  450. (name "ghc-assoc")
  451. (version "1.0.2")
  452. (source
  453. (origin
  454. (method url-fetch)
  455. (uri (string-append
  456. "https://hackage.haskell.org/package/assoc/assoc-"
  457. version
  458. ".tar.gz"))
  459. (sha256
  460. (base32
  461. "0kqlizznjy94fm8zr1ng633yxbinjff7cnsiaqs7m33ix338v66q"))))
  462. (build-system haskell-build-system)
  463. (inputs
  464. (list ghc-bifunctors ghc-tagged))
  465. (home-page
  466. "http://hackage.haskell.org/package/assoc")
  467. (synopsis
  468. "Swap and assoc: Symmetric and Semigroupy Bifunctors")
  469. (description
  470. "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
  471. @code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
  472. similar operations (e.g. @code{Either}, @code{These}).")
  473. (license license:bsd-3)))
  474. (define-public ghc-async
  475. (package
  476. (name "ghc-async")
  477. (version "2.2.4")
  478. (source
  479. (origin
  480. (method url-fetch)
  481. (uri (string-append
  482. "https://hackage.haskell.org/package/async/async-"
  483. version
  484. ".tar.gz"))
  485. (sha256
  486. (base32
  487. "09d7w3krfhnmf9dp6yffa9wykinhw541wibnjgnlyv77w1dzhka8"))))
  488. (build-system haskell-build-system)
  489. (inputs
  490. (list ghc-hashable))
  491. (native-inputs
  492. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
  493. (home-page "https://github.com/simonmar/async")
  494. (synopsis "Library to run IO operations asynchronously")
  495. (description "Async provides a library to run IO operations
  496. asynchronously, and wait for their results. It is a higher-level interface
  497. over threads in Haskell, in which @code{Async a} is a concurrent thread that
  498. will eventually deliver a value of type @code{a}.")
  499. (license license:bsd-3)))
  500. (define-public ghc-atomic-primops
  501. (package
  502. (name "ghc-atomic-primops")
  503. (version "0.8.4")
  504. (source
  505. (origin
  506. (method url-fetch)
  507. (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
  508. "/atomic-primops-" version ".tar.gz"))
  509. (sha256
  510. (base32
  511. "0gidqyk913vhcz3q4vnpadx3vkkrwb66rqhsxvdba8g2p5z63a12"))))
  512. (build-system haskell-build-system)
  513. (inputs (list ghc-primitive))
  514. (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
  515. (synopsis "Safe approach to CAS and other atomic ops")
  516. (description
  517. "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
  518. use safely, because pointer equality is a highly unstable property in Haskell.
  519. This library provides a safer method based on the concept of @code{Ticket}s.")
  520. (license license:bsd-3)))
  521. (define-public ghc-atomic-write
  522. (package
  523. (name "ghc-atomic-write")
  524. (version "0.2.0.6")
  525. (source
  526. (origin
  527. (method url-fetch)
  528. (uri (string-append
  529. "https://hackage.haskell.org/package/atomic-write/atomic-write-"
  530. version
  531. ".tar.gz"))
  532. (sha256
  533. (base32
  534. "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
  535. (build-system haskell-build-system)
  536. (inputs
  537. (list ghc-temporary ghc-unix-compat))
  538. (native-inputs
  539. (list ghc-temporary ghc-unix-compat ghc-hspec hspec-discover))
  540. (home-page "https://github.com/stackbuilders/atomic-write")
  541. (synopsis "Atomically write to a file")
  542. (description
  543. "Atomically write to a file on POSIX-compliant systems while preserving
  544. permissions. @code{mv} is an atomic operation. This makes it simple to write
  545. to a file atomically just by using the @code{mv} operation. However, this
  546. will destroy the permissions on the original file. This library preserves
  547. permissions while atomically writing to a file.")
  548. (license license:expat)))
  549. (define-public ghc-atomic-write-0.2.0.7
  550. (package
  551. (inherit ghc-atomic-write)
  552. (version "0.2.0.7")
  553. (source
  554. (origin
  555. (inherit (package-source ghc-atomic-write))
  556. (uri (string-append
  557. "https://hackage.haskell.org/package/atomic-write/atomic-write-"
  558. version
  559. ".tar.gz"))
  560. (sha256
  561. (base32
  562. "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
  563. (define-public ghc-attoparsec
  564. (package
  565. (name "ghc-attoparsec")
  566. (version "0.13.2.5")
  567. (source
  568. (origin
  569. (method url-fetch)
  570. (uri (string-append
  571. "https://hackage.haskell.org/package/attoparsec/attoparsec-"
  572. version
  573. ".tar.gz"))
  574. (sha256
  575. (base32
  576. "0vv88m5m7ynjrg114psp4j4s69f1a5va3bvn293vymqrma7g7q11"))))
  577. (build-system haskell-build-system)
  578. (arguments
  579. `(#:phases
  580. (modify-phases %standard-phases
  581. (add-after 'unpack 'patch-for-newer-quickcheck
  582. (lambda _
  583. (substitute* "attoparsec.cabal"
  584. (("QuickCheck >= 2\\.7 && < 2\\.10")
  585. "QuickCheck >= 2.7 && < 2.12"))
  586. ;; This test fails because of the newer QuickCheck:
  587. ;; <https://github.com/bos/attoparsec/issues/134>.
  588. (substitute* "tests/QC/ByteString.hs"
  589. ((", testProperty \"satisfyWith\" satisfyWith")
  590. "")))))))
  591. (inputs
  592. (list ghc-scientific))
  593. (native-inputs
  594. (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck
  595. ghc-quickcheck-unicode ghc-vector))
  596. (home-page "https://github.com/bos/attoparsec")
  597. (synopsis "Fast combinator parsing for bytestrings and text")
  598. (description "This library provides a fast parser combinator library,
  599. aimed particularly at dealing efficiently with network protocols and
  600. complicated text/binary file formats.")
  601. (license license:bsd-3)))
  602. (define-public ghc-attoparsec-bootstrap
  603. (package
  604. (inherit ghc-attoparsec)
  605. (name "ghc-attoparsec-bootstrap")
  606. (arguments `(#:tests? #f))
  607. (inputs
  608. `(("ghc-scientific" ,ghc-scientific-bootstrap)))
  609. (native-inputs '())
  610. (properties '((hidden? #t)))))
  611. (define-public ghc-attoparsec-iso8601
  612. (package
  613. (name "ghc-attoparsec-iso8601")
  614. (version "1.0.2.0")
  615. (source
  616. (origin
  617. (method url-fetch)
  618. (uri (string-append "https://hackage.haskell.org/package/"
  619. "attoparsec-iso8601-" version "/"
  620. "attoparsec-iso8601-" version ".tar.gz"))
  621. (sha256
  622. (base32
  623. "162gc101mwhmjbfhhv1wm3yvk2h4ra34wpw5x87735cfqxvjv582"))))
  624. (build-system haskell-build-system)
  625. (arguments
  626. `(#:cabal-revision
  627. ("2" "18557xy5gvkhj0sb35wwxmhqirkiqrkwm0y0pqygsr0aimccs5zm")))
  628. (inputs (list ghc-attoparsec ghc-base-compat-batteries ghc-time-compat))
  629. (home-page "https://github.com/bos/aeson")
  630. (synopsis "Parse ISO 8601 dates")
  631. (description "Haskell library for parsing of ISO 8601 dates, originally
  632. from aeson.")
  633. (license license:bsd-3)))
  634. (define-public ghc-auto-update
  635. (package
  636. (name "ghc-auto-update")
  637. (version "0.1.6")
  638. (source
  639. (origin
  640. (method url-fetch)
  641. (uri (string-append
  642. "https://hackage.haskell.org/package/auto-update/auto-update-"
  643. version
  644. ".tar.gz"))
  645. (sha256
  646. (base32
  647. "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
  648. (build-system haskell-build-system)
  649. (native-inputs
  650. (list ghc-hspec ghc-hunit ghc-retry hspec-discover))
  651. (home-page "https://github.com/yesodweb/wai")
  652. (synopsis "Efficiently run periodic, on-demand actions")
  653. (description "This library provides mechanisms to efficiently run
  654. periodic, on-demand actions in Haskell.")
  655. (license license:expat)))
  656. (define-public ghc-aws
  657. (package
  658. (name "ghc-aws")
  659. (version "0.22")
  660. (source
  661. (origin
  662. (method url-fetch)
  663. (uri (string-append "https://hackage.haskell.org/package/"
  664. "aws-" version "/aws-" version ".tar.gz"))
  665. (sha256 (base32
  666. "1l3f94mpih7slz37ikyjkyrwvlf110w87997d8sbnbd8glwlcb8r"))))
  667. (build-system haskell-build-system)
  668. (arguments
  669. `(#:tests? #f ; Tests require AWS credentials.
  670. #:configure-flags (list "-fNetworkBSD") ; Use network-bsd.
  671. #:phases
  672. (modify-phases %standard-phases
  673. (add-before 'configure 'update-constraints
  674. (lambda _
  675. (substitute* "aws.cabal"
  676. (("(base16-bytestring)\\s+==\\s+0\\.1\\.\\*" all dep)
  677. dep)
  678. (("(base64-bytestring)\\s+==\\s+1\\.0\\.\\*" all dep)
  679. dep)))))))
  680. (inputs
  681. (list ghc-aeson
  682. ghc-attoparsec
  683. ghc-base16-bytestring
  684. ghc-base64-bytestring
  685. ghc-blaze-builder
  686. ghc-byteable
  687. ghc-case-insensitive
  688. ghc-cereal
  689. ghc-conduit
  690. ghc-conduit-extra
  691. ghc-cryptonite
  692. ghc-data-default
  693. ghc-http-conduit
  694. ghc-http-types
  695. ghc-lifted-base
  696. ghc-monad-control
  697. ghc-network
  698. ghc-network-bsd
  699. ghc-old-locale
  700. ghc-safe
  701. ghc-scientific
  702. ghc-tagged
  703. ghc-unordered-containers
  704. ghc-utf8-string
  705. ghc-vector
  706. ghc-xml-conduit))
  707. (native-inputs
  708. (list ghc-quickcheck
  709. ghc-errors
  710. ghc-http-client
  711. ghc-http-client-tls
  712. ghc-quickcheck-instances
  713. ghc-tasty
  714. ghc-tasty-quickcheck
  715. ghc-tasty-hunit
  716. ghc-conduit-combinators))
  717. (home-page "https://github.com/aristidb/aws")
  718. (synopsis "Amazon Web Services for Haskell")
  719. (description "This package attempts to provide support for using
  720. Amazon Web Services like S3 (storage), SQS (queuing) and others to
  721. Haskell programmers. The ultimate goal is to support all Amazon
  722. Web Services.")
  723. (license license:bsd-3)))
  724. (define-public ghc-base16-bytestring
  725. (package
  726. (name "ghc-base16-bytestring")
  727. (version "1.0.1.0")
  728. (source
  729. (origin
  730. (method url-fetch)
  731. (uri (string-append
  732. "https://hackage.haskell.org/package/base16-bytestring/"
  733. "base16-bytestring-" version ".tar.gz"))
  734. (sha256
  735. (base32
  736. "1ynnplw8iz3v5ld0xxgpxgasb0hg62x62wxxf5lx6lxyb15hmiy0"))))
  737. (build-system haskell-build-system)
  738. (native-inputs
  739. (list ghc-hunit ghc-quickcheck ghc-test-framework
  740. ghc-test-framework-hunit ghc-test-framework-quickcheck2))
  741. (home-page "https://github.com/bos/base16-bytestring")
  742. (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
  743. (description
  744. "This package provides a Haskell library for working with base16-encoded
  745. data quickly and efficiently, using the ByteString type.")
  746. (license license:bsd-3)))
  747. (define-public ghc-base64-bytestring
  748. (package
  749. (name "ghc-base64-bytestring")
  750. (version "1.1.0.0")
  751. (source
  752. (origin
  753. (method url-fetch)
  754. (uri (string-append
  755. "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
  756. version
  757. ".tar.gz"))
  758. (sha256
  759. (base32 "1adcnkcx4nh3d59k94bkndj0wkgbvchz576qwlpaa7148a86q391"))))
  760. (build-system haskell-build-system)
  761. (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
  762. (home-page "https://github.com/bos/base64-bytestring")
  763. (synopsis "Base64 encoding and decoding for ByteStrings")
  764. (description "This library provides fast base64 encoding and decoding for
  765. Haskell @code{ByteString}s.")
  766. (license license:bsd-3)))
  767. (define-public ghc-base-compat
  768. (package
  769. (name "ghc-base-compat")
  770. (version "0.11.2")
  771. (source
  772. (origin
  773. (method url-fetch)
  774. (uri (string-append
  775. "https://hackage.haskell.org/package/base-compat/base-compat-"
  776. version
  777. ".tar.gz"))
  778. (sha256
  779. (base32
  780. "1nyvkaij4m01jndw72xl8931czz1xp6jpnynpajabys2ahabb9jk"))))
  781. (build-system haskell-build-system)
  782. (outputs '("out" "static" "doc"))
  783. (native-inputs
  784. (list ghc-quickcheck ghc-hspec hspec-discover))
  785. (home-page "https://hackage.haskell.org/package/base-compat")
  786. (synopsis "Haskell compiler compatibility library")
  787. (description "This library provides functions available in later versions
  788. of base to a wider range of compilers, without requiring the use of CPP
  789. pragmas in your code.")
  790. (license license:bsd-3)))
  791. (define-public ghc-base-compat-batteries
  792. (package
  793. (name "ghc-base-compat-batteries")
  794. (version "0.11.2")
  795. (source
  796. (origin
  797. (method url-fetch)
  798. (uri (string-append "https://hackage.haskell.org/package/"
  799. "base-compat-batteries/base-compat-batteries-"
  800. version ".tar.gz"))
  801. (sha256
  802. (base32
  803. "08rh9nlm9ir28fm42xim06ga8qwdqdcvkbb5ckz99bwnmajndq1i"))))
  804. (build-system haskell-build-system)
  805. (inputs
  806. (list ghc-base-compat))
  807. (native-inputs
  808. (list ghc-hspec ghc-quickcheck hspec-discover))
  809. (home-page "https://hackage.haskell.org/package/base-compat-batteries")
  810. (synopsis "base-compat with extra batteries")
  811. (description "This library provides functions available in later
  812. versions of @code{base} to a wider range of compilers, without requiring
  813. you to use CPP pragmas in your code. This package provides the same API
  814. as the @code{base-compat} library, but depends on compatibility
  815. packages (such as @code{semigroups}) to offer a wider support window
  816. than @code{base-compat}, which has no dependencies.")
  817. (license license:expat)))
  818. (define-public ghc-basement
  819. (package
  820. (name "ghc-basement")
  821. (version "0.0.12")
  822. (source
  823. (origin
  824. (method url-fetch)
  825. (uri (string-append "https://hackage.haskell.org/package/"
  826. "basement/basement-" version ".tar.gz"))
  827. (sha256
  828. (base32
  829. "12zsnxkgv86im2prslk6ddhy0zwpawwjc1h4ff63kpxp2xdl7i2k"))))
  830. (build-system haskell-build-system)
  831. (outputs '("out" "static" "doc"))
  832. (home-page "https://github.com/haskell-foundation/foundation")
  833. (synopsis "Basic primitives for Foundation starter pack")
  834. (description
  835. "This package contains basic primitives for the Foundation set of
  836. packages.")
  837. (license license:bsd-3)))
  838. (define-public ghc-base-orphans
  839. (package
  840. (name "ghc-base-orphans")
  841. (version "0.8.5")
  842. (source
  843. (origin
  844. (method url-fetch)
  845. (uri (string-append
  846. "https://hackage.haskell.org/package/base-orphans/base-orphans-"
  847. version
  848. ".tar.gz"))
  849. (sha256
  850. (base32
  851. "1lw1jhrrsdq7x9wr2bwkxq9mscidcad0n30kh9gfk8kgifl5xh9k"))))
  852. (build-system haskell-build-system)
  853. (native-inputs
  854. (list ghc-quickcheck ghc-hspec hspec-discover))
  855. (home-page "https://hackage.haskell.org/package/base-orphans")
  856. (synopsis "Orphan instances for backwards compatibility")
  857. (description "This package defines orphan instances that mimic instances
  858. available in later versions of base to a wider (older) range of compilers.")
  859. (license license:bsd-3)))
  860. (define-public ghc-base-prelude
  861. (package
  862. (name "ghc-base-prelude")
  863. (version "1.4")
  864. (source
  865. (origin
  866. (method url-fetch)
  867. (uri (string-append "https://hackage.haskell.org/package/"
  868. "base-prelude-" version "/"
  869. "base-prelude-" version ".tar.gz"))
  870. (sha256
  871. (base32
  872. "0nn5v2y9kl7i3n21250m7cvn55lvkmzj22wx6q4kaag5ycwwczrs"))))
  873. (build-system haskell-build-system)
  874. (outputs '("out" "static" "doc"))
  875. (home-page "https://github.com/nikita-volkov/base-prelude")
  876. (synopsis "The most complete prelude formed solely from the Haskell's base
  877. package")
  878. (description "This Haskell package aims to reexport all the non-conflicting
  879. and most general definitions from the \"base\" package.
  880. This includes APIs for applicatives, arrows, monoids, foldables, traversables,
  881. exceptions, generics, ST, MVars and STM.
  882. This package will never have any dependencies other than \"base\".
  883. Versioning policy:
  884. The versioning policy of this package deviates from PVP in the sense
  885. that its exports in part are transitively determined by the version of \"base\".
  886. Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
  887. the bounds of \"base\" as well.")
  888. (license license:expat)))
  889. (define-public ghc-base-unicode-symbols
  890. (package
  891. (name "ghc-base-unicode-symbols")
  892. (version "0.2.4.2")
  893. (source
  894. (origin
  895. (method url-fetch)
  896. (uri (string-append
  897. "https://hackage.haskell.org/package/base-unicode-symbols/base-unicode-symbols-"
  898. version
  899. ".tar.gz"))
  900. (sha256
  901. (base32
  902. "0qkhp4ybmx4nbqqkrmw3hkm47bv61i2wpi20qb09wvk10g2dcr23"))))
  903. (build-system haskell-build-system)
  904. (home-page "https://wiki.haskell.org/Unicode-symbols")
  905. (synopsis "Unicode alternatives for common functions and operators")
  906. (description "This package defines new symbols for a number of functions,
  907. operators and types in the base package. All symbols are documented with
  908. their actual definition and information regarding their Unicode code point.
  909. They should be completely interchangeable with their definitions. For
  910. further Unicode goodness you can enable the @code{UnicodeSyntax}
  911. @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
  912. language extension}. This extension enables Unicode characters to be used to
  913. stand for certain ASCII character sequences, i.e. → instead of @code{->},
  914. ∀ instead of @code{forall} and many others.")
  915. (license license:bsd-3)))
  916. (define-public ghc-basic-prelude
  917. (package
  918. (name "ghc-basic-prelude")
  919. (version "0.7.0")
  920. (source
  921. (origin
  922. (method url-fetch)
  923. (uri (string-append
  924. "https://hackage.haskell.org/package/basic-prelude/"
  925. "basic-prelude-" version ".tar.gz"))
  926. (sha256
  927. (base32
  928. "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
  929. (build-system haskell-build-system)
  930. (inputs
  931. (list ghc-hashable ghc-unordered-containers ghc-vector))
  932. (home-page "https://github.com/snoyberg/basic-prelude#readme")
  933. (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
  934. (description
  935. "The premise of basic-prelude is that there are a lot of very commonly
  936. desired features missing from the standard Prelude, such as commonly used
  937. operators (<$> and >=>, for instance) and imports for common datatypes
  938. (e.g., ByteString and Vector). At the same time, there are lots of other
  939. components which are more debatable, such as providing polymorphic versions
  940. of common functions.
  941. So basic-prelude is intended to give a common foundation for a number of
  942. alternate preludes. The package provides two modules: CorePrelude provides
  943. the common ground for other preludes to build on top of, while BasicPrelude
  944. exports CorePrelude together with commonly used list functions to provide a
  945. drop-in replacement for the standard Prelude.
  946. Users wishing to have an improved Prelude can use BasicPrelude. Developers
  947. wishing to create a new prelude should use CorePrelude.")
  948. (license license:expat)))
  949. (define-public ghc-bencode
  950. (package
  951. (name "ghc-bencode")
  952. (version "0.6.1.1")
  953. (source
  954. (origin
  955. (method url-fetch)
  956. (uri (string-append
  957. "https://hackage.haskell.org/package/bencode/bencode-"
  958. version ".tar.gz"))
  959. (sha256
  960. (base32 "0znv0y3b3zm5jvhlvj5f5s7y93db67j9yd59w1bnrw2pqv30gqaq"))))
  961. (build-system haskell-build-system)
  962. (inputs
  963. (list ghc-transformers-compat))
  964. (native-inputs
  965. (list ghc-hspec ghc-quickcheck))
  966. (home-page "https://hackage.haskell.org/package/bencode")
  967. (synopsis "Parsers and printers for bencoded data")
  968. (description
  969. "This library provides parsers and printers for bencoded data. Bencode
  970. is the encoding used by the peer-to-peer file sharing system BitTorrent for
  971. storing and transmitting loosely structured data.")
  972. (license license:bsd-3)))
  973. (define-public ghc-bifunctors
  974. (package
  975. (name "ghc-bifunctors")
  976. (version "5.5.11")
  977. (source
  978. (origin
  979. (method url-fetch)
  980. (uri (string-append
  981. "https://hackage.haskell.org/package/bifunctors/bifunctors-"
  982. version
  983. ".tar.gz"))
  984. (sha256
  985. (base32
  986. "070964w7gz578379lyj6xvdbcf367csmz22cryarjr5bz9r9csrb"))))
  987. (build-system haskell-build-system)
  988. (inputs
  989. (list ghc-base-orphans
  990. ghc-comonad
  991. ghc-th-abstraction
  992. ghc-transformers-compat
  993. ghc-tagged
  994. ghc-semigroups))
  995. (native-inputs
  996. (list ghc-hspec hspec-discover ghc-quickcheck))
  997. (home-page "https://github.com/ekmett/bifunctors/")
  998. (synopsis "Bifunctors for Haskell")
  999. (description "This package provides bifunctors for Haskell.")
  1000. (license license:bsd-3)))
  1001. (define-public ghc-bindings-dsl
  1002. (package
  1003. (name "ghc-bindings-dsl")
  1004. (version "1.0.25")
  1005. (source
  1006. (origin
  1007. (method url-fetch)
  1008. (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
  1009. "bindings-DSL-" version ".tar.gz"))
  1010. (sha256
  1011. (base32
  1012. "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
  1013. (build-system haskell-build-system)
  1014. (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
  1015. (synopsis "FFI domain specific language, on top of hsc2hs")
  1016. (description
  1017. "This is a set of macros to be used when writing Haskell FFI. They were
  1018. designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
  1019. extract from them all Haskell code needed to mimic such interfaces. All
  1020. Haskell names used are automatically derived from C names, structures are
  1021. mapped to Haskell instances of @code{Storable}, and there are also macros you
  1022. can use with C code to help write bindings to inline functions or macro
  1023. functions.")
  1024. (license license:bsd-3)))
  1025. (define-public ghc-bitarray
  1026. (package
  1027. (name "ghc-bitarray")
  1028. (version "0.0.1.1")
  1029. (source
  1030. (origin
  1031. (method url-fetch)
  1032. (uri (string-append "https://hackage.haskell.org/package/"
  1033. "bitarray/bitarray-" version ".tar.gz"))
  1034. (sha256
  1035. (base32
  1036. "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
  1037. (build-system haskell-build-system)
  1038. (arguments
  1039. `(#:cabal-revision
  1040. ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
  1041. (home-page "https://hackage.haskell.org/package/bitarray")
  1042. (synopsis "Mutable and immutable bit arrays")
  1043. (description "The package provides mutable and immutable bit arrays.")
  1044. (license license:bsd-3)))
  1045. (define-public ghc-blaze-builder
  1046. (package
  1047. (name "ghc-blaze-builder")
  1048. (version "0.4.2.2")
  1049. (source
  1050. (origin
  1051. (method url-fetch)
  1052. (uri (string-append
  1053. "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
  1054. version
  1055. ".tar.gz"))
  1056. (sha256
  1057. (base32
  1058. "0rxg6vjr0ji6g1nngrqpl4k1q9w66fwkhld9cqm5yfhx0a69kp1c"))))
  1059. (build-system haskell-build-system)
  1060. (inputs
  1061. (list ghc-bytestring-builder ghc-semigroups))
  1062. (native-inputs
  1063. (list ghc-hunit
  1064. ghc-quickcheck
  1065. ghc-test-framework
  1066. ghc-test-framework-hunit
  1067. ghc-test-framework-quickcheck2
  1068. ghc-utf8-string))
  1069. (home-page "https://github.com/lpsmith/blaze-builder")
  1070. (synopsis "Efficient buffered output")
  1071. (description "This library provides an implementation of the older
  1072. @code{blaze-builder} interface in terms of the new builder that shipped with
  1073. @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
  1074. bridge to the new builder, so that code that uses the old interface can
  1075. interoperate with code that uses the new implementation.")
  1076. (license license:bsd-3)))
  1077. (define-public ghc-blaze-markup
  1078. (package
  1079. (name "ghc-blaze-markup")
  1080. (version "0.8.2.8")
  1081. (source
  1082. (origin
  1083. (method url-fetch)
  1084. (uri (string-append "https://hackage.haskell.org/package/"
  1085. "blaze-markup/blaze-markup-"
  1086. version ".tar.gz"))
  1087. (sha256
  1088. (base32
  1089. "0jd30wg5yz0a97b36zwqg4hv8faifza1n2gys3l1p3fwf9l3zz23"))))
  1090. (build-system haskell-build-system)
  1091. (arguments
  1092. `(#:phases
  1093. (modify-phases %standard-phases
  1094. (add-before 'configure 'update-constraints
  1095. (lambda _
  1096. (substitute* "blaze-markup.cabal"
  1097. (("tasty >= 1\\.0 && < 1\\.1")
  1098. "tasty >= 1.0 && < 1.2")))))))
  1099. (inputs
  1100. (list ghc-blaze-builder))
  1101. (native-inputs
  1102. (list ghc-hunit ghc-quickcheck ghc-tasty ghc-tasty-hunit
  1103. ghc-tasty-quickcheck))
  1104. (home-page "https://jaspervdj.be/blaze")
  1105. (synopsis "Fast markup combinator library for Haskell")
  1106. (description "This library provides core modules of a markup combinator
  1107. library for Haskell.")
  1108. (license license:bsd-3)))
  1109. (define-public ghc-bloomfilter
  1110. (package
  1111. (name "ghc-bloomfilter")
  1112. (version "2.0.1.0")
  1113. (source
  1114. (origin
  1115. (method url-fetch)
  1116. (uri (string-append "https://hackage.haskell.org/package/"
  1117. "bloomfilter/bloomfilter-" version ".tar.gz"))
  1118. (sha256
  1119. (base32
  1120. "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
  1121. (build-system haskell-build-system)
  1122. (native-inputs
  1123. (list ghc-quickcheck ghc-random ghc-test-framework
  1124. ghc-test-framework-quickcheck2))
  1125. (home-page "https://github.com/bos/bloomfilter")
  1126. (synopsis "Pure and impure Bloom filter implementations")
  1127. (description "This package provides both mutable and immutable Bloom
  1128. filter data types, along with a family of hash functions and an easy-to-use
  1129. interface.")
  1130. (license license:bsd-3)))
  1131. (define-public ghc-boxes
  1132. (package
  1133. (name "ghc-boxes")
  1134. (version "0.1.5")
  1135. (source
  1136. (origin
  1137. (method url-fetch)
  1138. (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
  1139. version ".tar.gz"))
  1140. (sha256
  1141. (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
  1142. (build-system haskell-build-system)
  1143. (inputs
  1144. (list ghc-split ghc-quickcheck))
  1145. (home-page "https://hackage.haskell.org/package/boxes")
  1146. (synopsis "2D text pretty-printing library")
  1147. (description
  1148. "Boxes is a pretty-printing library for laying out text in two dimensions,
  1149. using a simple box model.")
  1150. (license license:bsd-3)))
  1151. (define-public ghc-byteable
  1152. (package
  1153. (name "ghc-byteable")
  1154. (version "0.1.1")
  1155. (source (origin
  1156. (method url-fetch)
  1157. (uri (string-append "https://hackage.haskell.org/package/"
  1158. "byteable/byteable-" version ".tar.gz"))
  1159. (sha256
  1160. (base32
  1161. "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
  1162. (build-system haskell-build-system)
  1163. (home-page "https://github.com/vincenthz/hs-byteable")
  1164. (synopsis "Type class for sequence of bytes")
  1165. (description
  1166. "This package provides an abstract class to manipulate sequence of bytes.
  1167. The use case of this class is abstracting manipulation of types that are just
  1168. wrapping a bytestring with stronger and more meaniful name.")
  1169. (license license:bsd-3)))
  1170. (define-public ghc-byteorder
  1171. (package
  1172. (name "ghc-byteorder")
  1173. (version "1.0.4")
  1174. (source
  1175. (origin
  1176. (method url-fetch)
  1177. (uri (string-append
  1178. "https://hackage.haskell.org/package/byteorder/byteorder-"
  1179. version
  1180. ".tar.gz"))
  1181. (sha256
  1182. (base32
  1183. "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
  1184. (build-system haskell-build-system)
  1185. (home-page
  1186. "http://community.haskell.org/~aslatter/code/byteorder")
  1187. (synopsis
  1188. "Exposes the native endianness of the system")
  1189. (description
  1190. "This package is for working with the native byte-ordering of the
  1191. system.")
  1192. (license license:bsd-3)))
  1193. (define-public ghc-bytes
  1194. (package
  1195. (name "ghc-bytes")
  1196. (version "0.17.1")
  1197. (source
  1198. (origin
  1199. (method url-fetch)
  1200. (uri
  1201. (string-append "https://hackage.haskell.org/package/bytes-"
  1202. version "/bytes-"
  1203. version ".tar.gz"))
  1204. (file-name (string-append name "-" version ".tar.gz"))
  1205. (sha256
  1206. (base32
  1207. "1qmps8vvg98wfm9xm734hwzi56bsk8r1zc6vx20rlhc79krv5s9s"))))
  1208. (build-system haskell-build-system)
  1209. (inputs (list ghc-binary-orphans
  1210. ghc-cereal
  1211. ghc-hashable
  1212. ghc-scientific
  1213. ghc-transformers-compat
  1214. ghc-unordered-containers
  1215. ghc-void))
  1216. (synopsis "Serialization between @code{binary} and @code{cereal}")
  1217. (description "This package provides a simple compatibility shim that lets
  1218. you work with both @code{binary} and @code{cereal} with one chunk of
  1219. serialization code.")
  1220. (home-page "https://hackage.haskell.org/package/bytes")
  1221. (license license:bsd-3)))
  1222. (define-public ghc-bytestring-builder
  1223. (package
  1224. (name "ghc-bytestring-builder")
  1225. (version "0.10.8.2.0")
  1226. (source
  1227. (origin
  1228. (method url-fetch)
  1229. (uri (string-append
  1230. "https://hackage.haskell.org/package/bytestring-builder"
  1231. "/bytestring-builder-" version ".tar.gz"))
  1232. (sha256
  1233. (base32
  1234. "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
  1235. (build-system haskell-build-system)
  1236. (arguments `(#:haddock? #f)) ; Package contains no documentation.
  1237. (home-page "https://hackage.haskell.org/package/bytestring-builder")
  1238. (synopsis "The new bytestring builder, packaged outside of GHC")
  1239. (description "This package provides the bytestring builder that is
  1240. debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
  1241. Compatibility package for older packages.")
  1242. (license license:bsd-3)))
  1243. (define-public ghc-bytestring-handle
  1244. (package
  1245. (name "ghc-bytestring-handle")
  1246. (version "0.1.0.6")
  1247. (source
  1248. (origin
  1249. (method url-fetch)
  1250. (uri (string-append
  1251. "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
  1252. version ".tar.gz"))
  1253. (sha256
  1254. (base32
  1255. "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
  1256. (build-system haskell-build-system)
  1257. (arguments
  1258. `(#:cabal-revision
  1259. ("2" "1x1sy3dz2ph9v6jk22wmcv5gk2bka5fv4s68i8q0j9m9pk085w37")))
  1260. (inputs
  1261. (list ghc-hunit ghc-quickcheck ghc-test-framework
  1262. ghc-test-framework-hunit ghc-test-framework-quickcheck2))
  1263. (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
  1264. (synopsis "ByteString-backed Handles")
  1265. (description "ByteString-backed Handles") ; There is no description
  1266. (license license:bsd-3)))
  1267. (define-public ghc-bytestring-lexing
  1268. (package
  1269. (name "ghc-bytestring-lexing")
  1270. (version "0.5.0.7")
  1271. (source
  1272. (origin
  1273. (method url-fetch)
  1274. (uri (string-append "https://hackage.haskell.org/package/"
  1275. "bytestring-lexing/bytestring-lexing-"
  1276. version ".tar.gz"))
  1277. (sha256
  1278. (base32
  1279. "1p7i2haix4m11an3djaq65cnd293hzwqy4cd2i8jxzcl248pk6iy"))))
  1280. (build-system haskell-build-system)
  1281. (native-inputs
  1282. (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-smallcheck))
  1283. (home-page "http://code.haskell.org/~wren/")
  1284. (synopsis "Parse and produce literals from strict or lazy bytestrings")
  1285. (description
  1286. "This package provides tools to parse and produce literals efficiently
  1287. from strict or lazy bytestrings.")
  1288. (license license:bsd-2)))
  1289. (define-public ghc-bzlib-conduit
  1290. (package
  1291. (name "ghc-bzlib-conduit")
  1292. (version "0.3.0.2")
  1293. (source
  1294. (origin
  1295. (method url-fetch)
  1296. (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
  1297. "bzlib-conduit-" version ".tar.gz"))
  1298. (sha256
  1299. (base32
  1300. "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
  1301. (build-system haskell-build-system)
  1302. (inputs
  1303. (list ghc-bindings-dsl ghc-conduit ghc-data-default-class
  1304. ghc-resourcet))
  1305. (native-inputs
  1306. (list ghc-hspec ghc-random))
  1307. (home-page "https://github.com/snoyberg/bzlib-conduit")
  1308. (synopsis "Streaming compression/decompression via conduits")
  1309. (description
  1310. "This package provides Haskell bindings to bzlib and Conduit support for
  1311. streaming compression and decompression.")
  1312. (license license:bsd-3)))
  1313. (define-public ghc-c2hs
  1314. (package
  1315. (name "ghc-c2hs")
  1316. (version "0.28.8")
  1317. (source
  1318. (origin
  1319. (method url-fetch)
  1320. (uri (string-append
  1321. "https://hackage.haskell.org/package/c2hs/c2hs-"
  1322. version
  1323. ".tar.gz"))
  1324. (sha256
  1325. (base32
  1326. "0k482wv94jbpwd96a2c2lc7qz9k8072slx7l7943472nzk7k41ir"))))
  1327. (build-system haskell-build-system)
  1328. (inputs
  1329. (list ghc-language-c ghc-dlist))
  1330. (native-inputs
  1331. (list ghc-test-framework ghc-test-framework-hunit ghc-hunit
  1332. ghc-shelly))
  1333. (arguments
  1334. `(#:phases
  1335. (modify-phases %standard-phases
  1336. ;; The tarball on Hackage does not ship these tests. See
  1337. ;; https://github.com/haskell/c2hs/issues/269
  1338. (add-after 'unpack 'disable-tests
  1339. (lambda _
  1340. (substitute* "tests/test-bugs.hs"
  1341. ((", testCase \"Issue #242\" issue242") ""))
  1342. (substitute* "tests/test-system.hs"
  1343. ((", testCase \"Interruptible\" test_interruptible") ""))))
  1344. (add-before 'check 'set-cc
  1345. ;; add a cc executable in the path, needed for some tests to pass
  1346. (lambda* (#:key inputs #:allow-other-keys)
  1347. (let ((gcc (assoc-ref inputs "gcc"))
  1348. (tmpbin (tmpnam))
  1349. (curpath (getenv "PATH")))
  1350. (mkdir-p tmpbin)
  1351. (symlink (which "gcc") (string-append tmpbin "/cc"))
  1352. (setenv "PATH" (string-append tmpbin ":" curpath)))
  1353. #t))
  1354. (add-after 'check 'remove-cc
  1355. ;; clean the tmp dir made in 'set-cc
  1356. (lambda _
  1357. (let* ((cc-path (which "cc"))
  1358. (cc-dir (dirname cc-path)))
  1359. (delete-file-recursively cc-dir)
  1360. #t))))))
  1361. (home-page "https://github.com/haskell/c2hs")
  1362. (synopsis "Create Haskell bindings to C libraries")
  1363. (description "C->Haskell assists in the development of Haskell bindings to
  1364. C libraries. It extracts interface information from C header files and
  1365. generates Haskell code with foreign imports and marshaling. Unlike writing
  1366. foreign imports by hand (or using hsc2hs), this ensures that C functions are
  1367. imported with the correct Haskell types.")
  1368. (license license:gpl2)))
  1369. (define-public ghc-cairo
  1370. (package
  1371. (name "ghc-cairo")
  1372. (version "0.13.8.1")
  1373. (source
  1374. (origin
  1375. (method url-fetch)
  1376. (uri (string-append "https://hackage.haskell.org/package/cairo/"
  1377. "cairo-" version ".tar.gz"))
  1378. (sha256
  1379. (base32
  1380. "1hpkyhrlg1d24s34kq6d379z8l8fvznm98wpq37haqjma4nl25hk"))))
  1381. (build-system haskell-build-system)
  1382. (inputs
  1383. (list ghc-utf8-string cairo))
  1384. (native-inputs
  1385. (list ghc-gtk2hs-buildtools pkg-config))
  1386. (home-page "http://projects.haskell.org/gtk2hs/")
  1387. (synopsis "Haskell bindings to the Cairo vector graphics library")
  1388. (description
  1389. "Cairo is a library to render high quality vector graphics. There exist
  1390. various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
  1391. documents, amongst others.")
  1392. (license license:bsd-3)))
  1393. (define-public ghc-call-stack
  1394. (package
  1395. (name "ghc-call-stack")
  1396. (version "0.3.0")
  1397. (source
  1398. (origin
  1399. (method url-fetch)
  1400. (uri (string-append "https://hackage.haskell.org/package/"
  1401. "call-stack/call-stack-"
  1402. version ".tar.gz"))
  1403. (sha256
  1404. (base32
  1405. "0ski7ihdxah7x4x07qgkjljg8hzqs9d6aa5k4cmr40bzp3i8s3mq"))))
  1406. (build-system haskell-build-system)
  1407. (native-inputs (list ghc-nanospec))
  1408. (home-page "https://github.com/sol/call-stack#readme")
  1409. (synopsis "Use GHC call-stacks in a backward compatible way")
  1410. (description "This package provides a compatibility layer for using GHC
  1411. call stacks with different versions of the compiler.")
  1412. (license license:expat)))
  1413. ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
  1414. ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
  1415. (define-public ghc-call-stack-boot
  1416. (hidden-package
  1417. (package
  1418. (inherit ghc-call-stack)
  1419. (arguments '(#:tests? #f))
  1420. (native-inputs '()))))
  1421. (define-public ghc-case-insensitive
  1422. (package
  1423. (name "ghc-case-insensitive")
  1424. (version "1.2.1.0")
  1425. (outputs '("out" "static" "doc"))
  1426. (source
  1427. (origin
  1428. (method url-fetch)
  1429. (uri (string-append
  1430. "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
  1431. version
  1432. ".tar.gz"))
  1433. (sha256
  1434. (base32
  1435. "01p40hfjyldfds5jg6vlvvn3ihs4ki63xn6fh8yzngaz1izc2v99"))))
  1436. (build-system haskell-build-system)
  1437. ;; these inputs are necessary to use this library
  1438. (inputs
  1439. (list ghc-hashable))
  1440. (arguments
  1441. `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
  1442. (home-page
  1443. "https://github.com/basvandijk/case-insensitive")
  1444. (synopsis "Case insensitive string comparison")
  1445. (description
  1446. "The module @code{Data.CaseInsensitive} provides the @code{CI} type
  1447. constructor which can be parameterised by a string-like type like:
  1448. @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
  1449. the resulting type will be insensitive to cases.")
  1450. (license license:bsd-3)))
  1451. (define-public ghc-cassava
  1452. (package
  1453. (name "ghc-cassava")
  1454. (version "0.5.2.0")
  1455. (source
  1456. (origin
  1457. (method url-fetch)
  1458. (uri (string-append
  1459. "https://hackage.haskell.org/package/cassava/cassava-"
  1460. version
  1461. ".tar.gz"))
  1462. (sha256
  1463. (base32
  1464. "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk"))))
  1465. (build-system haskell-build-system)
  1466. (inputs
  1467. (list ghc-attoparsec
  1468. ghc-hashable
  1469. ghc-scientific
  1470. ghc-unordered-containers
  1471. ghc-vector
  1472. ghc-only
  1473. ghc-text-short
  1474. ghc-bytestring-builder))
  1475. (native-inputs
  1476. (list ghc-hunit
  1477. ghc-quickcheck
  1478. ghc-quickcheck-instances
  1479. ghc-test-framework
  1480. ghc-test-framework-hunit
  1481. ghc-test-framework-quickcheck2))
  1482. (arguments
  1483. `(#:cabal-revision
  1484. ("4"
  1485. "19rkq41r5vj8drnj850b1wqnc54mxpw0x5z54brq0nvyww5f8ai8")
  1486. #:configure-flags '("--flags=-bytestring--lt-0_10_4")))
  1487. (home-page "https://github.com/haskell-hvr/cassava")
  1488. (synopsis "CSV parsing and encoding library")
  1489. (description
  1490. "@code{cassava} is a library for parsing and encoding
  1491. @url{https://tools.ietf.org/html/rfc4180, RFC 4180} compliant @url{https://
  1492. en.wikipedia.org/wiki/Comma-separated_values, comma-separated values (CSV)}
  1493. data, which is a textual line-oriented format commonly used for exchanging
  1494. tabular data.
  1495. @code{cassava}'s API includes support for:
  1496. @itemize @bullet
  1497. @item
  1498. Index-based record-conversion
  1499. @item
  1500. Name-based record-conversion
  1501. @item
  1502. Typeclass directed conversion of fields and records
  1503. @item
  1504. Built-in field-conversion instances for standard types
  1505. @item
  1506. Customizable record-conversion instance derivation via GHC generics
  1507. @item
  1508. Low-level @url{https://hackage.haskell.org/package/bytestring), bytestring}
  1509. builders (see @url{https://hackage.haskell.org/package/cassava-0.5.2.0/docs/
  1510. Data-Csv-Builder.html, Data.Csv.Builder})
  1511. @item
  1512. Incremental decoding and encoding API (see @url{https://hackage.haskell.org/
  1513. package/cassava-0.5.2.0/docs/Data-Csv-Incremental.html, Data.Csv.Incremental})
  1514. @item
  1515. Streaming API for constant-space decoding (see @url{https://hackage.haskell.org/
  1516. package/cassava-0.5.2.0/docs/Data-Csv-Streaming.html, Data.Csv.Streaming})
  1517. @end itemize
  1518. Moreover, this library is designed to be easy to use; for instance, here's a
  1519. very simple example of encoding CSV data:
  1520. @verbatim
  1521. >>> Data.Csv.encode [(\"John\",27),(\"Jane\",28)]
  1522. \"John,27\r\nJane,28\r\n\"
  1523. @end verbatim
  1524. ")
  1525. (license license:bsd-3)))
  1526. (define-public ghc-cassava-megaparsec
  1527. (package
  1528. (name "ghc-cassava-megaparsec")
  1529. (version "2.0.4")
  1530. (source
  1531. (origin
  1532. (method url-fetch)
  1533. (uri (string-append
  1534. "https://hackage.haskell.org/package/cassava-megaparsec/"
  1535. "cassava-megaparsec-"
  1536. version
  1537. ".tar.gz"))
  1538. (sha256
  1539. (base32
  1540. "0pg9z38jmrylbj683b6pf7psipp7lrdq6mn1hbj8v2gj5lh8yf8n"))))
  1541. (build-system haskell-build-system)
  1542. (inputs
  1543. (list ghc-cassava ghc-megaparsec ghc-unordered-containers ghc-vector))
  1544. (native-inputs
  1545. (list ghc-hspec ghc-hspec-megaparsec))
  1546. (home-page "https://github.com/stackbuilders/cassava-megaparsec")
  1547. (synopsis "Megaparsec parser for CSV files that plays nicely with Cassava")
  1548. (description
  1549. "Alternative parser for the Cassava package written with Megaparsec that
  1550. provides for better error messages at the expense of some speed.")
  1551. (license license:expat)))
  1552. (define-public ghc-cborg
  1553. (package
  1554. (name "ghc-cborg")
  1555. (version "0.2.5.0")
  1556. (source
  1557. (origin
  1558. (method url-fetch)
  1559. (uri (string-append
  1560. "https://hackage.haskell.org/package/cborg/cborg-"
  1561. version
  1562. ".tar.gz"))
  1563. (sha256
  1564. (base32
  1565. "08da498bpbnl5c919m45mjm7sr78nn6qs7xyl0smfgd06wwm65xf"))))
  1566. (build-system haskell-build-system)
  1567. (inputs
  1568. (list ghc-half ghc-primitive))
  1569. (native-inputs
  1570. (list ghc-aeson
  1571. ghc-base64-bytestring
  1572. ghc-base16-bytestring
  1573. ghc-fail
  1574. ghc-quickcheck
  1575. ghc-scientific
  1576. ghc-tasty
  1577. ghc-tasty-hunit
  1578. ghc-tasty-quickcheck
  1579. ghc-vector))
  1580. (home-page "http://hackage.haskell.org/package/cborg")
  1581. (synopsis "Concise Binary Object Representation")
  1582. (description
  1583. "This package (formerly binary-serialise-cbor) provides an
  1584. efficient implementation of the Concise Binary Object
  1585. Representation (CBOR), as specified by RFC 7049 at
  1586. https://tools.ietf.org/html/rfc7049.
  1587. If you are looking for a library for serialisation of Haskell values, have a
  1588. look at the @url{https://hackage.haskell.org/package/serialise} package, which
  1589. is built upon this library.
  1590. An implementation of the standard bijection between CBOR and JSON is provided
  1591. by the @url{https://hackage.haskell.org/package/cborg-json} package.
  1592. Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
  1593. command-line utility for working with CBOR data.")
  1594. (license license:bsd-3)))
  1595. (define-public ghc-cborg-json
  1596. (package
  1597. (name "ghc-cborg-json")
  1598. (version "0.2.2.0")
  1599. (source
  1600. (origin
  1601. (method url-fetch)
  1602. (uri (string-append
  1603. "mirror://hackage/package/cborg-json/cborg-json-"
  1604. version
  1605. ".tar.gz"))
  1606. (sha256
  1607. (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
  1608. (build-system haskell-build-system)
  1609. (arguments
  1610. `(#:cabal-revision
  1611. ("3" "1sn2f9nfjcbr0n62n4kklbdi3pzpwrcy7ilg7m3v41nwrk53ifwy")))
  1612. (inputs
  1613. (list ghc-aeson
  1614. ghc-aeson-pretty
  1615. ghc-unordered-containers
  1616. ghc-scientific
  1617. ghc-vector
  1618. ghc-cborg))
  1619. (home-page "https://github.com/well-typed/cborg")
  1620. (synopsis "Library for encoding JSON as CBOR")
  1621. (description
  1622. "This package implements the bijection between JSON and CBOR
  1623. defined in the CBOR specification, RFC 7049.")
  1624. (license license:bsd-3)))
  1625. (define-public ghc-cereal
  1626. (package
  1627. (name "ghc-cereal")
  1628. (version "0.5.8.1")
  1629. (source
  1630. (origin
  1631. (method url-fetch)
  1632. (uri (string-append
  1633. "https://hackage.haskell.org/package/cereal/cereal-"
  1634. version
  1635. ".tar.gz"))
  1636. (sha256
  1637. (base32
  1638. "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
  1639. (build-system haskell-build-system)
  1640. (native-inputs
  1641. (list ghc-quickcheck ghc-fail ghc-test-framework
  1642. ghc-test-framework-quickcheck2))
  1643. (home-page "https://hackage.haskell.org/package/cereal")
  1644. (synopsis "Binary serialization library")
  1645. (description "This package provides a binary serialization library,
  1646. similar to @code{binary}, that introduces an @code{isolate} primitive for
  1647. parser isolation, and labeled blocks for better error messages.")
  1648. (license license:bsd-3)))
  1649. (define-public ghc-cereal-conduit
  1650. (package
  1651. (name "ghc-cereal-conduit")
  1652. (version "0.8.0")
  1653. (source
  1654. (origin
  1655. (method url-fetch)
  1656. (uri (string-append "https://hackage.haskell.org/package/"
  1657. "cereal-conduit/cereal-conduit-"
  1658. version ".tar.gz"))
  1659. (sha256
  1660. (base32
  1661. "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
  1662. (build-system haskell-build-system)
  1663. (inputs
  1664. (list ghc-conduit ghc-resourcet ghc-cereal))
  1665. (native-inputs
  1666. (list ghc-hunit))
  1667. (home-page "https://github.com/snoyberg/conduit")
  1668. (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
  1669. (description
  1670. "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
  1671. @code{Sources}, @code{Sinks}, and @code{Conduits}.")
  1672. (license license:bsd-3)))
  1673. (define-public ghc-cgi
  1674. (package
  1675. (name "ghc-cgi")
  1676. (version "3001.5.0.0")
  1677. (source
  1678. (origin
  1679. (method url-fetch)
  1680. (uri (string-append
  1681. "https://hackage.haskell.org/package/cgi/cgi-"
  1682. version
  1683. ".tar.gz"))
  1684. (sha256
  1685. (base32
  1686. "09wvp9vkqasns4flw9z46nhcy96r4qxjv6h47d5f90drz77pmm8a"))))
  1687. (build-system haskell-build-system)
  1688. (inputs
  1689. (list ghc-exceptions ghc-multipart ghc-network-uri ghc-network))
  1690. (native-inputs
  1691. (list ghc-doctest ghc-quickcheck))
  1692. (home-page
  1693. "https://github.com/cheecheeo/haskell-cgi")
  1694. (synopsis "Library for writing CGI programs")
  1695. (description
  1696. "This is a Haskell library for writing CGI programs.")
  1697. (license license:bsd-3)))
  1698. (define-public ghc-charset
  1699. (package
  1700. (name "ghc-charset")
  1701. (version "0.3.8")
  1702. (source
  1703. (origin
  1704. (method url-fetch)
  1705. (uri (string-append
  1706. "https://hackage.haskell.org/package/charset/charset-"
  1707. version
  1708. ".tar.gz"))
  1709. (sha256
  1710. (base32
  1711. "1rw6y2insgljbi5l1nwqwv9v865sswjly9rvwipd8zajkgks7aks"))))
  1712. (build-system haskell-build-system)
  1713. (inputs
  1714. (list ghc-semigroups ghc-unordered-containers))
  1715. (home-page "https://github.com/ekmett/charset")
  1716. (synopsis "Fast unicode character sets for Haskell")
  1717. (description "This package provides fast unicode character sets for
  1718. Haskell, based on complemented PATRICIA tries.")
  1719. (license license:bsd-3)))
  1720. (define-public ghc-chart
  1721. (package
  1722. (name "ghc-chart")
  1723. (version "1.9.3")
  1724. (source
  1725. (origin
  1726. (method url-fetch)
  1727. (uri (string-append "https://hackage.haskell.org/package/Chart/"
  1728. "Chart-" version ".tar.gz"))
  1729. (sha256
  1730. (base32
  1731. "0p69kq5kh40gd4y8wqabypmw67pqh42vaaw64zv9sf8j075g85ry"))))
  1732. (build-system haskell-build-system)
  1733. (arguments
  1734. `(#:cabal-revision
  1735. ("2" "04mmsm54mdqcrypvgawhhbwjscmky3j7g5841bc71c0q6d33h2k4")))
  1736. (inputs
  1737. (list ghc-old-locale
  1738. ghc-lens
  1739. ghc-colour
  1740. ghc-data-default-class
  1741. ghc-operational
  1742. ghc-vector))
  1743. (home-page "https://github.com/timbod7/haskell-chart/wiki")
  1744. (synopsis "Library for generating 2D charts and plots")
  1745. (description
  1746. "This package provides a library for generating 2D charts and plots, with
  1747. backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
  1748. (license license:bsd-3)))
  1749. (define-public ghc-chart-cairo
  1750. (package
  1751. (name "ghc-chart-cairo")
  1752. (version "1.9.3")
  1753. (source
  1754. (origin
  1755. (method url-fetch)
  1756. (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
  1757. "Chart-cairo-" version ".tar.gz"))
  1758. (sha256
  1759. (base32
  1760. "0clm68alzsakkn5m4h49dgx33crajacsykb4hry2fh9zxp9j743f"))))
  1761. (build-system haskell-build-system)
  1762. (arguments
  1763. `(#:cabal-revision
  1764. ("2" "0z93znn3dpgj80iiz3a67m90x0j9ljr0jd1ws9jkzj7rk88014gp")))
  1765. (inputs
  1766. (list ghc-old-locale
  1767. ghc-cairo
  1768. ghc-colour
  1769. ghc-data-default-class
  1770. ghc-operational
  1771. ghc-lens
  1772. ghc-chart
  1773. zlib))
  1774. (home-page "https://github.com/timbod7/haskell-chart/wiki")
  1775. (synopsis "Cairo backend for Charts")
  1776. (description "This package provides a Cairo vector graphics rendering
  1777. backend for the Charts library.")
  1778. (license license:bsd-3)))
  1779. (define-public ghc-chasingbottoms
  1780. (package
  1781. (name "ghc-chasingbottoms")
  1782. (version "1.3.1.10")
  1783. (source
  1784. (origin
  1785. (method url-fetch)
  1786. (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
  1787. "ChasingBottoms-" version ".tar.gz"))
  1788. (sha256
  1789. (base32
  1790. "1flr56hd8ny0ddlv1agi0ikdjv5wgx0aba6xqdsn3nv6dyw9nbf3"))))
  1791. (build-system haskell-build-system)
  1792. (inputs
  1793. (list ghc-quickcheck ghc-random ghc-syb))
  1794. (home-page "https://hackage.haskell.org/package/ChasingBottoms")
  1795. (synopsis "Testing of partial and infinite values in Haskell")
  1796. (description
  1797. ;; FIXME: There should be a @comma{} in the uref text, but it is not
  1798. ;; rendered properly.
  1799. "This is a library for testing code involving bottoms or infinite values.
  1800. For the underlying theory and a larger example involving use of QuickCheck,
  1801. see the article
  1802. @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
  1803. \"Chasing Bottoms A Case Study in Program Verification in the Presence of
  1804. Partial and Infinite Values\"}.")
  1805. (license license:expat)))
  1806. (define-public ghc-cheapskate
  1807. (package
  1808. (name "ghc-cheapskate")
  1809. (version "0.1.1.2")
  1810. (source
  1811. (origin
  1812. (method url-fetch)
  1813. (uri (string-append
  1814. "https://hackage.haskell.org/package/cheapskate/cheapskate-"
  1815. version
  1816. ".tar.gz"))
  1817. (sha256
  1818. (base32
  1819. "17n6laihqrjn62l8qw4565nf77zkvrl68bjmc3vzr4ckqfblhdzd"))))
  1820. (build-system haskell-build-system)
  1821. (inputs
  1822. (list ghc-blaze-html ghc-xss-sanitize ghc-data-default ghc-syb
  1823. ghc-uniplate))
  1824. (home-page "https://github.com/jgm/cheapskate")
  1825. (synopsis "Experimental markdown processor")
  1826. (description "Cheapskate is an experimental Markdown processor in pure
  1827. Haskell. It aims to process Markdown efficiently and in the most forgiving
  1828. possible way. It is designed to deal with any input, including garbage, with
  1829. linear performance. Output is sanitized by default for protection against
  1830. cross-site scripting (@dfn{XSS}) attacks.")
  1831. (license license:bsd-3)))
  1832. (define-public ghc-chell
  1833. (package
  1834. (name "ghc-chell")
  1835. (version "0.5")
  1836. (source
  1837. (origin
  1838. (method url-fetch)
  1839. (uri (string-append
  1840. "https://hackage.haskell.org/package/chell/chell-"
  1841. version ".tar.gz"))
  1842. (sha256
  1843. (base32
  1844. "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
  1845. (build-system haskell-build-system)
  1846. (arguments
  1847. `(#:cabal-revision
  1848. ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
  1849. (inputs
  1850. (list ghc-options-bootstrap ghc-patience ghc-random
  1851. ghc-ansi-terminal))
  1852. (home-page "https://john-millikin.com/software/chell/")
  1853. (synopsis "Simple and intuitive library for automated testing")
  1854. (description
  1855. "Chell is a simple and intuitive library for automated testing.
  1856. It natively supports assertion-based testing, and can use companion
  1857. libraries such as @code{chell-quickcheck} to support more complex
  1858. testing strategies.")
  1859. (license license:expat)))
  1860. (define-public ghc-chell-quickcheck
  1861. (package
  1862. (name "ghc-chell-quickcheck")
  1863. (version "0.2.5.2")
  1864. (source
  1865. (origin
  1866. (method url-fetch)
  1867. (uri (string-append
  1868. "https://hackage.haskell.org/package/chell-quickcheck/"
  1869. "chell-quickcheck-" version ".tar.gz"))
  1870. (sha256
  1871. (base32
  1872. "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
  1873. (build-system haskell-build-system)
  1874. (arguments
  1875. `(#:phases
  1876. (modify-phases %standard-phases
  1877. (add-before 'configure 'update-constraints
  1878. (lambda _
  1879. (substitute* "chell-quickcheck.cabal"
  1880. (("QuickCheck >= 2\\.3 && < 2\\.13")
  1881. "QuickCheck >= 2.3 && < 2.15")))))))
  1882. (inputs
  1883. (list ghc-chell ghc-chell-quickcheck-bootstrap ghc-random
  1884. ghc-quickcheck))
  1885. (home-page "https://john-millikin.com/software/chell/")
  1886. (synopsis "QuickCheck support for the Chell testing library")
  1887. (description "More complex tests for @code{chell}.")
  1888. (license license:expat)))
  1889. (define ghc-chell-quickcheck-bootstrap
  1890. (package
  1891. (name "ghc-chell-quickcheck-bootstrap")
  1892. (version "0.2.5.2")
  1893. (source
  1894. (origin
  1895. (method url-fetch)
  1896. (uri (string-append
  1897. "https://hackage.haskell.org/package/chell-quickcheck/"
  1898. "chell-quickcheck-" version ".tar.gz"))
  1899. (sha256
  1900. (base32
  1901. "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
  1902. (build-system haskell-build-system)
  1903. (inputs
  1904. `(("ghc-chell" ,ghc-chell)
  1905. ("ghc-random" ,ghc-random)
  1906. ("ghc-quickcheck" ,ghc-quickcheck)))
  1907. (arguments
  1908. `(#:tests? #f
  1909. #:phases
  1910. (modify-phases %standard-phases
  1911. (add-before 'configure 'update-constraints
  1912. (lambda _
  1913. (substitute* "chell-quickcheck.cabal"
  1914. (("QuickCheck >= 2\\.3 && < 2\\.13")
  1915. "QuickCheck >= 2.3 && < 2.15")))))))
  1916. (home-page "https://john-millikin.com/software/chell/")
  1917. (synopsis "QuickCheck support for the Chell testing library")
  1918. (description "More complex tests for @code{chell}.")
  1919. (license license:expat)))
  1920. (define-public ghc-chunked-data
  1921. (package
  1922. (name "ghc-chunked-data")
  1923. (version "0.3.1")
  1924. (source
  1925. (origin
  1926. (method url-fetch)
  1927. (uri (string-append "https://hackage.haskell.org/package/"
  1928. "chunked-data-" version "/"
  1929. "chunked-data-" version ".tar.gz"))
  1930. (sha256
  1931. (base32
  1932. "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
  1933. (build-system haskell-build-system)
  1934. (inputs (list ghc-vector ghc-semigroups))
  1935. (home-page "https://github.com/snoyberg/mono-traversable")
  1936. (synopsis "Typeclasses for dealing with various chunked data
  1937. representations for Haskell")
  1938. (description "This Haskell package was originally present in
  1939. classy-prelude.")
  1940. (license license:expat)))
  1941. (define-public ghc-clock
  1942. (package
  1943. (name "ghc-clock")
  1944. (version "0.8.2")
  1945. (source
  1946. (origin
  1947. (method url-fetch)
  1948. (uri (string-append
  1949. "https://hackage.haskell.org/package/"
  1950. "clock/"
  1951. "clock-" version ".tar.gz"))
  1952. (sha256
  1953. (base32 "0qg4ljwmw28vvxjzr4sknh8220abjcx2b0sq3ljqprh3qw8b2p8b"))))
  1954. (build-system haskell-build-system)
  1955. (inputs
  1956. (list ghc-tasty ghc-tasty-quickcheck))
  1957. (home-page "https://hackage.haskell.org/package/clock")
  1958. (synopsis "High-resolution clock for Haskell")
  1959. (description "A package for convenient access to high-resolution clock and
  1960. timer functions of different operating systems via a unified API.")
  1961. (license license:bsd-3)))
  1962. ;; This package builds `clock` without tests, since the tests rely on tasty
  1963. ;; and tasty-quickcheck, which in turn require clock to build.
  1964. (define-public ghc-clock-bootstrap
  1965. (package
  1966. (inherit ghc-clock)
  1967. (name "ghc-clock-bootstrap")
  1968. (arguments '(#:tests? #f))
  1969. (inputs '())
  1970. (properties '((hidden? #t)))))
  1971. (define-public ghc-cmark
  1972. (package
  1973. (name "ghc-cmark")
  1974. (version "0.6")
  1975. (source (origin
  1976. (method url-fetch)
  1977. ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
  1978. ;; See cbits/cmark_version.h.
  1979. (uri (string-append "https://hackage.haskell.org/package/"
  1980. "cmark/cmark-" version ".tar.gz"))
  1981. (sha256
  1982. (base32
  1983. "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
  1984. (build-system haskell-build-system)
  1985. (native-inputs
  1986. (list ghc-hunit))
  1987. (home-page "https://github.com/jgm/commonmark-hs")
  1988. (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
  1989. (description
  1990. "This package provides Haskell bindings for
  1991. @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
  1992. CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
  1993. sources, and does not require prior installation of the C library.")
  1994. (license license:bsd-3)))
  1995. (define-public ghc-cmark-gfm
  1996. (package
  1997. (name "ghc-cmark-gfm")
  1998. (version "0.2.2")
  1999. (source
  2000. (origin
  2001. (method url-fetch)
  2002. (uri (string-append "https://hackage.haskell.org/package/"
  2003. "cmark-gfm/cmark-gfm-"
  2004. version ".tar.gz"))
  2005. (sha256
  2006. (base32
  2007. "1skzdg1icmhn0zrkhbnba4200ymah8sd5msk4qfgawrk77zilw7f"))))
  2008. (build-system haskell-build-system)
  2009. (native-inputs
  2010. (list ghc-hunit))
  2011. (home-page "https://github.com/kivikakk/cmark-gfm-hs")
  2012. (synopsis
  2013. "Fast, accurate GitHub Flavored Markdown parser and renderer")
  2014. (description
  2015. "This package provides Haskell bindings for libcmark-gfm, the reference
  2016. parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
  2017. It includes sources for libcmark-gfm and does not require prior installation
  2018. of the C library.")
  2019. (license license:bsd-3)))
  2020. (define-public ghc-cmdargs
  2021. (package
  2022. (name "ghc-cmdargs")
  2023. (version "0.10.21")
  2024. (source
  2025. (origin
  2026. (method url-fetch)
  2027. (uri (string-append
  2028. "https://hackage.haskell.org/package/cmdargs/cmdargs-"
  2029. version ".tar.gz"))
  2030. (sha256
  2031. (base32
  2032. "0xfabq187n1vqrnnm4ciprpl0dcjq97rksyjnpcniwva9rffmn7p"))))
  2033. (build-system haskell-build-system)
  2034. (outputs '("out" "static" "doc"))
  2035. (home-page
  2036. "http://community.haskell.org/~ndm/cmdargs/")
  2037. (synopsis "Command line argument processing")
  2038. (description
  2039. "This library provides an easy way to define command line parsers.")
  2040. (license license:bsd-3)))
  2041. (define-public ghc-code-page
  2042. (package
  2043. (name "ghc-code-page")
  2044. (version "0.2.1")
  2045. (source
  2046. (origin
  2047. (method url-fetch)
  2048. (uri (string-append
  2049. "https://hackage.haskell.org/package/code-page/code-page-"
  2050. version ".tar.gz"))
  2051. (sha256
  2052. (base32
  2053. "1aiavczjk6f2kc1cdwjc1mwkr4d9shiz3xwmfbzsdn0yqqchxydj"))))
  2054. (build-system haskell-build-system)
  2055. (home-page "https://github.com/RyanGlScott/code-page")
  2056. (synopsis "Windows code page library for Haskell")
  2057. (description "A cross-platform library with functions for adjusting
  2058. code pages on Windows. On all other operating systems, the library does
  2059. nothing.")
  2060. (license license:bsd-3)))
  2061. (define-public ghc-colour
  2062. (package
  2063. (name "ghc-colour")
  2064. (version "2.3.6")
  2065. (source
  2066. (origin
  2067. (method url-fetch)
  2068. (uri (string-append
  2069. "https://hackage.haskell.org/package/colour/colour-"
  2070. version ".tar.gz"))
  2071. (sha256
  2072. (base32
  2073. "0wgqj64mh2y2zk77kv59k3xb3dk4wmgfp988y74sp9a4d76mvlrc"))))
  2074. (arguments
  2075. ;; The tests for this package have the following dependency cycle:
  2076. ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
  2077. `(#:tests? #f))
  2078. (build-system haskell-build-system)
  2079. (home-page "https://wiki.haskell.org/Colour")
  2080. (synopsis "Model for human colour perception")
  2081. (description
  2082. "This package provides a data type for colours and transparency.
  2083. Colours can be blended and composed. Various colour spaces are
  2084. supported. A module of colour names (\"Data.Colour.Names\") is provided.")
  2085. (license license:expat)))
  2086. (define-public ghc-comonad
  2087. (package
  2088. (name "ghc-comonad")
  2089. (version "5.0.8")
  2090. (source
  2091. (origin
  2092. (method url-fetch)
  2093. (uri (string-append
  2094. "https://hackage.haskell.org/package/comonad/comonad-"
  2095. version
  2096. ".tar.gz"))
  2097. (sha256
  2098. (base32
  2099. "04rxycp2pbkrvhjgpgx08jmsipjz4cdmhv59dbp47k4jq8ndyv7g"))))
  2100. (build-system haskell-build-system)
  2101. (inputs
  2102. (list ghc-distributive ghc-tagged ghc-indexed-traversable
  2103. ghc-transformers-compat))
  2104. (home-page "https://github.com/ekmett/comonad/")
  2105. (synopsis "Comonads for Haskell")
  2106. (description "This library provides @code{Comonad}s for Haskell.")
  2107. (license license:bsd-3)))
  2108. (define-public ghc-concatenative
  2109. (package
  2110. (name "ghc-concatenative")
  2111. (version "1.0.1")
  2112. (source (origin
  2113. (method url-fetch)
  2114. (uri (string-append
  2115. "https://hackage.haskell.org/package/concatenative/concatenative-"
  2116. version ".tar.gz"))
  2117. (sha256
  2118. (base32
  2119. "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
  2120. (build-system haskell-build-system)
  2121. (home-page
  2122. "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
  2123. (synopsis "Library for postfix control flow")
  2124. (description
  2125. "Concatenative gives Haskell Factor-style combinators and arrows for
  2126. postfix notation. For more information on stack based languages, see
  2127. @uref{https://concatenative.org}.")
  2128. (license license:bsd-3)))
  2129. (define-public ghc-concurrent-extra
  2130. (package
  2131. (name "ghc-concurrent-extra")
  2132. (version "0.7.0.12")
  2133. (source
  2134. (origin
  2135. (method url-fetch)
  2136. (uri (string-append "https://hackage.haskell.org/package/"
  2137. "concurrent-extra/concurrent-extra-"
  2138. version ".tar.gz"))
  2139. (sha256
  2140. (base32
  2141. "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
  2142. (build-system haskell-build-system)
  2143. (arguments
  2144. ;; XXX: The ReadWriteLock 'stressTest' fails.
  2145. `(#:tests? #f))
  2146. (inputs
  2147. (list ghc-unbounded-delays))
  2148. (native-inputs
  2149. (list ghc-async ghc-hunit ghc-random ghc-test-framework
  2150. ghc-test-framework-hunit))
  2151. (home-page "https://github.com/basvandijk/concurrent-extra")
  2152. (synopsis "Extra concurrency primitives")
  2153. (description "This Haskell library offers (among other things) the
  2154. following selection of synchronisation primitives:
  2155. @itemize
  2156. @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
  2157. @item @code{Event}: Wake multiple threads by signalling an event.
  2158. @item @code{Lock}: Enforce exclusive access to a resource. Also known
  2159. as a binary semaphore or mutex. The package additionally provides an
  2160. alternative that works in the STM monad.
  2161. @item @code{RLock}: A lock which can be acquired multiple times by the
  2162. same thread. Also known as a reentrant mutex.
  2163. @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
  2164. to protect shared resources which may be concurrently read, but only
  2165. sequentially written.
  2166. @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
  2167. @end itemize
  2168. Please consult the API documentation of the individual modules for more
  2169. detailed information.
  2170. This package was inspired by the concurrency libraries of Java and
  2171. Python.")
  2172. (license license:bsd-3)))
  2173. (define-public ghc-concurrent-output
  2174. (package
  2175. (name "ghc-concurrent-output")
  2176. (version "1.10.12")
  2177. (source
  2178. (origin
  2179. (method url-fetch)
  2180. (uri (string-append
  2181. "https://hackage.haskell.org/package/concurrent-output/concurrent-output-"
  2182. version
  2183. ".tar.gz"))
  2184. (sha256
  2185. (base32
  2186. "081wpag1d5znr0ynrjvkc14xl816m88vz9hgfm3g3sp6ak7s3y47"))))
  2187. (build-system haskell-build-system)
  2188. (inputs
  2189. (list ghc-async ghc-exceptions ghc-ansi-terminal ghc-terminal-size))
  2190. (home-page
  2191. "https://hackage.haskell.org/package/concurrent-output")
  2192. (synopsis
  2193. "Ungarble output from several threads or commands")
  2194. (description
  2195. "Lets multiple threads and external processes concurrently output to the
  2196. console, without it getting all garbled up.
  2197. Built on top of that is a way of defining multiple output regions, which are
  2198. automatically laid out on the screen and can be individually updated by
  2199. concurrent threads. Can be used for progress displays etc.")
  2200. (license license:bsd-2)))
  2201. (define-public ghc-conduit
  2202. (package
  2203. (name "ghc-conduit")
  2204. (version "1.3.1.1")
  2205. (source (origin
  2206. (method url-fetch)
  2207. (uri (string-append "https://hackage.haskell.org/package/"
  2208. "conduit/conduit-" version ".tar.gz"))
  2209. (sha256
  2210. (base32
  2211. "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
  2212. (build-system haskell-build-system)
  2213. (outputs '("out" "static" "doc"))
  2214. (inputs
  2215. (list ghc-exceptions
  2216. ghc-lifted-base
  2217. ghc-mono-traversable
  2218. ghc-mmorph
  2219. ghc-resourcet
  2220. ghc-silently
  2221. ghc-transformers-base
  2222. ghc-unliftio
  2223. ghc-unliftio-core
  2224. ghc-vector
  2225. ghc-void))
  2226. (native-inputs
  2227. (list ghc-quickcheck ghc-hspec ghc-safe ghc-split))
  2228. (home-page "https://github.com/snoyberg/conduit")
  2229. (synopsis "Streaming data library")
  2230. (description
  2231. "The conduit package is a solution to the streaming data problem,
  2232. allowing for production, transformation, and consumption of streams of data
  2233. in constant memory. It is an alternative to lazy I/O which guarantees
  2234. deterministic resource handling, and fits in the same general solution
  2235. space as enumerator/iteratee and pipes.")
  2236. (license license:expat)))
  2237. (define-public ghc-conduit-algorithms
  2238. (package
  2239. (name "ghc-conduit-algorithms")
  2240. (version "0.0.11.0")
  2241. (source
  2242. (origin
  2243. (method url-fetch)
  2244. (uri (string-append "https://hackage.haskell.org/package/"
  2245. "conduit-algorithms/conduit-algorithms-"
  2246. version ".tar.gz"))
  2247. (sha256
  2248. (base32
  2249. "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
  2250. (build-system haskell-build-system)
  2251. (inputs
  2252. (list ghc-async
  2253. ghc-bzlib-conduit
  2254. ghc-conduit
  2255. ghc-conduit-combinators
  2256. ghc-conduit-extra
  2257. ghc-conduit-zstd
  2258. ghc-exceptions
  2259. ghc-lzma-conduit
  2260. ghc-monad-control
  2261. ghc-pqueue
  2262. ghc-resourcet
  2263. ghc-stm-conduit
  2264. ghc-streaming-commons
  2265. ghc-unliftio-core
  2266. ghc-vector))
  2267. (native-inputs
  2268. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit
  2269. ghc-test-framework-th))
  2270. (home-page "https://github.com/luispedro/conduit-algorithms#readme")
  2271. (synopsis "Conduit-based algorithms")
  2272. (description
  2273. "This package provides algorithms on @code{Conduits}, including higher
  2274. level asynchronous processing and some other utilities.")
  2275. (license license:expat)))
  2276. (define-public ghc-conduit-combinators
  2277. (package
  2278. (name "ghc-conduit-combinators")
  2279. (version "1.3.0")
  2280. (source
  2281. (origin
  2282. (method url-fetch)
  2283. (uri (string-append "https://hackage.haskell.org/package/"
  2284. "conduit-combinators-" version "/"
  2285. "conduit-combinators-" version ".tar.gz"))
  2286. (sha256
  2287. (base32
  2288. "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
  2289. (build-system haskell-build-system)
  2290. (inputs (list ghc-conduit
  2291. ghc-conduit-extra
  2292. ghc-transformers-base
  2293. ghc-primitive
  2294. ghc-vector
  2295. ghc-void
  2296. ghc-mwc-random
  2297. ghc-unix-compat
  2298. ghc-base16-bytestring
  2299. ghc-base64-bytestring
  2300. ghc-resourcet
  2301. ghc-monad-control
  2302. ghc-chunked-data
  2303. ghc-mono-traversable))
  2304. (native-inputs (list ghc-hspec ghc-silently ghc-safe ghc-quickcheck))
  2305. (home-page "https://github.com/snoyberg/mono-traversable")
  2306. (synopsis "Commonly used conduit functions, for both chunked and
  2307. unchunked data")
  2308. (description "This Haskell package provides a replacement for Data.Conduit.List,
  2309. as well as a convenient Conduit module.")
  2310. (license license:expat)))
  2311. (define-public ghc-conduit-extra
  2312. (package
  2313. (name "ghc-conduit-extra")
  2314. (version "1.3.5")
  2315. (source
  2316. (origin
  2317. (method url-fetch)
  2318. (uri (string-append "https://hackage.haskell.org/package/"
  2319. "conduit-extra/conduit-extra-"
  2320. version ".tar.gz"))
  2321. (sha256
  2322. (base32
  2323. "1n8js1y1rdswvp0bkjmmz19fag19bdxgwsrqz93yc09w43p8sr4a"))))
  2324. (build-system haskell-build-system)
  2325. (inputs
  2326. (list ghc-conduit
  2327. ghc-exceptions
  2328. ghc-monad-control
  2329. ghc-transformers-base
  2330. ghc-typed-process
  2331. ghc-async
  2332. ghc-attoparsec
  2333. ghc-blaze-builder
  2334. ghc-network
  2335. ghc-primitive
  2336. ghc-resourcet
  2337. ghc-streaming-commons
  2338. ghc-hspec
  2339. ghc-bytestring-builder
  2340. ghc-quickcheck))
  2341. (native-inputs
  2342. (list hspec-discover))
  2343. (home-page "https://github.com/snoyberg/conduit")
  2344. (synopsis "Conduit adapters for common libraries")
  2345. (description
  2346. "The @code{conduit} package itself maintains relative small dependencies.
  2347. The purpose of this package is to collect commonly used utility functions
  2348. wrapping other library dependencies, without depending on heavier-weight
  2349. dependencies. The basic idea is that this package should only depend on
  2350. @code{haskell-platform} packages and @code{conduit}.")
  2351. (license license:expat)))
  2352. (define-public ghc-conduit-zstd
  2353. (package
  2354. (name "ghc-conduit-zstd")
  2355. (version "0.0.2.0")
  2356. (source
  2357. (origin
  2358. (method url-fetch)
  2359. (uri (string-append "https://hackage.haskell.org/package/"
  2360. "conduit-zstd/conduit-zstd-" version ".tar.gz"))
  2361. (sha256
  2362. (base32
  2363. "0f0ir4zs3skw33c8mfppxhfsyqh1c2cnc4gkf8bvv3bdiikdj1yl"))))
  2364. (build-system haskell-build-system)
  2365. (inputs
  2366. (list ghc-conduit ghc-zstd))
  2367. (native-inputs
  2368. (list ghc-conduit-combinators ghc-conduit-extra
  2369. ghc-quickcheck-instances ghc-tasty ghc-tasty-quickcheck))
  2370. (home-page "https://github.com/luispedro/conduit-zstd#readme")
  2371. (synopsis "Conduit-based ZStd Compression")
  2372. (description "Zstandard compression packaged as a conduit. This is
  2373. a very thin wrapper around the
  2374. @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
  2375. interface}.")
  2376. (license license:expat)))
  2377. (define-public ghc-config-ini
  2378. (package
  2379. (name "ghc-config-ini")
  2380. (version "0.2.4.0")
  2381. (source
  2382. (origin
  2383. (method url-fetch)
  2384. (uri (string-append "https://hackage.haskell.org/package/"
  2385. "config-ini/config-ini-" version ".tar.gz"))
  2386. (sha256
  2387. (base32 "0dfm4xb1sd713rcqzplzdgw68fyhj24i6lj8j3q8kldpmkl98lbf"))))
  2388. (build-system haskell-build-system)
  2389. (arguments
  2390. ;; XXX The tests fail to compile: “The constructor ‘I1.Ini’ should have 2
  2391. ;; arguments, but has been given 1”.
  2392. `(#:tests? #f
  2393. #:cabal-revision
  2394. ("2" "0iwraaa0y1b3xdsg760j1wpylkqshky0k2djcg0k4s97lrwqpbcz")))
  2395. (native-inputs
  2396. (list ghc-doctest ghc-hedgehog ghc-ini ghc-microlens))
  2397. (inputs
  2398. (list ghc-megaparsec ghc-unordered-containers))
  2399. (home-page "https://github.com/aisamanra/config-ini")
  2400. (synopsis "Monadic Haskell DSL for parsing simple INI configuration files")
  2401. (description
  2402. "The @code{config-ini} Haskell library exports some simple monadic
  2403. functions to ease the parsing of @file{.ini}-style configuration files, and
  2404. to write and update them in an efficient @i{diff-minimal} way. This means that
  2405. if you parse a file, update a single field, and reserialize, that file should
  2406. differ only in the field we changed and @emph{that's it}: field order, comments,
  2407. and incidental whitespace will remain unchanged. The library aims to produce
  2408. human-readable error messages when things go wrong.")
  2409. (license license:bsd-3)))
  2410. (define-public ghc-configurator
  2411. (package
  2412. (name "ghc-configurator")
  2413. (version "0.3.0.0")
  2414. (source
  2415. (origin
  2416. (method url-fetch)
  2417. (uri (string-append "https://hackage.haskell.org/package/"
  2418. "configurator/configurator-"
  2419. version ".tar.gz"))
  2420. (sha256
  2421. (base32
  2422. "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
  2423. (build-system haskell-build-system)
  2424. (inputs
  2425. (list ghc-attoparsec ghc-hashable ghc-unix-compat
  2426. ghc-unordered-containers))
  2427. (native-inputs
  2428. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
  2429. (home-page "https://github.com/bos/configurator")
  2430. (synopsis "Configuration management")
  2431. (description
  2432. "This package provides a configuration management library for programs
  2433. and daemons. The features include:
  2434. @enumerate
  2435. @item Automatic, dynamic reloading in response to modifications to
  2436. configuration files.
  2437. @item A simple, but flexible, configuration language, supporting several of
  2438. the most commonly needed types of data, along with interpolation of strings
  2439. from the configuration or the system environment (e.g. @code{$(HOME)}).
  2440. @item Subscription-based notification of changes to configuration properties.
  2441. @item An @code{import} directive allows the configuration of a complex
  2442. application to be split across several smaller files, or common configuration
  2443. data to be shared across several applications.
  2444. @end enumerate\n")
  2445. (license license:bsd-3)))
  2446. (define-public ghc-connection
  2447. (package
  2448. (name "ghc-connection")
  2449. (version "0.3.1")
  2450. (source (origin
  2451. (method url-fetch)
  2452. (uri (string-append "https://hackage.haskell.org/package/"
  2453. "connection/connection-"
  2454. version ".tar.gz"))
  2455. (sha256
  2456. (base32
  2457. "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
  2458. (build-system haskell-build-system)
  2459. (inputs
  2460. (list ghc-byteable
  2461. ghc-data-default-class
  2462. ghc-network
  2463. ghc-tls
  2464. ghc-socks
  2465. ghc-x509
  2466. ghc-x509-store
  2467. ghc-x509-system
  2468. ghc-x509-validation))
  2469. (home-page "https://github.com/vincenthz/hs-connection")
  2470. (synopsis "Simple and easy network connections API")
  2471. (description
  2472. "This package provides a simple network library for all your connection
  2473. needs. It provides a very simple API to create sockets to a destination with
  2474. the choice of SSL/TLS, and SOCKS.")
  2475. (license license:bsd-3)))
  2476. (define-public ghc-constraints
  2477. (package
  2478. (name "ghc-constraints")
  2479. (version "0.13")
  2480. (source
  2481. (origin
  2482. (method url-fetch)
  2483. (uri (string-append
  2484. "https://hackage.haskell.org/package/constraints/constraints-"
  2485. version ".tar.gz"))
  2486. (sha256
  2487. (base32
  2488. "143558jykvya7y8134dx30g6nh27q5s61nbq369p69igd1aayncj"))))
  2489. (build-system haskell-build-system)
  2490. (inputs
  2491. (list ghc-hashable ghc-semigroups ghc-transformers-compat
  2492. ghc-type-equality))
  2493. (native-inputs
  2494. (list ghc-hspec hspec-discover))
  2495. (home-page "https://github.com/ekmett/constraints/")
  2496. (synopsis "Constraint manipulation")
  2497. (description
  2498. "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
  2499. They stopped crashing the compiler in GHC 7.6. This package provides
  2500. a vocabulary for working with them.")
  2501. (license license:bsd-3)))
  2502. (define-public ghc-contravariant
  2503. (package
  2504. (name "ghc-contravariant")
  2505. (version "1.5.5")
  2506. (source
  2507. (origin
  2508. (method url-fetch)
  2509. (uri (string-append
  2510. "https://hackage.haskell.org/package/contravariant/contravariant-"
  2511. version
  2512. ".tar.gz"))
  2513. (sha256
  2514. (base32
  2515. "1ynz89vfn7czxpa203zmdqknkvpylzzl9rlkpasx1anph1jxcbq6"))))
  2516. (build-system haskell-build-system)
  2517. (inputs
  2518. (list ghc-void ghc-transformers-compat ghc-statevar ghc-semigroups))
  2519. (home-page
  2520. "https://github.com/ekmett/contravariant/")
  2521. (synopsis "Contravariant functors")
  2522. (description "Contravariant functors for Haskell.")
  2523. (license license:bsd-3)))
  2524. (define-public ghc-contravariant-extras
  2525. (package
  2526. (name "ghc-contravariant-extras")
  2527. (version "0.3.5.2")
  2528. (source
  2529. (origin
  2530. (method url-fetch)
  2531. (uri (string-append "https://hackage.haskell.org/package/"
  2532. "contravariant-extras-" version "/"
  2533. "contravariant-extras-" version ".tar.gz"))
  2534. (sha256
  2535. (base32
  2536. "0ikwzg0992j870yp0x2ssf4mv2hw2nml979apg493m72xnvr1jz9"))))
  2537. (build-system haskell-build-system)
  2538. (inputs
  2539. (list ghc-contravariant ghc-template-haskell-compat-v0208))
  2540. (home-page "https://github.com/nikita-volkov/contravariant-extras")
  2541. (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
  2542. (description "This Haskell package provides extras for the
  2543. @code{ghc-contravariant} package.")
  2544. (license license:expat)))
  2545. (define-public ghc-control-monad-free
  2546. (package
  2547. (name "ghc-control-monad-free")
  2548. (version "0.6.2")
  2549. (source
  2550. (origin
  2551. (method url-fetch)
  2552. (uri (string-append
  2553. "https://hackage.haskell.org/"
  2554. "package/control-monad-free/control-monad-free-"
  2555. version
  2556. ".tar.gz"))
  2557. (sha256
  2558. (base32
  2559. "1habgf7byffqf1rqjkzpihvdhclaafgqsqpfpwp3fgpj5ayk1j33"))))
  2560. (build-system haskell-build-system)
  2561. (home-page "https://github.com/pepeiborra/control-monad-free")
  2562. (synopsis "Free monads and monad transformers")
  2563. (description
  2564. "This package provides datatypes to construct Free monads, Free monad
  2565. transformers, and useful instances. In addition it provides the constructs to
  2566. avoid quadratic complexity of left associative bind, as explained in:
  2567. @itemize @bullet
  2568. @item
  2569. Janis Voigtlander, @cite{Asymptotic Improvement of Computations over
  2570. Free Monads, MPC'08}
  2571. @end itemize")
  2572. (license license:public-domain)))
  2573. (define-public ghc-convertible
  2574. (package
  2575. (name "ghc-convertible")
  2576. (version "1.1.1.0")
  2577. (source
  2578. (origin
  2579. (method url-fetch)
  2580. (uri (string-append "https://hackage.haskell.org/package/convertible/"
  2581. "convertible-" version ".tar.gz"))
  2582. (sha256
  2583. (base32
  2584. "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
  2585. (build-system haskell-build-system)
  2586. (inputs
  2587. (list ghc-old-time ghc-old-locale))
  2588. (home-page "https://hackage.haskell.org/package/convertible")
  2589. (synopsis "Typeclasses and instances for converting between types")
  2590. (description
  2591. "This package provides a typeclass with a single function that is
  2592. designed to help convert between different types: numeric values, dates and
  2593. times, and the like. The conversions perform bounds checking and return a
  2594. pure @code{Either} value. This means that you need not remember which specific
  2595. function performs the conversion you desire.")
  2596. (license license:bsd-3)))
  2597. (define-public ghc-csv
  2598. (package
  2599. (name "ghc-csv")
  2600. (version "0.1.2")
  2601. (source
  2602. (origin
  2603. (method url-fetch)
  2604. (uri (string-append
  2605. "https://hackage.haskell.org/package/csv/csv-"
  2606. version
  2607. ".tar.gz"))
  2608. (sha256
  2609. (base32
  2610. "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c"))))
  2611. (build-system haskell-build-system)
  2612. (arguments
  2613. `(#:phases
  2614. (modify-phases %standard-phases
  2615. (add-before 'configure 'fix-Setup.hs
  2616. (lambda _
  2617. (substitute* "Setup.hs"
  2618. (("defaultMainWithHooks defaultUserHooks")
  2619. "defaultMain")))))))
  2620. (home-page "http://hackage.haskell.org/package/csv")
  2621. (synopsis "CSV loader and dumper")
  2622. (description
  2623. "This library parses and dumps documents that are formatted according to
  2624. RFC 4180, @cite{The common Format and MIME Type for Comma-Separated
  2625. Values (CSV) Files}. This format is used, among many other things, as a
  2626. lingua franca for spreadsheets, and for certain web services.")
  2627. (license license:expat)))
  2628. (define-public ghc-data-accessor
  2629. (package
  2630. (name "ghc-data-accessor")
  2631. (version "0.2.3")
  2632. (source
  2633. (origin
  2634. (method url-fetch)
  2635. (uri (string-append
  2636. "https://hackage.haskell.org/package/data-accessor/data-accessor-"
  2637. version ".tar.gz"))
  2638. (sha256
  2639. (base32 "0f1yvvzr24qgrx6k2g101s7vp012802iw6kli903n28nig93yn0x"))))
  2640. (build-system haskell-build-system)
  2641. (home-page "https://wiki.haskell.org/Record_access")
  2642. (synopsis
  2643. "Haskell utilities for accessing and manipulating fields of records")
  2644. (description "This package provides Haskell modules for accessing and
  2645. manipulating fields of records.")
  2646. (license license:bsd-3)))
  2647. (define-public ghc-data-accessor-transformers
  2648. (package
  2649. (name "ghc-data-accessor-transformers")
  2650. (version "0.2.1.7")
  2651. (source
  2652. (origin
  2653. (method url-fetch)
  2654. (uri (string-append
  2655. "mirror://hackage/package/data-accessor-transformers/"
  2656. "data-accessor-transformers-" version ".tar.gz"))
  2657. (sha256
  2658. (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
  2659. (build-system haskell-build-system)
  2660. (inputs (list ghc-data-accessor))
  2661. (home-page "https://wiki.haskell.org/Record_access")
  2662. (synopsis "Use Accessor to access state in transformers State monad")
  2663. (description "This package provides Haskell modules to allow use of
  2664. Accessor to access state in transformers State monad.")
  2665. (license license:bsd-3)))
  2666. (define-public ghc-data-clist
  2667. (package
  2668. (name "ghc-data-clist")
  2669. (version "0.1.2.3")
  2670. (source
  2671. (origin
  2672. (method url-fetch)
  2673. (uri (string-append "https://hackage.haskell.org/package/data-clist/"
  2674. "data-clist-" version ".tar.gz"))
  2675. (sha256
  2676. (base32 "1mwfhnmvi3vicyjzl33m6pcipi2v887zazyqxygq258ndd010s9m"))))
  2677. (build-system haskell-build-system)
  2678. (native-inputs
  2679. (list ghc-quickcheck))
  2680. (arguments
  2681. `(#:cabal-revision
  2682. ("1" "13hg7a3d4ky8b765dl03ryxg28lq8iaqj5ky3j51r0i1i4f2a9hy")))
  2683. (home-page "https://github.com/sw17ch/data-clist")
  2684. (synopsis "Simple, functional, bidirectional circular list type")
  2685. (description
  2686. "This Haskell library provides a simple purely functional circular list,
  2687. or ring, data type: a circular data structure such that if you continue rotating
  2688. the ring in either direction, you'll eventually return to the element you first
  2689. observed.")
  2690. (license license:bsd-3)))
  2691. (define-public ghc-data-default
  2692. (package
  2693. (name "ghc-data-default")
  2694. (version "0.7.1.1")
  2695. (source
  2696. (origin
  2697. (method url-fetch)
  2698. (uri (string-append
  2699. "https://hackage.haskell.org/package/data-default/data-default-"
  2700. version
  2701. ".tar.gz"))
  2702. (sha256
  2703. (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
  2704. (build-system haskell-build-system)
  2705. (inputs
  2706. (list ghc-data-default-class ghc-data-default-instances-base
  2707. ghc-data-default-instances-containers
  2708. ghc-data-default-instances-dlist
  2709. ghc-data-default-instances-old-locale))
  2710. (home-page "https://hackage.haskell.org/package/data-default")
  2711. (synopsis "Types with default values")
  2712. (description
  2713. "This package defines a class for types with a default value, and
  2714. provides instances for types from the base, containers, dlist and old-locale
  2715. packages.")
  2716. (license license:bsd-3)))
  2717. (define-public ghc-data-default-class
  2718. (package
  2719. (name "ghc-data-default-class")
  2720. (version "0.1.2.0")
  2721. (source
  2722. (origin
  2723. (method url-fetch)
  2724. (uri (string-append
  2725. "https://hackage.haskell.org/package/data-default-class/"
  2726. "data-default-class-" version ".tar.gz"))
  2727. (sha256
  2728. (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
  2729. (build-system haskell-build-system)
  2730. (home-page "https://hackage.haskell.org/package/data-default-class")
  2731. (synopsis "Types with default values")
  2732. (description
  2733. "This package defines a class for types with default values.")
  2734. (license license:bsd-3)))
  2735. (define-public ghc-data-default-instances-base
  2736. (package
  2737. (name "ghc-data-default-instances-base")
  2738. (version "0.1.0.1")
  2739. (source
  2740. (origin
  2741. (method url-fetch)
  2742. (uri (string-append
  2743. "https://hackage.haskell.org/package/"
  2744. "data-default-instances-base/"
  2745. "data-default-instances-base-" version ".tar.gz"))
  2746. (sha256
  2747. (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
  2748. (build-system haskell-build-system)
  2749. (inputs
  2750. (list ghc-data-default-class))
  2751. (home-page "https://hackage.haskell.org/package/data-default-instances-base")
  2752. (synopsis "Default instances for types in base")
  2753. (description
  2754. "This package provides default instances for types from the base
  2755. package.")
  2756. (license license:bsd-3)))
  2757. (define-public ghc-data-default-instances-containers
  2758. (package
  2759. (name "ghc-data-default-instances-containers")
  2760. (version "0.0.1")
  2761. (source
  2762. (origin
  2763. (method url-fetch)
  2764. (uri (string-append
  2765. "https://hackage.haskell.org/package/"
  2766. "data-default-instances-containers/"
  2767. "data-default-instances-containers-" version ".tar.gz"))
  2768. (sha256
  2769. (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
  2770. (build-system haskell-build-system)
  2771. (inputs
  2772. (list ghc-data-default-class))
  2773. (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
  2774. (synopsis "Default instances for types in containers")
  2775. (description "Provides default instances for types from the containers
  2776. package.")
  2777. (license license:bsd-3)))
  2778. (define-public ghc-data-default-instances-dlist
  2779. (package
  2780. (name "ghc-data-default-instances-dlist")
  2781. (version "0.0.1")
  2782. (source
  2783. (origin
  2784. (method url-fetch)
  2785. (uri (string-append
  2786. "https://hackage.haskell.org/package/"
  2787. "data-default-instances-dlist/"
  2788. "data-default-instances-dlist-" version ".tar.gz"))
  2789. (sha256
  2790. (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
  2791. (build-system haskell-build-system)
  2792. (inputs
  2793. (list ghc-data-default-class ghc-dlist))
  2794. (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
  2795. (synopsis "Default instances for types in dlist")
  2796. (description "Provides default instances for types from the dlist
  2797. package.")
  2798. (license license:bsd-3)))
  2799. (define-public ghc-data-default-instances-old-locale
  2800. (package
  2801. (name "ghc-data-default-instances-old-locale")
  2802. (version "0.0.1")
  2803. (source
  2804. (origin
  2805. (method url-fetch)
  2806. (uri (string-append
  2807. "https://hackage.haskell.org/package/"
  2808. "data-default-instances-old-locale/"
  2809. "data-default-instances-old-locale-" version ".tar.gz"))
  2810. (sha256
  2811. (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
  2812. (build-system haskell-build-system)
  2813. (inputs
  2814. (list ghc-data-default-class ghc-old-locale))
  2815. (home-page
  2816. "https://hackage.haskell.org/package/data-default-instances-old-locale")
  2817. (synopsis "Default instances for types in old-locale")
  2818. (description "Provides Default instances for types from the old-locale
  2819. package.")
  2820. (license license:bsd-3)))
  2821. (define-public ghc-data-fix
  2822. (package
  2823. (name "ghc-data-fix")
  2824. (version "0.3.2")
  2825. (source
  2826. (origin
  2827. (method url-fetch)
  2828. (uri (string-append
  2829. "https://hackage.haskell.org/package/data-fix/"
  2830. "data-fix-" version ".tar.gz"))
  2831. (sha256
  2832. (base32 "1k0rcbb6dzv0ggdxqa2bh4jr829y0bczjrg98mrk5733q0xjs5rs"))))
  2833. (build-system haskell-build-system)
  2834. (inputs (list ghc-hashable))
  2835. (home-page "https://github.com/spell-music/data-fix")
  2836. (synopsis "Fixpoint data types")
  2837. (description
  2838. "Fixpoint types and recursion schemes. If you define your AST as
  2839. fixpoint type, you get fold and unfold operations for free.
  2840. Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
  2841. (license license:bsd-3)))
  2842. (define-public ghc-data-hash
  2843. (package
  2844. (name "ghc-data-hash")
  2845. (version "0.2.0.1")
  2846. (source
  2847. (origin
  2848. (method url-fetch)
  2849. (uri (string-append "https://hackage.haskell.org/package/data-hash"
  2850. "/data-hash-" version ".tar.gz"))
  2851. (sha256
  2852. (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
  2853. (build-system haskell-build-system)
  2854. (inputs
  2855. (list ghc-quickcheck ghc-test-framework
  2856. ghc-test-framework-quickcheck2))
  2857. (home-page "https://hackage.haskell.org/package/data-hash")
  2858. (synopsis "Combinators for building fast hashing functions")
  2859. (description
  2860. "This package provides combinators for building fast hashing functions.
  2861. It includes hashing functions for all basic Haskell98 types.")
  2862. (license license:bsd-3)))
  2863. (define-public ghc-data-ordlist
  2864. (package
  2865. (name "ghc-data-ordlist")
  2866. (version "0.4.7.0")
  2867. (source
  2868. (origin
  2869. (method url-fetch)
  2870. (uri (string-append
  2871. "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
  2872. version ".tar.gz"))
  2873. (sha256
  2874. (base32
  2875. "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
  2876. (build-system haskell-build-system)
  2877. (home-page "https://hackage.haskell.org/package/data-ordlist")
  2878. (synopsis "Set and bag operations on ordered lists")
  2879. (description
  2880. "This module provides set and multiset operations on ordered lists.")
  2881. (license license:bsd-3)))
  2882. (define-public ghc-dbus
  2883. (package
  2884. (name "ghc-dbus")
  2885. (version "1.2.17")
  2886. (source
  2887. (origin
  2888. (method url-fetch)
  2889. (uri
  2890. (string-append
  2891. "https://hackage.haskell.org/package/dbus/dbus-"
  2892. version ".tar.gz"))
  2893. (sha256
  2894. (base32
  2895. "0iyfnkxcnm1vl379ry88fqxgn2y8q6ilsvpic6ciassnyv5pcbrv"))))
  2896. (build-system haskell-build-system)
  2897. (inputs
  2898. (list ghc-cereal
  2899. ghc-conduit
  2900. ghc-exceptions
  2901. ghc-lens
  2902. ghc-network
  2903. ghc-random
  2904. ghc-split
  2905. ghc-th-lift
  2906. ghc-vector
  2907. ghc-xml-conduit
  2908. ghc-xml-types))
  2909. (native-inputs
  2910. (list ghc-extra
  2911. ghc-quickcheck
  2912. ghc-resourcet
  2913. ghc-tasty
  2914. ghc-tasty-hunit
  2915. ghc-tasty-quickcheck))
  2916. ;; FIXME - Some tests try to talk to network.
  2917. (arguments `(#:tests? #f))
  2918. (home-page "https://github.com/rblaze/haskell-dbus")
  2919. (synopsis "Client library for the D-Bus IPC system")
  2920. (description
  2921. "D-Bus is a simple, message-based protocol for inter-process
  2922. communication, which allows applications to interact with other parts
  2923. of the machine and the user's session using remote procedure
  2924. calls. D-Bus is a essential part of the modern Linux desktop, where
  2925. it replaces earlier protocols such as CORBA and DCOP. This library
  2926. is an implementation of the D-Bus protocol in Haskell. It can be used
  2927. to add D-Bus support to Haskell applications, without the awkward
  2928. interfaces common to foreign bindings.")
  2929. (license license:asl2.0)))
  2930. (define-public ghc-decimal
  2931. (package
  2932. (name "ghc-decimal")
  2933. (version "0.5.2")
  2934. (source
  2935. (origin
  2936. (method url-fetch)
  2937. (uri (string-append
  2938. "https://hackage.haskell.org/package/Decimal/Decimal-"
  2939. version
  2940. ".tar.gz"))
  2941. (sha256
  2942. (base32
  2943. "19w7i9f0lbiyzwa0v3bm95233vi7f1688f0xms6cnjsf88h04ym3"))))
  2944. (build-system haskell-build-system)
  2945. (native-inputs
  2946. (list ghc-hunit ghc-quickcheck ghc-test-framework
  2947. ghc-test-framework-quickcheck2 ghc-test-framework-hunit))
  2948. (home-page "https://github.com/PaulJohnson/Haskell-Decimal")
  2949. (synopsis "Decimal numbers with variable precision")
  2950. (description
  2951. "A decimal number has an integer mantissa and a negative exponent.
  2952. The exponent can be interpreted as the number of decimal places in the
  2953. value.")
  2954. (license license:bsd-3)))
  2955. (define-public ghc-deepseq-generics
  2956. (package
  2957. (name "ghc-deepseq-generics")
  2958. (version "0.2.0.0")
  2959. (source (origin
  2960. (method url-fetch)
  2961. (uri (string-append "https://hackage.haskell.org/package/"
  2962. "deepseq-generics/deepseq-generics-"
  2963. version ".tar.gz"))
  2964. (sha256
  2965. (base32
  2966. "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
  2967. (build-system haskell-build-system)
  2968. (arguments
  2969. `(#:cabal-revision
  2970. ("6" "1qwnpdjsrqzn18pjmvv9aqz3l12fbdcimf62wkj33yfh69rx4s42")))
  2971. (native-inputs
  2972. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
  2973. (home-page "https://github.com/hvr/deepseq-generics")
  2974. (synopsis "Generic RNF implementation")
  2975. (description
  2976. "This package provides a @code{GHC.Generics}-based
  2977. @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
  2978. providing an @code{rnf} implementation.")
  2979. (license license:bsd-3)))
  2980. (define-public ghc-dense-linear-algebra
  2981. (package
  2982. (name "ghc-dense-linear-algebra")
  2983. (version "0.1.0.0")
  2984. (source
  2985. (origin
  2986. (method url-fetch)
  2987. (uri (string-append "https://hackage.haskell.org/package/"
  2988. "dense-linear-algebra/dense-linear-algebra-"
  2989. version ".tar.gz"))
  2990. (sha256
  2991. (base32
  2992. "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
  2993. (build-system haskell-build-system)
  2994. (inputs
  2995. (list ghc-math-functions
  2996. ghc-primitive
  2997. ghc-vector
  2998. ghc-vector-algorithms
  2999. ghc-vector-th-unbox
  3000. ghc-vector-binary-instances))
  3001. (native-inputs
  3002. (list ghc-hspec ghc-quickcheck))
  3003. (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
  3004. (synopsis "Simple and incomplete implementation of linear algebra")
  3005. (description "This library is simply a collection of linear-algebra
  3006. related modules split from the statistics library.")
  3007. (license license:bsd-2)))
  3008. (define-public ghc-descriptive
  3009. (package
  3010. (name "ghc-descriptive")
  3011. (version "0.9.5")
  3012. (source
  3013. (origin
  3014. (method url-fetch)
  3015. (uri (string-append
  3016. "https://hackage.haskell.org/package/descriptive/descriptive-"
  3017. version
  3018. ".tar.gz"))
  3019. (sha256
  3020. (base32
  3021. "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
  3022. (build-system haskell-build-system)
  3023. (inputs
  3024. (list ghc-aeson ghc-bifunctors ghc-scientific ghc-vector))
  3025. (native-inputs
  3026. (list ghc-hunit ghc-hspec))
  3027. (home-page
  3028. "https://github.com/chrisdone/descriptive")
  3029. (synopsis
  3030. "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
  3031. (description
  3032. "This package provides datatypes and functions for creating consumers
  3033. and parsers with useful semantics.")
  3034. (license license:bsd-3)))
  3035. (define-public ghc-diagrams-core
  3036. (package
  3037. (name "ghc-diagrams-core")
  3038. (version "1.5.0")
  3039. (source
  3040. (origin
  3041. (method url-fetch)
  3042. (uri (string-append "https://hackage.haskell.org/package/"
  3043. "diagrams-core/diagrams-core-" version ".tar.gz"))
  3044. (sha256
  3045. (base32
  3046. "0y3smp3hiyfdirdak3j4048cgqv7a5q9p2jb6z8na2llys5mrmdn"))))
  3047. (build-system haskell-build-system)
  3048. (inputs
  3049. (list ghc-unordered-containers
  3050. ghc-semigroups
  3051. ghc-monoid-extras
  3052. ghc-dual-tree
  3053. ghc-lens
  3054. ghc-linear
  3055. ghc-adjunctions
  3056. ghc-distributive
  3057. ghc-profunctors))
  3058. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3059. (synopsis "Core libraries for diagrams embedded domain-specific language")
  3060. (description "This package provides the core modules underlying
  3061. diagrams, an embedded domain-specific language for compositional,
  3062. declarative drawing.")
  3063. (license license:bsd-3)))
  3064. (define-public ghc-diagrams-lib
  3065. (package
  3066. (name "ghc-diagrams-lib")
  3067. (version "1.4.4")
  3068. (source
  3069. (origin
  3070. (method url-fetch)
  3071. (uri (string-append "https://hackage.haskell.org/package/"
  3072. "diagrams-lib/diagrams-lib-" version ".tar.gz"))
  3073. (sha256
  3074. (base32
  3075. "09np7kj8si8kcb854f95a0cq392mgbxif8lnazbpfsa1k87d9vzy"))))
  3076. (build-system haskell-build-system)
  3077. (inputs
  3078. (list ghc-semigroups
  3079. ghc-monoid-extras
  3080. ghc-dual-tree
  3081. ghc-diagrams-core
  3082. ghc-diagrams-solve
  3083. ghc-active
  3084. ghc-colour
  3085. ghc-data-default-class
  3086. ghc-fingertree
  3087. ghc-intervals
  3088. ghc-lens
  3089. ghc-tagged
  3090. ghc-optparse-applicative
  3091. ghc-juicypixels
  3092. ghc-hashable
  3093. ghc-linear
  3094. ghc-adjunctions
  3095. ghc-distributive
  3096. ghc-fsnotify
  3097. ghc-unordered-containers
  3098. ghc-profunctors
  3099. ghc-exceptions
  3100. ghc-cereal))
  3101. (native-inputs
  3102. (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck
  3103. ghc-numeric-extras))
  3104. (arguments
  3105. `(#:cabal-revision
  3106. ("1" "1c7kpnbvxwdcmk5znqyig3l6s986ppj168ck5v72dfbp8cjvwa8i")))
  3107. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3108. (synopsis "Embedded domain-specific language for declarative graphics")
  3109. (description "Diagrams is a flexible, extensible embedded
  3110. domain-specific language (EDSL) for creating graphics of many types.
  3111. Graphics can be created in arbitrary vector spaces and rendered with
  3112. multiple backends. This package provides a standard library of
  3113. primitives and operations for creating diagrams.")
  3114. (license license:bsd-3)))
  3115. (define-public ghc-diagrams-solve
  3116. (package
  3117. (name "ghc-diagrams-solve")
  3118. (version "0.1.3")
  3119. (source
  3120. (origin
  3121. (method url-fetch)
  3122. (uri (string-append "https://hackage.haskell.org/package/"
  3123. "diagrams-solve/diagrams-solve-"
  3124. version ".tar.gz"))
  3125. (sha256
  3126. (base32
  3127. "09qqwcvbvd3a0j5fnp40dbzw0i3py9c7kgizj2aawajwbyjvpd17"))))
  3128. (build-system haskell-build-system)
  3129. (native-inputs
  3130. (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck))
  3131. (arguments
  3132. `(#:cabal-revision
  3133. ("1" "0dp61igq17l7hvhs3167skdi1vmlm773qrrmsqmj08951l4cgv0h")))
  3134. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3135. (synopsis "Pure Haskell solver routines used by diagrams")
  3136. (description "This library provides Pure Haskell solver routines for
  3137. use by the
  3138. @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
  3139. diagrams framework}. It currently includes routines for finding real
  3140. roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
  3141. and cyclic tridiagonal linear systems.")
  3142. (license license:bsd-3)))
  3143. (define-public ghc-diagrams-svg
  3144. (package
  3145. (name "ghc-diagrams-svg")
  3146. (version "1.4.3")
  3147. (source
  3148. (origin
  3149. (method url-fetch)
  3150. (uri (string-append "https://hackage.haskell.org/package/"
  3151. "diagrams-svg/diagrams-svg-" version ".tar.gz"))
  3152. (sha256
  3153. (base32
  3154. "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8"))))
  3155. (build-system haskell-build-system)
  3156. (inputs
  3157. (list ghc-base64-bytestring
  3158. ghc-colour
  3159. ghc-diagrams-core
  3160. ghc-diagrams-lib
  3161. ghc-monoid-extras
  3162. ghc-svg-builder
  3163. ghc-juicypixels
  3164. ghc-split
  3165. ghc-lens
  3166. ghc-hashable
  3167. ghc-optparse-applicative
  3168. ghc-semigroups))
  3169. (arguments
  3170. `(#:cabal-revision
  3171. ("4" "0irjf0g1barr06fy409r0ld2hypihrhh6n80ig3487xxny6gfzs0")))
  3172. (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
  3173. (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
  3174. (description "This package provides a modular backend for rendering
  3175. diagrams created with the diagrams embedded domain-specific
  3176. language (EDSL) to Scalable Vector Graphics (SVG) files.")
  3177. (license license:bsd-3)))
  3178. (define-public ghc-dictionary-sharing
  3179. (package
  3180. (name "ghc-dictionary-sharing")
  3181. (version "0.1.0.0")
  3182. (source
  3183. (origin
  3184. (method url-fetch)
  3185. (uri (string-append "https://hackage.haskell.org/package/"
  3186. "dictionary-sharing/dictionary-sharing-"
  3187. version ".tar.gz"))
  3188. (sha256
  3189. (base32
  3190. "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
  3191. (build-system haskell-build-system)
  3192. (arguments
  3193. `(#:cabal-revision
  3194. ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
  3195. (home-page "https://hackage.haskell.org/package/dictionary-sharing")
  3196. (synopsis "Sharing/memoization of class members")
  3197. (description "This library provides tools for ensuring that class
  3198. members are shared.")
  3199. (license license:bsd-3)))
  3200. (define-public ghc-diff
  3201. (package
  3202. (name "ghc-diff")
  3203. (version "0.4.0")
  3204. (source (origin
  3205. (method url-fetch)
  3206. (uri (string-append "https://hackage.haskell.org/package/"
  3207. "Diff/Diff-" version ".tar.gz"))
  3208. (sha256
  3209. (base32
  3210. "1is9y5rlqyxacnj6kbi6h9laym5shp699r0hkj5p9d6qi84sr43j"))))
  3211. (build-system haskell-build-system)
  3212. (native-inputs
  3213. (list ghc-quickcheck ghc-test-framework
  3214. ghc-test-framework-quickcheck2))
  3215. (home-page "https://hub.darcs.net/sterlingclover/Diff")
  3216. (synopsis "O(ND) diff algorithm in Haskell")
  3217. (description
  3218. "This package provides an implementation of the standard diff algorithm,
  3219. and utilities for pretty printing.")
  3220. (license license:bsd-3)))
  3221. (define-public ghc-disk-free-space
  3222. (package
  3223. (name "ghc-disk-free-space")
  3224. (version "0.1.0.1")
  3225. (source
  3226. (origin
  3227. (method url-fetch)
  3228. (uri (string-append "https://hackage.haskell.org/package/"
  3229. "disk-free-space/disk-free-space-"
  3230. version ".tar.gz"))
  3231. (sha256
  3232. (base32
  3233. "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
  3234. (build-system haskell-build-system)
  3235. (home-page "https://github.com/redneb/disk-free-space")
  3236. (synopsis "Retrieve information about disk space usage")
  3237. (description "A cross-platform library for retrieving information about
  3238. disk space usage.")
  3239. (license license:bsd-3)))
  3240. (define-public ghc-distributive
  3241. (package
  3242. (name "ghc-distributive")
  3243. (version "0.6.2.1")
  3244. (source
  3245. (origin
  3246. (method url-fetch)
  3247. (uri (string-append
  3248. "https://hackage.haskell.org/package/distributive/distributive-"
  3249. version
  3250. ".tar.gz"))
  3251. (sha256
  3252. (base32
  3253. "14bb66qyfn43bj688igfvnfjw7iycjf4n2k38sm8rxbqw2916dfp"))))
  3254. (build-system haskell-build-system)
  3255. (inputs
  3256. (list ghc-tagged ghc-base-orphans ghc-transformers-compat
  3257. ghc-semigroups ghc-generic-deriving))
  3258. (native-inputs
  3259. (list cabal-doctest ghc-doctest ghc-hspec hspec-discover))
  3260. (home-page "https://github.com/ekmett/distributive/")
  3261. (synopsis "Distributive functors for Haskell")
  3262. (description "This package provides distributive functors for Haskell.
  3263. Dual to @code{Traversable}.")
  3264. (license license:bsd-3)))
  3265. (define-public ghc-dlist
  3266. (package
  3267. (name "ghc-dlist")
  3268. (version "1.0")
  3269. (source
  3270. (origin
  3271. (method url-fetch)
  3272. (uri (string-append
  3273. "https://hackage.haskell.org/package/dlist/dlist-"
  3274. version
  3275. ".tar.gz"))
  3276. (sha256
  3277. (base32 "0581a60xw4gw7pmqlmg5w2hr4hm9yjgx4c2z6v63y5xv51rn6g8p"))))
  3278. (build-system haskell-build-system)
  3279. (inputs
  3280. (list ghc-quickcheck))
  3281. (home-page "https://github.com/spl/dlist")
  3282. (synopsis "Difference lists")
  3283. (description
  3284. "Difference lists are a list-like type supporting O(1) append. This is
  3285. particularly useful for efficient logging and pretty printing (e.g. with the
  3286. Writer monad), where list append quickly becomes too expensive.")
  3287. (license license:bsd-3)))
  3288. (define-public ghc-doctemplates
  3289. (package
  3290. (name "ghc-doctemplates")
  3291. (version "0.9")
  3292. (source
  3293. (origin
  3294. (method url-fetch)
  3295. (uri (string-append "https://hackage.haskell.org/package/"
  3296. "doctemplates/doctemplates-"
  3297. version ".tar.gz"))
  3298. (sha256
  3299. (base32
  3300. "048h8ka849h1f0xxwkasjbrrwq03rfz2m7aqg5xc5286kp02w9ns"))))
  3301. (build-system haskell-build-system)
  3302. (inputs
  3303. (list ghc-aeson
  3304. ghc-doclayout
  3305. ghc-hsyaml
  3306. ghc-safe
  3307. ghc-scientific
  3308. ghc-text-conversions
  3309. ghc-unordered-containers
  3310. ghc-vector))
  3311. (native-inputs
  3312. (list ghc-glob ghc-tasty ghc-tasty-golden ghc-tasty-hunit
  3313. ghc-temporary))
  3314. (home-page "https://github.com/jgm/doctemplates#readme")
  3315. (synopsis "Pandoc-style document templates")
  3316. (description
  3317. "This package provides a simple text templating system used by pandoc.")
  3318. (license license:bsd-3)))
  3319. (define-public ghc-doctest
  3320. (package
  3321. (name "ghc-doctest")
  3322. (version "0.17")
  3323. (source
  3324. (origin
  3325. (method url-fetch)
  3326. (uri (string-append
  3327. "https://hackage.haskell.org/package/doctest/doctest-"
  3328. version
  3329. ".tar.gz"))
  3330. (sha256
  3331. (base32
  3332. "0f0knggq6yjcznyri35fll619q5jr8vcsbiyvdiz4prkawhaa4pz"))))
  3333. (build-system haskell-build-system)
  3334. (arguments `(#:tests? #f)) ; FIXME: missing test framework
  3335. (inputs
  3336. (list ghc-base-compat ghc-code-page ghc-paths ghc-syb))
  3337. (native-inputs
  3338. (list ghc-hunit
  3339. ghc-quickcheck
  3340. ghc-hspec
  3341. ghc-mockery
  3342. ghc-setenv
  3343. ghc-silently
  3344. ghc-stringbuilder))
  3345. (home-page
  3346. "https://github.com/sol/doctest#readme")
  3347. (synopsis "Test interactive Haskell examples")
  3348. (description "The doctest program checks examples in source code comments.
  3349. It is modeled after doctest for Python, see
  3350. @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
  3351. (license license:expat)))
  3352. (define-public ghc-dotgen
  3353. (package
  3354. (name "ghc-dotgen")
  3355. (version "0.4.3")
  3356. (source
  3357. (origin
  3358. (method url-fetch)
  3359. (uri (string-append
  3360. "https://hackage.haskell.org/package/dotgen/dotgen-"
  3361. version
  3362. ".tar.gz"))
  3363. (sha256
  3364. (base32
  3365. "1jcn5m9342jrdq7jln2v9msf9978ngrx0pq9rrjh8izhvbvph76s"))))
  3366. (build-system haskell-build-system)
  3367. (home-page "https://github.com/ku-fpg/dotgen")
  3368. (synopsis
  3369. "Simple interface for building .dot graph files")
  3370. (description
  3371. "This package provides a simple interface for building .dot graph
  3372. files, for input into the dot and graphviz tools. It includes a
  3373. monadic interface for building graphs.")
  3374. (license license:bsd-3)))
  3375. (define-public ghc-double-conversion
  3376. (package
  3377. (name "ghc-double-conversion")
  3378. (version "2.0.2.0")
  3379. (source
  3380. (origin
  3381. (method url-fetch)
  3382. (uri (string-append "https://hackage.haskell.org/package/"
  3383. "double-conversion/double-conversion-"
  3384. version ".tar.gz"))
  3385. (sha256
  3386. (base32
  3387. "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
  3388. (build-system haskell-build-system)
  3389. (native-inputs
  3390. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit
  3391. ghc-test-framework-quickcheck2))
  3392. (home-page "https://github.com/bos/double-conversion")
  3393. (synopsis "Fast conversion between double precision floating point and text")
  3394. (description
  3395. "This package provides a library that performs fast, accurate conversion
  3396. between double precision floating point and text.")
  3397. (license license:bsd-3)))
  3398. (define-public ghc-dual-tree
  3399. (package
  3400. (name "ghc-dual-tree")
  3401. (version "0.2.3.0")
  3402. (source
  3403. (origin
  3404. (method url-fetch)
  3405. (uri (string-append "https://hackage.haskell.org/package/"
  3406. "dual-tree/dual-tree-" version ".tar.gz"))
  3407. (sha256
  3408. (base32
  3409. "0qyn7kb42wvlcvb1wbf1qx3isc2y6k3hzp5iq6ab0r0llw9g6qlg"))))
  3410. (build-system haskell-build-system)
  3411. (arguments
  3412. `(#:tests? #f ; TODO: ghc-testing-feat does not build.
  3413. #:cabal-revision
  3414. ("1" "1babd7ybsgk73x57yl35q0n1i7mbbqmv4am710kq1hzg3in4g9dv")))
  3415. (inputs
  3416. (list ghc-semigroups ghc-newtype-generics ghc-monoid-extras))
  3417. ; (native-inputs
  3418. ; `(("ghc-quickcheck" ,ghc-quickcheck)
  3419. ; ("ghc-testing-feat" ,ghc-testing-feat)))
  3420. (home-page "https://hackage.haskell.org/package/dual-tree")
  3421. (synopsis "Rose trees with cached and accumulating monoidal annotations")
  3422. (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
  3423. cached) and downwards-traveling (i.e. accumulating) monoidal
  3424. annotations. This is used as the core data structure underlying the
  3425. @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
  3426. diagrams framework}, but potentially has other applications as well.")
  3427. (license license:bsd-3)))
  3428. (define-public ghc-easy-file
  3429. (package
  3430. (name "ghc-easy-file")
  3431. (version "0.2.2")
  3432. (source
  3433. (origin
  3434. (method url-fetch)
  3435. (uri (string-append
  3436. "https://hackage.haskell.org/package/easy-file/easy-file-"
  3437. version
  3438. ".tar.gz"))
  3439. (sha256
  3440. (base32
  3441. "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
  3442. (build-system haskell-build-system)
  3443. (home-page
  3444. "https://github.com/kazu-yamamoto/easy-file")
  3445. (synopsis "File handling library for Haskell")
  3446. (description "This library provides file handling utilities for Haskell.")
  3447. (license license:bsd-3)))
  3448. (define-public ghc-easyplot
  3449. (package
  3450. (name "ghc-easyplot")
  3451. (version "1.0")
  3452. (source
  3453. (origin
  3454. (method url-fetch)
  3455. (uri (string-append
  3456. "https://hackage.haskell.org/package/easyplot/easyplot-"
  3457. version ".tar.gz"))
  3458. (sha256
  3459. (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
  3460. (build-system haskell-build-system)
  3461. (propagated-inputs (list gnuplot))
  3462. (arguments
  3463. `(#:phases (modify-phases %standard-phases
  3464. (add-after 'unpack 'fix-setup-suffix
  3465. (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
  3466. (home-page "https://hub.darcs.net/scravy/easyplot")
  3467. (synopsis "Haskell plotting library based on gnuplot")
  3468. (description "This package provides a plotting library for
  3469. Haskell, using gnuplot for rendering.")
  3470. (license license:expat)))
  3471. (define-public ghc-echo
  3472. (package
  3473. (name "ghc-echo")
  3474. (version "0.1.4")
  3475. (source
  3476. (origin
  3477. (method url-fetch)
  3478. (uri (string-append
  3479. "https://hackage.haskell.org/package/echo/echo-"
  3480. version ".tar.gz"))
  3481. (sha256
  3482. (base32
  3483. "0hqfdd4kvpp59cjjv790bkf72yqr9xjfqlbjcrdsc9a8j3r1pzn9"))))
  3484. (build-system haskell-build-system)
  3485. (arguments
  3486. `(#:cabal-revision
  3487. ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
  3488. (home-page "https://github.com/RyanGlScott/echo")
  3489. (synopsis "Echo terminal input portably")
  3490. (description "The @code{base} library exposes the @code{hGetEcho} and
  3491. @code{hSetEcho} functions for querying and setting echo status, but
  3492. unfortunately, neither function works with MinTTY consoles on Windows.
  3493. This library provides an alternative interface which works with both
  3494. MinTTY and other consoles.")
  3495. (license license:bsd-3)))
  3496. (define-public ghc-edit-distance
  3497. (package
  3498. (name "ghc-edit-distance")
  3499. (version "0.2.2.1")
  3500. (source
  3501. (origin
  3502. (method url-fetch)
  3503. (uri (string-append "https://hackage.haskell.org/package/edit-distance"
  3504. "/edit-distance-" version ".tar.gz"))
  3505. (sha256
  3506. (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
  3507. (build-system haskell-build-system)
  3508. (arguments
  3509. `(#:tests? #f ; TODO: Needs quickcheck<2.10
  3510. #:cabal-revision
  3511. ("1" "1vjn4ryzdilz7l1ad7czh11nw48h5mj8if7ij3q0mmc3sffa8csd")))
  3512. (inputs
  3513. (list ghc-random ghc-test-framework ghc-quickcheck
  3514. ghc-test-framework-quickcheck2))
  3515. (home-page "https://github.com/phadej/edit-distance")
  3516. (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
  3517. (description
  3518. "This package provides optimized functions to determine the edit
  3519. distances for fuzzy matching, including Levenshtein and restricted
  3520. Damerau-Levenshtein algorithms.")
  3521. (license license:bsd-3)))
  3522. (define-public ghc-edit-distance-vector
  3523. (package
  3524. (name "ghc-edit-distance-vector")
  3525. (version "1.0.0.4")
  3526. (source
  3527. (origin
  3528. (method url-fetch)
  3529. (uri (string-append "https://hackage.haskell.org/package/"
  3530. "edit-distance-vector/edit-distance-vector-"
  3531. version ".tar.gz"))
  3532. (sha256
  3533. (base32
  3534. "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
  3535. (build-system haskell-build-system)
  3536. (inputs
  3537. (list ghc-vector))
  3538. (native-inputs
  3539. (list ghc-quickcheck ghc-quickcheck-instances))
  3540. (home-page "https://github.com/thsutton/edit-distance-vector")
  3541. (synopsis "Calculate edit distances and edit scripts between vectors")
  3542. (description "This package provides implementation of the
  3543. Wagner-Fischer dynamic programming algorithm to find the optimal edit
  3544. script and cost between two sequences. The implementation in this
  3545. package is specialised to sequences represented with @code{Data.Vector}
  3546. but is otherwise agnostic to:
  3547. @itemize
  3548. @item The type of values in the vectors;
  3549. @item The type representing edit operations; and
  3550. @item The type representing the cost of operations.
  3551. @end itemize")
  3552. (license license:bsd-3)) )
  3553. (define-public ghc-either
  3554. (package
  3555. (name "ghc-either")
  3556. (version "5.0.1.1")
  3557. (source
  3558. (origin
  3559. (method url-fetch)
  3560. (uri (string-append "https://hackage.haskell.org/package/"
  3561. "either-" version "/"
  3562. "either-" version ".tar.gz"))
  3563. (sha256
  3564. (base32
  3565. "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
  3566. (build-system haskell-build-system)
  3567. (arguments
  3568. `(#:cabal-revision
  3569. ("1" "03bgnq55lc6f1nx4p662gidfsyyfm3xm4fi84h77wnsppxrpa5j1")))
  3570. (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
  3571. ("ghc-exceptions" ,ghc-exceptions)
  3572. ("ghc-free" ,ghc-free)
  3573. ("ghc-monad-control" ,ghc-monad-control)
  3574. ("ghc-manodrandom" ,ghc-monadrandom)
  3575. ("ghc-mmorph" ,ghc-mmorph)
  3576. ("ghc-profunctors" ,ghc-profunctors)
  3577. ("ghc-semigroups" ,ghc-semigroups)
  3578. ("ghc-semigroupoids" ,ghc-semigroupoids)
  3579. ("ghc-transformers-base" ,ghc-transformers-base)))
  3580. (native-inputs
  3581. (list ghc-quickcheck ghc-test-framework
  3582. ghc-test-framework-quickcheck2))
  3583. (home-page "https://github.com/ekmett/either")
  3584. (synopsis "Provides an either monad transformer for Haskell")
  3585. (description "This Haskell package provides an either monad transformer.")
  3586. (license license:bsd-3)))
  3587. (define-public ghc-email-validate
  3588. (package
  3589. (name "ghc-email-validate")
  3590. (version "2.3.2.15")
  3591. (source
  3592. (origin
  3593. (method url-fetch)
  3594. (uri (string-append
  3595. "https://hackage.haskell.org/package/"
  3596. "email-validate/email-validate-"
  3597. version
  3598. ".tar.gz"))
  3599. (sha256
  3600. (base32
  3601. "0n67wss6k8lhwfkybkhsa04bbdfdv541sacbxlylkx2hqpj5r5gh"))))
  3602. (build-system haskell-build-system)
  3603. (inputs
  3604. (list ghc-attoparsec ghc-hspec ghc-quickcheck ghc-doctest))
  3605. (home-page
  3606. "https://github.com/Porges/email-validate-hs")
  3607. (synopsis "Email address validator for Haskell")
  3608. (description
  3609. "This Haskell package provides a validator that can validate an email
  3610. address string against RFC 5322.")
  3611. (license license:bsd-3)))
  3612. (define-public ghc-enclosed-exceptions
  3613. (package
  3614. (name "ghc-enclosed-exceptions")
  3615. (version "1.0.3")
  3616. (source (origin
  3617. (method url-fetch)
  3618. (uri (string-append "https://hackage.haskell.org/package/"
  3619. "enclosed-exceptions/enclosed-exceptions-"
  3620. version ".tar.gz"))
  3621. (sha256
  3622. (base32
  3623. "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
  3624. (build-system haskell-build-system)
  3625. ;; FIXME: one of the tests blocks forever:
  3626. ;; "thread blocked indefinitely in an MVar operation"
  3627. (arguments '(#:tests? #f))
  3628. (inputs
  3629. (list ghc-lifted-base ghc-monad-control ghc-async
  3630. ghc-transformers-base))
  3631. (native-inputs
  3632. (list ghc-hspec ghc-quickcheck))
  3633. (home-page "https://github.com/jcristovao/enclosed-exceptions")
  3634. (synopsis "Catch all exceptions from within an enclosed computation")
  3635. (description
  3636. "This library implements a technique to catch all exceptions raised
  3637. within an enclosed computation, while remaining responsive to (external)
  3638. asynchronous exceptions.")
  3639. (license license:expat)))
  3640. (define-public ghc-equivalence
  3641. (package
  3642. (name "ghc-equivalence")
  3643. (version "0.3.5")
  3644. (source
  3645. (origin
  3646. (method url-fetch)
  3647. (uri (string-append "https://hackage.haskell.org/package/equivalence"
  3648. "/equivalence-" version ".tar.gz"))
  3649. (sha256
  3650. (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
  3651. (build-system haskell-build-system)
  3652. (inputs
  3653. (list ghc-stmonadtrans ghc-transformers-compat ghc-fail
  3654. ghc-quickcheck))
  3655. (home-page "https://github.com/pa-ba/equivalence")
  3656. (synopsis "Maintaining an equivalence relation implemented as union-find")
  3657. (description
  3658. "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
  3659. Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
  3660. 22(2), 1975) in order to maintain an equivalence relation. This
  3661. implementation is a port of the @code{union-find} package using the @code{ST}
  3662. monad transformer (instead of the IO monad).")
  3663. (license license:bsd-3)))
  3664. (define-public ghc-erf
  3665. (package
  3666. (name "ghc-erf")
  3667. (version "2.0.0.0")
  3668. (source
  3669. (origin
  3670. (method url-fetch)
  3671. (uri (string-append "https://hackage.haskell.org/package/"
  3672. "erf-" version "/"
  3673. "erf-" version ".tar.gz"))
  3674. (sha256
  3675. (base32
  3676. "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
  3677. (build-system haskell-build-system)
  3678. (home-page "https://hackage.haskell.org/package/erf")
  3679. (synopsis "The error function, erf, and related functions for Haskell")
  3680. (description "This Haskell library provides a type class for the
  3681. error function, erf, and related functions. Instances for Float and
  3682. Double.")
  3683. (license license:bsd-3)))
  3684. (define-public ghc-errorcall-eq-instance
  3685. (package
  3686. (name "ghc-errorcall-eq-instance")
  3687. (version "0.3.0")
  3688. (source
  3689. (origin
  3690. (method url-fetch)
  3691. (uri (string-append "https://hackage.haskell.org/package/"
  3692. "errorcall-eq-instance/errorcall-eq-instance-"
  3693. version ".tar.gz"))
  3694. (sha256
  3695. (base32
  3696. "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
  3697. (build-system haskell-build-system)
  3698. (inputs
  3699. (list ghc-base-orphans))
  3700. (native-inputs
  3701. (list ghc-quickcheck ghc-hspec hspec-discover))
  3702. (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
  3703. (synopsis "Orphan Eq instance for ErrorCall")
  3704. (description
  3705. "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
  3706. This package provides an orphan instance.")
  3707. (license license:expat)))
  3708. (define-public ghc-errors
  3709. (package
  3710. (name "ghc-errors")
  3711. (version "2.3.0")
  3712. (source
  3713. (origin
  3714. (method url-fetch)
  3715. (uri (string-append "https://hackage.haskell.org/package/"
  3716. "errors-" version "/"
  3717. "errors-" version ".tar.gz"))
  3718. (sha256
  3719. (base32
  3720. "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
  3721. (build-system haskell-build-system)
  3722. (inputs
  3723. (list ghc-exceptions ghc-transformers-compat ghc-unexceptionalio
  3724. ghc-safe))
  3725. (home-page "https://github.com/gabriel439/haskell-errors-library")
  3726. (synopsis "Error handling library for Haskell")
  3727. (description "This library encourages an error-handling style that
  3728. directly uses the type system, rather than out-of-band exceptions.")
  3729. (license license:bsd-3)))
  3730. (define-public ghc-esqueleto
  3731. (package
  3732. (name "ghc-esqueleto")
  3733. (version "3.5.3.0")
  3734. (source
  3735. (origin
  3736. (method url-fetch)
  3737. (uri (string-append "https://hackage.haskell.org/package/"
  3738. "esqueleto/esqueleto-" version ".tar.gz"))
  3739. (sha256
  3740. (base32
  3741. "0z3cf49sha6q965qw2m08jfmb91ki2rsdpnr7l39lka5b4ffxjlz"))))
  3742. (build-system haskell-build-system)
  3743. (arguments
  3744. `(#:tests? #f)) ; TODO: Cannot connect to mysql server.
  3745. (inputs
  3746. (list ghc-aeson
  3747. ghc-attoparsec
  3748. ghc-blaze-html
  3749. ghc-conduit
  3750. ghc-monad-logger
  3751. ghc-persistent
  3752. ghc-resourcet
  3753. ghc-tagged
  3754. ghc-unliftio
  3755. ghc-unordered-containers
  3756. openssl
  3757. zlib))
  3758. (native-inputs
  3759. (list ghc-hspec-core
  3760. ghc-hspec
  3761. ghc-mysql
  3762. ghc-mysql-simple
  3763. ghc-persistent-mysql
  3764. ghc-persistent-postgresql
  3765. ghc-persistent-sqlite
  3766. ghc-postgresql-simple
  3767. ghc-quickcheck))
  3768. (home-page "https://github.com/bitemyapp/esqueleto")
  3769. (synopsis "Type-safe embedded domain specific language for SQL queries")
  3770. (description "This library provides a type-safe embedded domain specific
  3771. language (EDSL) for SQL queries that works with SQL backends as provided by
  3772. @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
  3773. to learn new concepts, just new syntax, and it's fairly easy to predict the
  3774. generated SQL and optimize it for your backend.")
  3775. (license license:bsd-3)))
  3776. (define-public ghc-exactprint
  3777. (package
  3778. (name "ghc-exactprint")
  3779. (version "0.6.4")
  3780. (source
  3781. (origin
  3782. (method url-fetch)
  3783. (uri (string-append
  3784. "https://hackage.haskell.org/package/"
  3785. "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
  3786. (sha256
  3787. (base32
  3788. "0a6baza962d4pz2m02hxmh8234i47zkizmwhsy68namr05dmlgpw"))))
  3789. (build-system haskell-build-system)
  3790. (inputs
  3791. (list ghc-paths ghc-syb ghc-free))
  3792. (native-inputs
  3793. (list ghc-hunit ghc-diff ghc-silently ghc-filemanip))
  3794. (home-page
  3795. "https://hackage.haskell.org/package/ghc-exactprint")
  3796. (synopsis "ExactPrint for GHC")
  3797. (description
  3798. "Using the API Annotations available from GHC 7.10.2, this library
  3799. provides a means to round-trip any code that can be compiled by GHC, currently
  3800. excluding @file{.lhs} files.")
  3801. (license license:bsd-3)))
  3802. (define-public ghc-exceptions
  3803. (package
  3804. (name "ghc-exceptions")
  3805. (version "0.10.4")
  3806. (source
  3807. (origin
  3808. (method url-fetch)
  3809. (uri (string-append
  3810. "https://hackage.haskell.org/package/exceptions/exceptions-"
  3811. version
  3812. ".tar.gz"))
  3813. (sha256
  3814. (base32
  3815. "1kw4pmx7j7zwbdwm0dyn9rcs6kp4byfxy48861yxdz6gam1zn2sd"))))
  3816. (build-system haskell-build-system)
  3817. (arguments
  3818. `(#:cabal-revision
  3819. ("2" "1154g0dqil2xf4wc1v6gndzhnbf5saf2dzf77c6lcjxssx360m6j")))
  3820. (native-inputs
  3821. (list ghc-quickcheck ghc-test-framework ghc-test-framework-hunit
  3822. ghc-test-framework-quickcheck2))
  3823. (inputs
  3824. (list ghc-transformers-compat))
  3825. (home-page "https://github.com/ekmett/exceptions/")
  3826. (synopsis "Extensible optionally-pure exceptions")
  3827. (description "This library provides extensible optionally-pure exceptions
  3828. for Haskell.")
  3829. (license license:bsd-3)))
  3830. (define-public ghc-executable-path
  3831. (package
  3832. (name "ghc-executable-path")
  3833. (version "0.0.3.1")
  3834. (source (origin
  3835. (method url-fetch)
  3836. (uri (string-append "https://hackage.haskell.org/package/"
  3837. "executable-path/executable-path-"
  3838. version ".tar.gz"))
  3839. (sha256
  3840. (base32
  3841. "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
  3842. (build-system haskell-build-system)
  3843. (home-page "https://hackage.haskell.org/package/executable-path")
  3844. (synopsis "Find out the full path of the executable")
  3845. (description
  3846. "The documentation of @code{System.Environment.getProgName} says that
  3847. \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
  3848. instead, for maximum portability, we just return the leafname of the program
  3849. as invoked.\" This library tries to provide the missing path.")
  3850. (license license:public-domain)))
  3851. (define-public ghc-extensible-exceptions
  3852. (package
  3853. (name "ghc-extensible-exceptions")
  3854. (version "0.1.1.4")
  3855. (source
  3856. (origin
  3857. (method url-fetch)
  3858. (uri (string-append "https://hackage.haskell.org/package/"
  3859. "extensible-exceptions/extensible-exceptions-"
  3860. version ".tar.gz"))
  3861. (sha256
  3862. (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
  3863. (build-system haskell-build-system)
  3864. (home-page "https://hackage.haskell.org/package/extensible-exceptions")
  3865. (synopsis "Extensible exceptions for Haskell")
  3866. (description
  3867. "This package provides extensible exceptions for both new and old
  3868. versions of GHC (i.e., < 6.10).")
  3869. (license license:bsd-3)))
  3870. (define-public ghc-extra
  3871. (package
  3872. (name "ghc-extra")
  3873. (version "1.7.9")
  3874. (source
  3875. (origin
  3876. (method url-fetch)
  3877. (uri (string-append
  3878. "https://hackage.haskell.org/package/extra/extra-"
  3879. version
  3880. ".tar.gz"))
  3881. (sha256
  3882. (base32
  3883. "17fzmxwrv0w7inhq7kia36prc2nsx845r9v56sihqvr17fk2cvpn"))))
  3884. (build-system haskell-build-system)
  3885. (inputs
  3886. (list ghc-clock ghc-semigroups ghc-quickcheck
  3887. ghc-quickcheck-instances))
  3888. (home-page "https://github.com/ndmitchell/extra")
  3889. (synopsis "Extra Haskell functions")
  3890. (description "This library provides extra functions for the standard
  3891. Haskell libraries. Most functions are simple additions, filling out missing
  3892. functionality. A few functions are available in later versions of GHC, but
  3893. this package makes them available back to GHC 7.2.")
  3894. (license license:bsd-3)))
  3895. (define-public ghc-fail
  3896. (package
  3897. (name "ghc-fail")
  3898. (version "4.9.0.0")
  3899. (source
  3900. (origin
  3901. (method url-fetch)
  3902. (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
  3903. version ".tar.gz"))
  3904. (sha256
  3905. (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
  3906. (build-system haskell-build-system)
  3907. (arguments `(#:haddock? #f)) ; Package contains no documentation.
  3908. (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
  3909. (synopsis "Forward-compatible MonadFail class")
  3910. (description
  3911. "This package contains the @code{Control.Monad.Fail} module providing the
  3912. @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
  3913. class that became available in
  3914. @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
  3915. older @code{base} package versions. This package turns into an empty package
  3916. when used with GHC versions which already provide the
  3917. @code{Control.Monad.Fail} module.")
  3918. (license license:bsd-3)))
  3919. (define-public ghc-fast-logger
  3920. (package
  3921. (name "ghc-fast-logger")
  3922. (version "3.0.5")
  3923. (source
  3924. (origin
  3925. (method url-fetch)
  3926. (uri (string-append
  3927. "https://hackage.haskell.org/package/fast-logger/fast-logger-"
  3928. version
  3929. ".tar.gz"))
  3930. (sha256
  3931. (base32
  3932. "1mbnah6n8lig494523czcd95dfn01f438qai9pf20wpa2gdbz4x6"))))
  3933. (build-system haskell-build-system)
  3934. (inputs
  3935. (list ghc-auto-update ghc-easy-file ghc-unix-time ghc-unix-compat))
  3936. (native-inputs
  3937. (list hspec-discover ghc-hspec))
  3938. (home-page "https://hackage.haskell.org/package/fast-logger")
  3939. (synopsis "Fast logging system")
  3940. (description "This library provides a fast logging system for Haskell.")
  3941. (license license:bsd-3)))
  3942. (define-public ghc-feed
  3943. (package
  3944. (name "ghc-feed")
  3945. (version "1.3.2.0")
  3946. (source
  3947. (origin
  3948. (method url-fetch)
  3949. (uri (string-append "https://hackage.haskell.org/package/"
  3950. "feed/feed-" version ".tar.gz"))
  3951. (sha256
  3952. (base32
  3953. "0kv3vx3njqlhwvkmf12m1gmwl8jj97kfa60da2362vwdavhcf4dk"))))
  3954. (build-system haskell-build-system)
  3955. (arguments `(#:tests? #f)) ; TODO: Fail.
  3956. (inputs
  3957. (list ghc-base-compat
  3958. ghc-old-locale
  3959. ghc-old-time
  3960. ghc-safe
  3961. ghc-time-locale-compat
  3962. ghc-utf8-string
  3963. ghc-xml-conduit
  3964. ghc-xml-types))
  3965. (native-inputs
  3966. (list ghc-doctest-driver-gen
  3967. ghc-doctest
  3968. ghc-hunit
  3969. ghc-markdown-unlit
  3970. ghc-syb
  3971. ghc-test-framework
  3972. ghc-test-framework-hunit))
  3973. (home-page "https://github.com/bergmark/feed")
  3974. (synopsis "Haskell package for handling various syndication formats")
  3975. (description "This Haskell package includes tools for generating and
  3976. consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
  3977. (license license:bsd-3)))
  3978. (define-public ghc-fgl
  3979. (package
  3980. (name "ghc-fgl")
  3981. (version "5.7.0.3")
  3982. (outputs '("out" "static" "doc"))
  3983. (source
  3984. (origin
  3985. (method url-fetch)
  3986. (uri (string-append
  3987. "https://hackage.haskell.org/package/fgl/fgl-"
  3988. version
  3989. ".tar.gz"))
  3990. (sha256
  3991. (base32
  3992. "04k5grp5d381wkc7sxgcl0sd3z3nlm6l6mmh103vhzh6p49vhs99"))))
  3993. (build-system haskell-build-system)
  3994. (arguments
  3995. `(#:phases
  3996. (modify-phases %standard-phases
  3997. (add-before 'configure 'update-constraints
  3998. (lambda _
  3999. (substitute* "fgl.cabal"
  4000. (("QuickCheck >= 2\\.8 && < 2\\.13")
  4001. "QuickCheck >= 2.8 && < 2.14")
  4002. (("hspec >= 2\\.1 && < 2\\.7")
  4003. "hspec >= 2.1 && < 2.8")))))))
  4004. (inputs
  4005. (list ghc-hspec ghc-quickcheck))
  4006. (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
  4007. (synopsis
  4008. "Martin Erwig's Functional Graph Library")
  4009. (description "The functional graph library, FGL, is a collection of type
  4010. and function definitions to address graph problems. The basis of the library
  4011. is an inductive definition of graphs in the style of algebraic data types that
  4012. encourages inductive, recursive definitions of graph algorithms.")
  4013. (license license:bsd-3)))
  4014. (define-public ghc-fgl-arbitrary
  4015. (package
  4016. (name "ghc-fgl-arbitrary")
  4017. (version "0.2.0.6")
  4018. (source
  4019. (origin
  4020. (method url-fetch)
  4021. (uri (string-append
  4022. "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
  4023. version ".tar.gz"))
  4024. (sha256
  4025. (base32
  4026. "1mykbd1r43gpsn10ys8q3nr0i4wnhn6wq23hcici18mxxji11wkc"))))
  4027. (build-system haskell-build-system)
  4028. (inputs
  4029. (list ghc-fgl ghc-quickcheck ghc-hspec))
  4030. (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
  4031. (synopsis "QuickCheck support for fgl")
  4032. (description
  4033. "Provides Arbitrary instances for fgl graphs to avoid adding a
  4034. QuickCheck dependency for fgl whilst still making the instances
  4035. available to others. Also available are non-fgl-specific functions
  4036. for generating graph-like data structures.")
  4037. (license license:bsd-3)))
  4038. (define-public ghc-file-embed
  4039. (package
  4040. (name "ghc-file-embed")
  4041. (version "0.0.15.0")
  4042. (source
  4043. (origin
  4044. (method url-fetch)
  4045. (uri (string-append "https://hackage.haskell.org/package/file-embed/"
  4046. "file-embed-" version ".tar.gz"))
  4047. (sha256
  4048. (base32
  4049. "1pavxj642phrkq67620g10wqykjfhmm9yj2rm8pja83sadfvhrph"))))
  4050. (build-system haskell-build-system)
  4051. (home-page "https://github.com/snoyberg/file-embed")
  4052. (synopsis "Use Template Haskell to embed file contents directly")
  4053. (description
  4054. "This package allows you to use Template Haskell to read a file or all
  4055. the files in a directory, and turn them into @code{(path, bytestring)} pairs
  4056. embedded in your Haskell code.")
  4057. (license license:bsd-3)))
  4058. (define-public ghc-filemanip
  4059. (package
  4060. (name "ghc-filemanip")
  4061. (version "0.3.6.3")
  4062. (source (origin
  4063. (method url-fetch)
  4064. (uri (string-append "https://hackage.haskell.org/package/"
  4065. "filemanip/filemanip-" version ".tar.gz"))
  4066. (sha256
  4067. (base32
  4068. "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
  4069. (build-system haskell-build-system)
  4070. (inputs
  4071. (list ghc-unix-compat))
  4072. (home-page "https://github.com/bos/filemanip")
  4073. (synopsis "File and directory manipulation for Haskell")
  4074. (description
  4075. "This package provides a Haskell library for working with files and
  4076. directories. It includes code for pattern matching, finding files, modifying
  4077. file contents, and more.")
  4078. (license license:bsd-3)))
  4079. (define-public ghc-filepath-bytestring
  4080. (package
  4081. (name "ghc-filepath-bytestring")
  4082. (version "1.4.2.1.8")
  4083. (source
  4084. (origin
  4085. (method url-fetch)
  4086. (uri (string-append
  4087. "https://hackage.haskell.org/package/filepath-bytestring/"
  4088. "filepath-bytestring-" version ".tar.gz"))
  4089. (sha256
  4090. (base32
  4091. "0qrrvbjpjsk75ghqrdqzwqg7wjgm3rr9kk7p04ax98ilv90pm0ip"))))
  4092. (build-system haskell-build-system)
  4093. (native-inputs
  4094. (list ghc-quickcheck))
  4095. (home-page "https://hackage.haskell.org/package/filepath-bytestring")
  4096. (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
  4097. (description "This package provides a drop-in replacement for the standard
  4098. @code{filepath} library, operating on @code{RawFilePath} values rather than
  4099. @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
  4100. (license license:bsd-3)))
  4101. (define-public ghc-findbin
  4102. (package
  4103. (name "ghc-findbin")
  4104. (version "0.0.5")
  4105. (source
  4106. (origin
  4107. (method url-fetch)
  4108. (uri (string-append
  4109. "https://hackage.haskell.org/package/FindBin/FindBin-"
  4110. version ".tar.gz"))
  4111. (sha256
  4112. (base32
  4113. "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
  4114. (build-system haskell-build-system)
  4115. (home-page "https://github.com/audreyt/findbin")
  4116. (synopsis "Get the absolute path of the running program")
  4117. (description
  4118. "This module locates the full directory of the running program, to allow
  4119. the use of paths relative to it. FindBin supports invocation of Haskell
  4120. programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
  4121. an executable.")
  4122. (license license:bsd-3)))
  4123. (define-public ghc-fingertree
  4124. (package
  4125. (name "ghc-fingertree")
  4126. (version "0.1.4.2")
  4127. (source
  4128. (origin
  4129. (method url-fetch)
  4130. (uri (string-append
  4131. "https://hackage.haskell.org/package/fingertree/fingertree-"
  4132. version ".tar.gz"))
  4133. (sha256
  4134. (base32
  4135. "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
  4136. (build-system haskell-build-system)
  4137. (native-inputs
  4138. (list ghc-hunit ghc-quickcheck ghc-test-framework
  4139. ghc-test-framework-hunit ghc-test-framework-quickcheck2))
  4140. (home-page "https://hackage.haskell.org/package/fingertree")
  4141. (synopsis "Generic finger-tree structure")
  4142. (description "This library provides finger trees, a general sequence
  4143. representation with arbitrary annotations, for use as a base for
  4144. implementations of various collection types. It includes examples, as
  4145. described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
  4146. simple general-purpose data structure\".")
  4147. (license license:bsd-3)))
  4148. (define-public ghc-finite-typelits
  4149. (package
  4150. (name "ghc-finite-typelits")
  4151. (version "0.1.4.2")
  4152. (source
  4153. (origin
  4154. (method url-fetch)
  4155. (uri (string-append "https://hackage.haskell.org/package/"
  4156. "finite-typelits/"
  4157. "finite-typelits-" version ".tar.gz"))
  4158. (sha256
  4159. (base32 "0iyp9fyd2ki9qcmk9infz9p6rjhsx9jrs3f5yz0yqs8vj5na81yj"))))
  4160. (build-system haskell-build-system)
  4161. (home-page "https://github.com/mniip/finite-typelits")
  4162. (synopsis "Finitely many values, indexed by type-level naturals")
  4163. (description
  4164. "This package provides a Haskell type inhabited by finitely many values
  4165. and indexed by type-level naturals.")
  4166. (license license:bsd-3)))
  4167. (define-public ghc-fixed
  4168. (package
  4169. (name "ghc-fixed")
  4170. (version "0.3")
  4171. (source
  4172. (origin
  4173. (method url-fetch)
  4174. (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
  4175. version ".tar.gz"))
  4176. (sha256
  4177. (base32
  4178. "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
  4179. (build-system haskell-build-system)
  4180. (home-page "https://github.com/ekmett/fixed")
  4181. (synopsis "Signed 15.16 precision fixed point arithmetic")
  4182. (description
  4183. "This package provides functions for signed 15.16 precision fixed point
  4184. arithmetic.")
  4185. (license license:bsd-3)))
  4186. (define-public ghc-fmlist
  4187. (package
  4188. (name "ghc-fmlist")
  4189. (version "0.9.4")
  4190. (source
  4191. (origin
  4192. (method url-fetch)
  4193. (uri
  4194. (string-append
  4195. "https://hackage.haskell.org/package/fmlist/fmlist-"
  4196. version ".tar.gz"))
  4197. (sha256
  4198. (base32
  4199. "19h95ph7lh7llw6j1v1rssrdi5k7xw8x0iac9rgzss371s2w3g9d"))))
  4200. (build-system haskell-build-system)
  4201. (home-page "https://github.com/sjoerdvisscher/fmlist")
  4202. (synopsis "FoldMap lists")
  4203. (description "FoldMap lists are lists represented by their
  4204. @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
  4205. append, just like DLists, but other operations might have favorable
  4206. performance characteristics as well. These wild claims are still
  4207. completely unverified though.")
  4208. (license license:bsd-3)))
  4209. (define-public ghc-foldl
  4210. (package
  4211. (name "ghc-foldl")
  4212. (version "1.4.12")
  4213. (source
  4214. (origin
  4215. (method url-fetch)
  4216. (uri (string-append "https://hackage.haskell.org/package/"
  4217. "foldl-" version "/"
  4218. "foldl-" version ".tar.gz"))
  4219. (sha256
  4220. (base32
  4221. "0zf4yljh3s2ddxa7dhzdglmylj14kfldhkclc44g37zvjq6kcnag"))))
  4222. (build-system haskell-build-system)
  4223. (outputs '("out" "static" "doc"))
  4224. (inputs (list ghc-comonad
  4225. ghc-contravariant
  4226. ghc-hashable
  4227. ghc-primitive
  4228. ghc-profunctors
  4229. ghc-random
  4230. ghc-semigroupoids
  4231. ghc-semigroups
  4232. ghc-unordered-containers
  4233. ghc-vector))
  4234. (native-inputs (list ghc-doctest))
  4235. (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
  4236. (synopsis "Composable, streaming, and efficient left folds for Haskell")
  4237. (description "This Haskell library provides strict left folds that stream
  4238. in constant memory, and you can combine folds using @code{Applicative} style
  4239. to derive new folds. Derived folds still traverse the container just once
  4240. and are often as efficient as hand-written folds.")
  4241. (license license:bsd-3)))
  4242. (define-public ghc-foundation
  4243. (package
  4244. (name "ghc-foundation")
  4245. (version "0.0.26.1")
  4246. (source
  4247. (origin
  4248. (method url-fetch)
  4249. (uri (string-append "https://hackage.haskell.org/package/"
  4250. "foundation/foundation-" version ".tar.gz"))
  4251. (sha256
  4252. (base32
  4253. "1hri3raqf6nhh6631gfm2yrkv4039gb0cqfa9cqmjp8bbqv28w5d"))))
  4254. (build-system haskell-build-system)
  4255. (arguments
  4256. `(#:phases
  4257. (modify-phases %standard-phases
  4258. ;; This test is broken. For details, see
  4259. ;; https://github.com/haskell-foundation/foundation/issues/530
  4260. (add-after 'unpack 'patch-tests
  4261. (lambda _
  4262. (substitute* "tests/Test/Foundation/Number.hs"
  4263. ((", testDividible proxy") ""))
  4264. #t)))))
  4265. (outputs '("out" "static" "doc"))
  4266. (inputs (list ghc-basement))
  4267. (home-page "https://github.com/haskell-foundation/foundation")
  4268. (synopsis "Alternative prelude with batteries and no dependencies")
  4269. (description
  4270. "This package provides a custom prelude with no dependencies apart from
  4271. the base package.
  4272. Foundation has the following goals:
  4273. @enumerate
  4274. @item provide a base like sets of modules that provide a consistent set of
  4275. features and bugfixes across multiple versions of GHC (unlike base).
  4276. @item provide a better and more efficient prelude than base's prelude.
  4277. @item be self-sufficient: no external dependencies apart from base;
  4278. @item provide better data-types: packed unicode string by default, arrays;
  4279. @item Numerical classes that better represent mathematical things (no more
  4280. all-in-one @code{Num});
  4281. @item I/O system with less lazy IO.
  4282. @end enumerate\n")
  4283. (license license:bsd-3)))
  4284. (define-public ghc-free
  4285. (package
  4286. (name "ghc-free")
  4287. (version "5.1.7")
  4288. (source
  4289. (origin
  4290. (method url-fetch)
  4291. (uri (string-append
  4292. "https://hackage.haskell.org/package/free/free-"
  4293. version
  4294. ".tar.gz"))
  4295. (sha256
  4296. (base32
  4297. "121b81wxjk30nc27ivwzxjxi1dcwc30y0gy8l6wac3dxwvkx2c5j"))))
  4298. (build-system haskell-build-system)
  4299. (outputs '("out" "static" "doc"))
  4300. (inputs
  4301. (list ghc-prelude-extras
  4302. ghc-profunctors
  4303. ghc-exceptions
  4304. ghc-bifunctors
  4305. ghc-comonad
  4306. ghc-distributive
  4307. ghc-semigroupoids
  4308. ghc-semigroups
  4309. ghc-transformers-base
  4310. ghc-transformers-compat))
  4311. (home-page "https://github.com/ekmett/free/")
  4312. (synopsis "Unrestricted monads for Haskell")
  4313. (description "This library provides free monads, which are useful for many
  4314. tree-like structures and domain specific languages. If @code{f} is a
  4315. @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
  4316. whose nodes are labeled with the constructors of @code{f}. The word \"free\"
  4317. is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
  4318. f} makes no constraining assumptions beyond those given by @code{f} and the
  4319. definition of @code{Monad}.")
  4320. (license license:bsd-3)))
  4321. (define-public ghc-fsnotify
  4322. (package
  4323. (name "ghc-fsnotify")
  4324. (version "0.3.0.1")
  4325. (source (origin
  4326. (method url-fetch)
  4327. (uri (string-append
  4328. "https://hackage.haskell.org/package/fsnotify/"
  4329. "fsnotify-" version ".tar.gz"))
  4330. (sha256
  4331. (base32
  4332. "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
  4333. (build-system haskell-build-system)
  4334. (inputs
  4335. (list ghc-async
  4336. ghc-unix-compat
  4337. ghc-hinotify
  4338. ghc-tasty
  4339. ghc-tasty-hunit
  4340. ghc-random
  4341. ghc-shelly
  4342. ghc-temporary))
  4343. (home-page "https://github.com/haskell-fswatch/hfsnotify")
  4344. (synopsis "Cross platform library for file change notification")
  4345. (description "Cross platform library for file creation, modification, and
  4346. deletion notification. This library builds upon existing libraries for platform
  4347. specific Windows, Mac, and Linux file system event notification.")
  4348. (license license:bsd-3)))
  4349. (define-public ghc-generic-deriving
  4350. (package
  4351. (name "ghc-generic-deriving")
  4352. (version "1.14.1")
  4353. (source
  4354. (origin
  4355. (method url-fetch)
  4356. (uri (string-append
  4357. "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
  4358. version
  4359. ".tar.gz"))
  4360. (sha256
  4361. (base32
  4362. "19qpahcfhs9nqqv6na8znybrvpw885cajbdnrfylxbsmm0sys4s7"))))
  4363. (build-system haskell-build-system)
  4364. (outputs '("out" "static" "doc"))
  4365. (inputs
  4366. (list ghc-th-abstraction))
  4367. (native-inputs
  4368. (list ghc-hspec hspec-discover))
  4369. (home-page "https://hackage.haskell.org/package/generic-deriving")
  4370. (synopsis "Generalise the deriving mechanism to arbitrary classes")
  4371. (description "This package provides functionality for generalising the
  4372. deriving mechanism in Haskell to arbitrary classes.")
  4373. (license license:bsd-3)))
  4374. (define-public ghc-generic-random
  4375. (package
  4376. (name "ghc-generic-random")
  4377. (version "1.2.0.0")
  4378. (source
  4379. (origin
  4380. (method url-fetch)
  4381. (uri (string-append
  4382. "https://hackage.haskell.org/package/generic-random/"
  4383. "generic-random-" version ".tar.gz"))
  4384. (sha256
  4385. (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
  4386. (build-system haskell-build-system)
  4387. (inputs (list ghc-quickcheck))
  4388. (native-inputs
  4389. (list ghc-inspection-testing))
  4390. (arguments
  4391. `(#:cabal-revision
  4392. ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
  4393. (home-page
  4394. "https://github.com/lysxia/generic-random")
  4395. (synopsis
  4396. "Generic random generators for QuickCheck")
  4397. (description
  4398. "Derive instances of @code{Arbitrary} for QuickCheck, with various options
  4399. to customize implementations.
  4400. Automating the arbitrary boilerplate also ensures that when a type changes to
  4401. have more or fewer constructors, then the generator either fixes itself to
  4402. generate that new case (when using the uniform distribution) or causes a
  4403. compilation error so you remember to fix it (when using an explicit
  4404. distribution).
  4405. This package also offers a simple (optional) strategy to ensure termination
  4406. for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
  4407. at every recursive call; when it reaches zero, sample directly from a
  4408. trivially terminating generator given explicitly (@code{genericArbitraryRec}
  4409. and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
  4410. (license license:expat)))
  4411. (define-public ghc-generic-random-1.3.0.1
  4412. (package
  4413. (inherit ghc-generic-random)
  4414. (version "1.4.0.0")
  4415. (source
  4416. (origin
  4417. (method url-fetch)
  4418. (uri (string-append
  4419. "https://hackage.haskell.org/package/generic-random/"
  4420. "generic-random-" version ".tar.gz"))
  4421. (sha256
  4422. (base32 "12rvb1dzrfjc46n9vdcw3yv773iih8vwhrac3hpzq70yp2z77jdw"))))
  4423. (arguments '())))
  4424. (define-public ghc-generics-sop
  4425. (package
  4426. (name "ghc-generics-sop")
  4427. (version "0.5.1.1")
  4428. (source
  4429. (origin
  4430. (method url-fetch)
  4431. (uri (string-append "https://hackage.haskell.org/package/"
  4432. "generics-sop-" version "/"
  4433. "generics-sop-" version ".tar.gz"))
  4434. (sha256
  4435. (base32
  4436. "1n65wjdbb9fswa43ys5k6c746c905877lw5ij33y66iabj5w7dw1"))))
  4437. (build-system haskell-build-system)
  4438. (outputs '("out" "static" "doc"))
  4439. (inputs
  4440. (list ghc-sop-core ghc-th-abstraction))
  4441. (home-page "https://github.com/well-typed/generics-sop")
  4442. (synopsis "Generic Programming using True Sums of Products for Haskell")
  4443. (description "This Haskell package supports the definition of generic
  4444. functions. Datatypes are viewed in a uniform, structured way: the choice
  4445. between constructors is represented using an n-ary sum, and the arguments of
  4446. each constructor are represented using an n-ary product.")
  4447. (license license:bsd-3)))
  4448. (define-public ghc-geniplate-mirror
  4449. (package
  4450. (name "ghc-geniplate-mirror")
  4451. (version "0.7.8")
  4452. (source
  4453. (origin
  4454. (method url-fetch)
  4455. (uri (string-append "https://hackage.haskell.org/package"
  4456. "/geniplate-mirror"
  4457. "/geniplate-mirror-" version ".tar.gz"))
  4458. (sha256
  4459. (base32 "1kw4q7l556sfd82r2p0z3cv4sg8kcr45wb4s2sy996bs3ymn8fjb"))))
  4460. (build-system haskell-build-system)
  4461. (home-page "https://github.com/danr/geniplate")
  4462. (synopsis "Use Template Haskell to generate Uniplate-like functions")
  4463. (description
  4464. "Use Template Haskell to generate Uniplate-like functions. This is a
  4465. maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
  4466. geniplate} package, written by Lennart Augustsson.")
  4467. (license license:bsd-3)))
  4468. (define-public ghc-genvalidity
  4469. (package
  4470. (name "ghc-genvalidity")
  4471. (version "0.11.0.2")
  4472. (source
  4473. (origin
  4474. (method url-fetch)
  4475. (uri (string-append
  4476. "https://hackage.haskell.org/package/genvalidity/genvalidity-"
  4477. version
  4478. ".tar.gz"))
  4479. (sha256
  4480. (base32
  4481. "16bd5dx0ngc8z7mij23i2l3a8v3c112x8ksd623alik18zx7pi8j"))))
  4482. (build-system haskell-build-system)
  4483. (inputs
  4484. (list ghc-quickcheck ghc-validity))
  4485. (native-inputs
  4486. (list ghc-hspec hspec-discover ghc-hspec-core))
  4487. (home-page
  4488. "https://github.com/NorfairKing/validity")
  4489. (synopsis
  4490. "Testing utilities for the @code{validity} library")
  4491. (description
  4492. "This package provides testing utilities that are useful in conjunction
  4493. with the @code{Validity} typeclass.")
  4494. (license license:expat)))
  4495. (define-public ghc-genvalidity-property
  4496. (package
  4497. (name "ghc-genvalidity-property")
  4498. (version "0.5.0.1")
  4499. (source
  4500. (origin
  4501. (method url-fetch)
  4502. (uri (string-append
  4503. "https://hackage.haskell.org/package/"
  4504. "genvalidity-property/genvalidity-property-"
  4505. version
  4506. ".tar.gz"))
  4507. (sha256
  4508. (base32
  4509. "0cvzc4z4771vpycwfgcj0yswyglzl6cl1h2wrfhs224nrcmk5a7z"))))
  4510. (build-system haskell-build-system)
  4511. (inputs
  4512. (list ghc-quickcheck
  4513. ghc-genvalidity
  4514. ghc-hspec
  4515. hspec-discover
  4516. ghc-pretty-show
  4517. ghc-validity))
  4518. (native-inputs (list ghc-doctest))
  4519. (home-page
  4520. "https://github.com/NorfairKing/validity")
  4521. (synopsis
  4522. "Standard properties for functions on @code{Validity} types")
  4523. (description
  4524. "This package supplements the @code{Validity} typeclass with standard
  4525. properties for functions operating on them.")
  4526. (license license:expat)))
  4527. (define-public ghc-getopt-generics
  4528. (package
  4529. (name "ghc-getopt-generics")
  4530. (version "0.13.0.4")
  4531. (source
  4532. (origin
  4533. (method url-fetch)
  4534. (uri (string-append "https://hackage.haskell.org/package/"
  4535. "getopt-generics/getopt-generics-"
  4536. version ".tar.gz"))
  4537. (sha256
  4538. (base32
  4539. "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
  4540. (build-system haskell-build-system)
  4541. (inputs
  4542. (list ghc-base-compat ghc-base-orphans ghc-generics-sop ghc-tagged))
  4543. (native-inputs
  4544. (list ghc-quickcheck ghc-hspec ghc-safe ghc-silently hspec-discover))
  4545. (home-page "https://github.com/soenkehahn/getopt-generics")
  4546. (synopsis "Create command line interfaces with ease")
  4547. (description "This library provides tools to create command line
  4548. interfaces with ease.")
  4549. (license license:bsd-3)))
  4550. (define-public ghc-gitrev
  4551. (package
  4552. (name "ghc-gitrev")
  4553. (version "1.3.1")
  4554. (source
  4555. (origin
  4556. (method url-fetch)
  4557. (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
  4558. version ".tar.gz"))
  4559. (sha256
  4560. (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
  4561. (build-system haskell-build-system)
  4562. (inputs (list ghc-base-compat))
  4563. (home-page "https://github.com/acfoltzer/gitrev")
  4564. (synopsis "Compile git revision info into Haskell projects")
  4565. (description
  4566. "This package provides some handy Template Haskell splices for including
  4567. the current git hash and branch in the code of your project. This is useful
  4568. for including in panic messages, @command{--version} output, or diagnostic
  4569. info for more informative bug reports.")
  4570. (license license:bsd-3)))
  4571. (define-public ghc-glob
  4572. (package
  4573. (name "ghc-glob")
  4574. (version "0.10.1")
  4575. (source
  4576. (origin
  4577. (method url-fetch)
  4578. (uri (string-append "https://hackage.haskell.org/package/"
  4579. "Glob-" version "/"
  4580. "Glob-" version ".tar.gz"))
  4581. (sha256
  4582. (base32
  4583. "05fknrb114qvfzv6324ngx0fz43cwgrhrc700l3h2is9jinlgr6a"))))
  4584. (build-system haskell-build-system)
  4585. (inputs
  4586. (list ghc-dlist ghc-semigroups ghc-transformers-compat))
  4587. (native-inputs
  4588. (list ghc-hunit ghc-quickcheck ghc-test-framework
  4589. ghc-test-framework-hunit ghc-test-framework-quickcheck2))
  4590. (home-page "http://iki.fi/matti.niemenmaa/glob/")
  4591. (synopsis "Haskell library matching glob patterns against file paths")
  4592. (description "This package provides a Haskell library for @dfn{globbing}:
  4593. matching patterns against file paths.")
  4594. (license license:bsd-3)))
  4595. (define-public ghc-gluraw
  4596. (package
  4597. (name "ghc-gluraw")
  4598. (version "2.0.0.4")
  4599. (source
  4600. (origin
  4601. (method url-fetch)
  4602. (uri (string-append
  4603. "https://hackage.haskell.org/package/GLURaw/GLURaw-"
  4604. version
  4605. ".tar.gz"))
  4606. (sha256
  4607. (base32
  4608. "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
  4609. (build-system haskell-build-system)
  4610. (inputs
  4611. (list ghc-openglraw))
  4612. (home-page "https://wiki.haskell.org/Opengl")
  4613. (synopsis "Raw Haskell bindings GLU")
  4614. (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
  4615. utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
  4616. basis for a nicer interface.")
  4617. (license license:bsd-3)))
  4618. (define-public ghc-glut
  4619. (package
  4620. (name "ghc-glut")
  4621. (version "2.7.0.16")
  4622. (source
  4623. (origin
  4624. (method url-fetch)
  4625. (uri (string-append
  4626. "https://hackage.haskell.org/package/GLUT/GLUT-"
  4627. version
  4628. ".tar.gz"))
  4629. (sha256
  4630. (base32
  4631. "0vdkfj4wjzigdpzgr5l001y9wkhwgl00mclr26gf93kps14fkymn"))))
  4632. (build-system haskell-build-system)
  4633. (inputs
  4634. (list ghc-statevar ghc-opengl ghc-openglraw freeglut))
  4635. (home-page "https://wiki.haskell.org/Opengl")
  4636. (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
  4637. (description "This library provides Haskell bindings for the OpenGL
  4638. Utility Toolkit, a window system-independent toolkit for writing OpenGL
  4639. programs.")
  4640. (license license:bsd-3)))
  4641. (define-public ghc-gnuplot
  4642. (package
  4643. (name "ghc-gnuplot")
  4644. (version "0.5.6.1")
  4645. (source
  4646. (origin
  4647. (method url-fetch)
  4648. (uri (string-append
  4649. "https://hackage.haskell.org/package/gnuplot/gnuplot-"
  4650. version ".tar.gz"))
  4651. (sha256
  4652. (base32 "1rfq94lnsyjr8y9p5r56jpllv3p8rvh9xxzjji016b6r5adi8cnb"))))
  4653. (build-system haskell-build-system)
  4654. (inputs
  4655. (list ghc-temporary
  4656. ghc-utility-ht
  4657. ghc-data-accessor-transformers
  4658. ghc-data-accessor
  4659. ghc-semigroups
  4660. gnuplot))
  4661. (arguments
  4662. `(#:phases
  4663. (modify-phases %standard-phases
  4664. (add-before 'configure 'fix-path-to-gnuplot
  4665. (lambda* (#:key inputs #:allow-other-keys)
  4666. (let ((gnuplot (assoc-ref inputs "gnuplot")))
  4667. (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
  4668. (("(gnuplotName = ).*$" all cmd)
  4669. (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
  4670. (home-page "https://wiki.haskell.org/Gnuplot")
  4671. (synopsis "2D and 3D plots using gnuplot")
  4672. (description "This package provides a Haskell module for creating 2D and
  4673. 3D plots using gnuplot.")
  4674. (license license:bsd-3)))
  4675. (define-public ghc-graphviz
  4676. (package
  4677. (name "ghc-graphviz")
  4678. (version "2999.20.1.0")
  4679. (source (origin
  4680. (method url-fetch)
  4681. (uri (string-append "https://hackage.haskell.org/package/"
  4682. "graphviz/graphviz-" version ".tar.gz"))
  4683. (sha256
  4684. (base32
  4685. "0l0zxgb938hh09qirggbaskq79mgj3s081cnr42y5vm1rp1jir2s"))))
  4686. (build-system haskell-build-system)
  4687. (inputs
  4688. (list ghc-colour
  4689. ghc-dlist
  4690. ghc-fgl
  4691. ghc-polyparse
  4692. ghc-temporary
  4693. ghc-wl-pprint-text))
  4694. (native-inputs
  4695. (list ghc-hspec graphviz ghc-fgl-arbitrary ghc-quickcheck
  4696. hspec-discover))
  4697. (home-page "https://hackage.haskell.org/package/graphviz")
  4698. (synopsis "Bindings to Graphviz for graph visualisation")
  4699. (description
  4700. "This library provides bindings for the Dot language used by
  4701. the @uref{https://graphviz.org/, Graphviz} suite of programs for
  4702. visualising graphs, as well as functions to call those programs.
  4703. Main features of the graphviz library include:
  4704. @enumerate
  4705. @item Almost complete coverage of all Graphviz attributes and syntax
  4706. @item Support for specifying clusters
  4707. @item The ability to use a custom node type
  4708. @item Functions for running a Graphviz layout tool with all specified output types
  4709. @item Generate and parse Dot code with two options: strict and liberal
  4710. @item Functions to convert FGL graphs and other graph-like data structures
  4711. @item Round-trip support for passing an FGL graph through Graphviz to augment node
  4712. and edge labels with positional information, etc.
  4713. @end enumerate\n")
  4714. (license license:bsd-3)))
  4715. (define-public ghc-groups
  4716. (package
  4717. (name "ghc-groups")
  4718. (version "0.5.3")
  4719. (source
  4720. (origin
  4721. (method url-fetch)
  4722. (uri (string-append "https://hackage.haskell.org/package/"
  4723. "groups/groups-" version ".tar.gz"))
  4724. (sha256
  4725. (base32
  4726. "0f5c8dg9b74glfw2sdvdcl9c8igs6knz1bayk4gvvzvypsl547nf"))))
  4727. (build-system haskell-build-system)
  4728. (home-page "https://hackage.haskell.org/package/groups")
  4729. (synopsis "Haskell 98 groups")
  4730. (description "This package provides Haskell 98 groups. A group is a
  4731. monoid with invertibility.")
  4732. (license license:bsd-3)))
  4733. (define-public ghc-gtk2hs-buildtools
  4734. (package
  4735. (name "ghc-gtk2hs-buildtools")
  4736. (version "0.13.8.1")
  4737. (source
  4738. (origin
  4739. (method url-fetch)
  4740. (uri (string-append "https://hackage.haskell.org/package/"
  4741. "gtk2hs-buildtools/gtk2hs-buildtools-"
  4742. version ".tar.gz"))
  4743. (sha256
  4744. (base32
  4745. "102x753jbc90lfm9s0ng5kvm0risqwpar331xwsd752as0bms142"))))
  4746. (build-system haskell-build-system)
  4747. (inputs
  4748. (list ghc-random ghc-hashtables))
  4749. (native-inputs
  4750. (list ghc-alex ghc-happy))
  4751. (home-page "http://projects.haskell.org/gtk2hs/")
  4752. (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
  4753. (description
  4754. "This package provides a set of helper programs necessary to build the
  4755. Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
  4756. that is used to generate FFI declarations, a tool to build a type hierarchy
  4757. that mirrors the C type hierarchy of GObjects found in glib, and a generator
  4758. for signal declarations that are used to call back from C to Haskell. These
  4759. tools are not needed to actually run Gtk2Hs programs.")
  4760. (license license:gpl2)))
  4761. (define-public ghc-hackage-security
  4762. (package
  4763. (name "ghc-hackage-security")
  4764. (version "0.6.0.1")
  4765. (source
  4766. (origin
  4767. (method url-fetch)
  4768. (uri (string-append "https://hackage.haskell.org/package/"
  4769. "hackage-security/hackage-security-"
  4770. version ".tar.gz"))
  4771. (sha256
  4772. (base32
  4773. "05rgz31cmp52137j4jk0074z8lfgk8mrf2x56bzw28asmxrv8qli"))))
  4774. (build-system haskell-build-system)
  4775. (arguments
  4776. `(#:cabal-revision
  4777. ("8" "1xpzcdpfz0agbv75sadsylq6r8pq7zr0pyzbzrz0nz130yixsv5f")
  4778. #:tests? #f)) ; Tests fail because of framework updates.
  4779. (inputs
  4780. (list ghc-base16-bytestring
  4781. ghc-base64-bytestring
  4782. ghc-cryptohash-sha256
  4783. ghc-ed25519
  4784. ghc-lukko
  4785. ghc-network
  4786. ghc-network-uri
  4787. ghc-tar
  4788. ghc-zlib))
  4789. (native-inputs
  4790. (list ghc-aeson
  4791. ghc-quickcheck
  4792. ghc-tasty
  4793. ghc-tasty-hunit
  4794. ghc-tasty-quickcheck
  4795. ghc-temporary
  4796. ghc-unordered-containers
  4797. ghc-vector))
  4798. (home-page "https://github.com/haskell/hackage-security")
  4799. (synopsis "Hackage security library")
  4800. (description "This Hackage security library provides both server and
  4801. client utilities for securing @uref{http://hackage.haskell.org/, the
  4802. Hackage package server}. It is based on
  4803. @uref{http://theupdateframework.com/, The Update Framework}, a set of
  4804. recommendations developed by security researchers at various universities
  4805. in the US as well as developers on the @uref{https://www.torproject.org/,
  4806. Tor project}.")
  4807. (license license:bsd-3)))
  4808. (define-public ghc-haddock
  4809. (package
  4810. (name "ghc-haddock")
  4811. (version "2.24.2")
  4812. (source
  4813. (origin
  4814. (method url-fetch)
  4815. (uri (string-append
  4816. "https://hackage.haskell.org/package/haddock/haddock-"
  4817. version
  4818. ".tar.gz"))
  4819. (sha256
  4820. (base32
  4821. "1ha4hrnidwkmwalqwd1ixa2933as5n4sj1lvz0cx89a3png7r930"))))
  4822. (build-system haskell-build-system)
  4823. (arguments
  4824. `(#:tests? #f ; TODO: haddock-test does not build.
  4825. #:phases
  4826. (modify-phases %standard-phases
  4827. (add-before 'check 'add-haddock-to-path
  4828. (lambda _
  4829. (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
  4830. ":" (getenv "PATH")))
  4831. #t)))))
  4832. (inputs (list ghc-haddock-api))
  4833. ; (native-inputs
  4834. ; `(("ghc-haddock-test" ,ghc-haddock-test)
  4835. ; ("ghc-hspec" ,ghc-hspec)))
  4836. (home-page "https://www.haskell.org/haddock/")
  4837. (synopsis
  4838. "Documentation-generation tool for Haskell libraries")
  4839. (description
  4840. "Haddock is a documentation-generation tool for Haskell libraries.")
  4841. (license license:bsd-3)))
  4842. (define-public ghc-haddock-api
  4843. (package
  4844. (name "ghc-haddock-api")
  4845. (version "2.24.2")
  4846. (source
  4847. (origin
  4848. (method url-fetch)
  4849. (uri (string-append
  4850. "https://hackage.haskell.org/package/haddock-api/haddock-api-"
  4851. version
  4852. ".tar.gz"))
  4853. (sha256
  4854. (base32
  4855. "1jj2csi85nlywsyvnbwhclfdz27j2kyfbhrl9cm7av0243br9vg1"))))
  4856. (build-system haskell-build-system)
  4857. (inputs
  4858. (list ghc-paths ghc-haddock-library))
  4859. (native-inputs
  4860. (list ghc-quickcheck ghc-hspec hspec-discover))
  4861. (home-page "https://www.haskell.org/haddock/")
  4862. (synopsis "API for documentation-generation tool Haddock")
  4863. (description "This package provides an API to Haddock, the
  4864. documentation-generation tool for Haskell libraries.")
  4865. (license license:bsd-3)))
  4866. (define-public ghc-haddock-library
  4867. (package
  4868. (name "ghc-haddock-library")
  4869. (version "1.10.0")
  4870. (source
  4871. (origin
  4872. (method url-fetch)
  4873. (uri (string-append
  4874. "https://hackage.haskell.org/package/haddock-library/haddock-library-"
  4875. version
  4876. ".tar.gz"))
  4877. (sha256
  4878. (base32
  4879. "15ak06q8yp11xz1hwr0sg2jqi3r78p1n89ik05hicqvxl3awf1pq"))))
  4880. (build-system haskell-build-system)
  4881. (arguments `(#:tests? #f)) ; TODO: optparse-applicative ==0.15.*, tree-diff ==0.1.*
  4882. (native-inputs
  4883. (list ghc-base-compat
  4884. ghc-hspec
  4885. ghc-optparse-applicative
  4886. ghc-quickcheck
  4887. ghc-tree-diff
  4888. hspec-discover))
  4889. (home-page "https://www.haskell.org/haddock/")
  4890. (synopsis "Library exposing some functionality of Haddock")
  4891. (description
  4892. "Haddock is a documentation-generation tool for Haskell libraries. These
  4893. modules expose some functionality of it without pulling in the GHC dependency.
  4894. Please note that the API is likely to change so specify upper bounds in your
  4895. project if you can't release often. For interacting with Haddock itself, see
  4896. the ‘haddock’ package.")
  4897. (license license:bsd-3)))
  4898. ;; This package is needed for testing 'ghc-haddock'. It is no longer
  4899. ;; published to Hackage, but it is maintained in the Haddock Git
  4900. ;; repository.
  4901. (define ghc-haddock-test
  4902. (package
  4903. (name "ghc-haddock-test")
  4904. (version "2.22.0")
  4905. (source
  4906. (origin
  4907. (method git-fetch)
  4908. (uri (git-reference
  4909. (url "https://github.com/haskell/haddock")
  4910. (commit (string-append "haddock-" version "-release"))))
  4911. (file-name (git-file-name name version))
  4912. (sha256
  4913. (base32
  4914. "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
  4915. (build-system haskell-build-system)
  4916. (arguments
  4917. `(#:phases
  4918. (modify-phases %standard-phases
  4919. (add-after 'unpack 'change-directory
  4920. (lambda _
  4921. (chdir "haddock-test"))))))
  4922. (inputs
  4923. `(("ghc-syb" ,ghc-syb)
  4924. ("ghc-xml" ,ghc-xml)))
  4925. (home-page "https://www.haskell.org/haddock/")
  4926. (synopsis "Test utilities for Haddock")
  4927. (description "This package provides test utilities for Haddock.")
  4928. (license license:bsd-3)
  4929. (properties '((hidden? #t)))))
  4930. (define-public ghc-half
  4931. (package
  4932. (name "ghc-half")
  4933. (version "0.3.1")
  4934. (source
  4935. (origin
  4936. (method url-fetch)
  4937. (uri (string-append
  4938. "https://hackage.haskell.org/package/half/half-"
  4939. version ".tar.gz"))
  4940. (sha256
  4941. (base32
  4942. "1l8m2spqg0ac50qys2jk5b32v6wxklbbk5ypjp3ga6z14hkw7bz2"))))
  4943. (build-system haskell-build-system)
  4944. (native-inputs
  4945. (list ghc-test-framework ghc-test-framework-quickcheck2
  4946. ghc-quickcheck))
  4947. (home-page "https://github.com/ekmett/half")
  4948. (synopsis "Half-precision floating-point computations")
  4949. (description "This library provides a half-precision floating-point
  4950. computation library for Haskell.")
  4951. (license license:bsd-3)))
  4952. (define-public ghc-happy
  4953. (package
  4954. (name "ghc-happy")
  4955. (version "1.20.0")
  4956. (source
  4957. (origin
  4958. (method url-fetch)
  4959. (uri (string-append
  4960. "https://hackage.haskell.org/package/happy/happy-"
  4961. version
  4962. ".tar.gz"))
  4963. (sha256
  4964. (base32
  4965. "1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v"))))
  4966. (build-system haskell-build-system)
  4967. (arguments
  4968. `(#:phases
  4969. (modify-phases %standard-phases
  4970. (add-after 'unpack 'skip-test-issue93
  4971. (lambda _
  4972. ;; Tests run out of memory on a system with 2GB of available RAM,
  4973. ;; in 'issue93.a.hs' and 'issue93.n.hs'.
  4974. (substitute* "tests/Makefile"
  4975. ((" issue93.y ") " "))
  4976. #t)))))
  4977. (home-page "https://hackage.haskell.org/package/happy")
  4978. (synopsis "Parser generator for Haskell")
  4979. (description "Happy is a parser generator for Haskell. Given a grammar
  4980. specification in BNF, Happy generates Haskell code to parse the grammar.
  4981. Happy works in a similar way to the yacc tool for C.")
  4982. (license license:bsd-3)))
  4983. (define-public ghc-hashable
  4984. (package
  4985. (name "ghc-hashable")
  4986. (version "1.3.0.0")
  4987. (source
  4988. (origin
  4989. (method url-fetch)
  4990. (uri (string-append
  4991. "https://hackage.haskell.org/package/hashable/hashable-"
  4992. version
  4993. ".tar.gz"))
  4994. (sha256
  4995. (base32
  4996. "1d4sn4xjf0swrfg8pl93ipavbj12ch3a9aykhkl6mjnczc9m8bl2"))))
  4997. (build-system haskell-build-system)
  4998. (arguments
  4999. `(#:tests? #f ; TODO: Tests require random<1.2
  5000. #:cabal-revision
  5001. ("2" "16va8hx4ynw0n5s2warhs13ilj7hrs5fcdn140h1fiix480as36n")))
  5002. (native-inputs
  5003. (list ghc-test-framework ghc-test-framework-hunit
  5004. ghc-test-framework-quickcheck2 ghc-hunit ghc-quickcheck))
  5005. (home-page "https://github.com/tibbe/hashable")
  5006. (synopsis "Class for types that can be converted to a hash value")
  5007. (description
  5008. "This package defines a class, @code{Hashable}, for types that can be
  5009. converted to a hash value. This class exists for the benefit of hashing-based
  5010. data structures. The package provides instances for basic types and a way to
  5011. combine hash values.")
  5012. (license license:bsd-3)))
  5013. (define-public ghc-hashable-bootstrap
  5014. (package
  5015. (inherit ghc-hashable)
  5016. (name "ghc-hashable-bootstrap")
  5017. (arguments
  5018. `(#:tests? #f
  5019. ,@(package-arguments ghc-hashable)))
  5020. (native-inputs '())
  5021. (properties '((hidden? #t)))))
  5022. (define-public ghc-hashable-time
  5023. (package
  5024. (name "ghc-hashable-time")
  5025. (version "0.2.1")
  5026. (source
  5027. (origin
  5028. (method url-fetch)
  5029. (uri (string-append
  5030. "https://hackage.haskell.org/package/hashable-time/hashable-time-"
  5031. version
  5032. ".tar.gz"))
  5033. (sha256
  5034. (base32
  5035. "1zw2gqagpbwq1hgx5rlvy6mhsnb15cxg3pmhawwv0ylfihmx2yxh"))))
  5036. (build-system haskell-build-system)
  5037. (arguments
  5038. `(#:cabal-revision
  5039. ("1" "151gxiprdlj3masa95vvrxal9nwa72n3p1y15xyj4hp7mvvl4s2l")))
  5040. (inputs
  5041. (list ghc-hashable ghc-time-compat))
  5042. (home-page "https://hackage.haskell.org/package/hashable-time")
  5043. (synopsis "Hashable instances for Data.Time")
  5044. (description
  5045. "This package provides @code{Hashable} instances for types in
  5046. @code{Data.Time}.")
  5047. (license license:bsd-3)))
  5048. (define-public ghc-hashtables
  5049. (package
  5050. (name "ghc-hashtables")
  5051. (version "1.2.4.1")
  5052. (source
  5053. (origin
  5054. (method url-fetch)
  5055. (uri (string-append
  5056. "https://hackage.haskell.org/package/hashtables/hashtables-"
  5057. version ".tar.gz"))
  5058. (sha256
  5059. (base32 "0vgggm7bqq55zmqj6qji89bfj3k1rdkikkfhyg81vsqf0f3bzhqa"))))
  5060. (build-system haskell-build-system)
  5061. (inputs
  5062. (list ghc-hashable ghc-primitive ghc-vector))
  5063. (native-inputs
  5064. (list ghc-mwc-random
  5065. ghc-quickcheck
  5066. ghc-hunit
  5067. ghc-test-framework
  5068. ghc-test-framework-quickcheck2
  5069. ghc-test-framework-hunit))
  5070. (home-page "https://github.com/gregorycollins/hashtables")
  5071. (synopsis "Haskell Mutable hash tables in the ST monad")
  5072. (description "This package provides a Haskell library including a
  5073. couple of different implementations of mutable hash tables in the ST
  5074. monad, as well as a typeclass abstracting their common operations, and
  5075. a set of wrappers to use the hash tables in the IO monad.")
  5076. (license license:bsd-3)))
  5077. (define-public ghc-haskeline
  5078. (package
  5079. (name "ghc-haskeline")
  5080. (version "0.8.0.0")
  5081. (source
  5082. (origin
  5083. (method url-fetch)
  5084. (uri (string-append
  5085. "https://hackage.haskell.org/package/haskeline/haskeline-"
  5086. version
  5087. ".tar.gz"))
  5088. (sha256
  5089. (base32
  5090. "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
  5091. (build-system haskell-build-system)
  5092. (inputs (list ghc-exceptions))
  5093. (native-inputs (list ghc-hunit))
  5094. ;; FIXME: Tests failing
  5095. (arguments `(#:tests? #f))
  5096. (home-page "https://github.com/judah/haskeline")
  5097. (synopsis
  5098. "Command-line interface for user input, written in Haskell")
  5099. (description
  5100. "Haskeline provides a user interface for line input in command-line
  5101. programs. This library is similar in purpose to readline, but since it is
  5102. written in Haskell it is (hopefully) more easily used in other Haskell
  5103. programs.
  5104. Haskeline runs both on POSIX-compatible systems and on Windows.")
  5105. (license license:bsd-3)))
  5106. (define-public ghc-haskell-lexer
  5107. (package
  5108. (name "ghc-haskell-lexer")
  5109. (version "1.1")
  5110. (source
  5111. (origin
  5112. (method url-fetch)
  5113. (uri (string-append
  5114. "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
  5115. version ".tar.gz"))
  5116. (sha256
  5117. (base32 "1mb3np20ig0hbgnfxrzr3lczq7ya4p76g20lvnxch8ikck61afii"))))
  5118. (build-system haskell-build-system)
  5119. (home-page "https://hackage.haskell.org/package/haskell-lexer")
  5120. (synopsis "Fully compliant Haskell 98 lexer")
  5121. (description
  5122. "This package provides a fully compliant Haskell 98 lexer.")
  5123. (license license:bsd-3)))
  5124. (define-public ghc-haskell-src
  5125. (package
  5126. (name "ghc-haskell-src")
  5127. (version "1.0.3.1")
  5128. (source
  5129. (origin
  5130. (method url-fetch)
  5131. (uri (string-append
  5132. "https://hackage.haskell.org/package/haskell-src/haskell-src-"
  5133. version
  5134. ".tar.gz"))
  5135. (sha256
  5136. (base32
  5137. "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746"))))
  5138. (build-system haskell-build-system)
  5139. (arguments
  5140. `(#:cabal-revision
  5141. ("4" "0cyqdw77clzz7mq0b4c0jg2d1kdz9xii41268w2psmqmfpyn29pc")))
  5142. (inputs
  5143. (list ghc-happy ghc-syb))
  5144. (home-page
  5145. "https://hackage.haskell.org/package/haskell-src")
  5146. (synopsis
  5147. "Support for manipulating Haskell source code")
  5148. (description
  5149. "The @code{haskell-src} package provides support for manipulating Haskell
  5150. source code. The package provides a lexer, parser and pretty-printer, and a
  5151. definition of a Haskell abstract syntax tree (AST). Common uses of this
  5152. package are to parse or generate Haskell 98 code.")
  5153. (license license:bsd-3)))
  5154. (define-public ghc-haskell-src-exts
  5155. (package
  5156. (name "ghc-haskell-src-exts")
  5157. (version "1.23.1")
  5158. (source
  5159. (origin
  5160. (method url-fetch)
  5161. (uri (string-append
  5162. "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
  5163. version
  5164. ".tar.gz"))
  5165. (sha256
  5166. (base32
  5167. "01bcrxs9af4yqpclw43aijmsd1g19qhyzb47blz7vzwz2r3k11b7"))))
  5168. (build-system haskell-build-system)
  5169. (outputs '("out" "static" "doc"))
  5170. (inputs
  5171. (list cpphs ghc-happy ghc-pretty-show))
  5172. (native-inputs
  5173. (list ghc-smallcheck ghc-tasty ghc-tasty-smallcheck ghc-tasty-golden))
  5174. (home-page "https://github.com/haskell-suite/haskell-src-exts")
  5175. (synopsis "Library for manipulating Haskell source")
  5176. (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
  5177. extension of the standard @code{haskell-src} package, and handles most
  5178. registered syntactic extensions to Haskell. All extensions implemented in GHC
  5179. are supported. Apart from these standard extensions, it also handles regular
  5180. patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
  5181. (license license:bsd-3)))
  5182. (define-public ghc-haskell-src-exts-util
  5183. (package
  5184. (name "ghc-haskell-src-exts-util")
  5185. (version "0.2.5")
  5186. (source
  5187. (origin
  5188. (method url-fetch)
  5189. (uri (string-append "https://hackage.haskell.org/package/"
  5190. "haskell-src-exts-util/haskell-src-exts-util-"
  5191. version ".tar.gz"))
  5192. (sha256
  5193. (base32
  5194. "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
  5195. (build-system haskell-build-system)
  5196. (inputs
  5197. (list ghc-data-default ghc-haskell-src-exts ghc-semigroups
  5198. ghc-uniplate))
  5199. (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
  5200. (synopsis "Helper functions for working with haskell-src-exts trees")
  5201. (description
  5202. "This package provides helper functions for working with
  5203. @code{haskell-src-exts} trees.")
  5204. (license license:bsd-3)))
  5205. (define-public ghc-haskell-src-meta
  5206. (package
  5207. (name "ghc-haskell-src-meta")
  5208. (version "0.8.7")
  5209. (source (origin
  5210. (method url-fetch)
  5211. (uri (string-append "https://hackage.haskell.org/package/"
  5212. "haskell-src-meta/haskell-src-meta-"
  5213. version ".tar.gz"))
  5214. (sha256
  5215. (base32
  5216. "1yy2dfb1ip1zqx3xh28g92209555abzvxrxiwcl95j27zzqxc6in"))))
  5217. (build-system haskell-build-system)
  5218. (inputs
  5219. (list ghc-haskell-src-exts ghc-syb ghc-th-orphans))
  5220. (native-inputs
  5221. (list ghc-hunit ghc-tasty ghc-tasty-hunit))
  5222. (home-page "https://hackage.haskell.org/package/haskell-src-meta")
  5223. (synopsis "Parse source to template-haskell abstract syntax")
  5224. (description
  5225. "This package provides tools to parse Haskell sources to the
  5226. template-haskell abstract syntax.")
  5227. (license license:bsd-3)))
  5228. (define-public ghc-hasktags
  5229. (package
  5230. (name "ghc-hasktags")
  5231. (version "0.72.0")
  5232. (source
  5233. (origin
  5234. (method url-fetch)
  5235. (uri (string-append
  5236. "https://hackage.haskell.org/package/hasktags/hasktags-"
  5237. version
  5238. ".tar.gz"))
  5239. (sha256
  5240. (base32
  5241. "09p79w16fgpqi6bwq162769xdrnyb7wnmz56k00nz6dj1a0bbbdd"))))
  5242. (build-system haskell-build-system)
  5243. (arguments
  5244. `(#:cabal-revision
  5245. ("1" "0q39ssdgm6lcmqj92frjvr53i34divx53zli0qar39mx8ka1l8ml")))
  5246. (inputs
  5247. (list ghc-system-filepath ghc-optparse-applicative))
  5248. (native-inputs
  5249. (list ghc-json ghc-utf8-string ghc-microlens-platform ghc-hunit))
  5250. (home-page "https://github.com/MarcWeber/hasktags")
  5251. (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
  5252. (description
  5253. "This package provides a means of generating tag files for Emacs and
  5254. Vim.")
  5255. (license license:bsd-3)))
  5256. (define-public ghc-hex
  5257. (package
  5258. (name "ghc-hex")
  5259. (version "0.2.0")
  5260. (source
  5261. (origin
  5262. (method url-fetch)
  5263. (uri (string-append "https://hackage.haskell.org/package/"
  5264. "hex-" version "/"
  5265. "hex-" version ".tar.gz"))
  5266. (sha256
  5267. (base32
  5268. "1mc66758254d93m7vab7q6lhn7qphzxd6wyc3v6yq1diy0gji4va"))))
  5269. (build-system haskell-build-system)
  5270. (home-page "https://hackage.haskell.org/package/hex")
  5271. (synopsis "Convert strings into hexadecimal and back")
  5272. (description "This package converts between bytestrings and their
  5273. hexadecimal string representation.")
  5274. (license license:bsd-3)))
  5275. (define-public ghc-highlighting-kate
  5276. (package
  5277. (name "ghc-highlighting-kate")
  5278. (version "0.6.4")
  5279. (source (origin
  5280. (method url-fetch)
  5281. (uri (string-append "https://hackage.haskell.org/package/"
  5282. "highlighting-kate/highlighting-kate-"
  5283. version ".tar.gz"))
  5284. (sha256
  5285. (base32
  5286. "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
  5287. (build-system haskell-build-system)
  5288. (inputs
  5289. (list ghc-diff ghc-regex-pcre-builtin))
  5290. (native-inputs
  5291. (list ghc-blaze-html ghc-utf8-string))
  5292. (home-page "https://github.com/jgm/highlighting-kate")
  5293. (synopsis "Syntax highlighting library")
  5294. (description
  5295. "Highlighting-kate is a syntax highlighting library with support for
  5296. nearly one hundred languages. The syntax parsers are automatically generated
  5297. from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
  5298. supported by Kate can be added. An (optional) command-line program is
  5299. provided, along with a utility for generating new parsers from Kate XML syntax
  5300. descriptions.")
  5301. (license license:gpl2+)))
  5302. (define-public ghc-hindent
  5303. (package
  5304. (name "ghc-hindent")
  5305. (version "5.3.2")
  5306. (source
  5307. (origin
  5308. (method url-fetch)
  5309. (uri (string-append
  5310. "https://hackage.haskell.org/package/hindent/hindent-"
  5311. version
  5312. ".tar.gz"))
  5313. (sha256
  5314. (base32
  5315. "129gkn8qg68wsd60mq8yk7hrqsc8sd8v56xn41m5ii3hriq1mmv7"))))
  5316. (build-system haskell-build-system)
  5317. (arguments
  5318. `(#:modules ((guix build haskell-build-system)
  5319. (guix build utils)
  5320. (guix build emacs-utils))
  5321. #:imported-modules (,@%haskell-build-system-modules
  5322. (guix build emacs-utils))
  5323. #:phases
  5324. (modify-phases %standard-phases
  5325. (add-after 'install 'emacs-install
  5326. (lambda* (#:key inputs outputs #:allow-other-keys)
  5327. (let* ((out (assoc-ref outputs "out"))
  5328. (elisp-file "elisp/hindent.el")
  5329. (dest (string-append out "/share/emacs/site-lisp"))
  5330. (emacs (search-input-file inputs "/bin/emacs")))
  5331. (make-file-writable elisp-file)
  5332. (emacs-substitute-variables elisp-file
  5333. ("hindent-process-path"
  5334. (string-append out "/bin/hindent")))
  5335. (install-file elisp-file dest)
  5336. (emacs-generate-autoloads "hindent" dest)))))))
  5337. (inputs
  5338. (list ghc-haskell-src-exts
  5339. ghc-monad-loops
  5340. ghc-utf8-string
  5341. ghc-exceptions
  5342. ghc-yaml
  5343. ghc-unix-compat
  5344. ghc-path
  5345. ghc-path-io
  5346. ghc-optparse-applicative))
  5347. (native-inputs
  5348. `(("ghc-hspec" ,ghc-hspec)
  5349. ("ghc-diff" ,ghc-diff)
  5350. ("emacs" ,emacs-minimal)))
  5351. (home-page
  5352. "https://github.com/commercialhaskell/hindent")
  5353. (synopsis "Extensible Haskell pretty printer")
  5354. (description
  5355. "This package provides automatic formatting for Haskell files. Both a
  5356. library and an executable.")
  5357. (license license:bsd-3)))
  5358. (define-public ghc-hinotify
  5359. (package
  5360. (name "ghc-hinotify")
  5361. (version "0.4.1")
  5362. (source (origin
  5363. (method url-fetch)
  5364. (uri (string-append
  5365. "https://hackage.haskell.org/package/hinotify/"
  5366. "hinotify-" version ".tar.gz"))
  5367. (sha256
  5368. (base32
  5369. "06pqfikfa61i45g92b65br83kplwmizqkm42yp8d0ddgmq0b21qk"))))
  5370. (build-system haskell-build-system)
  5371. (inputs
  5372. (list ghc-async))
  5373. (home-page "https://github.com/kolmodin/hinotify.git")
  5374. (synopsis "Haskell binding to inotify")
  5375. (description "This library provides a wrapper to the Linux kernel's inotify
  5376. feature, allowing applications to subscribe to notifications when a file is
  5377. accessed or modified.")
  5378. (license license:bsd-3)))
  5379. (define-public ghc-hledger-lib
  5380. (package
  5381. (name "ghc-hledger-lib")
  5382. (version "1.21")
  5383. (source
  5384. (origin
  5385. (method url-fetch)
  5386. (uri (string-append
  5387. "https://hackage.haskell.org/package/hledger-lib/hledger-lib-"
  5388. version
  5389. ".tar.gz"))
  5390. (sha256
  5391. (base32
  5392. "00prslqk8vnbyz388cpc0nsamzy8xcjzday5q9n3m9lx4p2dhb5y"))))
  5393. (build-system haskell-build-system)
  5394. (inputs
  5395. (list ghc-aeson
  5396. ghc-aeson-pretty
  5397. ghc-ansi-terminal
  5398. ghc-base-compat-batteries
  5399. ghc-blaze-markup
  5400. ghc-call-stack
  5401. ghc-cassava
  5402. ghc-cassava-megaparsec
  5403. ghc-cmdargs
  5404. ghc-data-default
  5405. ghc-decimal
  5406. ghc-extra
  5407. ghc-file-embed
  5408. ghc-glob
  5409. ghc-hashtables
  5410. ghc-megaparsec
  5411. ghc-old-time
  5412. ghc-parser-combinators
  5413. ghc-pretty-simple
  5414. ghc-regex-tdfa
  5415. ghc-safe
  5416. ghc-tabular
  5417. ghc-tasty
  5418. ghc-tasty-hunit
  5419. ghc-timeit
  5420. ghc-uglymemo
  5421. ghc-unordered-containers
  5422. ghc-utf8-string))
  5423. (native-inputs (list ghc-doctest))
  5424. (home-page "https://hledger.org")
  5425. (synopsis "Reusable library providing the core functionality of hledger")
  5426. (description
  5427. "A reusable library containing hledger's core functionality.
  5428. This is used by most hledger* packages so that they support the same common
  5429. file formats, command line options, reports etc.
  5430. hledger is a robust, cross-platform set of tools for tracking money, time, or
  5431. any other commodity, using double-entry accounting and a simple, editable file
  5432. format, with command-line, terminal and web interfaces. It is a Haskell
  5433. rewrite of Ledger, and one of the leading implementations of Plain Text
  5434. Accounting.")
  5435. (license license:gpl3)))
  5436. (define-public ghc-hmatrix
  5437. (package
  5438. (name "ghc-hmatrix")
  5439. (version "0.20.2")
  5440. (source
  5441. (origin
  5442. (method url-fetch)
  5443. (uri (string-append
  5444. "https://hackage.haskell.org/package/hmatrix/hmatrix-"
  5445. version ".tar.gz"))
  5446. (sha256
  5447. (base32 "05462prqkbqpxfbzsgsp8waf0sirg2qz6lzsk7r1ll752n7gqkbg"))))
  5448. (build-system haskell-build-system)
  5449. (arguments
  5450. `(#:extra-directories ("lapack")))
  5451. (inputs
  5452. (list ghc-random
  5453. ghc-split
  5454. ghc-storable-complex
  5455. ghc-semigroups
  5456. ghc-vector
  5457. ;;("openblas" ,openblas)
  5458. lapack))
  5459. ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
  5460. ;; disables inclusion of the LAPACK functions.
  5461. ;; (arguments `(#:configure-flags '("--flags=openblas")))
  5462. (home-page "https://github.com/albertoruiz/hmatrix")
  5463. (synopsis "Haskell numeric linear algebra library")
  5464. (description "The HMatrix package provices a Haskell library for
  5465. dealing with linear systems, matrix decompositions, and other
  5466. numerical computations based on BLAS and LAPACK.")
  5467. (license license:bsd-3)))
  5468. (define-public ghc-hmatrix-gsl
  5469. (package
  5470. (name "ghc-hmatrix-gsl")
  5471. (version "0.19.0.1")
  5472. (source
  5473. (origin
  5474. (method url-fetch)
  5475. (uri (string-append
  5476. "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
  5477. version ".tar.gz"))
  5478. (sha256
  5479. (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
  5480. (build-system haskell-build-system)
  5481. (arguments
  5482. `(#:extra-directories ("gsl")))
  5483. (inputs
  5484. (list ghc-hmatrix ghc-vector ghc-random gsl))
  5485. (native-inputs (list pkg-config))
  5486. (home-page "https://github.com/albertoruiz/hmatrix")
  5487. (synopsis "Haskell GSL binding")
  5488. (description "This Haskell library provides a purely functional
  5489. interface to selected numerical computations, internally implemented
  5490. using GSL.")
  5491. (license license:gpl3+)))
  5492. (define-public ghc-hmatrix-gsl-stats
  5493. (package
  5494. (name "ghc-hmatrix-gsl-stats")
  5495. (version "0.4.1.8")
  5496. (source
  5497. (origin
  5498. (method url-fetch)
  5499. (uri
  5500. (string-append
  5501. "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
  5502. version ".tar.gz"))
  5503. (sha256
  5504. (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
  5505. (build-system haskell-build-system)
  5506. (inputs
  5507. (list ghc-vector ghc-storable-complex ghc-hmatrix gsl))
  5508. (native-inputs (list pkg-config))
  5509. (home-page "http://code.haskell.org/hmatrix-gsl-stats")
  5510. (synopsis "GSL Statistics interface for Haskell")
  5511. (description "This Haskell library provides a purely functional
  5512. interface for statistics based on hmatrix and GSL.")
  5513. (license license:bsd-3)))
  5514. (define-public ghc-hmatrix-special
  5515. (package
  5516. (name "ghc-hmatrix-special")
  5517. (version "0.19.0.0")
  5518. (source
  5519. (origin
  5520. (method url-fetch)
  5521. (uri
  5522. (string-append
  5523. "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
  5524. version ".tar.gz"))
  5525. (sha256
  5526. (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
  5527. (build-system haskell-build-system)
  5528. (inputs
  5529. (list ghc-hmatrix ghc-hmatrix-gsl))
  5530. (home-page "https://github.com/albertoruiz/hmatrix")
  5531. (synopsis "Haskell interface to GSL special functions")
  5532. (description "This library provides an interface to GSL special
  5533. functions for Haskell.")
  5534. (license license:gpl3+)))
  5535. (define-public ghc-hostname
  5536. (package
  5537. (name "ghc-hostname")
  5538. (version "1.0")
  5539. (source
  5540. (origin
  5541. (method url-fetch)
  5542. (uri (string-append "https://hackage.haskell.org/package/hostname/"
  5543. "hostname-" version ".tar.gz"))
  5544. (sha256
  5545. (base32
  5546. "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
  5547. (build-system haskell-build-system)
  5548. (home-page "https://hackage.haskell.org/package/hostname")
  5549. (synopsis "Hostname in Haskell")
  5550. (description "Network.HostName is a simple package providing a means to
  5551. determine the hostname.")
  5552. (license license:bsd-3)))
  5553. (define-public ghc-hourglass
  5554. (package
  5555. (name "ghc-hourglass")
  5556. (version "0.2.12")
  5557. (source (origin
  5558. (method url-fetch)
  5559. (uri (string-append "https://hackage.haskell.org/package/"
  5560. "hourglass/hourglass-" version ".tar.gz"))
  5561. (sha256
  5562. (base32
  5563. "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
  5564. (build-system haskell-build-system)
  5565. (inputs
  5566. (list ghc-old-locale))
  5567. (native-inputs
  5568. (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
  5569. (home-page "https://github.com/vincenthz/hs-hourglass")
  5570. (synopsis "Simple time-related library for Haskell")
  5571. (description
  5572. "This is a simple time library providing a simple but powerful and
  5573. performant API. The backbone of the library are the @code{Timeable} and
  5574. @code{Time} type classes. Each @code{Timeable} instances can be converted to
  5575. a type that has a @code{Time} instances, and thus are different
  5576. representations of current time.")
  5577. (license license:bsd-3)))
  5578. (define-public ghc-hpack
  5579. (package
  5580. (name "ghc-hpack")
  5581. (version "0.34.5")
  5582. (source
  5583. (origin
  5584. (method url-fetch)
  5585. (uri (string-append "https://hackage.haskell.org/package/hpack/"
  5586. "hpack-" version ".tar.gz"))
  5587. (sha256
  5588. (base32
  5589. "0gmm6jgi1sgyilphww6apq1x04grqznm7xhyb7g1rj5j7my40ws2"))))
  5590. (build-system haskell-build-system)
  5591. (inputs
  5592. (list ghc-aeson
  5593. ghc-bifunctors
  5594. ghc-cryptonite
  5595. ghc-glob
  5596. ghc-http-client
  5597. ghc-http-client-tls
  5598. ghc-http-types
  5599. ghc-infer-license
  5600. ghc-scientific
  5601. ghc-unordered-containers
  5602. ghc-vector
  5603. ghc-yaml))
  5604. (native-inputs
  5605. (list ghc-hspec
  5606. ghc-hunit
  5607. ghc-interpolate
  5608. ghc-mockery
  5609. ghc-quickcheck
  5610. ghc-temporary
  5611. hspec-discover))
  5612. (home-page "https://github.com/sol/hpack")
  5613. (synopsis "Tools for an alternative Haskell package format")
  5614. (description
  5615. "Hpack is a format for Haskell packages. It is an alternative to the
  5616. Cabal package format and follows different design principles. Hpack packages
  5617. are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
  5618. @code{stack} support @code{package.yaml} natively. For other build tools the
  5619. @code{hpack} executable can be used to generate a @code{.cabal} file from
  5620. @code{package.yaml}.")
  5621. (license license:expat)))
  5622. (define-public ghc-hspec-megaparsec
  5623. (package
  5624. (name "ghc-hspec-megaparsec")
  5625. (version "2.2.0")
  5626. (source
  5627. (origin
  5628. (method url-fetch)
  5629. (uri (string-append
  5630. "https://hackage.haskell.org/"
  5631. "package/hspec-megaparsec/hspec-megaparsec-"
  5632. version
  5633. ".tar.gz"))
  5634. (sha256
  5635. (base32
  5636. "0hyf06gzzqd6sqd76crwxycwgx804sd39z7i0c2vmv1qgsxv82gn"))))
  5637. (build-system haskell-build-system)
  5638. (inputs
  5639. (list ghc-hspec-expectations ghc-megaparsec))
  5640. (native-inputs
  5641. (list ghc-hspec))
  5642. (home-page "https://github.com/mrkkrp/hspec-megaparsec")
  5643. (synopsis "Utility functions for testing Megaparsec parsers with Hspec")
  5644. (description
  5645. "Provides a small set of helper functions for testing Megaparsec parsers
  5646. with Hspec.")
  5647. (license license:bsd-3)))
  5648. (define-public ghc-hs-bibutils
  5649. (package
  5650. (name "ghc-hs-bibutils")
  5651. (version "6.10.0.0")
  5652. (source
  5653. (origin
  5654. (method url-fetch)
  5655. (uri (string-append
  5656. "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
  5657. version ".tar.gz"))
  5658. (sha256
  5659. (base32
  5660. "1wnpy1v5rbii2iwlcc9psnww8pkirv9zl21s64cmbi6q7dv15g3n"))))
  5661. (build-system haskell-build-system)
  5662. (inputs (list ghc-syb))
  5663. (home-page "https://hackage.haskell.org/package/hs-bibutils")
  5664. (synopsis "Haskell bindings to bibutils")
  5665. (description
  5666. "This package provides Haskell bindings to @code{bibutils}, a library
  5667. that interconverts between various bibliography formats using a common
  5668. MODS-format XML intermediate.")
  5669. (license license:gpl2+)))
  5670. (define-public ghc-hslogger
  5671. (package
  5672. (name "ghc-hslogger")
  5673. (version "1.3.1.0")
  5674. (source
  5675. (origin
  5676. (method url-fetch)
  5677. (uri (string-append "https://hackage.haskell.org/package/"
  5678. "hslogger-" version "/" "hslogger-"
  5679. version ".tar.gz"))
  5680. (sha256 (base32
  5681. "0nyar9xcblx5jwks85y8f4jfy9k1h4ss6rvj4mdbiidrq3v688vz"))))
  5682. (build-system haskell-build-system)
  5683. (arguments
  5684. `(#:cabal-revision
  5685. ("3" "04mda3bwr2a00f5nbkqc84d46lmqfsk3gibzg3amdh74ngb451xq")))
  5686. (inputs
  5687. (list ghc-network ghc-old-locale))
  5688. (native-inputs
  5689. (list ghc-hunit ghc-network-bsd))
  5690. (home-page "https://software.complete.org/hslogger")
  5691. (synopsis "Logging framework for Haskell, similar to Python's logging module")
  5692. (description "Hslogger lets each log message have a priority and source be
  5693. associated with it. The programmer can then define global handlers that route
  5694. or filter messages based on the priority and source. It also has a syslog
  5695. handler built in.")
  5696. (license license:bsd-3)))
  5697. (define-public ghc-hslua
  5698. (package
  5699. (name "ghc-hslua")
  5700. (version "1.3.0.2")
  5701. (source (origin
  5702. (method url-fetch)
  5703. (uri (string-append "https://hackage.haskell.org/package/"
  5704. "hslua/hslua-" version ".tar.gz"))
  5705. (sha256
  5706. (base32
  5707. "0p39xm0mmxzs5x6aim11qkb7npn0d9h7li2kwfhry0dijd1vm18i"))))
  5708. (build-system haskell-build-system)
  5709. (arguments
  5710. `(#:configure-flags '("-fsystem-lua")
  5711. #:extra-directories ("lua")))
  5712. (inputs
  5713. (list lua ghc-base-compat))
  5714. (native-inputs
  5715. (list ghc-tasty
  5716. ghc-tasty-hunit
  5717. ghc-tasty-quickcheck
  5718. ghc-quickcheck
  5719. ghc-quickcheck-instances
  5720. ghc-fail
  5721. ghc-semigroups))
  5722. (home-page "https://hackage.haskell.org/package/hslua")
  5723. (synopsis "Lua language interpreter embedding in Haskell")
  5724. (description
  5725. "The Scripting.Lua module is a wrapper of the Lua language interpreter as
  5726. described in @url{https://www.lua.org/}.")
  5727. (license license:expat)))
  5728. (define-public ghc-hslua-module-system
  5729. (package
  5730. (name "ghc-hslua-module-system")
  5731. (version "0.2.2.1")
  5732. (source
  5733. (origin
  5734. (method url-fetch)
  5735. (uri (string-append "https://hackage.haskell.org/package/"
  5736. "hslua-module-system/hslua-module-system-"
  5737. version ".tar.gz"))
  5738. (sha256
  5739. (base32
  5740. "0hk2splyasbplnggknjhlb423axc5b32xq8aq8zal4vvwlqhzvf1"))))
  5741. (build-system haskell-build-system)
  5742. (inputs
  5743. (list ghc-hslua ghc-temporary))
  5744. (native-inputs
  5745. (list ghc-tasty ghc-tasty-lua ghc-tasty-hunit))
  5746. (home-page "https://github.com/hslua/hslua-module-system")
  5747. (synopsis "Lua module wrapper around Haskell's System module")
  5748. (description "This library provides access to system information and
  5749. functionality to Lua scripts via Haskell's @code{System} module. Intended
  5750. usage for this package is to preload it by adding the loader function to
  5751. @code{package.preload}. Note that the Lua @code{package} library must have
  5752. already been loaded before the loader can be added.")
  5753. (license license:expat)))
  5754. (define-public ghc-hslua-module-text
  5755. (package
  5756. (name "ghc-hslua-module-text")
  5757. (version "0.3.0.1")
  5758. (source
  5759. (origin
  5760. (method url-fetch)
  5761. (uri (string-append "https://hackage.haskell.org/package/"
  5762. "hslua-module-text/hslua-module-text-"
  5763. version ".tar.gz"))
  5764. (sha256
  5765. (base32
  5766. "1vmd15n905i2pcsx748hz3h9kv5nnv74y663rj57q8mp0b40cbfl"))))
  5767. (build-system haskell-build-system)
  5768. (inputs
  5769. (list ghc-hslua))
  5770. (native-inputs
  5771. (list ghc-tasty ghc-tasty-lua ghc-tasty-hunit))
  5772. (home-page "https://github.com/hslua/hslua-module-text")
  5773. (synopsis "Lua module for text")
  5774. (description
  5775. "This package provides a UTF-8 aware subset of Lua's @code{string} module
  5776. for Haskell. The functions provided by this module are @code{upper},
  5777. @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
  5778. (license license:expat)))
  5779. (define-public ghc-hsyaml
  5780. (package
  5781. (name "ghc-hsyaml")
  5782. (version "0.2.1.0")
  5783. (source
  5784. (origin
  5785. (method url-fetch)
  5786. (uri (string-append "https://hackage.haskell.org/package/"
  5787. "HsYAML/HsYAML-" version ".tar.gz"))
  5788. (sha256
  5789. (base32
  5790. "10qzhsg789h37q22hm9p27dx4rhbykcbxp7p3pvkws8fr7ajgxv0"))))
  5791. (build-system haskell-build-system)
  5792. (arguments
  5793. `(#:tests? #f ; TODO: Loops.
  5794. #:cabal-revision
  5795. ("2" "0f7867jfzlmlqnkv3fjrzjvvfzjlvhbm10kmg7n0qk69ic8grkbc")))
  5796. ; (native-inputs
  5797. ; `(("ghc-hsyaml" ,ghc-hsyaml)
  5798. ; ("ghc-quickcheck" ,ghc-quickcheck)
  5799. ; ("ghc-tasty" ,ghc-tasty)
  5800. ; ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
  5801. (home-page "https://github.com/haskell-hvr/HsYAML")
  5802. (synopsis "Pure Haskell YAML 1.2 parser")
  5803. (description "This library provides a
  5804. @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
  5805. for Haskell. Its features include:
  5806. @itemize
  5807. @item Pure Haskell implementation with small dependency footprint and
  5808. emphasis on strict compliance with the YAML 1.2 specification.
  5809. @item Direct decoding to native Haskell types via (aeson-inspired)
  5810. typeclass-based API (see @code{Data.YAML}).
  5811. @item Support for constructing custom YAML node graph
  5812. representation (including support for cyclic YAML data structures).
  5813. @item Support for the standard (untyped) @emph{Failsafe}, (strict)
  5814. @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
  5815. typing rules as defined in the YAML 1.2 specification (including support
  5816. for user-defined custom schemas).
  5817. @item Event-based API resembling LibYAML's Event-based API (see
  5818. @code{Data.YAML.Event}).
  5819. @item Low-level API access to lexical token-based scanner (see
  5820. @code{Data.YAML.Token}).
  5821. @end itemize")
  5822. (license license:gpl2+)))
  5823. (define-public ghc-http-api-data
  5824. (package
  5825. (name "ghc-http-api-data")
  5826. (version "0.4.2")
  5827. (source
  5828. (origin
  5829. (method url-fetch)
  5830. (uri (string-append "https://hackage.haskell.org/package/"
  5831. "http-api-data-" version "/"
  5832. "http-api-data-" version ".tar.gz"))
  5833. (sha256
  5834. (base32
  5835. "0xzfvxxh33ivlnrnzmm19cni3jgb5ph18n9hykkw3d6l3rhwzcnl"))))
  5836. (build-system haskell-build-system)
  5837. (inputs (list ghc-attoparsec
  5838. ghc-attoparsec-iso8601
  5839. ghc-cookie
  5840. ghc-hashable
  5841. ghc-http-types
  5842. ghc-time-compat
  5843. ghc-unordered-containers
  5844. ghc-uuid-types))
  5845. (native-inputs
  5846. (list cabal-doctest
  5847. ghc-nats
  5848. ghc-hunit
  5849. ghc-hspec
  5850. ghc-quickcheck
  5851. ghc-quickcheck-instances
  5852. ghc-doctest
  5853. hspec-discover))
  5854. (home-page "https://github.com/fizruk/http-api-data")
  5855. (synopsis "Convert to/from HTTP API data like URL pieces, headers and
  5856. query parameters")
  5857. (description "This Haskell package defines typeclasses used for converting
  5858. Haskell data types to and from HTTP API data.")
  5859. (license license:bsd-3)))
  5860. (define-public ghc-ieee754
  5861. (package
  5862. (name "ghc-ieee754")
  5863. (version "0.8.0")
  5864. (source (origin
  5865. (method url-fetch)
  5866. (uri (string-append
  5867. "https://hackage.haskell.org/package/ieee754/"
  5868. "ieee754-" version ".tar.gz"))
  5869. (sha256
  5870. (base32
  5871. "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
  5872. (build-system haskell-build-system)
  5873. (home-page "https://github.com/patperry/hs-ieee754")
  5874. (synopsis "Utilities for dealing with IEEE floating point numbers")
  5875. (description "Utilities for dealing with IEEE floating point numbers,
  5876. ported from the Tango math library; approximate and exact equality comparisons
  5877. for general types.")
  5878. (license license:bsd-3)))
  5879. (define-public ghc-ifelse
  5880. (package
  5881. (name "ghc-ifelse")
  5882. (version "0.85")
  5883. (source
  5884. (origin
  5885. (method url-fetch)
  5886. (uri (string-append "https://hackage.haskell.org/package/"
  5887. "IfElse/IfElse-" version ".tar.gz"))
  5888. (sha256
  5889. (base32
  5890. "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
  5891. (build-system haskell-build-system)
  5892. (home-page "https://hackage.haskell.org/package/IfElse")
  5893. (synopsis "Monadic control flow with anaphoric variants")
  5894. (description "This library provides functions for control flow inside of
  5895. monads with anaphoric variants on @code{if} and @code{when} and a C-like
  5896. @code{switch} function.")
  5897. (license license:bsd-3)))
  5898. (define-public ghc-indents
  5899. (package
  5900. (name "ghc-indents")
  5901. (version "0.5.0.1")
  5902. (source (origin
  5903. (method url-fetch)
  5904. (uri (string-append
  5905. "https://hackage.haskell.org/package/indents/indents-"
  5906. version ".tar.gz"))
  5907. (sha256
  5908. (base32
  5909. "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
  5910. (build-system haskell-build-system)
  5911. ;; This package needs an older version of tasty.
  5912. (arguments '(#:tests? #f))
  5913. (inputs
  5914. (list ghc-concatenative))
  5915. (native-inputs
  5916. (list ghc-tasty ghc-tasty-hunit))
  5917. (home-page "https://github.com/jaspervdj/indents")
  5918. (synopsis "Indentation sensitive parser-combinators for parsec")
  5919. (description
  5920. "This library provides functions for use in parsing indentation sensitive
  5921. contexts. It parses blocks of lines all indented to the same level as well as
  5922. lines continued at an indented level below.")
  5923. (license license:bsd-3)))
  5924. (define-public ghc-infer-license
  5925. (package
  5926. (name "ghc-infer-license")
  5927. (version "0.2.0")
  5928. (source
  5929. (origin
  5930. (method url-fetch)
  5931. (uri (string-append "https://hackage.haskell.org/package/"
  5932. "infer-license/infer-license-" version ".tar.gz"))
  5933. (sha256
  5934. (base32
  5935. "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
  5936. (build-system haskell-build-system)
  5937. (inputs
  5938. (list ghc-text-metrics))
  5939. (native-inputs
  5940. (list ghc-hspec hspec-discover))
  5941. (home-page "https://hackage.haskell.org/package/infer-license")
  5942. (synopsis "Infer software license from a given license file")
  5943. (description "This library provides tools to infer a software
  5944. license from a given license file.")
  5945. (license license:expat)))
  5946. (define-public ghc-ini
  5947. (package
  5948. (name "ghc-ini")
  5949. (version "0.4.1")
  5950. (source
  5951. (origin
  5952. (method url-fetch)
  5953. (uri (string-append "https://hackage.haskell.org/package/"
  5954. "ini/ini-" version ".tar.gz"))
  5955. (sha256
  5956. (base32 "0mvwii8jbh2ll54qb9dij5m66c6324s2y4vrwz1qr4wz40m3qa8l"))))
  5957. (build-system haskell-build-system)
  5958. (native-inputs (list ghc-hspec))
  5959. (inputs
  5960. (list ghc-attoparsec ghc-unordered-containers))
  5961. (home-page "https://github.com/chrisdone/ini")
  5962. (synopsis
  5963. "Haskell library to easily handle configuration files in the INI format")
  5964. (description
  5965. "The @code{ghc-ini} Haskell library lets programmers quickly and easily
  5966. read and write configuration files in the simple INI format.")
  5967. (license license:bsd-3)))
  5968. (define-public ghc-inline-c
  5969. (package
  5970. (name "ghc-inline-c")
  5971. (version "0.9.1.5")
  5972. (source
  5973. (origin
  5974. (method url-fetch)
  5975. (uri (string-append "https://hackage.haskell.org/package/inline-c/"
  5976. "inline-c-" version ".tar.gz"))
  5977. (sha256
  5978. (base32
  5979. "0a0m3bhh910c5g46cwkxgflsgw5ab7lzymwll9hijyvwgnsw3h7i"))))
  5980. (build-system haskell-build-system)
  5981. (inputs
  5982. (list ghc-ansi-wl-pprint ghc-hashable ghc-parsers
  5983. ghc-unordered-containers ghc-vector))
  5984. (native-inputs
  5985. (list ghc-quickcheck ghc-hspec ghc-raw-strings-qq ghc-regex-posix
  5986. ghc-split))
  5987. (home-page "https://hackage.haskell.org/package/inline-c")
  5988. (synopsis "Write Haskell source files including C code inline")
  5989. (description
  5990. "inline-c lets you seamlessly call C libraries and embed high-performance
  5991. inline C code in Haskell modules. Haskell and C can be freely intermixed in
  5992. the same source file, and data passed to and from code in either language with
  5993. minimal overhead. No FFI required.")
  5994. (license license:expat)))
  5995. (define-public ghc-inline-c-cpp
  5996. (package
  5997. (name "ghc-inline-c-cpp")
  5998. (version "0.4.0.3")
  5999. (source
  6000. (origin
  6001. (method url-fetch)
  6002. (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
  6003. "inline-c-cpp-" version ".tar.gz"))
  6004. (sha256
  6005. (base32
  6006. "0bqrhyic3cw1pqg7knsmkqx5swpr4kvf9bmz0mhmqbl6brmv5il0"))))
  6007. (build-system haskell-build-system)
  6008. (inputs
  6009. (list ghc-inline-c ghc-safe-exceptions))
  6010. (native-inputs
  6011. (list ghc-hspec))
  6012. (home-page "https://hackage.haskell.org/package/inline-c-cpp")
  6013. (synopsis "Lets you embed C++ code into Haskell")
  6014. (description
  6015. "This package provides utilities to inline C++ code into Haskell using
  6016. @code{inline-c}.")
  6017. (license license:expat)))
  6018. (define-public ghc-integer-logarithms
  6019. (package
  6020. (name "ghc-integer-logarithms")
  6021. (version "1.0.3.1")
  6022. (source
  6023. (origin
  6024. (method url-fetch)
  6025. (uri (string-append "https://hackage.haskell.org/package/"
  6026. "integer-logarithms/integer-logarithms-"
  6027. version ".tar.gz"))
  6028. (sha256
  6029. (base32
  6030. "0zzapclfabc76g8jzsbsqwdllx2zn0gp4raq076ib6v0mfgry2lv"))))
  6031. (build-system haskell-build-system)
  6032. (arguments `(#:tests? #f)) ; TODO: Needs tasty<1.4
  6033. (native-inputs
  6034. (list ghc-quickcheck
  6035. ghc-smallcheck
  6036. ghc-tasty
  6037. ghc-tasty-hunit
  6038. ghc-tasty-quickcheck
  6039. ghc-tasty-smallcheck))
  6040. (home-page "https://github.com/Bodigrim/integer-logarithms")
  6041. (synopsis "Integer logarithms")
  6042. (description
  6043. "This package provides the following modules:
  6044. @code{Math.NumberTheory.Logarithms} and
  6045. @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
  6046. @code{GHC.Integer.Logarithms.Compat} and
  6047. @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
  6048. in migrated modules.")
  6049. (license license:expat)))
  6050. (define-public ghc-integer-logarithms-bootstrap
  6051. (package
  6052. (inherit ghc-integer-logarithms)
  6053. (name "ghc-integer-logarithms-bootstrap")
  6054. (arguments `(#:tests? #f))
  6055. (native-inputs '())
  6056. (properties '((hidden? #t)))))
  6057. (define-public ghc-interpolate
  6058. (package
  6059. (name "ghc-interpolate")
  6060. (version "0.2.1")
  6061. (source
  6062. (origin
  6063. (method url-fetch)
  6064. (uri (string-append "https://hackage.haskell.org/package/interpolate/"
  6065. "interpolate-" version ".tar.gz"))
  6066. (sha256
  6067. (base32
  6068. "03jrkj9c62w0c2awym8mhpsgpd0jffl50cqwfrm7bbdfhd8dsxi7"))))
  6069. (build-system haskell-build-system)
  6070. (inputs
  6071. (list ghc-haskell-src-meta))
  6072. (native-inputs
  6073. (list ghc-base-compat ghc-hspec ghc-quickcheck
  6074. ghc-quickcheck-instances hspec-discover))
  6075. (home-page "https://github.com/sol/interpolate")
  6076. (synopsis "String interpolation library")
  6077. (description "This package provides a string interpolation library for
  6078. Haskell.")
  6079. (license license:expat)))
  6080. (define-public ghc-intervalmap
  6081. (package
  6082. (name "ghc-intervalmap")
  6083. (version "0.6.1.2")
  6084. (source
  6085. (origin
  6086. (method url-fetch)
  6087. (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
  6088. "IntervalMap-" version ".tar.gz"))
  6089. (sha256
  6090. (base32
  6091. "03smzhwk1zf5na544b0azp49j4gvafqsih9ggwf6yng38yhixwld"))))
  6092. (build-system haskell-build-system)
  6093. (native-inputs
  6094. (list ghc-quickcheck))
  6095. (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
  6096. (synopsis "Containers for intervals, with efficient search")
  6097. (description
  6098. "This package provides ordered containers of intervals, with efficient
  6099. search for all keys containing a point or overlapping an interval. See the
  6100. example code on the home page for a quick introduction.")
  6101. (license license:bsd-3)))
  6102. (define-public ghc-intervals
  6103. (package
  6104. (name "ghc-intervals")
  6105. (version "0.9.2")
  6106. (source
  6107. (origin
  6108. (method url-fetch)
  6109. (uri (string-append "https://hackage.haskell.org/package/"
  6110. "intervals/intervals-" version ".tar.gz"))
  6111. (sha256
  6112. (base32
  6113. "1qibvgys8lw61x9na3iy3dcglyj9qyhcbfc00glnagl7cbk1shlv"))))
  6114. (build-system haskell-build-system)
  6115. (inputs
  6116. (list ghc-distributive))
  6117. (native-inputs
  6118. (list ghc-quickcheck))
  6119. (home-page "https://github.com/ekmett/intervals")
  6120. (synopsis "Interval arithmetic")
  6121. (description "This library provides @code{Numeric.Interval.Interval},
  6122. which represets a closed, convex set of floating point values.")
  6123. (license license:bsd-3)))
  6124. (define-public ghc-invariant
  6125. (package
  6126. (name "ghc-invariant")
  6127. (version "0.5.4")
  6128. (source
  6129. (origin
  6130. (method url-fetch)
  6131. (uri (string-append
  6132. "https://hackage.haskell.org/package/invariant/invariant-"
  6133. version ".tar.gz"))
  6134. (sha256
  6135. (base32
  6136. "1jlp0gbfjsx7k08275djh8m3v4rpg8llw5gdkg9s9qfx0lc0mymr"))))
  6137. (build-system haskell-build-system)
  6138. (inputs
  6139. (list ghc-bifunctors
  6140. ghc-comonad
  6141. ghc-contravariant
  6142. ghc-profunctors
  6143. ghc-semigroups
  6144. ghc-statevar
  6145. ghc-tagged
  6146. ghc-th-abstraction
  6147. ghc-transformers-compat
  6148. ghc-unordered-containers))
  6149. (native-inputs
  6150. (list ghc-hspec ghc-quickcheck hspec-discover))
  6151. (home-page "https://github.com/nfrisby/invariant-functors")
  6152. (synopsis "Haskell98 invariant functors")
  6153. (description "Haskell98 invariant functors (also known as exponential
  6154. functors). For more information, see Edward Kmett's article
  6155. @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
  6156. (license license:bsd-2)))
  6157. (define-public ghc-io-streams
  6158. (package
  6159. (name "ghc-io-streams")
  6160. (version "1.5.2.1")
  6161. (source
  6162. (origin
  6163. (method url-fetch)
  6164. (uri (string-append "https://hackage.haskell.org/package/"
  6165. "io-streams/io-streams-" version ".tar.gz"))
  6166. (sha256
  6167. (base32
  6168. "1y3sqmxrwiksz7pl4hf3vzvg8p8n00qnv98nj5xbpcadlh468rny"))))
  6169. (build-system haskell-build-system)
  6170. (inputs
  6171. (list ghc-attoparsec
  6172. ghc-bytestring-builder
  6173. ghc-network
  6174. ghc-primitive
  6175. ghc-vector
  6176. ghc-zlib-bindings))
  6177. (native-inputs
  6178. (list ghc-hunit
  6179. ghc-quickcheck
  6180. ghc-test-framework
  6181. ghc-test-framework-hunit
  6182. ghc-test-framework-quickcheck2
  6183. ghc-zlib))
  6184. (home-page "https://hackage.haskell.org/package/io-streams")
  6185. (synopsis "Simple and composable stream I/O")
  6186. (description "This library contains simple and easy-to-use
  6187. primitives for I/O using streams.")
  6188. (license license:bsd-3)))
  6189. (define-public ghc-io-streams-haproxy
  6190. (package
  6191. (name "ghc-io-streams-haproxy")
  6192. (version "1.0.1.0")
  6193. (source
  6194. (origin
  6195. (method url-fetch)
  6196. (uri (string-append "https://hackage.haskell.org/package/"
  6197. "io-streams-haproxy/io-streams-haproxy-"
  6198. version ".tar.gz"))
  6199. (sha256
  6200. (base32
  6201. "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
  6202. (build-system haskell-build-system)
  6203. (arguments
  6204. `(#:cabal-revision
  6205. ("3" "02k9halblgnynlm781ahc81yxla8z7cck1gikm8555v78rf5hv7x")))
  6206. (inputs
  6207. (list ghc-attoparsec ghc-io-streams ghc-network))
  6208. (native-inputs
  6209. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
  6210. (home-page "http://snapframework.com/")
  6211. (synopsis "HAProxy protocol 1.5 support for io-streams")
  6212. (description "HAProxy protocol version 1.5 support
  6213. (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
  6214. for applications using io-streams. The proxy protocol allows information
  6215. about a networked peer (like remote address and port) to be propagated
  6216. through a forwarding proxy that is configured to speak this protocol.")
  6217. (license license:bsd-3)))
  6218. (define-public ghc-iproute
  6219. (package
  6220. (name "ghc-iproute")
  6221. (version "1.7.11")
  6222. (source
  6223. (origin
  6224. (method url-fetch)
  6225. (uri (string-append
  6226. "https://hackage.haskell.org/package/iproute/iproute-"
  6227. version
  6228. ".tar.gz"))
  6229. (sha256
  6230. (base32
  6231. "12wa59b1zgjqp8dmygq2x44ml0cb89fhn1k0zkj4aqz7rhkwsp90"))))
  6232. (build-system haskell-build-system)
  6233. (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
  6234. ; exported by ghc-byteorder. Doctest issue.
  6235. (inputs
  6236. (list ghc-appar ghc-byteorder ghc-network ghc-safe))
  6237. (home-page "https://www.mew.org/~kazu/proj/iproute/")
  6238. (synopsis "IP routing table")
  6239. (description "IP Routing Table is a tree of IP ranges to search one of
  6240. them on the longest match base. It is a kind of TRIE with one way branching
  6241. removed. Both IPv4 and IPv6 are supported.")
  6242. (license license:bsd-3)))
  6243. (define-public ghc-ipynb
  6244. (package
  6245. (name "ghc-ipynb")
  6246. (version "0.1.0.2")
  6247. (source
  6248. (origin
  6249. (method url-fetch)
  6250. (uri (string-append "https://hackage.haskell.org/package/"
  6251. "ipynb/ipynb-" version ".tar.gz"))
  6252. (sha256
  6253. (base32
  6254. "0qky4l5aaiq7ypwbxh0mr7s572290fi596f18dg68qpyzc49a9kx"))))
  6255. (build-system haskell-build-system)
  6256. (inputs
  6257. (list ghc-unordered-containers ghc-base64-bytestring ghc-aeson
  6258. ghc-semigroups))
  6259. (native-inputs
  6260. (list ghc-tasty ghc-tasty-hunit ghc-microlens-aeson ghc-microlens))
  6261. (home-page "https://hackage.haskell.org/package/ipynb")
  6262. (synopsis "Data structure for working with Jupyter notebooks")
  6263. (description "This library defines a data structure for representing
  6264. Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
  6265. instances for conversion to and from JSON .ipynb files.")
  6266. (license license:bsd-3)))
  6267. (define-public ghc-iwlib
  6268. (package
  6269. (name "ghc-iwlib")
  6270. (version "0.1.0")
  6271. (source
  6272. (origin
  6273. (method url-fetch)
  6274. (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
  6275. version ".tar.gz"))
  6276. (sha256
  6277. (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
  6278. (build-system haskell-build-system)
  6279. (arguments
  6280. `(#:extra-directories ("wireless-tools")))
  6281. (inputs
  6282. (list wireless-tools))
  6283. (home-page "https://github.com/jaor/iwlib")
  6284. (synopsis "Haskell binding to the iw wireless networking library")
  6285. (description
  6286. "IWlib is a thin Haskell binding to the iw C library. It provides
  6287. information about the current wireless network connections, and adapters on
  6288. supported systems.")
  6289. (license license:bsd-3)))
  6290. (define-public ghc-json
  6291. (package
  6292. (name "ghc-json")
  6293. (version "0.10")
  6294. (source
  6295. (origin
  6296. (method url-fetch)
  6297. (uri (string-append "https://hackage.haskell.org/package/json/"
  6298. "json-" version ".tar.gz"))
  6299. (sha256
  6300. (base32
  6301. "1fjnd2r4gl2hfqx158db3cn3rsyin4ch7rf9scb2hcy90cy6l10c"))))
  6302. (build-system haskell-build-system)
  6303. (arguments
  6304. `(#:cabal-revision
  6305. ("1" "16fp0y95gaibjravzj1hxdkng1cr8zqjqzd14m48kf4jrq3npz6r")))
  6306. (inputs
  6307. (list ghc-syb))
  6308. (home-page "https://hackage.haskell.org/package/json")
  6309. (synopsis "Serializes Haskell data to and from JSON")
  6310. (description "This package provides a parser and pretty printer for
  6311. converting between Haskell values and JSON. @acronym{JavaScript Object
  6312. Notation, JSON} is a lightweight data-interchange format.")
  6313. (license license:bsd-3)))
  6314. (define-public ghc-juicypixels
  6315. (package
  6316. (name "ghc-juicypixels")
  6317. (version "3.3.6")
  6318. (source (origin
  6319. (method url-fetch)
  6320. (uri (string-append "https://hackage.haskell.org/package/"
  6321. "JuicyPixels/JuicyPixels-"
  6322. version ".tar.gz"))
  6323. (sha256
  6324. (base32
  6325. "1f8giivsqxma19ax78dr7j4gir12iyfqn2mlsd27zzl8dn7dy6w1"))))
  6326. (build-system haskell-build-system)
  6327. (outputs '("out" "static" "doc"))
  6328. (inputs
  6329. (list ghc-zlib ghc-vector ghc-primitive))
  6330. (home-page "https://github.com/Twinside/Juicy.Pixels")
  6331. (synopsis "Picture loading and serialization library")
  6332. (description
  6333. "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
  6334. TIFF and GIF formats.")
  6335. (license license:bsd-3)))
  6336. (define-public ghc-kan-extensions
  6337. (package
  6338. (name "ghc-kan-extensions")
  6339. (version "5.2.3")
  6340. (source
  6341. (origin
  6342. (method url-fetch)
  6343. (uri (string-append
  6344. "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
  6345. version
  6346. ".tar.gz"))
  6347. (sha256
  6348. (base32
  6349. "1rkjxwc2k2425d2shdra6wzd4f4dpj76hxmq8mish4f0lz9gxxml"))))
  6350. (build-system haskell-build-system)
  6351. (inputs
  6352. (list ghc-adjunctions
  6353. ghc-comonad
  6354. ghc-contravariant
  6355. ghc-distributive
  6356. ghc-free
  6357. ghc-invariant
  6358. ghc-semigroupoids
  6359. ghc-tagged
  6360. ghc-transformers-compat))
  6361. (home-page "https://github.com/ekmett/kan-extensions/")
  6362. (synopsis "Kan extensions library")
  6363. (description "This library provides Kan extensions, Kan lifts, various
  6364. forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
  6365. (license license:bsd-3)))
  6366. (define-public ghc-language-c
  6367. (package
  6368. (name "ghc-language-c")
  6369. (version "0.8.3")
  6370. (source
  6371. (origin
  6372. (method url-fetch)
  6373. (uri (string-append "https://hackage.haskell.org/package/"
  6374. "language-c/language-c-" version ".tar.gz"))
  6375. (sha256
  6376. (base32
  6377. "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
  6378. (build-system haskell-build-system)
  6379. (inputs (list ghc-syb))
  6380. (native-inputs
  6381. (list ghc-happy ghc-alex))
  6382. (home-page "https://visq.github.io/language-c/")
  6383. (synopsis "Analysis and generation of C code")
  6384. (description
  6385. "Language C is a Haskell library for the analysis and generation of C code.
  6386. It features a complete, well-tested parser and pretty printer for all of C99
  6387. and a large set of GNU extensions.")
  6388. (license license:bsd-3)))
  6389. (define-public ghc-language-glsl
  6390. (package
  6391. (name "ghc-language-glsl")
  6392. (version "0.3.0")
  6393. (source
  6394. (origin
  6395. (method url-fetch)
  6396. (uri (string-append "https://hackage.haskell.org/package/"
  6397. "language-glsl/language-glsl-" version ".tar.gz"))
  6398. (sha256
  6399. (base32
  6400. "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
  6401. (build-system haskell-build-system)
  6402. (inputs (list ghc-prettyclass))
  6403. (arguments
  6404. `(#:tests? #f
  6405. #:cabal-revision
  6406. ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
  6407. (home-page "https://hackage.haskell.org/package/language-glsl")
  6408. (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
  6409. (description "This package is a Haskell library for the
  6410. representation, parsing, and pretty-printing of GLSL 1.50 code.")
  6411. (license license:bsd-3)))
  6412. (define-public ghc-language-haskell-extract
  6413. (package
  6414. (name "ghc-language-haskell-extract")
  6415. (version "0.2.4")
  6416. (source
  6417. (origin
  6418. (method url-fetch)
  6419. (uri (string-append "https://hackage.haskell.org/package/"
  6420. "language-haskell-extract-" version "/"
  6421. "language-haskell-extract-" version ".tar.gz"))
  6422. (patches (search-patches "ghc-language-haskell-extract-ghc-8.10.patch"))
  6423. (sha256
  6424. (base32
  6425. "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
  6426. (build-system haskell-build-system)
  6427. (arguments
  6428. `(#:cabal-revision
  6429. ("1" "1chx4g8ngb1hpyh3r9rbl8rkjkm67klms4wmw3p1g2llg47vvqip")
  6430. #:phases
  6431. (modify-phases %standard-phases
  6432. (add-before 'configure 'update-constraints
  6433. (lambda _
  6434. (substitute* "language-haskell-extract.cabal"
  6435. (("(template-haskell)\\s+[^,]+" all dep)
  6436. dep)))))))
  6437. (inputs
  6438. (list ghc-regex-posix ghc-template-haskell))
  6439. (home-page "https://github.com/finnsson/template-helper")
  6440. (synopsis "Haskell module to automatically extract functions from
  6441. the local code")
  6442. (description "This package contains helper functions on top of
  6443. Template Haskell.
  6444. For example, @code{functionExtractor} extracts all functions after a
  6445. regexp-pattern, which can be useful if you wish to extract all functions
  6446. beginning with @code{test} (for a test framework) or all functions beginning
  6447. with @code{wc} (for a web service).")
  6448. (license license:bsd-3)))
  6449. (define-public ghc-lens
  6450. (package
  6451. (name "ghc-lens")
  6452. (version "4.19.2")
  6453. (source
  6454. (origin
  6455. (method url-fetch)
  6456. (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
  6457. version ".tar.gz"))
  6458. (sha256
  6459. (base32
  6460. "0fy2vr5r11cc6ana8m2swqgs3zals4kims55vd6119bi76p5iy2j"))))
  6461. (build-system haskell-build-system)
  6462. (arguments
  6463. `(#:tests? #f ; TODO: Needs vector<0.12.2
  6464. #:cabal-revision
  6465. ("6" "1k08my9rh1il3ibiyhljxkgndfgk143pn5a6nyzjnckw3la09myl")))
  6466. (outputs '("out" "static" "doc"))
  6467. (inputs
  6468. (list ghc-base-orphans
  6469. ghc-bifunctors
  6470. ghc-distributive
  6471. ghc-exceptions
  6472. ghc-free
  6473. ghc-kan-extensions
  6474. ghc-parallel
  6475. ghc-reflection
  6476. ghc-semigroupoids
  6477. ghc-vector
  6478. ghc-call-stack
  6479. ghc-comonad
  6480. ghc-contravariant
  6481. ghc-hashable
  6482. ghc-profunctors
  6483. ghc-semigroups
  6484. ghc-tagged
  6485. ghc-transformers-compat
  6486. ghc-unordered-containers
  6487. ghc-void
  6488. ghc-generic-deriving
  6489. ghc-nats
  6490. ghc-simple-reflect
  6491. hlint))
  6492. (native-inputs
  6493. (list cabal-doctest
  6494. ghc-doctest
  6495. ghc-hunit
  6496. ghc-test-framework
  6497. ghc-test-framework-hunit
  6498. ghc-test-framework-quickcheck2
  6499. ghc-quickcheck))
  6500. (home-page "https://github.com/ekmett/lens/")
  6501. (synopsis "Lenses, Folds and Traversals")
  6502. (description "This library provides @code{Control.Lens}. The combinators
  6503. in @code{Control.Lens} provide a highly generic toolbox for composing families
  6504. of getters, folds, isomorphisms, traversals, setters and lenses and their
  6505. indexed variants.")
  6506. (license license:bsd-3)))
  6507. (define-public ghc-lens-family-core
  6508. (package
  6509. (name "ghc-lens-family-core")
  6510. (version "2.0.0")
  6511. (source
  6512. (origin
  6513. (method url-fetch)
  6514. (uri (string-append
  6515. "https://hackage.haskell.org/package/lens-family-core/lens-family-core-"
  6516. version
  6517. ".tar.gz"))
  6518. (sha256
  6519. (base32
  6520. "0ni6s873hy2h3b316835ssmlyr05yinb3a8jq5b01p9ppp9zrd0r"))))
  6521. (build-system haskell-build-system)
  6522. (home-page
  6523. "http://hackage.haskell.org/package/lens-family-core")
  6524. (synopsis "Haskell 98 Lens Families")
  6525. (description
  6526. "This package provides first class functional references. In addition to
  6527. the usual operations of getting, setting and composition, plus integration
  6528. with the state monad, lens families provide some unique features:
  6529. @itemize
  6530. @item Polymorphic updating
  6531. @item Traversals
  6532. @item Cast projection functions to read-only lenses
  6533. @item Cast @code{toList} functions to read-only traversals
  6534. @item Cast semantic editor combinators to modify-only traversals
  6535. @end itemize
  6536. For optimal first-class support use the lens-family package with rank 2/rank N
  6537. polymorphism. @code{Lens.Family.Clone} allows for first-class support of
  6538. lenses and traversals for those who require Haskell 98.")
  6539. (license license:bsd-3)))
  6540. (define-public ghc-libffi
  6541. (package
  6542. (name "ghc-libffi")
  6543. (version "0.1")
  6544. (source
  6545. (origin
  6546. (method url-fetch)
  6547. (uri (string-append "https://hackage.haskell.org/package/"
  6548. "libffi/libffi-" version ".tar.gz"))
  6549. (sha256
  6550. (base32
  6551. "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
  6552. (build-system haskell-build-system)
  6553. (native-inputs (list pkg-config))
  6554. (inputs (list libffi))
  6555. (home-page "https://hackage.haskell.org/package/libffi")
  6556. (synopsis "Haskell binding to libffi")
  6557. (description
  6558. "A binding to libffi, allowing C functions of types only known at runtime
  6559. to be called from Haskell.")
  6560. (license license:bsd-3)))
  6561. (define-public ghc-libmpd
  6562. (package
  6563. (name "ghc-libmpd")
  6564. (version "0.10.0.0")
  6565. (source
  6566. (origin
  6567. (method url-fetch)
  6568. (uri (string-append
  6569. "https://hackage.haskell.org/package/libmpd/libmpd-"
  6570. version
  6571. ".tar.gz"))
  6572. (sha256
  6573. (base32
  6574. "088vlir0n3wps2p5ydgyx51p41nfjcm2v02sszpyjj3c8z7f4qkh"))))
  6575. (build-system haskell-build-system)
  6576. (inputs
  6577. (list ghc-attoparsec ghc-data-default-class ghc-network
  6578. ghc-safe-exceptions ghc-utf8-string))
  6579. (native-inputs
  6580. (list ghc-quickcheck ghc-hspec hspec-discover))
  6581. (home-page "https://github.com/vimus/libmpd-haskell")
  6582. (synopsis "Haskell client library for the Music Player Daemon")
  6583. (description "This package provides a pure Haskell client library for the
  6584. Music Player Daemon.")
  6585. (license license:expat)))
  6586. (define-public ghc-lib-parser
  6587. (package
  6588. (name "ghc-lib-parser")
  6589. (version "8.10.7.20210828")
  6590. (source
  6591. (origin
  6592. (method url-fetch)
  6593. (uri (string-append "https://hackage.haskell.org/package/"
  6594. "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
  6595. (sha256
  6596. (base32
  6597. "178v4f7q9ndqmlhg2vhlk6ifm3ilajlrz8iw84vggzs7rp0fnlx0"))))
  6598. (build-system haskell-build-system)
  6599. (outputs '("out" "static" "doc")) ; documentation is 39M
  6600. (native-inputs
  6601. (list ghc-alex ghc-happy))
  6602. (home-page "https://github.com/digital-asset/ghc-lib")
  6603. (synopsis "The GHC API, decoupled from GHC versions")
  6604. (description "This library implements the GHC API. It is like the
  6605. compiler-provided @code{ghc} package, but it can be loaded on many
  6606. compiler versions.")
  6607. (license license:bsd-3)))
  6608. (define-public ghc-libxml
  6609. (package
  6610. (name "ghc-libxml")
  6611. (version "0.1.1")
  6612. (source
  6613. (origin
  6614. (method url-fetch)
  6615. (uri (string-append "https://hackage.haskell.org/package/libxml/"
  6616. "libxml-" version ".tar.gz"))
  6617. (sha256
  6618. (base32
  6619. "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
  6620. (build-system haskell-build-system)
  6621. (inputs
  6622. (list libxml2))
  6623. (arguments
  6624. `(#:configure-flags
  6625. `(,(string-append "--extra-include-dirs="
  6626. (assoc-ref %build-inputs "libxml2")
  6627. "/include/libxml2"))))
  6628. (home-page "https://hackage.haskell.org/package/libxml")
  6629. (synopsis "Haskell bindings to libxml2")
  6630. (description
  6631. "This library provides minimal Haskell binding to libxml2.")
  6632. (license license:bsd-3)))
  6633. (define-public ghc-libyaml
  6634. (package
  6635. (name "ghc-libyaml")
  6636. (version "0.1.2")
  6637. (source
  6638. (origin
  6639. (method url-fetch)
  6640. (uri (string-append "https://hackage.haskell.org/package/"
  6641. "libyaml/libyaml-" version ".tar.gz"))
  6642. (sha256
  6643. (base32
  6644. "1dcpbsjg6n305l07isxmavgp01lbv1qggy16acjyxjlz35pxchlg"))
  6645. (modules '((guix build utils)))
  6646. (snippet
  6647. ;; Delete bundled LibYAML.
  6648. '(begin
  6649. (delete-file-recursively "libyaml_src")
  6650. #t))))
  6651. (build-system haskell-build-system)
  6652. (arguments
  6653. `(#:configure-flags `("--flags=system-libyaml")
  6654. #:extra-directories ("libyaml+static")))
  6655. (inputs
  6656. (list ghc-conduit ghc-resourcet libyaml+static))
  6657. (home-page "https://github.com/snoyberg/yaml#readme")
  6658. (synopsis "Low-level, streaming YAML interface")
  6659. (description "This package provides a Haskell wrapper over the
  6660. LibYAML C library.")
  6661. (license license:bsd-3)))
  6662. (define-public ghc-lifted-async
  6663. (package
  6664. (name "ghc-lifted-async")
  6665. (version "0.10.2.1")
  6666. (source
  6667. (origin
  6668. (method url-fetch)
  6669. (uri (string-append
  6670. "https://hackage.haskell.org/package/lifted-async/lifted-async-"
  6671. version ".tar.gz"))
  6672. (sha256
  6673. (base32
  6674. "0j4f5471qfxkxy84ri87bcvp30ikh4m30imcggwn8m5v8igp218d"))))
  6675. (build-system haskell-build-system)
  6676. (inputs
  6677. (list ghc-async
  6678. ghc-lifted-base
  6679. ghc-transformers-base
  6680. ghc-monad-control
  6681. ghc-constraints
  6682. ghc-hunit
  6683. ghc-tasty
  6684. ghc-tasty-expected-failure
  6685. ghc-tasty-hunit
  6686. ghc-tasty-th))
  6687. (home-page "https://github.com/maoe/lifted-async")
  6688. (synopsis "Run lifted IO operations asynchronously and wait for their results")
  6689. (description
  6690. "This package provides IO operations from @code{async} package lifted to any
  6691. instance of @code{MonadBase} or @code{MonadBaseControl}.")
  6692. (license license:bsd-3)))
  6693. (define-public ghc-lifted-base
  6694. (package
  6695. (name "ghc-lifted-base")
  6696. (version "0.2.3.12")
  6697. (source
  6698. (origin
  6699. (method url-fetch)
  6700. (uri (string-append
  6701. "https://hackage.haskell.org/package/lifted-base/lifted-base-"
  6702. version
  6703. ".tar.gz"))
  6704. (sha256
  6705. (base32
  6706. "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
  6707. (build-system haskell-build-system)
  6708. (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
  6709. (inputs
  6710. (list ghc-transformers-base ghc-monad-control ghc-transformers-compat
  6711. ghc-hunit))
  6712. (home-page "https://github.com/basvandijk/lifted-base")
  6713. (synopsis "Lifted IO operations from the base library")
  6714. (description "Lifted-base exports IO operations from the @code{base}
  6715. library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
  6716. Note that not all modules from @code{base} are converted yet. The package
  6717. includes a copy of the @code{monad-peel} test suite written by Anders
  6718. Kaseorg.")
  6719. (license license:bsd-3)))
  6720. (define-public ghc-linear
  6721. (package
  6722. (name "ghc-linear")
  6723. (version "1.21.6")
  6724. (source
  6725. (origin
  6726. (method url-fetch)
  6727. (uri (string-append "https://hackage.haskell.org/package/linear/"
  6728. "linear-" version ".tar.gz"))
  6729. (sha256
  6730. (base32
  6731. "0ax6prmc7b53w0lz5ddc40wrjj9bm7wldpp57283gx9hdf8qrb35"))))
  6732. (build-system haskell-build-system)
  6733. (inputs
  6734. (list ghc-adjunctions
  6735. ghc-base-orphans
  6736. ghc-bytes
  6737. ghc-cereal
  6738. ghc-distributive
  6739. ghc-hashable
  6740. ghc-lens
  6741. ghc-reflection
  6742. ghc-semigroups
  6743. ghc-semigroupoids
  6744. ghc-tagged
  6745. ghc-transformers-compat
  6746. ghc-unordered-containers
  6747. ghc-vector
  6748. ghc-void))
  6749. (native-inputs
  6750. (list cabal-doctest
  6751. ghc-doctest
  6752. ghc-simple-reflect
  6753. ghc-test-framework
  6754. ghc-test-framework-hunit
  6755. ghc-hunit))
  6756. (home-page "https://github.com/ekmett/linear/")
  6757. (synopsis "Linear algebra library for Haskell")
  6758. (description
  6759. "This package provides types and combinators for linear algebra on free
  6760. vector spaces.")
  6761. (license license:bsd-3)))
  6762. (define-public ghc-listlike
  6763. (package
  6764. (name "ghc-listlike")
  6765. (version "4.7.6")
  6766. (source
  6767. (origin
  6768. (method url-fetch)
  6769. (uri
  6770. (string-append
  6771. "https://hackage.haskell.org/package/ListLike/ListLike-"
  6772. version ".tar.gz"))
  6773. (sha256
  6774. (base32
  6775. "08jip0q2f9qc95wcqka2lrqpf8r7sswsi5104w73kyrbmfirqnrd"))))
  6776. (build-system haskell-build-system)
  6777. (inputs
  6778. (list ghc-vector
  6779. ghc-dlist
  6780. ghc-fmlist
  6781. ghc-hunit
  6782. ghc-quickcheck
  6783. ghc-random
  6784. ghc-utf8-string))
  6785. (home-page "https://github.com/JohnLato/listlike")
  6786. (synopsis "Generic support for list-like structures")
  6787. (description "The ListLike module provides a common interface to the
  6788. various Haskell types that are list-like. Predefined interfaces include
  6789. standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
  6790. Custom types can easily be made ListLike instances as well.
  6791. ListLike also provides for String-like types, such as String and
  6792. ByteString, for types that support input and output, and for types that
  6793. can handle infinite lists.")
  6794. (license license:bsd-3)))
  6795. (define-public ghc-llvm-hs-pure
  6796. (package
  6797. (name "ghc-llvm-hs-pure")
  6798. (version "9.0.0")
  6799. (source
  6800. (origin
  6801. (method url-fetch)
  6802. (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
  6803. "llvm-hs-pure-" version ".tar.gz"))
  6804. (sha256
  6805. (base32
  6806. "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
  6807. (build-system haskell-build-system)
  6808. (inputs
  6809. (list ghc-attoparsec ghc-fail ghc-unordered-containers))
  6810. (native-inputs
  6811. (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck))
  6812. (home-page "https://github.com/llvm-hs/llvm-hs/")
  6813. (synopsis "Pure Haskell LLVM functionality (no FFI)")
  6814. (description "llvm-hs-pure is a set of pure Haskell types and functions
  6815. for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
  6816. LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
  6817. llvm-hs-pure does not require LLVM to be available.")
  6818. (license license:bsd-3)))
  6819. (define-public ghc-llvm-hs
  6820. (package
  6821. (name "ghc-llvm-hs")
  6822. (version "9.0.1")
  6823. (source
  6824. (origin
  6825. (method url-fetch)
  6826. (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
  6827. version ".tar.gz"))
  6828. (sha256
  6829. (base32
  6830. "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
  6831. (build-system haskell-build-system)
  6832. (inputs
  6833. (list ghc-attoparsec ghc-exceptions ghc-utf8-string ghc-llvm-hs-pure
  6834. llvm-9))
  6835. (native-inputs
  6836. (list ghc-tasty
  6837. ghc-tasty-hunit
  6838. ghc-tasty-quickcheck
  6839. ghc-quickcheck
  6840. ghc-temporary
  6841. ghc-pretty-show
  6842. ghc-temporary))
  6843. (home-page "https://github.com/llvm-hs/llvm-hs/")
  6844. (synopsis "General purpose LLVM bindings for Haskell")
  6845. (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
  6846. current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
  6847. IR, and so offers two advantages: it handles almost all of the stateful
  6848. complexities of using the LLVM API to build IR; and it supports moving IR not
  6849. only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
  6850. into Haskell.")
  6851. (license license:bsd-3)))
  6852. (define-public ghc-logging-facade
  6853. (package
  6854. (name "ghc-logging-facade")
  6855. (version "0.3.0")
  6856. (source (origin
  6857. (method url-fetch)
  6858. (uri (string-append "https://hackage.haskell.org/package/"
  6859. "logging-facade/logging-facade-"
  6860. version ".tar.gz"))
  6861. (sha256
  6862. (base32
  6863. "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
  6864. (build-system haskell-build-system)
  6865. (native-inputs
  6866. (list ghc-hspec hspec-discover))
  6867. (home-page "https://hackage.haskell.org/package/logging-facade")
  6868. (synopsis "Simple logging abstraction that allows multiple back-ends")
  6869. (description
  6870. "This package provides a simple logging abstraction that allows multiple
  6871. back-ends.")
  6872. (license license:expat)))
  6873. (define-public ghc-logict
  6874. (package
  6875. (name "ghc-logict")
  6876. (version "0.7.1.0")
  6877. (source
  6878. (origin
  6879. (method url-fetch)
  6880. (uri (string-append
  6881. "https://hackage.haskell.org/package/logict/logict-"
  6882. version
  6883. ".tar.gz"))
  6884. (sha256
  6885. (base32
  6886. "1d22b7r8lnak5k8ars166cxbk1lv7gf8g0qs604irsx2s474ybi7"))))
  6887. (build-system haskell-build-system)
  6888. (inputs (list ghc-fail))
  6889. (native-inputs
  6890. (list ghc-async ghc-tasty ghc-tasty-hunit))
  6891. (home-page "http://code.haskell.org/~dolio/")
  6892. (synopsis "Backtracking logic-programming monad")
  6893. (description "This library provides a continuation-based, backtracking,
  6894. logic programming monad. An adaptation of the two-continuation implementation
  6895. found in the paper \"Backtracking, Interleaving, and Terminating Monad
  6896. Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
  6897. online}.")
  6898. (license license:bsd-3)))
  6899. (define-public ghc-lucid
  6900. (package
  6901. (name "ghc-lucid")
  6902. (version "2.9.12.1")
  6903. (source
  6904. (origin
  6905. (method url-fetch)
  6906. (uri (string-append
  6907. "https://hackage.haskell.org/package/lucid/lucid-"
  6908. version
  6909. ".tar.gz"))
  6910. (sha256
  6911. (base32
  6912. "0nky4pqxd6828kg3js90ks6r3hxs5x48ibfz37pw2dr7y1nygq21"))))
  6913. (build-system haskell-build-system)
  6914. (inputs
  6915. (list ghc-blaze-builder ghc-hashable ghc-mmorph
  6916. ghc-unordered-containers))
  6917. (native-inputs
  6918. (list ghc-hunit ghc-hspec ghc-bifunctors))
  6919. (arguments
  6920. `(#:cabal-revision
  6921. ("1"
  6922. "1f0whk5ncanxfjjanrf6rqyncig2xgc5mh2j0sqy3nrlyjr9aqq9")))
  6923. (home-page "https://github.com/chrisdone/lucid")
  6924. (synopsis "Haskell DSL for rendering HTML")
  6925. (description "Clear to write, read and edit Haskell DSL for HTML.
  6926. @itemize @bullet
  6927. @item
  6928. Names are consistent, and do not conflict with base or are keywords
  6929. (all have suffix @code{-}).
  6930. @item
  6931. Same combinator can be used for attributes and elements
  6932. (e.g. @code{style_}).
  6933. @end itemize")
  6934. (license license:bsd-3)))
  6935. (define-public ghc-lzma
  6936. (package
  6937. (name "ghc-lzma")
  6938. (version "0.0.0.3")
  6939. (source
  6940. (origin
  6941. (method url-fetch)
  6942. (uri (string-append "https://hackage.haskell.org/package/lzma/"
  6943. "lzma-" version ".tar.gz"))
  6944. (sha256
  6945. (base32
  6946. "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
  6947. (build-system haskell-build-system)
  6948. (arguments
  6949. '(#:tests? #f ; requires older versions of QuickCheck and tasty.
  6950. #:cabal-revision
  6951. ("6" "1sh2g5wkh0m6646cxnii0k20f0crwdcnprfl9jfg7gxn5875bkip")))
  6952. (native-inputs
  6953. (list ghc-hunit ghc-quickcheck ghc-tasty ghc-tasty-hunit
  6954. ghc-tasty-quickcheck))
  6955. (home-page "https://github.com/hvr/lzma")
  6956. (synopsis "LZMA/XZ compression and decompression")
  6957. (description
  6958. "This package provides a pure interface for compressing and
  6959. decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
  6960. monadic incremental interface is provided as well.")
  6961. (license license:bsd-3)))
  6962. (define-public ghc-lzma-conduit
  6963. (package
  6964. (name "ghc-lzma-conduit")
  6965. (version "1.2.2")
  6966. (source
  6967. (origin
  6968. (method url-fetch)
  6969. (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
  6970. "lzma-conduit-" version ".tar.gz"))
  6971. (sha256
  6972. (base32
  6973. "1z6q16hzp2r5a4gdbg9akky5l9bfarzzhzswrgvh0v28ax400whb"))))
  6974. (build-system haskell-build-system)
  6975. (inputs
  6976. (list ghc-conduit ghc-lzma ghc-resourcet))
  6977. (native-inputs
  6978. (list ghc-base-compat
  6979. ghc-test-framework
  6980. ghc-test-framework-hunit
  6981. ghc-test-framework-quickcheck2
  6982. ghc-hunit
  6983. ghc-quickcheck))
  6984. (home-page "https://github.com/alphaHeavy/lzma-conduit")
  6985. (synopsis "Conduit interface for lzma/xz compression")
  6986. (description
  6987. "This package provides a @code{Conduit} interface for the LZMA
  6988. compression algorithm used in the @code{.xz} file format.")
  6989. (license license:bsd-3)))
  6990. (define-public ghc-magic
  6991. (package
  6992. (name "ghc-magic")
  6993. (version "1.1")
  6994. (source
  6995. (origin
  6996. (method url-fetch)
  6997. (uri (string-append
  6998. "https://hackage.haskell.org/package/magic/magic-"
  6999. version ".tar.gz"))
  7000. (sha256
  7001. (base32
  7002. "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
  7003. (build-system haskell-build-system)
  7004. (home-page "https://hackage.haskell.org/package/magic")
  7005. (synopsis "Interface to C file/magic library")
  7006. (description
  7007. "This package provides a full-featured binding to the C libmagic library.
  7008. With it, you can determine the type of a file by examining its contents rather
  7009. than its name.")
  7010. (license license:bsd-3)))
  7011. (define-public ghc-managed
  7012. (package
  7013. (name "ghc-managed")
  7014. (version "1.0.8")
  7015. (source
  7016. (origin
  7017. (method url-fetch)
  7018. (uri (string-append
  7019. "https://hackage.haskell.org/package/managed/managed-"
  7020. version
  7021. ".tar.gz"))
  7022. (sha256
  7023. (base32
  7024. "00wzfy9facwgimrilz7bxaigr79w10733h8zfgyhll644p2rnz38"))))
  7025. (build-system haskell-build-system)
  7026. (home-page "http://hackage.haskell.org/package/managed")
  7027. (synopsis "Monad for managed values")
  7028. (description
  7029. "In Haskell you very often acquire values using the with... idiom using
  7030. functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
  7031. special case of the ContT monad (from transformers) or the Codensity
  7032. monad (from kan-extensions). The main purpose behind this package is to
  7033. provide a restricted form of these monads specialized to this unusually common
  7034. case.
  7035. The reason this package defines a specialized version of these types
  7036. is to:
  7037. @itemize
  7038. @item be more beginner-friendly,
  7039. @item simplify inferred types and error messages, and:
  7040. @item provide some additional type class instances that would otherwise be
  7041. orphan instances
  7042. @end itemize")
  7043. (license license:bsd-3)))
  7044. (define-public ghc-markdown-unlit
  7045. (package
  7046. (name "ghc-markdown-unlit")
  7047. (version "0.5.1")
  7048. (source (origin
  7049. (method url-fetch)
  7050. (uri (string-append
  7051. "https://hackage.haskell.org/package/markdown-unlit/"
  7052. "markdown-unlit-" version ".tar.gz"))
  7053. (sha256
  7054. (base32
  7055. "0njzn56m8z6lm70xyixbylbnpjz1gk7x8vdsdvi3qld9m66gc3n7"))))
  7056. (build-system haskell-build-system)
  7057. (inputs
  7058. (list ghc-base-compat
  7059. ghc-hspec
  7060. ghc-quickcheck
  7061. ghc-silently
  7062. ghc-stringbuilder
  7063. ghc-temporary
  7064. hspec-discover))
  7065. (home-page "https://github.com/sol/markdown-unlit#readme")
  7066. (synopsis "Literate Haskell support for Markdown")
  7067. (description "This package allows you to have a README.md that at the
  7068. same time is a literate Haskell program.")
  7069. (license license:expat)))
  7070. (define-public ghc-math-functions
  7071. (package
  7072. (name "ghc-math-functions")
  7073. (version "0.3.4.2")
  7074. (source
  7075. (origin
  7076. (method url-fetch)
  7077. (uri (string-append "https://hackage.haskell.org/package/"
  7078. "math-functions-" version "/"
  7079. "math-functions-" version ".tar.gz"))
  7080. (sha256
  7081. (base32
  7082. "18y1hlc8p6yyxa14zdbm84aaq58kksbrlfp3rj2bd4ilsb00mrf1"))))
  7083. (build-system haskell-build-system)
  7084. (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
  7085. (inputs
  7086. (list ghc-data-default-class ghc-vector ghc-vector-th-unbox))
  7087. (native-inputs
  7088. (list ghc-hunit
  7089. ghc-quickcheck
  7090. ghc-erf
  7091. ghc-test-framework
  7092. ghc-test-framework-hunit
  7093. ghc-test-framework-quickcheck2))
  7094. (home-page "https://github.com/bos/math-functions")
  7095. (synopsis "Special functions and Chebyshev polynomials for Haskell")
  7096. (description "This Haskell library provides implementations of
  7097. special mathematical functions and Chebyshev polynomials. These
  7098. functions are often useful in statistical and numerical computing.")
  7099. (license license:bsd-3)))
  7100. (define-public ghc-megaparsec
  7101. (package
  7102. (name "ghc-megaparsec")
  7103. (version "9.0.1")
  7104. (source
  7105. (origin
  7106. (method url-fetch)
  7107. (uri (string-append "https://hackage.haskell.org/package/"
  7108. "megaparsec/megaparsec-"
  7109. version ".tar.gz"))
  7110. (sha256
  7111. (base32
  7112. "00953zvxfyjibw8c1ssmixxh0cwn59pz24zbh6s34rk3v14vqa3j"))))
  7113. (build-system haskell-build-system)
  7114. (inputs
  7115. (list ghc-case-insensitive ghc-parser-combinators ghc-scientific))
  7116. (native-inputs
  7117. (list ghc-quickcheck ghc-hspec ghc-hspec-expectations hspec-discover))
  7118. (home-page "https://github.com/mrkkrp/megaparsec")
  7119. (synopsis "Monadic parser combinators")
  7120. (description
  7121. "This is an industrial-strength monadic parser combinator library.
  7122. Megaparsec is a feature-rich package that strikes a nice balance between
  7123. speed, flexibility, and quality of parse errors.")
  7124. (license license:bsd-2)))
  7125. (define-public ghc-memory
  7126. (package
  7127. (name "ghc-memory")
  7128. (version "0.15.0")
  7129. (source (origin
  7130. (method url-fetch)
  7131. (uri (string-append "https://hackage.haskell.org/package/"
  7132. "memory/memory-" version ".tar.gz"))
  7133. (sha256
  7134. (base32
  7135. "0a9mxcddnqn4359hk59d6l2zbh0vp154yb5vs1a8jw4l38n8kzz3"))))
  7136. (build-system haskell-build-system)
  7137. (inputs
  7138. (list ghc-basement ghc-foundation))
  7139. (native-inputs
  7140. (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
  7141. (home-page "https://github.com/vincenthz/hs-memory")
  7142. (synopsis "Memory abstractions for Haskell")
  7143. (description
  7144. "This package provides memory abstractions, such as chunk of memory,
  7145. polymorphic byte array management and manipulation functions. It contains a
  7146. polymorphic byte array abstraction and functions similar to strict ByteString,
  7147. different type of byte array abstraction, raw memory IO operations (memory
  7148. set, memory copy, ..) and more")
  7149. (license license:bsd-3)))
  7150. (define-public ghc-memotrie
  7151. (package
  7152. (name "ghc-memotrie")
  7153. (version "0.6.10")
  7154. (source
  7155. (origin
  7156. (method url-fetch)
  7157. (uri (string-append
  7158. "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
  7159. version
  7160. ".tar.gz"))
  7161. (sha256
  7162. (base32
  7163. "0lxsarhyhhkp58wpbp7b08scmjxq7s46jfl9vhp2yfq973hz0kaq"))))
  7164. (build-system haskell-build-system)
  7165. (inputs
  7166. (list ghc-newtype-generics))
  7167. (home-page "https://github.com/conal/MemoTrie")
  7168. (synopsis "Trie-based memo functions")
  7169. (description "This package provides a functional library for creating
  7170. efficient memo functions using tries.")
  7171. (license license:bsd-3)))
  7172. (define-public ghc-microlens
  7173. (package
  7174. (name "ghc-microlens")
  7175. (version "0.4.12.0")
  7176. (source
  7177. (origin
  7178. (method url-fetch)
  7179. (uri (string-append "https://hackage.haskell.org/package/"
  7180. "microlens-" version "/"
  7181. "microlens-" version ".tar.gz"))
  7182. (sha256
  7183. (base32
  7184. "10q7gl9yavcln58sxdxzih7ff0ixxq5hpd87icvxw97yqf1p6hmm"))))
  7185. (build-system haskell-build-system)
  7186. (home-page
  7187. "https://github.com/monadfix/microlens")
  7188. (synopsis "Provides a tiny lens Haskell library with no dependencies")
  7189. (description "This Haskell package provides a lens library, just like
  7190. @code{ghc-lens}, but smaller. It provides essential lenses and
  7191. traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
  7192. nice to have (like @code{each}, @code{at}, and @code{ix}), and some
  7193. combinators (like @code{failing} and @code{singular}), but everything else is
  7194. stripped. As the result, this package has no dependencies.")
  7195. (license license:bsd-3)))
  7196. (define-public ghc-microlens-aeson
  7197. (package
  7198. (name "ghc-microlens-aeson")
  7199. (version "2.3.1")
  7200. (source
  7201. (origin
  7202. (method url-fetch)
  7203. (uri (string-append "https://hackage.haskell.org/package/"
  7204. "microlens-aeson/microlens-aeson-"
  7205. version ".tar.gz"))
  7206. (sha256
  7207. (base32
  7208. "074mzpk7av6i0xf7xy42jpzgljlmyw805md1vz4sqy85m99f0ikr"))))
  7209. (build-system haskell-build-system)
  7210. (inputs
  7211. (list ghc-aeson
  7212. ghc-attoparsec
  7213. ghc-hashable
  7214. ghc-microlens
  7215. ghc-scientific
  7216. ghc-unordered-containers
  7217. ghc-vector))
  7218. (native-inputs
  7219. (list ghc-tasty ghc-tasty-hunit))
  7220. (home-page "https://github.com/fosskers/microlens-aeson")
  7221. (synopsis "Law-abiding lenses for Aeson, using microlens")
  7222. (description "This library provides law-abiding lenses for Aeson, using
  7223. microlens.")
  7224. (license license:expat)))
  7225. (define-public ghc-microlens-ghc
  7226. (package
  7227. (name "ghc-microlens-ghc")
  7228. (version "0.4.13")
  7229. (source
  7230. (origin
  7231. (method url-fetch)
  7232. (uri (string-append
  7233. "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
  7234. version
  7235. ".tar.gz"))
  7236. (sha256
  7237. (base32
  7238. "1r6x788br3f9rksj0dmk1nyh5mfvd9zzasclf1mi3rxhb7c0j926"))))
  7239. (build-system haskell-build-system)
  7240. (inputs (list ghc-microlens))
  7241. (home-page "https://github.com/monadfix/microlens")
  7242. (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
  7243. (description "This library provides everything that @code{microlens}
  7244. provides plus instances to make @code{each}, @code{at}, and @code{ix}
  7245. usable with arrays, @code{ByteString}, and containers. This package is
  7246. a part of the @uref{http://hackage.haskell.org/package/microlens,
  7247. microlens} family; see the readme
  7248. @uref{https://github.com/aelve/microlens#readme, on Github}.")
  7249. (license license:bsd-3)))
  7250. (define-public ghc-microlens-mtl
  7251. (package
  7252. (name "ghc-microlens-mtl")
  7253. (version "0.2.0.1")
  7254. (source
  7255. (origin
  7256. (method url-fetch)
  7257. (uri (string-append
  7258. "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
  7259. version
  7260. ".tar.gz"))
  7261. (sha256
  7262. (base32
  7263. "0ijy7xyd5lbc3calhcrhy8czkf3fjcxrv68p7kd2a5b352rfi7fp"))))
  7264. (build-system haskell-build-system)
  7265. (inputs
  7266. (list ghc-microlens ghc-transformers-compat))
  7267. (home-page "https://github.com/monadfix/microlens")
  7268. (synopsis
  7269. "@code{microlens} support for Reader/Writer/State from mtl")
  7270. (description
  7271. "This package contains functions (like @code{view} or @code{+=}) which
  7272. work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
  7273. mtl package. This package is a part of the
  7274. @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
  7275. readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
  7276. (license license:bsd-3)))
  7277. (define-public ghc-microlens-platform
  7278. (package
  7279. (name "ghc-microlens-platform")
  7280. (version "0.4.2")
  7281. (source
  7282. (origin
  7283. (method url-fetch)
  7284. (uri (string-append
  7285. "https://hackage.haskell.org/package/"
  7286. "microlens-platform/microlens-platform-" version ".tar.gz"))
  7287. (sha256
  7288. (base32
  7289. "0yf0z0glq2d6mpclzswc64h9w2cck4fd8l8ffm89pyb0a5n8m4c7"))))
  7290. (build-system haskell-build-system)
  7291. (inputs
  7292. (list ghc-hashable
  7293. ghc-microlens
  7294. ghc-microlens-ghc
  7295. ghc-microlens-mtl
  7296. ghc-microlens-th
  7297. ghc-unordered-containers
  7298. ghc-vector))
  7299. (home-page "https://github.com/monadfix/microlens")
  7300. (synopsis "Feature-complete microlens")
  7301. (description
  7302. "This package exports a module which is the recommended starting point
  7303. for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
  7304. you aren't trying to keep your dependencies minimal. By importing
  7305. @code{Lens.Micro.Platform} you get all functions and instances from
  7306. @uref{http://hackage.haskell.org/package/microlens, microlens},
  7307. @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
  7308. @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
  7309. @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
  7310. well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
  7311. minor and major versions of @code{microlens-platform} are incremented whenever
  7312. the minor and major versions of any other @code{microlens} package are
  7313. incremented, so you can depend on the exact version of
  7314. @code{microlens-platform} without specifying the version of @code{microlens}
  7315. you need. This package is a part of the
  7316. @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
  7317. readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
  7318. (license license:bsd-3)))
  7319. (define-public ghc-microlens-th
  7320. (package
  7321. (name "ghc-microlens-th")
  7322. (version "0.4.3.10")
  7323. (source
  7324. (origin
  7325. (method url-fetch)
  7326. (uri (string-append "https://hackage.haskell.org/package/"
  7327. "microlens-th-" version "/"
  7328. "microlens-th-" version ".tar.gz"))
  7329. (sha256
  7330. (base32
  7331. "1dg2xhj85fy8q39m5dd94kjlabjyxgc0336vzkg0174l6l110l1c"))))
  7332. (build-system haskell-build-system)
  7333. (inputs (list ghc-microlens ghc-th-abstraction))
  7334. (native-inputs (list ghc-tagged))
  7335. (home-page
  7336. "https://github.com/aelve/microlens")
  7337. (synopsis "Automatic generation of record lenses for
  7338. @code{ghc-microlens}")
  7339. (description "This Haskell package lets you automatically generate lenses
  7340. for data types; code was extracted from the lens package, and therefore
  7341. generated lenses are fully compatible with ones generated by lens (and can be
  7342. used both from lens and microlens).")
  7343. (license license:bsd-3)))
  7344. (define-public ghc-missingh
  7345. (package
  7346. (name "ghc-missingh")
  7347. (version "1.4.3.0")
  7348. (source
  7349. (origin
  7350. (method url-fetch)
  7351. (uri (string-append "https://hackage.haskell.org/package/MissingH/"
  7352. "MissingH-" version ".tar.gz"))
  7353. (sha256
  7354. (base32
  7355. "196cniya5wzcv2d777nr0f7hinclpals4ia1mkzzv35870pqr6lw"))))
  7356. (build-system haskell-build-system)
  7357. (arguments
  7358. `(#:phases
  7359. (modify-phases %standard-phases
  7360. (add-before 'configure 'update-constraints
  7361. (lambda _
  7362. (substitute* "MissingH.cabal"
  7363. (("(random)\\s+[^,]+" all dep)
  7364. dep)))))))
  7365. (inputs
  7366. (list ghc-network
  7367. ghc-hunit
  7368. ghc-regex-compat
  7369. ghc-hslogger
  7370. ghc-random
  7371. ghc-old-time
  7372. ghc-old-locale))
  7373. (native-inputs
  7374. (list ghc-errorcall-eq-instance ghc-quickcheck ghc-hunit))
  7375. ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
  7376. (home-page "https://github.com/haskell-hvr/missingh")
  7377. (synopsis "Large utility library")
  7378. (description
  7379. "MissingH is a library of all sorts of utility functions for Haskell
  7380. programmers. It is written in pure Haskell and thus should be extremely
  7381. portable and easy to use.")
  7382. (license license:bsd-3)))
  7383. (define-public ghc-mmap
  7384. (package
  7385. (name "ghc-mmap")
  7386. (version "0.5.9")
  7387. (source (origin
  7388. (method url-fetch)
  7389. (uri (string-append "https://hackage.haskell.org/package/"
  7390. "mmap/mmap-" version ".tar.gz"))
  7391. (sha256
  7392. (base32
  7393. "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
  7394. (build-system haskell-build-system)
  7395. (home-page "https://hackage.haskell.org/package/mmap")
  7396. (synopsis "Memory mapped files for Haskell")
  7397. (description
  7398. "This library provides a wrapper to @code{mmap}, allowing files or
  7399. devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
  7400. @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
  7401. do on-demand loading.")
  7402. (license license:bsd-3)))
  7403. (define-public ghc-mmorph
  7404. (package
  7405. (name "ghc-mmorph")
  7406. (version "1.1.5")
  7407. (source
  7408. (origin
  7409. (method url-fetch)
  7410. (uri (string-append
  7411. "https://hackage.haskell.org/package/mmorph/mmorph-"
  7412. version
  7413. ".tar.gz"))
  7414. (sha256
  7415. (base32
  7416. "0bq9m3hlfax1826gg5yhih79x33rvfx59wdh8yf43azd7l74bys6"))))
  7417. (build-system haskell-build-system)
  7418. (inputs
  7419. (list ghc-transformers-compat))
  7420. (home-page "https://hackage.haskell.org/package/mmorph")
  7421. (synopsis "Monad morphisms")
  7422. (description
  7423. "This library provides monad morphism utilities, most commonly used for
  7424. manipulating monad transformer stacks.")
  7425. (license license:bsd-3)))
  7426. (define-public ghc-mockery
  7427. (package
  7428. (name "ghc-mockery")
  7429. (version "0.3.5")
  7430. (source (origin
  7431. (method url-fetch)
  7432. (uri (string-append "https://hackage.haskell.org/package/"
  7433. "mockery/mockery-" version ".tar.gz"))
  7434. (sha256
  7435. (base32
  7436. "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
  7437. (build-system haskell-build-system)
  7438. (inputs
  7439. (list ghc-temporary ghc-logging-facade ghc-base-compat))
  7440. (native-inputs
  7441. (list ghc-hspec hspec-discover))
  7442. (home-page "https://hackage.haskell.org/package/mockery")
  7443. (synopsis "Support functions for automated testing")
  7444. (description
  7445. "The mockery package provides support functions for automated testing.")
  7446. (license license:expat)))
  7447. (define-public ghc-monad-control
  7448. (package
  7449. (name "ghc-monad-control")
  7450. (version "1.0.3.1")
  7451. (source
  7452. (origin
  7453. (method url-fetch)
  7454. (uri (string-append
  7455. "https://hackage.haskell.org/package/monad-control"
  7456. "/monad-control-" version ".tar.gz"))
  7457. (sha256
  7458. (base32
  7459. "0g3if9km8ik80bcy130a826ig9wlk4bnf0qli3vmwdwr9nhaw2xf"))))
  7460. (build-system haskell-build-system)
  7461. (inputs
  7462. (list ghc-transformers-base ghc-transformers-compat))
  7463. (home-page "https://github.com/basvandijk/monad-control")
  7464. (synopsis "Monad transformers to lift control operations like exception
  7465. catching")
  7466. (description "This package defines the type class @code{MonadBaseControl},
  7467. a subset of @code{MonadBase} into which generic control operations such as
  7468. @code{catch} can be lifted from @code{IO} or any other base monad.")
  7469. (license license:bsd-3)))
  7470. (define-public ghc-monad-logger
  7471. (package
  7472. (name "ghc-monad-logger")
  7473. (version "0.3.36")
  7474. (source
  7475. (origin
  7476. (method url-fetch)
  7477. (uri (string-append "https://hackage.haskell.org/package/"
  7478. "monad-logger-" version "/"
  7479. "monad-logger-" version ".tar.gz"))
  7480. (sha256
  7481. (base32
  7482. "12rw0k01gkhiqjm2fhxgkmribksmizhj14xphfn8fkd86wzl0vbh"))))
  7483. (build-system haskell-build-system)
  7484. (inputs (list ghc-transformers-compat
  7485. ghc-stm-chans
  7486. ghc-lifted-base
  7487. ghc-resourcet
  7488. ghc-conduit
  7489. ghc-conduit-extra
  7490. ghc-fast-logger
  7491. ghc-transformers-base
  7492. ghc-monad-control
  7493. ghc-monad-loops
  7494. ghc-blaze-builder
  7495. ghc-exceptions))
  7496. (home-page "https://github.com/kazu-yamamoto/logger")
  7497. (synopsis "Provides a class of monads which can log messages for Haskell")
  7498. (description "This Haskell package uses a monad transformer approach
  7499. for logging.
  7500. This package provides Template Haskell functions for determining source
  7501. code locations of messages.")
  7502. (license license:expat)))
  7503. (define-public ghc-monad-loops
  7504. (package
  7505. (name "ghc-monad-loops")
  7506. (version "0.4.3")
  7507. (source
  7508. (origin
  7509. (method url-fetch)
  7510. (uri (string-append "https://hackage.haskell.org/package/"
  7511. "monad-loops-" version "/"
  7512. "monad-loops-" version ".tar.gz"))
  7513. (sha256
  7514. (base32
  7515. "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
  7516. (build-system haskell-build-system)
  7517. (native-inputs (list ghc-tasty ghc-tasty-hunit))
  7518. (home-page "https://github.com/mokus0/monad-loops")
  7519. (synopsis "Monadic loops for Haskell")
  7520. (description "This Haskell package provides some useful control
  7521. operators for looping.")
  7522. (license license:public-domain)))
  7523. (define-public ghc-monad-par
  7524. (package
  7525. (name "ghc-monad-par")
  7526. (version "0.3.5")
  7527. (source
  7528. (origin
  7529. (method url-fetch)
  7530. (uri (string-append "https://hackage.haskell.org/package/"
  7531. "monad-par-" version "/"
  7532. "monad-par-" version ".tar.gz"))
  7533. (sha256
  7534. (base32
  7535. "1a8m99g9x1ivch4vhksk7fdzygbil3d33w8gdqngxbmwdikdafl2"))))
  7536. (build-system haskell-build-system)
  7537. (arguments
  7538. `(#:tests? #f ; TODO: ghc-test-framework-th does not build.
  7539. #:cabal-revision
  7540. ("1" "17l7zjykf5iqjmw1pq4iwls7v9x9d3in94iikxabx43q5l2iccsm")))
  7541. (inputs (list ghc-abstract-par ghc-abstract-deque ghc-monad-par-extras
  7542. ghc-mwc-random ghc-parallel))
  7543. (native-inputs (list ghc-quickcheck
  7544. ghc-hunit
  7545. ghc-test-framework-hunit
  7546. ghc-test-framework-quickcheck2
  7547. ghc-test-framework
  7548. ;("ghc-test-framework-th" ,ghc-test-framework-th)
  7549. ))
  7550. (home-page "https://github.com/simonmar/monad-par")
  7551. (synopsis "Haskell library for parallel programming based on a monad")
  7552. (description "The @code{Par} monad offers an API for parallel
  7553. programming. The library works for parallelising both pure and @code{IO}
  7554. computations, although only the pure version is deterministic. The default
  7555. implementation provides a work-stealing scheduler and supports forking tasks
  7556. that are much lighter weight than IO-threads.")
  7557. (license license:bsd-3)))
  7558. (define-public ghc-monad-par-extras
  7559. (package
  7560. (name "ghc-monad-par-extras")
  7561. (version "0.3.3")
  7562. (source
  7563. (origin
  7564. (method url-fetch)
  7565. (uri (string-append "https://hackage.haskell.org/package/"
  7566. "monad-par-extras-" version "/"
  7567. "monad-par-extras-" version ".tar.gz"))
  7568. (sha256
  7569. (base32
  7570. "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
  7571. (build-system haskell-build-system)
  7572. (inputs (list ghc-abstract-par ghc-cereal ghc-random))
  7573. (home-page "https://github.com/simonmar/monad-par")
  7574. (synopsis "Combinators and extra features for Par monads for Haskell")
  7575. (description "This Haskell package provides additional data structures,
  7576. and other added capabilities layered on top of the @code{Par} monad.")
  7577. (license license:bsd-3)))
  7578. (define-public ghc-monadrandom
  7579. (package
  7580. (name "ghc-monadrandom")
  7581. (version "0.5.3")
  7582. (source
  7583. (origin
  7584. (method url-fetch)
  7585. (uri (string-append "https://hackage.haskell.org/package/"
  7586. "MonadRandom-" version "/"
  7587. "MonadRandom-" version ".tar.gz"))
  7588. (sha256
  7589. (base32
  7590. "17qaw1gg42p9v6f87dj5vih7l88lddbyd8880ananj8avanls617"))))
  7591. (build-system haskell-build-system)
  7592. (inputs (list ghc-transformers-compat ghc-primitive ghc-fail
  7593. ghc-random))
  7594. (home-page "https://github.com/byorgey/MonadRandom")
  7595. (synopsis "Random-number generation monad for Haskell")
  7596. (description "This Haskell package provides support for computations
  7597. which consume random values.")
  7598. (license license:bsd-3)))
  7599. (define-public ghc-monads-tf
  7600. (package
  7601. (name "ghc-monads-tf")
  7602. (version "0.1.0.3")
  7603. (source
  7604. (origin
  7605. (method url-fetch)
  7606. (uri (string-append
  7607. "https://hackage.haskell.org/package/monads-tf/monads-tf-"
  7608. version ".tar.gz"))
  7609. (sha256
  7610. (base32
  7611. "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
  7612. (build-system haskell-build-system)
  7613. (home-page "https://hackage.haskell.org/package/monads-tf")
  7614. (synopsis "Monad classes, using type families")
  7615. (description
  7616. "Monad classes using type families, with instances for various monad transformers,
  7617. inspired by the paper 'Functional Programming with Overloading and Higher-Order
  7618. Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
  7619. the @code{mtl-tf} package.")
  7620. (license license:bsd-3)))
  7621. (define-public ghc-mono-traversable
  7622. (package
  7623. (name "ghc-mono-traversable")
  7624. (version "1.0.15.3")
  7625. (source
  7626. (origin
  7627. (method url-fetch)
  7628. (uri (string-append "https://hackage.haskell.org/package/"
  7629. "mono-traversable-" version "/"
  7630. "mono-traversable-" version ".tar.gz"))
  7631. (sha256
  7632. (base32
  7633. "1dvlp7r7r1lc3fxkwaz68f1nffg83240q8a989x24x1x67rj1clq"))))
  7634. (build-system haskell-build-system)
  7635. (outputs '("out" "static" "doc"))
  7636. (inputs (list ghc-unordered-containers ghc-hashable ghc-vector
  7637. ghc-vector-algorithms ghc-split))
  7638. (native-inputs (list ghc-hspec ghc-hunit ghc-quickcheck ghc-foldl))
  7639. (home-page "https://github.com/snoyberg/mono-traversable")
  7640. (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
  7641. containers")
  7642. (description "This Haskell package provides Monomorphic variants of the
  7643. Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
  7644. basic typeclasses, you understand mono-traversable. In addition to what
  7645. you are used to, it adds on an IsSequence typeclass and has code for marking
  7646. data structures as non-empty.")
  7647. (license license:expat)))
  7648. (define-public ghc-monoid-extras
  7649. (package
  7650. (name "ghc-monoid-extras")
  7651. (version "0.6")
  7652. (source
  7653. (origin
  7654. (method url-fetch)
  7655. (uri (string-append "https://hackage.haskell.org/package/"
  7656. "monoid-extras/monoid-extras-" version ".tar.gz"))
  7657. (sha256
  7658. (base32
  7659. "0ki1d3b1xpf653qj7brlqdgngghwrnmapy5gja75iiydfx2506a1"))))
  7660. (build-system haskell-build-system)
  7661. (inputs
  7662. (list ghc-groups ghc-semigroupoids))
  7663. (home-page "https://hackage.haskell.org/package/monoid-extras")
  7664. (synopsis "Various extra monoid-related definitions and utilities")
  7665. (description "This package provides various extra monoid-related
  7666. definitions and utilities, such as monoid actions, monoid coproducts,
  7667. semi-direct products, \"deletable\" monoids, \"split\" monoids, and
  7668. \"cut\" monoids.")
  7669. (license license:bsd-3)))
  7670. (define-public ghc-mountpoints
  7671. (package
  7672. (name "ghc-mountpoints")
  7673. (version "1.0.2")
  7674. (source
  7675. (origin
  7676. (method url-fetch)
  7677. (uri (string-append
  7678. "https://hackage.haskell.org/package/mountpoints/mountpoints-"
  7679. version
  7680. ".tar.gz"))
  7681. (sha256
  7682. (base32
  7683. "1hnm31pqcffphyc463wf0vbik9fzm5lb2r4wjdc1y4dqzmjdzz37"))))
  7684. (build-system haskell-build-system)
  7685. (home-page
  7686. "http://hackage.haskell.org/package/mountpoints")
  7687. (synopsis "Haskell library for listing mount points")
  7688. (description "This library provides Haskell bindings for checking
  7689. currently mounted filesystems.")
  7690. (license license:lgpl2.1+)))
  7691. (define-public ghc-mtl-compat
  7692. (package
  7693. (name "ghc-mtl-compat")
  7694. (version "0.2.2")
  7695. (source
  7696. (origin
  7697. (method url-fetch)
  7698. (uri (string-append
  7699. "mirror://hackage/package/mtl-compat/mtl-compat-"
  7700. version
  7701. ".tar.gz"))
  7702. (sha256
  7703. (base32
  7704. "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
  7705. (build-system haskell-build-system)
  7706. (home-page
  7707. "https://github.com/haskell-compat/mtl-compat")
  7708. (synopsis
  7709. "Backported Control.Monad.Except module from mtl")
  7710. (description
  7711. "This package backports the Control.Monad.Except module from mtl (if
  7712. using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
  7713. and the MonadError class.
  7714. This package should only be used if there is a need to use the
  7715. Control.Monad.Except module specifically. If you just want the mtl class
  7716. instances for ExceptT, use transformers-compat instead, since mtl-compat does
  7717. nothing but reexport the instances from that package.
  7718. Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
  7719. module defined in this package exports all of ExceptT's monad class instances.
  7720. Therefore, you may have to declare @code{import Control.Monad.Except ()} at
  7721. the top of your file to get all of the ExceptT instances in scope.")
  7722. (license license:bsd-3)))
  7723. (define-public ghc-murmur-hash
  7724. (package
  7725. (name "ghc-murmur-hash")
  7726. (version "0.1.0.9")
  7727. (source
  7728. (origin
  7729. (method url-fetch)
  7730. (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
  7731. "/murmur-hash-" version ".tar.gz"))
  7732. (sha256
  7733. (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
  7734. (build-system haskell-build-system)
  7735. (home-page "https://github.com/nominolo/murmur-hash")
  7736. (synopsis "MurmurHash2 implementation for Haskell")
  7737. (description
  7738. "This package provides an implementation of MurmurHash2, a good, fast,
  7739. general-purpose, non-cryptographic hashing function. See
  7740. @url{https://sites.google.com/site/murmurhash/} for details. This
  7741. implementation is pure Haskell, so it might be a bit slower than a C FFI
  7742. binding.")
  7743. (license license:bsd-3)))
  7744. (define-public ghc-mwc-random
  7745. (package
  7746. (name "ghc-mwc-random")
  7747. (version "0.15.0.2")
  7748. (source
  7749. (origin
  7750. (method url-fetch)
  7751. (uri (string-append "https://hackage.haskell.org/package/"
  7752. "mwc-random-" version "/"
  7753. "mwc-random-" version ".tar.gz"))
  7754. (sha256
  7755. (base32
  7756. "0ny2mw4am24d6ykrm8rbcjnrq6p2cjmzjb4m6qfk54wfdxflvmim"))))
  7757. (build-system haskell-build-system)
  7758. (inputs
  7759. (list ghc-primitive ghc-vector ghc-math-functions))
  7760. (arguments
  7761. `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
  7762. (native-inputs
  7763. (list ghc-hunit ghc-quickcheck ghc-test-framework
  7764. ghc-test-framework-hunit ghc-test-framework-quickcheck2))
  7765. (home-page "https://github.com/bos/mwc-random")
  7766. (synopsis "Random number generation library for Haskell")
  7767. (description "This Haskell package contains code for generating
  7768. high quality random numbers that follow either a uniform or normal
  7769. distribution. The generated numbers are suitable for use in
  7770. statistical applications.
  7771. The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
  7772. multiply-with-carry generator, which has a period of 2^{8222} and
  7773. fares well in tests of randomness. It is also extremely fast,
  7774. between 2 and 3 times faster than the Mersenne Twister.")
  7775. (license license:bsd-3)))
  7776. (define-public ghc-nats
  7777. (package
  7778. (name "ghc-nats")
  7779. (version "1.1.2")
  7780. (source
  7781. (origin
  7782. (method url-fetch)
  7783. (uri (string-append
  7784. "https://hackage.haskell.org/package/nats/nats-"
  7785. version
  7786. ".tar.gz"))
  7787. (sha256
  7788. (base32
  7789. "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
  7790. (build-system haskell-build-system)
  7791. (arguments `(#:haddock? #f))
  7792. (inputs
  7793. (list ghc-hashable))
  7794. (home-page "https://hackage.haskell.org/package/nats")
  7795. (synopsis "Natural numbers")
  7796. (description "This library provides the natural numbers for Haskell.")
  7797. (license license:bsd-3)))
  7798. (define-public ghc-nats-bootstrap
  7799. (package
  7800. (inherit ghc-nats)
  7801. (name "ghc-nats-bootstrap")
  7802. (inputs
  7803. `(("ghc-hashable" ,ghc-hashable-bootstrap)))
  7804. (properties '((hidden? #t)))))
  7805. (define-public ghc-ncurses
  7806. (package
  7807. (name "ghc-ncurses")
  7808. (version "0.2.16")
  7809. (source
  7810. (origin
  7811. (method url-fetch)
  7812. (uri (string-append
  7813. "https://hackage.haskell.org/package/ncurses/ncurses-"
  7814. version ".tar.gz"))
  7815. (sha256
  7816. (base32
  7817. "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
  7818. (build-system haskell-build-system)
  7819. (arguments
  7820. '(#:extra-directories ("ncurses")
  7821. #:phases
  7822. (modify-phases %standard-phases
  7823. (add-before 'build 'fix-includes
  7824. (lambda _
  7825. (substitute* '("cbits/hsncurses-shim.h"
  7826. "lib/UI/NCurses.chs"
  7827. "lib/UI/NCurses/Enums.chs"
  7828. "lib/UI/NCurses/Panel.chs")
  7829. (("<ncursesw/") "<"))
  7830. #t)))
  7831. #:cabal-revision
  7832. ("1"
  7833. "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
  7834. (inputs (list ncurses))
  7835. (native-inputs (list ghc-c2hs))
  7836. (home-page "https://john-millikin.com/software/haskell-ncurses/")
  7837. (synopsis "Modernised bindings to GNU ncurses")
  7838. (description "GNU ncurses is a library for creating command-line application
  7839. with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
  7840. ncurses.")
  7841. (license license:gpl3)))
  7842. (define-public ghc-network
  7843. (package
  7844. (name "ghc-network")
  7845. (version "3.1.1.1")
  7846. (outputs '("out" "static" "doc"))
  7847. (source
  7848. (origin
  7849. (method url-fetch)
  7850. (uri (string-append
  7851. "https://hackage.haskell.org/package/network/network-"
  7852. version
  7853. ".tar.gz"))
  7854. (sha256
  7855. (base32
  7856. "16ic2hgvadyiy0zfnyd2zknf8rxqmwzpy5mw5x9apwpzfc0mkvyp"))))
  7857. (build-system haskell-build-system)
  7858. ;; The regression tests depend on an unpublished module.
  7859. (arguments `(#:tests? #f))
  7860. (native-inputs
  7861. (list ghc-hunit ghc-doctest ghc-test-framework
  7862. ghc-test-framework-hunit))
  7863. (home-page "https://github.com/haskell/network")
  7864. (synopsis "Low-level networking interface")
  7865. (description
  7866. "This package provides a low-level networking interface.")
  7867. (license license:bsd-3)))
  7868. (define-public ghc-network-bsd
  7869. (package
  7870. (name "ghc-network-bsd")
  7871. (version "2.8.1.0")
  7872. (source
  7873. (origin
  7874. (method url-fetch)
  7875. (uri (string-append "https://hackage.haskell.org/package/"
  7876. "network-bsd/network-bsd-" version ".tar.gz"))
  7877. (sha256
  7878. (base32
  7879. "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr"))))
  7880. (build-system haskell-build-system)
  7881. (arguments
  7882. `(#:cabal-revision
  7883. ("4" "1gd9a8j7fwg0jz0s6il5fk9sl0hm19ja1w56ix51wa0qi2h5x56d")))
  7884. (inputs
  7885. (list ghc-network))
  7886. (home-page "https://github.com/haskell/network-bsd")
  7887. (synopsis "POSIX network database (<netdb.h>) API")
  7888. (description "This package provides Haskell bindings to the the POSIX
  7889. network database (<netdb.h>) API.")
  7890. (license license:bsd-3)))
  7891. (define-public ghc-network-byte-order
  7892. (package
  7893. (name "ghc-network-byte-order")
  7894. (version "0.1.6")
  7895. (source
  7896. (origin
  7897. (method url-fetch)
  7898. (uri (string-append "https://hackage.haskell.org/package/"
  7899. "network-byte-order/network-byte-order-"
  7900. version ".tar.gz"))
  7901. (sha256
  7902. (base32
  7903. "0pnwcg13k4qw82n0zc1xibyc24sc77y79j5a62pqdmjrnz4wrc7j"))))
  7904. (build-system haskell-build-system)
  7905. (native-inputs
  7906. (list ghc-doctest))
  7907. (home-page "https://hackage.haskell.org/package/network-byte-order")
  7908. (synopsis "Network byte order utilities")
  7909. (description "This library provides peek and poke functions for network
  7910. byte order.")
  7911. (license license:bsd-3)))
  7912. (define-public ghc-network-info
  7913. (package
  7914. (name "ghc-network-info")
  7915. (version "0.2.0.10")
  7916. (source
  7917. (origin
  7918. (method url-fetch)
  7919. (uri (string-append "https://hackage.haskell.org/package/"
  7920. "network-info-" version "/"
  7921. "network-info-" version ".tar.gz"))
  7922. (sha256
  7923. (base32
  7924. "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
  7925. (build-system haskell-build-system)
  7926. (home-page "https://github.com/jystic/network-info")
  7927. (synopsis "Access the local computer's basic network configuration")
  7928. (description "This Haskell library provides simple read-only access to the
  7929. local computer's networking configuration. It is currently capable of
  7930. getting a list of all the network interfaces and their respective
  7931. IPv4, IPv6 and MAC addresses.")
  7932. (license license:bsd-3)))
  7933. (define-public ghc-network-multicast
  7934. (package
  7935. (name "ghc-network-multicast")
  7936. (version "0.3.2")
  7937. (source
  7938. (origin
  7939. (method url-fetch)
  7940. (uri (string-append
  7941. "https://hackage.haskell.org/package/network-multicast/network-multicast-"
  7942. version
  7943. ".tar.gz"))
  7944. (sha256
  7945. (base32
  7946. "0whvi0pbwjy6dbwfdf9rv1j3yr3lcmfp3q7a8pwq63g537l4l2l3"))))
  7947. (build-system haskell-build-system)
  7948. (inputs
  7949. (list ghc-network ghc-network-bsd))
  7950. (home-page
  7951. "http://hackage.haskell.org/package/network-multicast")
  7952. (synopsis "Simple multicast library for Haskell")
  7953. (description
  7954. "This package provides the Network.Multicast Haskell module for
  7955. sending UDP datagrams over multicast (class D) addresses.")
  7956. ;; Note that this is technically under CC0 1.0 and Expat, though it's not
  7957. ;; totally clear what the breakdown is. Since CC0 1.0 is effectively
  7958. ;; "public domain with a minimal fallback license", figuring marking it
  7959. ;; as effectively Expat is probably correct.
  7960. (license license:expat)))
  7961. (define-public ghc-network-uri
  7962. (package
  7963. (name "ghc-network-uri")
  7964. (version "2.6.4.1")
  7965. (outputs '("out" "static" "doc"))
  7966. (source
  7967. (origin
  7968. (method url-fetch)
  7969. (uri (string-append
  7970. "https://hackage.haskell.org/package/network-uri/network-uri-"
  7971. version
  7972. ".tar.gz"))
  7973. (sha256
  7974. (base32
  7975. "111m485rx2kyqdymi1x6sl08hi6lp34q3f41yqcx99086swnv1ap"))))
  7976. (build-system haskell-build-system)
  7977. (inputs
  7978. (list ghc-th-compat))
  7979. (native-inputs
  7980. (list ghc-hunit ghc-quickcheck ghc-tasty ghc-tasty-hunit
  7981. ghc-tasty-quickcheck))
  7982. (home-page
  7983. "https://github.com/haskell/network-uri")
  7984. (synopsis "Library for URI manipulation")
  7985. (description "This package provides an URI manipulation interface. In
  7986. @code{network-2.6} the @code{Network.URI} module was split off from the
  7987. @code{network} package into this package.")
  7988. (license license:bsd-3)))
  7989. (define-public ghc-newtype-generics
  7990. (package
  7991. (name "ghc-newtype-generics")
  7992. (version "0.6")
  7993. (source
  7994. (origin
  7995. (method url-fetch)
  7996. (uri (string-append "https://hackage.haskell.org/package/"
  7997. "newtype-generics/newtype-generics-"
  7998. version ".tar.gz"))
  7999. (sha256
  8000. (base32
  8001. "04bymwhkvlsgcsd0v630mndrzf0xnh3v81ba6nfzwcvbg3ksr2wa"))))
  8002. (build-system haskell-build-system)
  8003. (native-inputs
  8004. (list ghc-hspec hspec-discover))
  8005. (home-page "https://github.com/sjakobi/newtype-generics")
  8006. (synopsis "Typeclass and set of functions for working with newtypes")
  8007. (description "The @code{Newtype} typeclass represents the packing and
  8008. unpacking of a newtype, and allows you to operate under that newtype with
  8009. functions such as @code{ala}. Generics support was added in version 0.4,
  8010. making this package a full replacement for the original newtype package,
  8011. and an alternative to newtype-th.")
  8012. (license license:bsd-3)))
  8013. (define-public ghc-non-negative
  8014. (package
  8015. (name "ghc-non-negative")
  8016. (version "0.1.2")
  8017. (source
  8018. (origin
  8019. (method url-fetch)
  8020. (uri
  8021. (string-append
  8022. "https://hackage.haskell.org/package/non-negative/non-negative-"
  8023. version ".tar.gz"))
  8024. (sha256
  8025. (base32
  8026. "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
  8027. (build-system haskell-build-system)
  8028. (inputs
  8029. (list ghc-semigroups ghc-utility-ht ghc-quickcheck))
  8030. (home-page "https://hackage.haskell.org/package/non-negative")
  8031. (synopsis "Non-negative numbers class")
  8032. (description "This library provides a class for non-negative numbers,
  8033. a wrapper which can turn any ordered numeric type into a member of that
  8034. class, and a lazy number type for non-negative numbers (a generalization
  8035. of Peano numbers).")
  8036. (license license:gpl3+)))
  8037. (define-public ghc-nonce
  8038. (package
  8039. (name "ghc-nonce")
  8040. (version "1.0.7")
  8041. (source
  8042. (origin
  8043. (method url-fetch)
  8044. (uri (string-append
  8045. "https://hackage.haskell.org/package/nonce/"
  8046. "nonce-" version ".tar.gz"))
  8047. (sha256
  8048. (base32
  8049. "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
  8050. (build-system haskell-build-system)
  8051. (arguments
  8052. `(#:cabal-revision
  8053. ("2" "09xvg4lpmb1hw153afhbjrdg9v3npfwpdfhpv5y8b0qvb4zi3n9q")))
  8054. (inputs
  8055. (list ghc-base64-bytestring ghc-entropy ghc-unliftio
  8056. ghc-unliftio-core))
  8057. (home-page "https://github.com/prowdsponsor/nonce")
  8058. (synopsis "Generate cryptographic nonces in Haskell")
  8059. (description
  8060. "A nonce is an arbitrary number used only once in a cryptographic
  8061. communication. This package contain helper functions for generating nonces.
  8062. There are many kinds of nonces used in different situations. It's not
  8063. guaranteed that by using the nonces from this package you won't have any
  8064. security issues. Please make sure that the nonces generated via this
  8065. package are usable on your design.")
  8066. (license license:bsd-3)))
  8067. (define-public ghc-numeric-extras
  8068. (package
  8069. (name "ghc-numeric-extras")
  8070. (version "0.1")
  8071. (source
  8072. (origin
  8073. (method url-fetch)
  8074. (uri (string-append "https://hackage.haskell.org/package/"
  8075. "numeric-extras/numeric-extras-"
  8076. version ".tar.gz"))
  8077. (sha256
  8078. (base32
  8079. "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
  8080. (build-system haskell-build-system)
  8081. (home-page "https://github.com/ekmett/numeric-extras")
  8082. (synopsis "Useful tools from the C standard library")
  8083. (description "This library provides some useful tools from the C
  8084. standard library.")
  8085. (license license:bsd-3)))
  8086. (define-public ghc-objectname
  8087. (package
  8088. (name "ghc-objectname")
  8089. (version "1.1.0.1")
  8090. (source
  8091. (origin
  8092. (method url-fetch)
  8093. (uri (string-append
  8094. "https://hackage.haskell.org/package/ObjectName/ObjectName-"
  8095. version
  8096. ".tar.gz"))
  8097. (sha256
  8098. (base32
  8099. "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
  8100. (build-system haskell-build-system)
  8101. (home-page "https://hackage.haskell.org/package/ObjectName")
  8102. (synopsis "Helper library for Haskell OpenGL")
  8103. (description "This tiny package contains the class ObjectName, which
  8104. corresponds to the general notion of explicitly handled identifiers for API
  8105. objects, e.g. a texture object name in OpenGL or a buffer object name in
  8106. OpenAL.")
  8107. (license license:bsd-3)))
  8108. (define-public ghc-old-locale
  8109. (package
  8110. (name "ghc-old-locale")
  8111. (version "1.0.0.7")
  8112. (source
  8113. (origin
  8114. (method url-fetch)
  8115. (uri (string-append
  8116. "https://hackage.haskell.org/package/old-locale/old-locale-"
  8117. version
  8118. ".tar.gz"))
  8119. (sha256
  8120. (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
  8121. (build-system haskell-build-system)
  8122. (arguments
  8123. `(#:cabal-revision
  8124. ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
  8125. (home-page "https://hackage.haskell.org/package/old-locale")
  8126. (synopsis "Adapt to locale conventions")
  8127. (description
  8128. "This package provides the ability to adapt to locale conventions such as
  8129. date and time formats.")
  8130. (license license:bsd-3)))
  8131. (define-public ghc-old-time
  8132. (package
  8133. (name "ghc-old-time")
  8134. (version "1.1.0.3")
  8135. (source
  8136. (origin
  8137. (method url-fetch)
  8138. (uri (string-append
  8139. "https://hackage.haskell.org/package/old-time/old-time-"
  8140. version
  8141. ".tar.gz"))
  8142. (sha256
  8143. (base32
  8144. "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
  8145. (build-system haskell-build-system)
  8146. (arguments
  8147. `(#:cabal-revision
  8148. ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
  8149. (inputs
  8150. (list ghc-old-locale))
  8151. (home-page "https://hackage.haskell.org/package/old-time")
  8152. (synopsis "Time compatibility library for Haskell")
  8153. (description "Old-time is a package for backwards compatibility with the
  8154. old @code{time} library. For new projects, the newer
  8155. @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
  8156. (license license:bsd-3)))
  8157. (define-public ghc-only
  8158. (package
  8159. (name "ghc-only")
  8160. (version "0.1")
  8161. (source
  8162. (origin
  8163. (method url-fetch)
  8164. (uri (string-append
  8165. "https://hackage.haskell.org/package/Only/Only-"
  8166. version
  8167. ".tar.gz"))
  8168. (sha256
  8169. (base32
  8170. "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb"))))
  8171. (build-system haskell-build-system)
  8172. (arguments
  8173. `(#:cabal-revision
  8174. ("1"
  8175. "1ahk7p34kmh041mz7lyc10nhcxgv2i4z8nvzxvqm2x34gslmsbzr")))
  8176. (home-page "https://hackage.haskell.org/package/Only")
  8177. (synopsis "The 1-tuple type or single-value collection")
  8178. (description
  8179. "This package provides a canonical anonymous 1-tuple type missing from
  8180. Haskell for attaching typeclass instances.
  8181. There is also the @url{https://hackage.haskell.org/package/OneTuple, OneTuple
  8182. package} which by using a boxed @code{data}-type provides a 1-tuple type which
  8183. has laziness properties which are more faithful to the ones of Haskell's
  8184. native tuples; whereas the primary purpose of @code{Only} is to provide the
  8185. traditionally so named type-wrapper for attaching typeclass instances.")
  8186. (license license:bsd-3)))
  8187. (define-public ghc-opengl
  8188. (package
  8189. (name "ghc-opengl")
  8190. (version "3.0.3.0")
  8191. (source
  8192. (origin
  8193. (method url-fetch)
  8194. (uri (string-append
  8195. "https://hackage.haskell.org/package/OpenGL/OpenGL-"
  8196. version
  8197. ".tar.gz"))
  8198. (sha256
  8199. (base32
  8200. "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
  8201. (build-system haskell-build-system)
  8202. (arguments
  8203. `(#:cabal-revision
  8204. ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
  8205. (inputs
  8206. (list ghc-objectname ghc-gluraw ghc-statevar ghc-openglraw))
  8207. (home-page "https://wiki.haskell.org/Opengl")
  8208. (synopsis "Haskell bindings for the OpenGL graphics system")
  8209. (description "This package provides Haskell bindings for the OpenGL
  8210. graphics system (GL, version 4.5) and its accompanying utility library (GLU,
  8211. version 1.3).")
  8212. (license license:bsd-3)))
  8213. (define-public ghc-openglraw
  8214. (package
  8215. (name "ghc-openglraw")
  8216. (version "3.3.4.0")
  8217. (source
  8218. (origin
  8219. (method url-fetch)
  8220. (uri (string-append
  8221. "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
  8222. version
  8223. ".tar.gz"))
  8224. (sha256
  8225. (base32
  8226. "0gmsmysqzpm13qnyq4vvqxm4dzw25nayfd9wi5x645pympm6jqbm"))))
  8227. (build-system haskell-build-system)
  8228. (arguments
  8229. `(#:extra-directories ("glu")))
  8230. (inputs
  8231. (list ghc-half ghc-fixed glu))
  8232. (home-page "https://wiki.haskell.org/Opengl")
  8233. (synopsis "Raw Haskell bindings for the OpenGL graphics system")
  8234. (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
  8235. graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
  8236. of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
  8237. offers access to all necessary functions, tokens and types plus a general
  8238. facility for loading extension entries. The module hierarchy closely mirrors
  8239. the naming structure of the OpenGL extensions, making it easy to find the
  8240. right module to import. All API entries are loaded dynamically, so no special
  8241. C header files are needed for building this package. If an API entry is not
  8242. found at runtime, a userError is thrown.")
  8243. (license license:bsd-3)))
  8244. (define-public ghc-operational
  8245. (package
  8246. (name "ghc-operational")
  8247. (version "0.2.4.0")
  8248. (source
  8249. (origin
  8250. (method url-fetch)
  8251. (uri (string-append "https://hackage.haskell.org/package/operational/"
  8252. "operational-" version ".tar.gz"))
  8253. (sha256
  8254. (base32
  8255. "1hwmwbsxzwv68b39rv4gn3da6irv8zm89gqrkc3rdsgwi5ziyn3i"))))
  8256. (build-system haskell-build-system)
  8257. (inputs
  8258. (list ghc-random))
  8259. (home-page "http://wiki.haskell.org/Operational")
  8260. (synopsis "Implementation of difficult monads made easy with operational semantics")
  8261. (description
  8262. "This library makes it easy to implement monads with tricky control
  8263. flow. This is useful for: writing web applications in a sequential style,
  8264. programming games with a uniform interface for human and AI players and easy
  8265. replay capababilities, implementing fast parser monads, designing monadic
  8266. DSLs, etc.")
  8267. (license license:bsd-3)))
  8268. (define-public ghc-optional-args
  8269. (package
  8270. (name "ghc-optional-args")
  8271. (version "1.0.2")
  8272. (source
  8273. (origin
  8274. (method url-fetch)
  8275. (uri (string-append
  8276. "mirror://hackage/package/optional-args/optional-args-"
  8277. version
  8278. ".tar.gz"))
  8279. (sha256
  8280. (base32
  8281. "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
  8282. (build-system haskell-build-system)
  8283. (home-page
  8284. "http://hackage.haskell.org/package/optional-args")
  8285. (synopsis "Optional function arguments")
  8286. (description
  8287. "This library provides a type for specifying @code{Optional} function
  8288. arguments.")
  8289. (license license:bsd-3)))
  8290. (define-public ghc-options
  8291. (package
  8292. (name "ghc-options")
  8293. (version "1.2.1.1")
  8294. (source
  8295. (origin
  8296. (method url-fetch)
  8297. (uri (string-append
  8298. "https://hackage.haskell.org/package/options/options-"
  8299. version ".tar.gz"))
  8300. (sha256
  8301. (base32
  8302. "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
  8303. (build-system haskell-build-system)
  8304. (arguments
  8305. `(#:phases
  8306. (modify-phases %standard-phases
  8307. (add-before 'configure 'update-constraints
  8308. (lambda _
  8309. (substitute* "options.cabal"
  8310. (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
  8311. #t)))))
  8312. (inputs
  8313. (list ghc-monads-tf ghc-chell ghc-chell-quickcheck))
  8314. (home-page "https://john-millikin.com/software/haskell-options/")
  8315. (synopsis "Powerful and easy-to-use command-line option parser")
  8316. (description
  8317. "The @code{options} package lets library and application developers
  8318. easily work with command-line options.")
  8319. (license license:expat)))
  8320. ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
  8321. (define ghc-options-bootstrap
  8322. (package
  8323. (name "ghc-options-bootstrap")
  8324. (version "1.2.1.1")
  8325. (source
  8326. (origin
  8327. (method url-fetch)
  8328. (uri (string-append
  8329. "https://hackage.haskell.org/package/options/options-"
  8330. version ".tar.gz"))
  8331. (sha256
  8332. (base32
  8333. "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
  8334. (build-system haskell-build-system)
  8335. (arguments
  8336. `(#:tests? #f))
  8337. (inputs
  8338. `(("ghc-monads-tf" ,ghc-monads-tf)))
  8339. (home-page "https://john-millikin.com/software/haskell-options/")
  8340. (synopsis "Powerful and easy-to-use command-line option parser")
  8341. (description
  8342. "The @code{options} package lets library and application developers
  8343. easily work with command-line options.")
  8344. (license license:expat)))
  8345. (define-public ghc-optparse-applicative
  8346. (package
  8347. (name "ghc-optparse-applicative")
  8348. (version "0.16.1.0")
  8349. (source
  8350. (origin
  8351. (method url-fetch)
  8352. (uri (string-append
  8353. "https://hackage.haskell.org/package/optparse-applicative"
  8354. "/optparse-applicative-" version ".tar.gz"))
  8355. (sha256
  8356. (base32
  8357. "16nnrkmgd28h540f17nb017ziq4gbzgkxpdraqicaczkca1jf1b2"))))
  8358. (build-system haskell-build-system)
  8359. (arguments
  8360. `(#:cabal-revision
  8361. ("1" "0401ik87gm9gjpch6lmkczygp59na3f1j7bcs6mc2r929c2xgsqn")))
  8362. (inputs
  8363. (list ghc-transformers-compat ghc-ansi-wl-pprint))
  8364. (native-inputs
  8365. (list ghc-quickcheck))
  8366. (home-page "https://github.com/pcapriotti/optparse-applicative")
  8367. (synopsis "Utilities and combinators for parsing command line options")
  8368. (description "This package provides utilities and combinators for parsing
  8369. command line options in Haskell.")
  8370. (license license:bsd-3)))
  8371. (define-public ghc-optparse-applicative-0.15.1.0
  8372. (package
  8373. (inherit ghc-optparse-applicative)
  8374. (name "ghc-optparse-applicative")
  8375. (version "0.15.1.0")
  8376. (source
  8377. (origin
  8378. (method url-fetch)
  8379. (uri (string-append
  8380. "https://hackage.haskell.org/package/optparse-applicative/optparse-applicative-"
  8381. version
  8382. ".tar.gz"))
  8383. (sha256
  8384. (base32 "1ws6y3b3f6hsgv0ff0yp6lw4hba1rps4dnvry3yllng0s5gngcsd"))))
  8385. (inputs
  8386. (list ghc-transformers-compat ghc-ansi-wl-pprint))
  8387. (native-inputs (list ghc-quickcheck))
  8388. (arguments
  8389. `(#:cabal-revision
  8390. ("1" "0zmhqkd96v2z1ilhqdkd9z4jgsnsxb8yi2479ind8m5zm9363zr9")))))
  8391. (define-public ghc-jira-wiki-markup
  8392. (package
  8393. (name "ghc-jira-wiki-markup")
  8394. (version "1.4.0")
  8395. (source
  8396. (origin
  8397. (method url-fetch)
  8398. (uri (string-append
  8399. "https://hackage.haskell.org/package/jira-wiki-markup/"
  8400. "jira-wiki-markup-" version ".tar.gz"))
  8401. (sha256
  8402. (base32 "0p6axj6km4440ss5naw68r3r85si4qxqgrklp6ssfyapawy0s88w"))))
  8403. (build-system haskell-build-system)
  8404. (native-inputs
  8405. (list ghc-tasty ghc-tasty-hunit))
  8406. (home-page "https://github.com/tarleb/jira-wiki-markup")
  8407. (synopsis "Handle Jira wiki markup")
  8408. (description
  8409. "Parse jira wiki text into an abstract syntax tree for easy transformation
  8410. to other formats.")
  8411. (license license:expat)))
  8412. (define-public ghc-emojis
  8413. (package
  8414. (name "ghc-emojis")
  8415. (version "0.1.2")
  8416. (source
  8417. (origin
  8418. (method url-fetch)
  8419. (uri (string-append
  8420. "https://hackage.haskell.org/package/emojis/"
  8421. "emojis-" version ".tar.gz"))
  8422. (sha256
  8423. (base32 "09x2xrppwypi369y7rzf3ln2g7c3g9qfckn2gydxpfzglcp9rziw"))))
  8424. (build-system haskell-build-system)
  8425. (native-inputs
  8426. (list ghc-hunit))
  8427. (home-page "https://github.com/jgm/emojis#readme")
  8428. (synopsis "Conversion between emoji characters and their names")
  8429. (description
  8430. "This package provides functions for converting emoji names to emoji
  8431. characters and vice versa.
  8432. How does it differ from the @code{emoji} package?
  8433. @itemize
  8434. @item It supports a fuller range of emojis, including all those supported by
  8435. GitHub
  8436. @item It supports lookup of emoji aliases from emoji
  8437. @item It uses Text rather than String
  8438. @item It has a lighter dependency footprint: in particular, it does not
  8439. require aeson
  8440. @item It does not require TemplateHaskell
  8441. @end itemize")
  8442. (license license:bsd-3)))
  8443. (define-public ghc-text-conversions
  8444. (package
  8445. (name "ghc-text-conversions")
  8446. (version "0.3.1")
  8447. (source
  8448. (origin
  8449. (method url-fetch)
  8450. (uri (string-append
  8451. "https://hackage.haskell.org/package/text-conversions/"
  8452. "text-conversions-" version ".tar.gz"))
  8453. (sha256
  8454. (base32 "0kbxin1q8xj9sgdl185gncrdjwcfzndp8sl5qll8y93l60yq8dxi"))))
  8455. (build-system haskell-build-system)
  8456. (inputs
  8457. (list ghc-base16-bytestring ghc-base64-bytestring ghc-errors))
  8458. (native-inputs
  8459. (list ghc-hspec hspec-discover))
  8460. (home-page "https://github.com/cjdev/text-conversions#readme")
  8461. (synopsis "Safe conversions between textual types")
  8462. (description "Safe conversions between textual types")
  8463. (license license:isc)))
  8464. (define-public ghc-text-short
  8465. (package
  8466. (name "ghc-text-short")
  8467. (version "0.1.3")
  8468. (source
  8469. (origin
  8470. (method url-fetch)
  8471. (uri (string-append
  8472. "https://hackage.haskell.org/package/text-short/text-short-"
  8473. version
  8474. ".tar.gz"))
  8475. (sha256
  8476. (base32
  8477. "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz"))))
  8478. (build-system haskell-build-system)
  8479. (inputs (list ghc-hashable))
  8480. (native-inputs
  8481. (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit
  8482. ghc-quickcheck-instances))
  8483. (arguments
  8484. `(#:tests? #f ; TODO: Needs tasty<1.3
  8485. #:cabal-revision
  8486. ("3" "1wjy98ihhipzr34b310sgjjq3cc12aydhckbrgr21kxkzwglm4nv")))
  8487. (home-page "https://hackage.haskell.org/package/text-short")
  8488. (synopsis "Memory-efficient representation of Unicode text strings")
  8489. (description "This package provides the @code{ShortText} type which
  8490. is suitable for keeping many short strings in memory. This is similar
  8491. to how @code{ShortByteString} relates to @code{ByteString}.
  8492. The main difference between @code{Text} and @code{ShortText} is that
  8493. @code{ShortText} uses UTF-8 instead of UTF-16 internally and also doesn't
  8494. support zero-copy slicing (thereby saving 2 words). Consequently, the memory
  8495. footprint of a (boxed) @{ShortText} value is 4 words (2 words when unboxed)
  8496. plus the length of the UTF-8 encoded payload.")
  8497. (license license:bsd-3)))
  8498. (define-public ghc-text-zipper
  8499. (package
  8500. (name "ghc-text-zipper")
  8501. (version "0.11")
  8502. (source
  8503. (origin
  8504. (method url-fetch)
  8505. (uri (string-append "https://hackage.haskell.org/package/text-zipper/"
  8506. "text-zipper-" version ".tar.gz"))
  8507. (sha256
  8508. (base32 "07l1pyx93gv95cn1wh1di129axhm9sqsn4znykliacv60ld854ys"))))
  8509. (build-system haskell-build-system)
  8510. (native-inputs
  8511. (list ghc-hspec ghc-quickcheck hspec-discover))
  8512. (inputs
  8513. (list ghc-vector))
  8514. (home-page "https://github.com/jtdaugherty/text-zipper/")
  8515. (synopsis "Text editor zipper library")
  8516. (description
  8517. "This Haskell library provides a two-dimensional zipper data structure for
  8518. editing text. The structure represents the body of text and an editing cursor
  8519. which can be moved through it, along with a set of editing transformations.
  8520. Text zippers are generalized over the set of data types that might be used to
  8521. store lists of characters (e.g., @code{String}, @code{T.Text}, etc.).
  8522. Implementations using both of these examples are provided.")
  8523. (license license:bsd-3)))
  8524. (define-public ghc-doclayout
  8525. (package
  8526. (name "ghc-doclayout")
  8527. (version "0.3.1.1")
  8528. (source
  8529. (origin
  8530. (method url-fetch)
  8531. (uri (string-append
  8532. "https://hackage.haskell.org/package/doclayout/"
  8533. "doclayout-" version ".tar.gz"))
  8534. (sha256
  8535. (base32 "1p9kgjlf7y4p1symvkwndgs4lvyw2c45bsgld09y9r4aiqbhdrxp"))))
  8536. (build-system haskell-build-system)
  8537. (inputs
  8538. (list ghc-safe ghc-emojis))
  8539. (native-inputs
  8540. (list ghc-tasty ghc-tasty-golden ghc-tasty-hunit
  8541. ghc-tasty-quickcheck))
  8542. (home-page "https://github.com/jgm/doclayout")
  8543. (synopsis "Pretty-printing library for laying out text documents")
  8544. (description
  8545. "doclayout is a pretty-printing library for laying out text documents,
  8546. with several features not present in pretty-printing libraries designed for
  8547. code. It was designed for use in @code{Pandoc}.")
  8548. (license license:bsd-3)))
  8549. (define-public ghc-pandoc
  8550. (package
  8551. (name "ghc-pandoc")
  8552. (version "2.14.0.3")
  8553. (source
  8554. (origin
  8555. (method url-fetch)
  8556. (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
  8557. version ".tar.gz"))
  8558. (sha256
  8559. (base32
  8560. "1pgd6125mrvzj2faxbsfmackb7kchzcr6bjkrwqbyn9hzxdzbqw2"))))
  8561. (build-system haskell-build-system)
  8562. (arguments
  8563. `(#:phases
  8564. (modify-phases %standard-phases
  8565. (add-after 'unpack 'find-library
  8566. (lambda _
  8567. (substitute* "test/Tests/Command.hs"
  8568. (("= dynlibEnv")
  8569. (format #f "= [(\"LD_LIBRARY_PATH\" , \"~a/dist/build\")]"
  8570. (getcwd))))
  8571. #t)))))
  8572. (outputs '("out" "static" "doc"))
  8573. (inputs
  8574. (list ghc-aeson
  8575. ghc-aeson-pretty
  8576. ghc-attoparsec
  8577. ghc-base64-bytestring
  8578. ghc-base-compat
  8579. ghc-blaze-html
  8580. ghc-blaze-markup
  8581. ghc-case-insensitive
  8582. ghc-citeproc
  8583. ghc-commonmark-extensions
  8584. ghc-commonmark
  8585. ghc-commonmark-pandoc
  8586. ghc-connection
  8587. ghc-data-default
  8588. ghc-doclayout
  8589. ghc-doctemplates
  8590. ghc-emojis
  8591. ghc-file-embed
  8592. ghc-glob
  8593. ghc-haddock-library
  8594. ghc-hslua
  8595. ghc-hslua-module-path
  8596. ghc-hslua-module-system
  8597. ghc-hslua-module-text
  8598. ghc-hsyaml
  8599. ghc-http-client
  8600. ghc-http-client-tls
  8601. ghc-http
  8602. ghc-http-types
  8603. ghc-ipynb
  8604. ghc-jira-wiki-markup
  8605. ghc-juicypixels
  8606. ghc-network
  8607. ghc-network-uri
  8608. ghc-pandoc-types
  8609. ghc-random
  8610. ghc-safe
  8611. ghc-scientific
  8612. ghc-sha
  8613. ghc-skylighting-core
  8614. ghc-skylighting
  8615. ghc-split
  8616. ghc-syb
  8617. ghc-tagsoup
  8618. ghc-temporary
  8619. ghc-texmath
  8620. ghc-text-conversions
  8621. ghc-unicode-collation
  8622. ghc-unicode-transforms
  8623. ghc-unordered-containers
  8624. ghc-xml-conduit
  8625. ghc-xml
  8626. ghc-zip-archive
  8627. ghc-zlib))
  8628. (native-inputs
  8629. (list ghc-tasty
  8630. ghc-tasty-golden
  8631. ghc-tasty-hunit
  8632. ghc-tasty-lua
  8633. ghc-tasty-quickcheck
  8634. ghc-diff
  8635. ghc-quickcheck))
  8636. (home-page "https://pandoc.org")
  8637. (synopsis "Conversion between markup formats")
  8638. (description
  8639. "Pandoc is a Haskell library for converting from one markup format to
  8640. another, and a command-line tool that uses this library. It can read and
  8641. write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
  8642. LaTeX, DocBook, and many more.
  8643. Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
  8644. definition lists, tables, and other features. A compatibility mode is
  8645. provided for those who need a drop-in replacement for Markdown.pl.")
  8646. (license license:gpl2+)))
  8647. (define-public pandoc
  8648. (package
  8649. (inherit ghc-pandoc)
  8650. (name "pandoc")
  8651. (arguments
  8652. `(#:configure-flags
  8653. (list "-fstatic"
  8654. ;; Do not build trypandoc; this is the default but it's better to
  8655. ;; be explicit.
  8656. "-f-trypandoc"
  8657. ;; TODO: Without these we cannot link the Haskell libraries
  8658. ;; statically. It would be nice if we could also build the
  8659. ;; shared libraries.
  8660. "--disable-shared"
  8661. "--disable-executable-dynamic"
  8662. ;; That's where we place all static libraries
  8663. "--extra-lib-dirs=static-libs/"
  8664. "--ghc-option=-static")
  8665. #:modules ((guix build haskell-build-system)
  8666. (guix build utils)
  8667. (ice-9 match)
  8668. (srfi srfi-1))
  8669. #:phases
  8670. (modify-phases %standard-phases
  8671. (add-after 'unpack 'create-simple-paths-module
  8672. (lambda* (#:key outputs #:allow-other-keys)
  8673. (call-with-output-file "Paths_pandoc.hs"
  8674. (lambda (port)
  8675. (format port "\
  8676. {-# LANGUAGE CPP #-}
  8677. {-# LANGUAGE NoRebindableSyntax #-}
  8678. {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
  8679. module Paths_pandoc (version,getDataDir,getDataFileName) where
  8680. import Prelude
  8681. import Data.Version (Version(..))
  8682. import System.Info
  8683. version :: Version
  8684. version = Version [~a] []
  8685. datadir :: FilePath
  8686. datadir = \"~a/share/\" ++
  8687. arch ++ \"-\" ++
  8688. os ++ \"-\" ++
  8689. compilerName ++ \"-~a/pandoc-~a\"
  8690. getDataDir :: IO FilePath
  8691. getDataDir = return datadir
  8692. getDataFileName :: FilePath -> IO FilePath
  8693. getDataFileName name = do
  8694. dir <- getDataDir
  8695. return (dir ++ \"/\" ++ name)
  8696. "
  8697. (string-map (lambda (chr) (if (eq? chr #\.) #\, chr))
  8698. ,(package-version ghc-pandoc))
  8699. (assoc-ref outputs "out")
  8700. ,(package-version ghc)
  8701. ,(package-version ghc-pandoc))))
  8702. #t))
  8703. (add-after 'unpack 'prepare-static-libraries
  8704. (lambda* (#:key inputs #:allow-other-keys)
  8705. (mkdir-p (string-append (getcwd) "/static-libs"))
  8706. (for-each
  8707. (lambda (input)
  8708. (when (or (string-prefix? "static-" (car input))
  8709. (string-prefix? "ghc" (car input)))
  8710. (match (find-files (cdr input) "\\.a$")
  8711. ((and (first . rest) libs)
  8712. (for-each (lambda (lib)
  8713. (let ((target (string-append (getcwd) "/static-libs/"
  8714. (basename lib))))
  8715. (unless (file-exists? target)
  8716. (symlink first target))))
  8717. libs))
  8718. (_ #f))))
  8719. inputs)
  8720. #t))
  8721. (delete 'check)
  8722. ;; Remove libraries. If you need them, install ghc-pandoc instead.
  8723. (add-after 'register 'delete-libraries
  8724. (lambda* (#:key outputs #:allow-other-keys)
  8725. (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))
  8726. (add-after 'install 'post-install-check
  8727. (assoc-ref %standard-phases 'check)))))
  8728. (outputs '("out" "doc" "static"))
  8729. (inputs
  8730. (let* ((direct-inputs (package-inputs ghc-pandoc))
  8731. (all-static-inputs
  8732. (map (lambda (pkg)
  8733. (list (string-append "static-" (package-name pkg))
  8734. pkg "static"))
  8735. (delete-duplicates
  8736. (append (map cadr direct-inputs)
  8737. (filter (lambda (pkg)
  8738. (and
  8739. (string-prefix? "ghc-" (package-name pkg))
  8740. (not (string=? "ghc-next" (package-name pkg)))))
  8741. (package-closure
  8742. (map cadr direct-inputs))))))))
  8743. `(("zlib:static" ,zlib "static")
  8744. ,@all-static-inputs
  8745. ,@direct-inputs)))
  8746. (native-inputs
  8747. (let* ((direct-inputs (package-native-inputs ghc-pandoc))
  8748. (all-static-inputs
  8749. (map (lambda (pkg)
  8750. (list (string-append "static-" (package-name pkg))
  8751. pkg "static"))
  8752. (delete-duplicates
  8753. (append (map cadr direct-inputs)
  8754. (filter (lambda (pkg)
  8755. (and
  8756. (string-prefix? "ghc-" (package-name pkg))
  8757. (not (string=? "ghc-next" (package-name pkg)))))
  8758. (package-closure
  8759. (map cadr direct-inputs))))))))
  8760. `(,@all-static-inputs
  8761. ,@direct-inputs)))))
  8762. (define-public ghc-pandoc-types
  8763. (package
  8764. (name "ghc-pandoc-types")
  8765. (version "1.22.1")
  8766. (source (origin
  8767. (method url-fetch)
  8768. (uri (string-append "https://hackage.haskell.org/package/"
  8769. "pandoc-types/pandoc-types-"
  8770. version ".tar.gz"))
  8771. (sha256
  8772. (base32
  8773. "0z2j306jsiriwhib0201hsllwyck7qcvqci5c25frwsmknr3mls2"))))
  8774. (build-system haskell-build-system)
  8775. (arguments
  8776. `(#:phases
  8777. (modify-phases %standard-phases
  8778. ;; None of the directory names are actually used. By generating a
  8779. ;; simpler module without references to store names we avoid
  8780. ;; introducing references in the pandoc executable.
  8781. (add-after 'unpack 'create-simple-paths-module
  8782. (lambda _
  8783. (call-with-output-file "Paths_pandoc_types.hs"
  8784. (lambda (port)
  8785. (format port "\
  8786. {-# LANGUAGE CPP #-}
  8787. {-# LANGUAGE NoRebindableSyntax #-}
  8788. {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
  8789. module Paths_pandoc_types (version) where
  8790. import Data.Version (Version(..))
  8791. version :: Version
  8792. version = Version [~a] []
  8793. " (string-map (lambda (chr) (if (eq? chr #\.) #\, chr)) ,version))))
  8794. #t)))))
  8795. (inputs
  8796. (list ghc-syb ghc-aeson))
  8797. (native-inputs
  8798. (list ghc-quickcheck
  8799. ghc-test-framework
  8800. ghc-test-framework-hunit
  8801. ghc-test-framework-quickcheck2
  8802. ghc-string-qq
  8803. ghc-hunit))
  8804. (home-page "https://pandoc.org")
  8805. (synopsis "Types for representing a structured document")
  8806. (description
  8807. "This module defines the @code{Pandoc} data structure, which is used by
  8808. pandoc to represent structured documents. It also provides functions for
  8809. building up, manipulating and serialising @code{Pandoc} structures.")
  8810. (license license:bsd-3)))
  8811. (define-public ghc-parallel
  8812. (package
  8813. (name "ghc-parallel")
  8814. (version "3.2.2.0")
  8815. (outputs '("out" "static" "doc"))
  8816. (source
  8817. (origin
  8818. (method url-fetch)
  8819. (uri (string-append
  8820. "https://hackage.haskell.org/package/parallel/parallel-"
  8821. version
  8822. ".tar.gz"))
  8823. (sha256
  8824. (base32
  8825. "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
  8826. (build-system haskell-build-system)
  8827. (arguments
  8828. `(#:cabal-revision
  8829. ("3" "1lv3y3zrdfc09nsiqxg7mzcahgnqi6z9caspd4lvifhhfrqy2722")))
  8830. (home-page "https://hackage.haskell.org/package/parallel")
  8831. (synopsis "Parallel programming library")
  8832. (description
  8833. "This package provides a library for parallel programming.")
  8834. (license license:bsd-3)))
  8835. (define-public ghc-parsec-numbers
  8836. (package
  8837. (name "ghc-parsec-numbers")
  8838. (version "0.1.0")
  8839. (source
  8840. (origin
  8841. (method url-fetch)
  8842. (uri (string-append "https://hackage.haskell.org/package/"
  8843. "parsec-numbers/parsec-numbers-" version ".tar.gz"))
  8844. (sha256
  8845. (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
  8846. (build-system haskell-build-system)
  8847. (home-page "https://hackage.haskell.org/package/parsec-numbers")
  8848. (synopsis "Utilities for parsing numbers from strings")
  8849. (description
  8850. "This package provides the number parsers without the need to use a large
  8851. (and unportable) token parser.")
  8852. (license license:bsd-3)))
  8853. (define-public ghc-parser-combinators
  8854. (package
  8855. (name "ghc-parser-combinators")
  8856. (version "1.2.1")
  8857. (source
  8858. (origin
  8859. (method url-fetch)
  8860. (uri (string-append "https://hackage.haskell.org/package/"
  8861. "parser-combinators/parser-combinators-"
  8862. version ".tar.gz"))
  8863. (sha256
  8864. (base32
  8865. "0k95nvgnl5820y094yfh7b868l0xd1diclm4kx9560p5rm02w5h3"))))
  8866. (build-system haskell-build-system)
  8867. (home-page "https://github.com/mrkkrp/parser-combinators")
  8868. (synopsis "Commonly useful parser combinators")
  8869. (description
  8870. "This is a lightweight package providing commonly useful parser
  8871. combinators.")
  8872. (license license:bsd-3)))
  8873. (define-public ghc-parsers
  8874. (package
  8875. (name "ghc-parsers")
  8876. (version "0.12.10")
  8877. (source
  8878. (origin
  8879. (method url-fetch)
  8880. (uri (string-append
  8881. "https://hackage.haskell.org/package/parsers/parsers-"
  8882. version
  8883. ".tar.gz"))
  8884. (sha256
  8885. (base32
  8886. "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
  8887. (build-system haskell-build-system)
  8888. (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
  8889. ; -package attoparsec-0.13.0.1"
  8890. (inputs
  8891. (list ghc-base-orphans
  8892. ghc-attoparsec
  8893. ghc-scientific
  8894. ghc-semigroups
  8895. ghc-charset
  8896. ghc-unordered-containers))
  8897. (home-page "https://github.com/ekmett/parsers/")
  8898. (synopsis "Parsing combinators")
  8899. (description "This library provides convenient combinators for working
  8900. with and building parsing combinator libraries. Given a few simple instances,
  8901. you get access to a large number of canned definitions. Instances exist for
  8902. the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
  8903. @code{Text.Read}.")
  8904. (license license:bsd-3)))
  8905. (define-public ghc-path
  8906. (package
  8907. (name "ghc-path")
  8908. (version "0.8.0")
  8909. (source
  8910. (origin
  8911. (method url-fetch)
  8912. (uri (string-append
  8913. "https://hackage.haskell.org/package/path/path-"
  8914. version
  8915. ".tar.gz"))
  8916. (sha256
  8917. (base32
  8918. "0vzsa41q5sxs1ni72yv1vfpnc6r5mjdwnmdb6jrs6cszb2xlkjr4"))))
  8919. (build-system haskell-build-system)
  8920. (arguments
  8921. `(#:cabal-revision
  8922. ("1" "02vhx94mqapyigvayb6cj7p7snn354pb542n3qyvsm0gih52wlja")))
  8923. (inputs
  8924. (list ghc-aeson ghc-hashable))
  8925. (native-inputs
  8926. (list ghc-hspec
  8927. ghc-quickcheck
  8928. ghc-genvalidity
  8929. ghc-genvalidity-hspec
  8930. ghc-genvalidity-property
  8931. ghc-hspec
  8932. ghc-validity))
  8933. (home-page
  8934. "https://hackage.haskell.org/package/path")
  8935. (synopsis "Support for well-typed paths")
  8936. (description "This package introduces a type for paths upholding useful
  8937. invariants.")
  8938. (license license:bsd-3)))
  8939. (define-public ghc-path-io
  8940. (package
  8941. (name "ghc-path-io")
  8942. (version "1.6.3")
  8943. (source
  8944. (origin
  8945. (method url-fetch)
  8946. (uri (string-append
  8947. "https://hackage.haskell.org/package/path-io/path-io-"
  8948. version
  8949. ".tar.gz"))
  8950. (sha256
  8951. (base32
  8952. "1dnc48hf8x83p0jy05qi8j8gmfmsy50swnql9ssdv74lsryp615n"))))
  8953. (build-system haskell-build-system)
  8954. (arguments
  8955. `(#:cabal-revision
  8956. ("3" "0rsr9r2175lf7zcz2sns0mhxkvl21pm50sjidjq5v75nalrsw6rp")))
  8957. (inputs
  8958. (list ghc-dlist
  8959. ghc-exceptions
  8960. ghc-path
  8961. ghc-transformers-base
  8962. ghc-unix-compat
  8963. ghc-temporary))
  8964. (native-inputs
  8965. (list ghc-hspec))
  8966. (home-page
  8967. "https://github.com/mrkkrp/path-io")
  8968. (synopsis "Functions for manipulating well-typed paths")
  8969. (description "This package provides an interface to the @code{directory}
  8970. package for users of @code{path}. It also implements some missing stuff like
  8971. recursive scanning and copying of directories, working with temporary
  8972. files/directories, and more.")
  8973. (license license:bsd-3)))
  8974. (define-public ghc-paths
  8975. (package
  8976. (name "ghc-paths")
  8977. (version "0.1.0.12")
  8978. (outputs '("out" "static" "doc"))
  8979. (source
  8980. (origin
  8981. (method url-fetch)
  8982. (uri (string-append
  8983. "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
  8984. version
  8985. ".tar.gz"))
  8986. (sha256
  8987. (base32
  8988. "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
  8989. (build-system haskell-build-system)
  8990. (home-page "https://github.com/simonmar/ghc-paths")
  8991. (synopsis
  8992. "Knowledge of GHC's installation directories")
  8993. (description
  8994. "Knowledge of GHC's installation directories.")
  8995. (license license:bsd-3)))
  8996. (define-public ghc-patience
  8997. (package
  8998. (name "ghc-patience")
  8999. (version "0.3")
  9000. (source
  9001. (origin
  9002. (method url-fetch)
  9003. (uri (string-append
  9004. "https://hackage.haskell.org/package/patience/patience-"
  9005. version ".tar.gz"))
  9006. (sha256
  9007. (base32
  9008. "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
  9009. (build-system haskell-build-system)
  9010. (home-page "https://hackage.haskell.org/package/patience")
  9011. (synopsis "Patience diff and longest increasing subsequence")
  9012. (description
  9013. "This library implements the 'patience diff' algorithm, as well as the
  9014. patience algorithm for the longest increasing subsequence problem.
  9015. Patience diff computes the difference between two lists, for example the lines
  9016. of two versions of a source file. It provides a good balance between
  9017. performance, nice output for humans, and simplicity of implementation.")
  9018. (license license:bsd-3)))
  9019. (define-public ghc-pattern-arrows
  9020. (package
  9021. (name "ghc-pattern-arrows")
  9022. (version "0.0.2")
  9023. (source
  9024. (origin
  9025. (method url-fetch)
  9026. (uri (string-append
  9027. "mirror://hackage/package/pattern-arrows/pattern-arrows-"
  9028. version
  9029. ".tar.gz"))
  9030. (sha256
  9031. (base32
  9032. "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
  9033. (build-system haskell-build-system)
  9034. (home-page
  9035. "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
  9036. (synopsis "Arrows for Pretty Printing")
  9037. (description
  9038. "A library for generating concise pretty printers based on precedence
  9039. rules.")
  9040. (license license:expat)))
  9041. (define-public ghc-pcre-light
  9042. (package
  9043. (name "ghc-pcre-light")
  9044. (version "0.4.1.0")
  9045. (source
  9046. (origin
  9047. (method url-fetch)
  9048. (uri (string-append
  9049. "https://hackage.haskell.org/package/pcre-light/pcre-light-"
  9050. version
  9051. ".tar.gz"))
  9052. (sha256
  9053. (base32
  9054. "0lqvsmc6bfhdv6igm3fmw8nklyhw3j3jsl0s1k6r3fhb6ambzxhn"))))
  9055. (build-system haskell-build-system)
  9056. (arguments
  9057. `(#:extra-directories ("pcre")))
  9058. (inputs
  9059. (list pcre))
  9060. (native-inputs
  9061. (list pkg-config ghc-hunit))
  9062. (home-page "https://github.com/Daniel-Diaz/pcre-light")
  9063. (synopsis "Haskell library for Perl 5 compatible regular expressions")
  9064. (description "This package provides a small, efficient, and portable regex
  9065. library for Perl 5 compatible regular expressions. The PCRE library is a set
  9066. of functions that implement regular expression pattern matching using the same
  9067. syntax and semantics as Perl 5.")
  9068. (license license:bsd-3)))
  9069. (define-public ghc-persistent
  9070. (package
  9071. (name "ghc-persistent")
  9072. (version "2.13.2.1")
  9073. (source
  9074. (origin
  9075. (method url-fetch)
  9076. (uri (string-append
  9077. "https://hackage.haskell.org/package/persistent/"
  9078. "persistent-" version ".tar.gz"))
  9079. (sha256
  9080. (base32
  9081. "13lp9i94f57qhifdmr1vnsrra34526f7kqa1sybcaj2jh2v3q85k"))))
  9082. (build-system haskell-build-system)
  9083. (inputs
  9084. (list ghc-aeson
  9085. ghc-attoparsec
  9086. ghc-base64-bytestring
  9087. ghc-blaze-html
  9088. ghc-conduit
  9089. ghc-fast-logger
  9090. ghc-http-api-data
  9091. ghc-lift-type
  9092. ghc-monad-logger
  9093. ghc-path-pieces
  9094. ghc-resource-pool
  9095. ghc-resourcet
  9096. ghc-scientific
  9097. ghc-silently
  9098. ghc-th-lift-instances
  9099. ghc-unliftio-core
  9100. ghc-unliftio
  9101. ghc-unordered-containers
  9102. ghc-vector))
  9103. (native-inputs
  9104. (list ghc-hspec ghc-quickcheck ghc-quickcheck-instances
  9105. ghc-shakespeare))
  9106. (home-page "https://www.yesodweb.com/book/persistent")
  9107. (synopsis "Type-safe, multi-backend data serialization for Haskell")
  9108. (description "This Haskell package allows Haskell programs to access data
  9109. storage systems like PostgreSQL, SQLite, and MariaDB in a type-safe way.")
  9110. (license license:expat)))
  9111. (define-public ghc-persistent-sqlite
  9112. (package
  9113. (name "ghc-persistent-sqlite")
  9114. (version "2.13.0.3")
  9115. (source
  9116. (origin
  9117. (method url-fetch)
  9118. (uri (string-append
  9119. "https://hackage.haskell.org/package/persistent-sqlite/"
  9120. "persistent-sqlite-" version ".tar.gz"))
  9121. (sha256
  9122. (base32
  9123. "12za89crbk74mya4qxpw5fp5fqp64vwz5s8vbjd7m8r3j3vbw338"))))
  9124. (build-system haskell-build-system)
  9125. (inputs
  9126. (list ghc-persistent
  9127. ghc-aeson
  9128. ghc-conduit
  9129. ghc-microlens-th
  9130. ghc-monad-logger
  9131. ghc-resource-pool
  9132. ghc-resourcet
  9133. ghc-unliftio-core
  9134. ghc-unordered-containers))
  9135. (native-inputs
  9136. (list ghc-persistent-template
  9137. ghc-persistent-test
  9138. ghc-exceptions
  9139. ghc-fast-logger
  9140. ghc-hspec
  9141. ghc-hunit
  9142. ghc-quickcheck
  9143. ghc-system-fileio
  9144. ghc-system-filepath
  9145. ghc-temporary))
  9146. (home-page
  9147. "https://www.yesodweb.com/book/persistent")
  9148. (synopsis "Backend for the persistent library using sqlite3")
  9149. (description "This Haskell package includes a thin sqlite3 wrapper based
  9150. on the direct-sqlite package, as well as the entire C library, so there are no
  9151. system dependencies.")
  9152. (license license:expat)))
  9153. (define-public ghc-persistent-template
  9154. (package
  9155. (name "ghc-persistent-template")
  9156. (version "2.12.0.0")
  9157. (source
  9158. (origin
  9159. (method url-fetch)
  9160. (uri (string-append
  9161. "https://hackage.haskell.org/package/persistent-template/"
  9162. "persistent-template-" version ".tar.gz"))
  9163. (sha256
  9164. (base32
  9165. "0c9cs27j43azimj74s2m2cdks87682ibpy1xbyzvygipgmb8nj6w"))))
  9166. (build-system haskell-build-system)
  9167. (inputs
  9168. (list ghc-persistent
  9169. ghc-aeson
  9170. ghc-http-api-data
  9171. ghc-monad-control
  9172. ghc-monad-logger
  9173. ghc-path-pieces
  9174. ghc-th-lift-instances
  9175. ghc-unordered-containers))
  9176. (native-inputs
  9177. (list ghc-hspec ghc-quickcheck))
  9178. (home-page "https://www.yesodweb.com/book/persistent")
  9179. (synopsis "Type-safe, non-relational, multi-backend persistence")
  9180. (description "This Haskell package provides interfaces and helper
  9181. functions for the ghc-persistent package.")
  9182. (license license:expat)))
  9183. (define-public ghc-persistent-test
  9184. (package
  9185. (name "ghc-persistent-test")
  9186. (version "2.13.0.3")
  9187. (source
  9188. (origin
  9189. (method url-fetch)
  9190. (uri (string-append
  9191. "https://hackage.haskell.org/package/persistent-test/"
  9192. "persistent-test-" version ".tar.gz"))
  9193. (sha256
  9194. (base32
  9195. "07q53jvhz00cf10k7a8fkvykgwcl10fgzh8k9gv1d248f336crvs"))))
  9196. (build-system haskell-build-system)
  9197. (inputs
  9198. (list ghc-aeson
  9199. ghc-blaze-html
  9200. ghc-conduit
  9201. ghc-monad-control
  9202. ghc-monad-logger
  9203. ghc-path-pieces
  9204. ghc-persistent
  9205. ghc-persistent-template
  9206. ghc-random
  9207. ghc-resourcet
  9208. ghc-transformers-base
  9209. ghc-unliftio
  9210. ghc-unliftio-core
  9211. ghc-unordered-containers))
  9212. (native-inputs
  9213. (list ghc-quickcheck ghc-quickcheck-instances ghc-hspec
  9214. ghc-hspec-expectations ghc-hunit))
  9215. (home-page "https://www.yesodweb.com/book/persistent")
  9216. (synopsis "Tests for the Persistent database library")
  9217. (description
  9218. "This is only for use in developing libraries that should conform to
  9219. the persistent interface, not for users of the persistent suite of database
  9220. libraries.")
  9221. (license license:expat)))
  9222. (define-public ghc-pgp-wordlist
  9223. (package
  9224. (name "ghc-pgp-wordlist")
  9225. (version "0.1.0.3")
  9226. (source
  9227. (origin
  9228. (method url-fetch)
  9229. (uri (string-append
  9230. "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
  9231. version
  9232. ".tar.gz"))
  9233. (sha256
  9234. (base32
  9235. "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
  9236. (build-system haskell-build-system)
  9237. (inputs
  9238. (list ghc-vector))
  9239. (native-inputs
  9240. (list ghc-hunit ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck
  9241. ghc-doctest))
  9242. (home-page
  9243. "https://github.com/quchen/pgp-wordlist")
  9244. (synopsis
  9245. "Translate between binary data and a human-readable collection of words")
  9246. (description
  9247. "The PGP Word List consists of two phonetic alphabets, each with one word
  9248. per possible byte value. A string of bytes is translated with these
  9249. alphabets, alternating between them at each byte.
  9250. The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
  9251. spellbind headwaters\", for example.
  9252. For further information, see
  9253. @url{http://en.wikipedia.org/wiki/PGP_word_list}.")
  9254. (license license:bsd-3)))
  9255. (define-public ghc-pipes
  9256. (package
  9257. (name "ghc-pipes")
  9258. (version "4.3.16")
  9259. (source
  9260. (origin
  9261. (method url-fetch)
  9262. (uri (string-append
  9263. "https://hackage.haskell.org/package/pipes/"
  9264. "pipes-" version ".tar.gz"))
  9265. (sha256
  9266. (base32
  9267. "163lx5sf68zx5kik5h1fjsyckwr9shdsn5k2dsjq3mhg077nxqgl"))))
  9268. (build-system haskell-build-system)
  9269. (inputs
  9270. (list ghc-exceptions ghc-mmorph ghc-void ghc-semigroups))
  9271. (native-inputs
  9272. (list ghc-quickcheck ghc-test-framework
  9273. ghc-test-framework-quickcheck2))
  9274. (home-page
  9275. "https://hackage.haskell.org/package/pipes")
  9276. (synopsis "Compositional pipelines")
  9277. (description
  9278. "A clean and powerful stream processing library that lets you build
  9279. and connect reusable streaming components. Advantages over traditional streaming
  9280. libraries:
  9281. @itemize
  9282. @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
  9283. and @code{yield}
  9284. @item Blazing fast: Implementation tuned for speed, including shortcut fusion
  9285. @item Lightweight Dependency: pipes is small and compiles very rapidly, including
  9286. dependencies
  9287. @item Elegant semantics: Use practical category theory
  9288. @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
  9289. @item Bidirectionality: Implement duplex channels
  9290. @end itemize")
  9291. (license license:bsd-3)))
  9292. (define-public ghc-pointedlist
  9293. (package
  9294. (name "ghc-pointedlist")
  9295. (version "0.6.1")
  9296. (source
  9297. (origin
  9298. (method url-fetch)
  9299. (uri (string-append
  9300. "https://hackage.haskell.org/package/pointedlist/"
  9301. "pointedlist-" version ".tar.gz"))
  9302. (sha256
  9303. (base32
  9304. "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
  9305. (build-system haskell-build-system)
  9306. (home-page
  9307. "https://hackage.haskell.org/package/pointedlist")
  9308. (synopsis
  9309. "Zipper-like comonad which works as a list, tracking a position")
  9310. (description
  9311. "A PointedList tracks the position in a non-empty list which works
  9312. similarly to a zipper. A current item is always required, and therefore
  9313. the list may never be empty. A circular PointedList wraps around to the
  9314. other end when progressing past the actual edge.")
  9315. (license license:bsd-3)))
  9316. (define-public ghc-polyparse
  9317. (package
  9318. (name "ghc-polyparse")
  9319. (version "1.13")
  9320. (source
  9321. (origin
  9322. (method url-fetch)
  9323. (uri (string-append
  9324. "https://hackage.haskell.org/package/polyparse/polyparse-"
  9325. version
  9326. ".tar.gz"))
  9327. (sha256
  9328. (base32
  9329. "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w"))))
  9330. (build-system haskell-build-system)
  9331. (arguments
  9332. `(#:cabal-revision
  9333. ("2" "1n5q6w7x46cvcq7j1pg9jx9h72vcsc5di35rbkmwgjw6pq4w4gfl")))
  9334. (home-page
  9335. "http://code.haskell.org/~malcolm/polyparse/")
  9336. (synopsis
  9337. "Alternative parser combinator libraries")
  9338. (description
  9339. "This package provides a variety of alternative parser combinator
  9340. libraries, including the original HuttonMeijer set. The Poly sets have
  9341. features like good error reporting, arbitrary token type, running state, lazy
  9342. parsing, and so on. Finally, Text.Parse is a proposed replacement for the
  9343. standard Read class, for better deserialisation of Haskell values from
  9344. Strings.")
  9345. (license license:lgpl2.1)))
  9346. (define-public ghc-pqueue
  9347. (package
  9348. (name "ghc-pqueue")
  9349. (version "1.4.1.3")
  9350. (source
  9351. (origin
  9352. (method url-fetch)
  9353. (uri (string-append "https://hackage.haskell.org/package/"
  9354. "pqueue/pqueue-" version ".tar.gz"))
  9355. (sha256
  9356. (base32
  9357. "1sz7hlnfd86hbwrgqxczmsjsl1ki0ryi9dgzscxlsgjkdgcdia2p"))))
  9358. (build-system haskell-build-system)
  9359. (native-inputs
  9360. (list ghc-quickcheck))
  9361. (home-page "https://hackage.haskell.org/package/pqueue")
  9362. (synopsis "Reliable, persistent, fast priority queues")
  9363. (description
  9364. "This package provides a fast, reliable priority queue implementation
  9365. based on a binomial heap.")
  9366. (license license:bsd-3)))
  9367. (define-public ghc-prelude-extras
  9368. (package
  9369. (name "ghc-prelude-extras")
  9370. (version "0.4.0.3")
  9371. (source
  9372. (origin
  9373. (method url-fetch)
  9374. (uri (string-append
  9375. "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
  9376. version
  9377. ".tar.gz"))
  9378. (sha256
  9379. (base32
  9380. "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
  9381. (build-system haskell-build-system)
  9382. (home-page "https://github.com/ekmett/prelude-extras")
  9383. (synopsis "Higher order versions of Prelude classes")
  9384. (description "This library provides higher order versions of
  9385. @code{Prelude} classes to ease programming with polymorphic recursion and
  9386. reduce @code{UndecidableInstances}.")
  9387. (license license:bsd-3)))
  9388. (define-public ghc-prettyclass
  9389. (package
  9390. (name "ghc-prettyclass")
  9391. (version "1.0.0.0")
  9392. (source
  9393. (origin
  9394. (method url-fetch)
  9395. (uri (string-append "https://hackage.haskell.org/package/"
  9396. "prettyclass/prettyclass-" version ".tar.gz"))
  9397. (sha256
  9398. (base32
  9399. "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
  9400. (build-system haskell-build-system)
  9401. (home-page "https://hackage.haskell.org/package/prettyclass")
  9402. (synopsis "Pretty printing class similar to Show")
  9403. (description "This package provides a pretty printing class similar
  9404. to @code{Show}, based on the HughesPJ pretty printing library. It
  9405. provides the pretty printing class and instances for the Prelude
  9406. types.")
  9407. (license license:bsd-3)))
  9408. (define-public ghc-prettyprinter
  9409. (package
  9410. (name "ghc-prettyprinter")
  9411. (version "1.7.1")
  9412. (source
  9413. (origin
  9414. (method url-fetch)
  9415. (uri (string-append
  9416. "https://hackage.haskell.org/package/prettyprinter/prettyprinter-"
  9417. version
  9418. ".tar.gz"))
  9419. (sha256
  9420. (base32 "0i8b3wjjpdvp5b857j065jwyrpgcnzgk75imrj7i3yhl668acvjy"))))
  9421. (build-system haskell-build-system)
  9422. (native-inputs
  9423. (list ghc-doctest
  9424. ghc-pgp-wordlist
  9425. ghc-quickcheck
  9426. ghc-quickcheck-instances
  9427. ghc-tasty
  9428. ghc-tasty-hunit
  9429. ghc-tasty-quickcheck))
  9430. (home-page "https://github.com/quchen/prettyprinter")
  9431. (synopsis
  9432. "Modern, easy to use, well-documented, extensible pretty-printer")
  9433. (description
  9434. "A prettyprinter/text rendering engine. Easy to use, well-documented,
  9435. ANSI terminal backend exists, HTML backend is trivial to implement, no name
  9436. clashes, @code{Text}-based, extensible.")
  9437. (license license:bsd-2)))
  9438. (define-public ghc-prettyprinter-ansi-terminal
  9439. (package
  9440. (name "ghc-prettyprinter-ansi-terminal")
  9441. (version "1.1.3")
  9442. (source
  9443. (origin
  9444. (method url-fetch)
  9445. (uri (string-append
  9446. "https://hackage.haskell.org/package/prettyprinter-ansi-terminal/"
  9447. "prettyprinter-ansi-terminal-" version ".tar.gz"))
  9448. (sha256
  9449. (base32 "1cqxbcmy9ykk4pssq5hp6h51g2h547zfz549awh0c1fni8q3jdw1"))))
  9450. (build-system haskell-build-system)
  9451. (inputs
  9452. (list ghc-ansi-terminal ghc-prettyprinter))
  9453. (native-inputs (list ghc-doctest))
  9454. (home-page
  9455. "https://github.com/quchen/prettyprinter")
  9456. (synopsis
  9457. "ANSI terminal backend for the prettyprinter package")
  9458. (description "ANSI terminal backend for the prettyprinter package.")
  9459. (license license:bsd-2)))
  9460. (define-public ghc-pretty-hex
  9461. (package
  9462. (name "ghc-pretty-hex")
  9463. (version "1.1")
  9464. (source
  9465. (origin
  9466. (method url-fetch)
  9467. (uri (string-append "https://hackage.haskell.org/package/"
  9468. "pretty-hex-" version "/"
  9469. "pretty-hex-" version ".tar.gz"))
  9470. (sha256
  9471. (base32
  9472. "0c8pa0rdb2q8rf4acy4gww0hj5lrzclzdh52yi2aiaaij4lqzir7"))))
  9473. (build-system haskell-build-system)
  9474. (home-page "https://github.com/GaloisInc/hexdump")
  9475. (synopsis "Haskell library for hex dumps of ByteStrings")
  9476. (description "This Haskell library generates pretty hex dumps of
  9477. ByteStrings in the style of other common *nix hex dump tools.")
  9478. (license license:bsd-3)))
  9479. (define-public ghc-pretty-show
  9480. (package
  9481. (name "ghc-pretty-show")
  9482. (version "1.10")
  9483. (source
  9484. (origin
  9485. (method url-fetch)
  9486. (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
  9487. "pretty-show-" version ".tar.gz"))
  9488. (sha256
  9489. (base32
  9490. "1lkgvbv00v1amvpqli6y4dzsbs25l4v3wlagvhwx8qxhw2390zrh"))))
  9491. (build-system haskell-build-system)
  9492. (inputs
  9493. (list ghc-haskell-lexer ghc-happy))
  9494. (home-page "https://wiki.github.com/yav/pretty-show")
  9495. (synopsis "Tools for working with derived `Show` instances")
  9496. (description
  9497. "This package provides a library and an executable for working with
  9498. derived @code{Show} instances. By using the library, derived @code{Show}
  9499. instances can be parsed into a generic data structure. The @code{ppsh} tool
  9500. uses the library to produce human-readable versions of @code{Show} instances,
  9501. which can be quite handy for debugging Haskell programs. We can also render
  9502. complex generic values into an interactive Html page, for easier
  9503. examination.")
  9504. (license license:expat)))
  9505. (define-public ghc-pretty-simple
  9506. (package
  9507. (name "ghc-pretty-simple")
  9508. (version "4.0.0.0")
  9509. (source
  9510. (origin
  9511. (method url-fetch)
  9512. (uri (string-append
  9513. "https://hackage.haskell.org/package/pretty-simple/"
  9514. "pretty-simple-" version ".tar.gz"))
  9515. (sha256
  9516. (base32 "1srvx854ml2gffnkxr2fm12xk8syjsk078rfzrq0a3idwgv46myw"))))
  9517. (build-system haskell-build-system)
  9518. (inputs
  9519. (list ghc-aeson ghc-optparse-applicative
  9520. ghc-prettyprinter-ansi-terminal ghc-prettyprinter))
  9521. (native-inputs
  9522. (list cabal-doctest ghc-doctest ghc-glob ghc-quickcheck))
  9523. (home-page "https://github.com/cdepillabout/pretty-simple")
  9524. (synopsis "Pretty printer for data types with a 'Show' instance")
  9525. (description
  9526. "Pretty-simple is a pretty printer for Haskell data types that have a
  9527. Show instance.")
  9528. (license license:bsd-3)))
  9529. (define-public ghc-primitive
  9530. (package
  9531. (name "ghc-primitive")
  9532. (version "0.7.2.0")
  9533. (source
  9534. (origin
  9535. (method url-fetch)
  9536. (uri (string-append
  9537. "https://hackage.haskell.org/package/primitive/primitive-"
  9538. version
  9539. ".tar.gz"))
  9540. (sha256
  9541. (base32
  9542. "1facmq2wxhn5mbgd209zz5swyaw1q970fv3hd84klaxrhabqaxwi"))))
  9543. (build-system haskell-build-system)
  9544. (arguments `(#:tests? #f)) ; TODO: Loops.
  9545. ; (native-inputs
  9546. ; `(("ghc-base-orphans" ,ghc-base-orphans)
  9547. ; ("ghc-quickcheck-classes-base" ,ghc-quickcheck-classes-base)
  9548. ; ("ghc-quickcheck" ,ghc-quickcheck)
  9549. ; ("ghc-tasty" ,ghc-tasty)
  9550. ; ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  9551. ; ("ghc-tagged" ,ghc-tagged)
  9552. ; ("ghc-transformers-compat" ,ghc-transformers-compat)))
  9553. (home-page
  9554. "https://github.com/haskell/primitive")
  9555. (synopsis "Primitive memory-related operations")
  9556. (description
  9557. "This package provides various primitive memory-related operations.")
  9558. (license license:bsd-3)))
  9559. (define-public ghc-primitive-addr
  9560. (package
  9561. (name "ghc-primitive-addr")
  9562. (version "0.1.0.2")
  9563. (source
  9564. (origin
  9565. (method url-fetch)
  9566. (uri (string-append
  9567. "https://hackage.haskell.org/package/primitive-addr/primitive-addr-"
  9568. version
  9569. ".tar.gz"))
  9570. (sha256
  9571. (base32 "06r1p56wm8rbjxnlaqbmc3rbsj1rsv5scwnh80lsn0xw56jc70a2"))))
  9572. (build-system haskell-build-system)
  9573. (inputs (list ghc-primitive))
  9574. (home-page "https://github.com/haskell-primitive/primitive-addr")
  9575. (synopsis "Addresses to unmanaged memory")
  9576. (description
  9577. "This library provides the @code{Data.Primitive.Addr} module that was a part
  9578. of the @code{primitive} library before @code{primitive-0.7.0.0}.")
  9579. (license license:bsd-3)))
  9580. (define-public ghc-process-extras
  9581. (package
  9582. (name "ghc-process-extras")
  9583. (version "0.7.4")
  9584. (source
  9585. (origin
  9586. (method url-fetch)
  9587. (uri
  9588. (string-append
  9589. "https://hackage.haskell.org/package/process-extras/"
  9590. "process-extras-" version ".tar.gz"))
  9591. (sha256
  9592. (base32
  9593. "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
  9594. (build-system haskell-build-system)
  9595. (inputs
  9596. (list ghc-data-default ghc-generic-deriving ghc-hunit ghc-listlike))
  9597. (home-page "https://github.com/seereason/process-extras")
  9598. (synopsis "Extra tools for managing processes")
  9599. (description "This package extends
  9600. @url{http://hackage.haskell.org/package/process}. It allows you to read
  9601. process input and output as ByteStrings or Text, or write your own
  9602. ProcessOutput instance. It also provides lazy process input and output,
  9603. and a ProcessMaker class for more flexibility in the process creation
  9604. API.")
  9605. (license license:expat)))
  9606. (define-public ghc-profunctors
  9607. (package
  9608. (name "ghc-profunctors")
  9609. (version "5.6.2")
  9610. (source
  9611. (origin
  9612. (method url-fetch)
  9613. (uri (string-append
  9614. "https://hackage.haskell.org/package/profunctors/profunctors-"
  9615. version
  9616. ".tar.gz"))
  9617. (sha256
  9618. (base32
  9619. "0an9v003ivxmjid0s51qznbjhd5fsa1dkcfsrhxllnjja1xmv5b5"))))
  9620. (build-system haskell-build-system)
  9621. (outputs '("out" "static" "doc"))
  9622. (inputs
  9623. (list ghc-base-orphans
  9624. ghc-bifunctors
  9625. ghc-comonad
  9626. ghc-contravariant
  9627. ghc-distributive
  9628. ghc-semigroups
  9629. ghc-tagged))
  9630. (home-page "https://github.com/ekmett/profunctors/")
  9631. (synopsis "Profunctors for Haskell")
  9632. (description "This library provides profunctors for Haskell.")
  9633. (license license:bsd-3)))
  9634. (define-public ghc-project-template
  9635. (package
  9636. (name "ghc-project-template")
  9637. (version "0.2.1.0")
  9638. (source
  9639. (origin
  9640. (method url-fetch)
  9641. (uri (string-append
  9642. "https://hackage.haskell.org/package/project-template/project-template-"
  9643. version ".tar.gz"))
  9644. (sha256
  9645. (base32
  9646. "0ac43x36i6b595jhflif1qqhri1rrqw90ama5n7rsh0ffnzyb69d"))))
  9647. (build-system haskell-build-system)
  9648. (inputs
  9649. (list ghc-base64-bytestring ghc-conduit ghc-conduit-extra
  9650. ghc-resourcet))
  9651. (native-inputs
  9652. (list ghc-hspec hspec-discover ghc-quickcheck))
  9653. (home-page "https://github.com/fpco/haskell-ide")
  9654. (synopsis "Specify Haskell project templates and generate files")
  9655. (description
  9656. "Haskell library for both generating and consuming project templates.
  9657. ost IDEs provide the concept of a project template: instead of writing all
  9658. of the code for a project from scratch, you select a template, answer a few
  9659. questions, and a bunch of files are automatically generated.
  9660. project-template tries to provide a canonical Haskell library for implementing
  9661. the ideal templating system.")
  9662. (license license:bsd-3)))
  9663. (define-public ghc-protolude
  9664. (package
  9665. (name "ghc-protolude")
  9666. (version "0.3.0")
  9667. (source
  9668. (origin
  9669. (method url-fetch)
  9670. (uri (string-append
  9671. "https://hackage.haskell.org/package/protolude/protolude-"
  9672. version
  9673. ".tar.gz"))
  9674. (sha256
  9675. (base32
  9676. "1b6wprbwfdjyvds2bm6na0fbqgzdkj5ikkk33whbkyh3krd3i0s0"))))
  9677. (build-system haskell-build-system)
  9678. (inputs
  9679. (list ghc-async ghc-hashable ghc-mtl-compat ghc-paths
  9680. ghc-transformers-compat))
  9681. (home-page "https://github.com/protolude/protolude")
  9682. (synopsis "Sensible set of defaults for writing custom Preludes")
  9683. (description
  9684. "Protolude gives you sensible defaults for writing custom Preludes to
  9685. replace the standard one provided by GHC.")
  9686. (license license:expat)))
  9687. (define-public ghc-psqueue
  9688. (package
  9689. (name "ghc-psqueue")
  9690. (version "1.1.0.1")
  9691. (source (origin
  9692. (method url-fetch)
  9693. (uri (string-append "mirror://hackage/package/PSQueue-"
  9694. version "/PSQueue-" version ".tar.gz"))
  9695. (sha256
  9696. (base32
  9697. "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
  9698. (build-system haskell-build-system)
  9699. (arguments
  9700. '(#:cabal-revision
  9701. ("2" "0n1yrv1x1dxbjn9hjr8lk4k5in9c75ixzldlmszayi26bvax7329")))
  9702. (home-page "https://hackage.haskell.org/package/PSQueue")
  9703. (synopsis "Priority search queue")
  9704. (description
  9705. "A @dfn{priority search queue} efficiently supports the operations of
  9706. both a search tree and a priority queue. A @code{Binding} is a product of
  9707. a key and a priority. Bindings can be inserted, deleted, modified and queried
  9708. in logarithmic time, and the binding with the least priority can be retrieved
  9709. in constant time. A queue can be built from a list of bindings, sorted by
  9710. keys, in linear time.")
  9711. (license license:bsd-3)))
  9712. (define-public ghc-psqueues
  9713. (package
  9714. (name "ghc-psqueues")
  9715. (version "0.2.7.2")
  9716. (source
  9717. (origin
  9718. (method url-fetch)
  9719. (uri (string-append "https://hackage.haskell.org/package/"
  9720. "psqueues-" version "/"
  9721. "psqueues-" version ".tar.gz"))
  9722. (sha256
  9723. (base32
  9724. "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
  9725. (build-system haskell-build-system)
  9726. (arguments
  9727. '(#:tests? #f ; TODO: Needs quickcheck<2.14
  9728. #:cabal-revision
  9729. ("1" "0d0mm3c8x31dasfzp1884r2irkm3c9irvvbahjzfr1bzzxfb7vyv")))
  9730. (inputs
  9731. (list ghc-hashable))
  9732. (native-inputs
  9733. (list ghc-hunit
  9734. ghc-quickcheck
  9735. ghc-tagged
  9736. ghc-tasty
  9737. ghc-tasty-hunit
  9738. ghc-tasty-quickcheck))
  9739. (home-page "https://github.com/jaspervdj/psqueues")
  9740. (synopsis "Pure priority search queues")
  9741. (description "The psqueues package provides
  9742. @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
  9743. three different flavors:
  9744. @itemize
  9745. @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
  9746. fast insertion, deletion and lookup. This implementation is based on Ralf
  9747. Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
  9748. Implementation Technique for Priority Search Queues}.
  9749. Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
  9750. PSQueue} library, although it is considerably faster and provides a slightly
  9751. different API.
  9752. @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
  9753. key type to @code{Int} and uses a
  9754. @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
  9755. with an additional min-heap property.
  9756. @item @code{HashPSQ k p v} is a fairly straightforward extension
  9757. of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
  9758. @code{IntPSQ}. If there are any hash collisions, it uses an
  9759. @code{OrdPSQ} to resolve those. The performance of this implementation
  9760. is comparable to that of @code{IntPSQ}, but it is more widely
  9761. applicable since the keys are not restricted to @code{Int},
  9762. but rather to any @code{Hashable} datatype.
  9763. @end itemize
  9764. Each of the three implementations provides the same API, so they can
  9765. be used interchangeably.
  9766. Typical applications of Priority Search Queues include:
  9767. @itemize
  9768. @item Caches, and more specifically LRU Caches;
  9769. @item Schedulers;
  9770. @item Pathfinding algorithms, such as Dijkstra's and A*.
  9771. @end itemize")
  9772. (license license:bsd-3)))
  9773. (define-public ghc-pwstore-fast
  9774. (package
  9775. (name "ghc-pwstore-fast")
  9776. (version "2.4.4")
  9777. (source
  9778. (origin
  9779. (method url-fetch)
  9780. (uri (string-append
  9781. "https://hackage.haskell.org/package/pwstore-fast/"
  9782. "pwstore-fast-" version ".tar.gz"))
  9783. (sha256
  9784. (base32
  9785. "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
  9786. (build-system haskell-build-system)
  9787. (inputs
  9788. (list ghc-base64-bytestring ghc-cryptohash ghc-random ghc-byteable))
  9789. (home-page "https://github.com/PeterScott/pwstore")
  9790. (synopsis "Secure password storage")
  9791. (description
  9792. "To store passwords securely, they should be salted, then hashed with
  9793. a slow hash function. This library uses PBKDF1-SHA256, and handles all the
  9794. details. It uses the cryptohash package for speed; if you need a pure
  9795. Haskell library, pwstore-purehaskell has the exact same API, but uses only
  9796. pure Haskell. It is about 25 times slower than this package, but still quite
  9797. usable.")
  9798. (license license:bsd-3)))
  9799. (define-public ghc-random
  9800. (package
  9801. (name "ghc-random")
  9802. (version "1.2.0")
  9803. (outputs '("out" "static" "doc"))
  9804. (source
  9805. (origin
  9806. (method url-fetch)
  9807. (uri (string-append
  9808. "https://hackage.haskell.org/package/random/random-"
  9809. version
  9810. ".tar.gz"))
  9811. (sha256
  9812. (base32 "1pmr7zbbqg58kihhhwj8figf5jdchhi7ik2apsyxbgsqq3vrqlg4"))))
  9813. (build-system haskell-build-system)
  9814. (arguments
  9815. `(#:tests? #f
  9816. #:cabal-revision
  9817. ("6" "1hzfz9b1cxrsya8i53yx145iypaakfsfjix7l8girhx7vbz0cm8r")))
  9818. (inputs `(("ghc-splitmix" ,ghc-splitmix-bootstrap)))
  9819. ;; ghc-random is widely used and causes quite a few loops.
  9820. ; (native-inputs
  9821. ; `(("ghc-doctest" ,ghc-doctest)
  9822. ; ("ghc-mwc-random" ,ghc-mwc-random)
  9823. ; ("ghc-primitive" ,ghc-primitive)
  9824. ; ("ghc-unliftio" ,ghc-unliftio)
  9825. ; ("ghc-vector" ,ghc-vector)
  9826. ; ("ghc-smallcheck" ,ghc-smallcheck)
  9827. ; ("ghc-tasty" ,ghc-tasty)
  9828. ; ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
  9829. ; ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
  9830. ; ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
  9831. (home-page "https://hackage.haskell.org/package/random")
  9832. (synopsis "Random number library")
  9833. (description "This package provides a basic random number generation
  9834. library, including the ability to split random number generators.")
  9835. (license license:bsd-3)))
  9836. (define-public ghc-random-bootstrap
  9837. (package
  9838. (inherit ghc-random)
  9839. (name "ghc-random-bootstrap")
  9840. (arguments
  9841. `(#:tests? #f
  9842. ,@(package-arguments ghc-random)))
  9843. (native-inputs '())
  9844. (properties '((hidden? #t)))))
  9845. (define-public ghc-raw-strings-qq
  9846. (package
  9847. (name "ghc-raw-strings-qq")
  9848. (version "1.1")
  9849. (source
  9850. (origin
  9851. (method url-fetch)
  9852. (uri (string-append "https://hackage.haskell.org/package/"
  9853. "raw-strings-qq/raw-strings-qq-"
  9854. version ".tar.gz"))
  9855. (sha256
  9856. (base32
  9857. "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
  9858. (build-system haskell-build-system)
  9859. (native-inputs (list ghc-hunit))
  9860. (home-page "https://github.com/23Skidoo/raw-strings-qq")
  9861. (synopsis "Raw string literals for Haskell")
  9862. (description
  9863. "This package provides a quasiquoter for raw string literals, i.e. string
  9864. literals that don't recognise the standard escape sequences. Basically, they
  9865. make your code more readable by freeing you from the responsibility to escape
  9866. backslashes. They are useful when working with regular expressions,
  9867. DOS/Windows paths and markup languages (such as XML).")
  9868. (license license:bsd-3)))
  9869. (define-public ghc-readable
  9870. (package
  9871. (name "ghc-readable")
  9872. (version "0.3.1")
  9873. (source
  9874. (origin
  9875. (method url-fetch)
  9876. (uri (string-append "https://hackage.haskell.org/package/"
  9877. "readable/readable-" version ".tar.gz"))
  9878. (sha256
  9879. (base32
  9880. "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
  9881. (build-system haskell-build-system)
  9882. (home-page "https://github.com/mightybyte/readable")
  9883. (synopsis "Type class for reading from Text and ByteString")
  9884. (description "This package provides a @code{Readable} type class for
  9885. reading data types from @code{ByteString} and @code{Text}. It also
  9886. includes efficient implementations for common data types.")
  9887. (license license:bsd-3)))
  9888. (define-public ghc-rebase
  9889. (package
  9890. (name "ghc-rebase")
  9891. (version "1.13.0.1")
  9892. (source
  9893. (origin
  9894. (method url-fetch)
  9895. (uri (string-append "https://hackage.haskell.org/package/"
  9896. "rebase-" version "/"
  9897. "rebase-" version ".tar.gz"))
  9898. (sha256
  9899. (base32
  9900. "0sh1vha10n28c4jb97p99xglghqph8ppydqzbnb2h25a34057927"))))
  9901. (build-system haskell-build-system)
  9902. (outputs '("out" "static" "doc"))
  9903. (inputs
  9904. (list ghc-bifunctors
  9905. ghc-comonad
  9906. ghc-contravariant
  9907. ghc-dlist
  9908. ghc-either
  9909. ghc-hashable
  9910. ghc-hashable-time
  9911. ghc-profunctors
  9912. ghc-scientific
  9913. ghc-selective
  9914. ghc-semigroupoids
  9915. ghc-unordered-containers
  9916. ghc-uuid-types
  9917. ghc-vector
  9918. ghc-vector-instances
  9919. ghc-void))
  9920. (home-page "https://github.com/nikita-volkov/rebase")
  9921. (synopsis "Progressive alternative to the base package
  9922. for Haskell")
  9923. (description "This Haskell package is intended for those who are
  9924. tired of keeping long lists of dependencies to the same essential libraries
  9925. in each package as well as the endless imports of the same APIs all over again.
  9926. It also supports the modern tendencies in the language.
  9927. To solve those problems this package does the following:
  9928. @itemize
  9929. @item Reexport the original APIs under the @code{Rebase} namespace.
  9930. @item Export all the possible non-conflicting symbols from the
  9931. @code{Rebase.Prelude} module.
  9932. @item Give priority to the modern practices in the conflicting cases.
  9933. @end itemize
  9934. The policy behind the package is only to reexport the non-ambiguous and
  9935. non-controversial APIs, which the community has obviously settled on.
  9936. The package is intended to rapidly evolve with the contribution from
  9937. the community, with the missing features being added with pull-requests.")
  9938. (license license:expat)))
  9939. (define-public ghc-reducers
  9940. (package
  9941. (name "ghc-reducers")
  9942. (version "3.12.3")
  9943. (source
  9944. (origin
  9945. (method url-fetch)
  9946. (uri (string-append
  9947. "https://hackage.haskell.org/package/reducers/reducers-"
  9948. version
  9949. ".tar.gz"))
  9950. (sha256
  9951. (base32
  9952. "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
  9953. (build-system haskell-build-system)
  9954. (arguments
  9955. '(#:cabal-revision
  9956. ("2" "1kd38n9h2hxl09khvkvkhnflgm6rbky1zkw3iazlpb8xk9zkk39s")))
  9957. (inputs
  9958. (list ghc-fingertree ghc-hashable ghc-unordered-containers
  9959. ghc-semigroupoids ghc-semigroups))
  9960. (home-page "https://github.com/ekmett/reducers/")
  9961. (synopsis "Semigroups, specialized containers and a general map/reduce framework")
  9962. (description "This library provides various semigroups, specialized
  9963. containers and a general map/reduce framework for Haskell.")
  9964. (license license:bsd-3)))
  9965. (define-public ghc-refact
  9966. (package
  9967. (name "ghc-refact")
  9968. (version "0.3.0.2")
  9969. (source
  9970. (origin
  9971. (method url-fetch)
  9972. (uri (string-append "https://hackage.haskell.org/package/"
  9973. "refact/refact-"
  9974. version ".tar.gz"))
  9975. (sha256
  9976. (base32
  9977. "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
  9978. (build-system haskell-build-system)
  9979. (home-page "https://hackage.haskell.org/package/refact")
  9980. (synopsis "Specify refactorings to perform with apply-refact")
  9981. (description
  9982. "This library provides a datatype which can be interpreted by
  9983. @code{apply-refact}. It exists as a separate library so that applications can
  9984. specify refactorings without depending on GHC.")
  9985. (license license:bsd-3)))
  9986. (define-public ghc-reflection
  9987. (package
  9988. (name "ghc-reflection")
  9989. (version "2.1.6")
  9990. (source
  9991. (origin
  9992. (method url-fetch)
  9993. (uri (string-append
  9994. "https://hackage.haskell.org/package/reflection/reflection-"
  9995. version
  9996. ".tar.gz"))
  9997. (sha256
  9998. (base32
  9999. "1kd6dgnp99dzbkxdnj01g81j03v7zq5cwg0sf19rlcmvgs8i8gmz"))))
  10000. (build-system haskell-build-system)
  10001. (inputs (list ghc-tagged))
  10002. (native-inputs
  10003. (list ghc-hspec ghc-quickcheck hspec-discover))
  10004. (home-page "https://github.com/ekmett/reflection")
  10005. (synopsis "Reify arbitrary terms into types that can be reflected back
  10006. into terms")
  10007. (description "This package addresses the 'configuration problem' which is
  10008. propagating configurations that are available at run-time, allowing multiple
  10009. configurations to coexist without resorting to mutable global variables or
  10010. @code{System.IO.Unsafe.unsafePerformIO}.")
  10011. (license license:bsd-3)))
  10012. (define-public ghc-regex
  10013. (package
  10014. (name "ghc-regex")
  10015. (version "1.1.0.0")
  10016. (source
  10017. (origin
  10018. (method url-fetch)
  10019. (uri (string-append "https://hackage.haskell.org/package/regex/"
  10020. "regex-" version ".tar.gz"))
  10021. (sha256
  10022. (base32
  10023. "02hxgy5ck3h5pwd5gzs4565qbql8457cjdbbc2yrk236qzc1qa8x"))))
  10024. (build-system haskell-build-system)
  10025. (arguments
  10026. `(#:phases
  10027. (modify-phases %standard-phases
  10028. (add-after 'unpack 'relax-dependencies
  10029. (lambda _
  10030. (substitute* "regex.cabal"
  10031. (("base-compat.*>=.*0.6.*")
  10032. "base-compat >= 0.6\n")
  10033. (("template-haskell.*>=.*2.7.*")
  10034. "template-haskell >= 2.7\n"))
  10035. #t)))))
  10036. (inputs
  10037. (list ghc-base-compat
  10038. ghc-hashable
  10039. ghc-regex-base
  10040. ghc-regex-pcre-builtin
  10041. ghc-regex-tdfa
  10042. ghc-time-locale-compat
  10043. ghc-unordered-containers
  10044. ghc-utf8-string))
  10045. (home-page "http://regex.uk")
  10046. (synopsis "Toolkit for regex-base")
  10047. (description
  10048. "This package provides a regular expression toolkit for @code{regex-base}
  10049. with compile-time checking of regular expression syntax, data types for
  10050. matches and captures, a text replacement toolkit, portable options, high-level
  10051. AWK-like tools for building text processing apps, regular expression macros
  10052. with parsers and test bench, comprehensive documentation, tutorials and
  10053. copious examples.")
  10054. (license license:bsd-3)))
  10055. (define-public ghc-regex-applicative
  10056. (package
  10057. (name "ghc-regex-applicative")
  10058. (version "0.3.4")
  10059. (source
  10060. (origin
  10061. (method url-fetch)
  10062. (uri (string-append
  10063. "https://hackage.haskell.org/package/regex-applicative/"
  10064. "regex-applicative-" version ".tar.gz"))
  10065. (sha256
  10066. (base32
  10067. "0di66pi2kq5rrsn0k6pwakzwa0bgi9jfb2csm72kp5gzqdws8s8p"))))
  10068. (build-system haskell-build-system)
  10069. (inputs (list ghc-filtrable))
  10070. (native-inputs
  10071. (list ghc-smallcheck ghc-tasty ghc-tasty-hunit ghc-tasty-smallcheck))
  10072. (home-page "https://github.com/feuerbach/regex-applicative")
  10073. (synopsis "Regex-based parsing with applicative interface")
  10074. (description
  10075. "@code{regex-applicative} is a Haskell library for parsing using
  10076. regular expressions. Parsers can be built using Applicative interface.")
  10077. (license license:expat)))
  10078. (define-public ghc-regex-base
  10079. (package
  10080. (name "ghc-regex-base")
  10081. (version "0.94.0.1")
  10082. (source
  10083. (origin
  10084. (method url-fetch)
  10085. (uri (string-append
  10086. "https://hackage.haskell.org/package/regex-base/regex-base-"
  10087. version
  10088. ".tar.gz"))
  10089. (sha256
  10090. (base32
  10091. "1ngdmmrxs1rhvib052c6shfa40yad82jylylikz327r0zxpxkcbi"))))
  10092. (build-system haskell-build-system)
  10093. (home-page
  10094. "https://sourceforge.net/projects/lazy-regex")
  10095. (synopsis "Replaces/Enhances Text.Regex")
  10096. (description "@code{Text.Regex.Base} provides the interface API for
  10097. regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
  10098. (license license:bsd-3)))
  10099. (define-public ghc-regex-compat
  10100. (package
  10101. (name "ghc-regex-compat")
  10102. (version "0.95.2.1")
  10103. (source
  10104. (origin
  10105. (method url-fetch)
  10106. (uri (string-append
  10107. "https://hackage.haskell.org/package/regex-compat/regex-compat-"
  10108. version
  10109. ".tar.gz"))
  10110. (sha256
  10111. (base32
  10112. "0ivrdrcphrz3g6nr5wbsmfiv8i82caw0kf6z5qlmlq7xf9n3hywg"))))
  10113. (build-system haskell-build-system)
  10114. (inputs
  10115. (list ghc-regex-base ghc-regex-posix))
  10116. (home-page "https://sourceforge.net/projects/lazy-regex")
  10117. (synopsis "Replaces/Enhances Text.Regex")
  10118. (description "This library provides one module layer over
  10119. @code{regex-posix} to replace @code{Text.Regex}.")
  10120. (license license:bsd-3)))
  10121. (define-public ghc-regex-compat-tdfa
  10122. (package
  10123. (name "ghc-regex-compat-tdfa")
  10124. (version "0.95.1.4")
  10125. (source
  10126. (origin
  10127. (method url-fetch)
  10128. (uri (string-append
  10129. "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
  10130. version ".tar.gz"))
  10131. (sha256
  10132. (base32
  10133. "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
  10134. (build-system haskell-build-system)
  10135. (inputs
  10136. (list ghc-regex-base ghc-regex-tdfa))
  10137. (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
  10138. (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
  10139. (description
  10140. "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
  10141. @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
  10142. This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
  10143. this problem.")
  10144. (license license:bsd-3)))
  10145. (define-public ghc-regex-pcre
  10146. (package
  10147. (name "ghc-regex-pcre")
  10148. (version "0.95.0.0")
  10149. (source (origin
  10150. (method url-fetch)
  10151. (uri (string-append "https://hackage.haskell.org/package/"
  10152. "regex-pcre/regex-pcre-" version ".tar.gz"))
  10153. (sha256
  10154. (base32
  10155. "0nn76q4bsjnxim0j0d01jifmh36as9jdpcvm001a851vvq86zb8n"))))
  10156. (build-system haskell-build-system)
  10157. (arguments
  10158. `(#:extra-directories ("pcre")
  10159. #:cabal-revision
  10160. ("3" "1mxy2y7dmv37hhsasm17x2mb9dhmzza13pc7jfrk77inpig78ib8")))
  10161. (native-inputs (list pkg-config))
  10162. (inputs
  10163. (list ghc-regex-base pcre))
  10164. (home-page "https://hackage.haskell.org/package/regex-pcre")
  10165. (synopsis "Enhancement of the builtin Text.Regex library")
  10166. (description
  10167. "This package is an enhancement of the @code{Text.Regex} library.
  10168. It wraps the @code{PCRE} C library providing Perl-compatible regular
  10169. expressions.")
  10170. (license license:bsd-3)))
  10171. (define-public ghc-regex-pcre-builtin
  10172. (package
  10173. (name "ghc-regex-pcre-builtin")
  10174. (version "0.95.2.3.8.44")
  10175. (source (origin
  10176. (method url-fetch)
  10177. (uri (string-append "https://hackage.haskell.org/package/"
  10178. "regex-pcre-builtin/regex-pcre-builtin-"
  10179. version ".tar.gz"))
  10180. (sha256
  10181. (base32
  10182. "0pn55ssrwr05c9sa9jvp0knvzjksz04wn3pmzf5dz4xgbyjadkna"))))
  10183. (build-system haskell-build-system)
  10184. (inputs
  10185. (list ghc-regex-base))
  10186. (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
  10187. (synopsis "Enhancement of the builtin Text.Regex library")
  10188. (description
  10189. "This package is an enhancement of the @code{Text.Regex} library,
  10190. providing the PCRE backend to accompany regex-base, with bundled code from
  10191. @url{https://www.pcre.org}.")
  10192. (license license:bsd-3)))
  10193. (define-public ghc-regex-posix
  10194. (package
  10195. (name "ghc-regex-posix")
  10196. (version "0.96.0.1")
  10197. (source
  10198. (origin
  10199. (method url-fetch)
  10200. (uri (string-append
  10201. "https://hackage.haskell.org/package/regex-posix/regex-posix-"
  10202. version
  10203. ".tar.gz"))
  10204. (sha256
  10205. (base32
  10206. "1715b57z67q4hg0jz44wkxrxi3v7n5iagw6gw48pf8hr34wpr0n7"))))
  10207. (build-system haskell-build-system)
  10208. (inputs
  10209. (list ghc-regex-base))
  10210. (home-page "https://sourceforge.net/projects/lazy-regex")
  10211. (synopsis "POSIX regular expressions for Haskell")
  10212. (description "This library provides the POSIX regex backend used by the
  10213. Haskell library @code{regex-base}.")
  10214. (license license:bsd-3)))
  10215. (define-public ghc-regex-tdfa
  10216. (package
  10217. (name "ghc-regex-tdfa")
  10218. (version "1.3.1.1")
  10219. (source
  10220. (origin
  10221. (method url-fetch)
  10222. (uri (string-append
  10223. "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
  10224. version ".tar.gz"))
  10225. (sha256
  10226. (base32
  10227. "1msrq31k4jmn2lmrdzn87jqarqhw265ca69rfg5jpa5adrzm3gmi"))))
  10228. (build-system haskell-build-system)
  10229. (arguments
  10230. '(#:cabal-revision
  10231. ("1" "02gwf740vs0jy3l6dgw72r8c04yggshia6w16n140ncpsici8c4r")))
  10232. (inputs
  10233. (list ghc-regex-base))
  10234. (native-inputs (list ghc-utf8-string))
  10235. (home-page "https://github.com/haskell-hvr/regex-tdfa")
  10236. (synopsis "POSIX extended regular expressions in Haskell")
  10237. (description
  10238. "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
  10239. extended regular expressions. It is a \"tagged\" DFA regex engine. It is
  10240. inspired by libtre.")
  10241. (license license:bsd-3)))
  10242. (define-public ghc-repline
  10243. (package
  10244. (name "ghc-repline")
  10245. (version "0.4.0.0")
  10246. (source
  10247. (origin
  10248. (method url-fetch)
  10249. (uri (string-append
  10250. "https://hackage.haskell.org/package/repline/repline-"
  10251. version
  10252. ".tar.gz"))
  10253. (sha256
  10254. (base32
  10255. "1dspwi28krinkxdd7waq4y6plz0dfmzz72885p9pcqp1r14qrhj3"))))
  10256. (build-system haskell-build-system)
  10257. (inputs
  10258. (list ghc-exceptions ghc-haskeline))
  10259. (home-page "https://github.com/sdiehl/repline")
  10260. (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
  10261. (description
  10262. "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
  10263. normal mtl transformers.")
  10264. (license license:expat)))
  10265. (define-public ghc-rerebase
  10266. (package
  10267. (name "ghc-rerebase")
  10268. (version "1.13.0.1")
  10269. (source
  10270. (origin
  10271. (method url-fetch)
  10272. (uri (string-append
  10273. "https://hackage.haskell.org/package/rerebase/rerebase-"
  10274. version ".tar.gz"))
  10275. (sha256
  10276. (base32
  10277. "0j50l96whwi65ir35nfhn24h6103zy1ilfjsqiax63ajzw169fkv"))))
  10278. (build-system haskell-build-system)
  10279. (outputs '("out" "static" "doc"))
  10280. (inputs
  10281. (list ghc-rebase))
  10282. (home-page "https://github.com/nikita-volkov/rerebase")
  10283. (synopsis "Reexports from ``base'' with many other standard libraries")
  10284. (description "A rich drop-in replacement for @code{base}. For details and
  10285. documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
  10286. the project's home page}.")
  10287. (license license:expat)))
  10288. (define-public ghc-resolv
  10289. (package
  10290. (name "ghc-resolv")
  10291. (version "0.1.2.0")
  10292. (source
  10293. (origin
  10294. (method url-fetch)
  10295. (uri (string-append
  10296. "https://hackage.haskell.org/package/resolv/resolv-"
  10297. version ".tar.gz"))
  10298. (sha256
  10299. (base32
  10300. "0wa6wsh6i52q4ah2z0hgzlks325kigch4yniz0y15nw4skxbm8l1"))))
  10301. (build-system haskell-build-system)
  10302. (arguments
  10303. `(#:tests? #f ; TODO: tasty >=1.2.3 && <1.3 || >=1.3.1 && <1.4
  10304. #:cabal-revision
  10305. ("3" "0af5dsdyn04i76d012xhhfkkml10bqzl6q2yivkhf8rlvh1fiii5")))
  10306. (inputs
  10307. (list ghc-base16-bytestring))
  10308. (native-inputs
  10309. (list ghc-tasty ghc-tasty-hunit))
  10310. (home-page "https://github.com/haskell/hackage-security")
  10311. (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
  10312. (description "This package implements an API for accessing the
  10313. @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
  10314. resolver service via the standard @code{libresolv} system library (whose
  10315. API is often available directly via the standard @code{libc} C library) on
  10316. Unix systems.")
  10317. (license license:gpl3)))
  10318. (define-public ghc-resource-pool
  10319. (package
  10320. (name "ghc-resource-pool")
  10321. (version "0.2.3.2")
  10322. (source
  10323. (origin
  10324. (method url-fetch)
  10325. (uri (string-append "https://hackage.haskell.org/package/"
  10326. "resource-pool-" version "/"
  10327. "resource-pool-" version ".tar.gz"))
  10328. (sha256
  10329. (base32
  10330. "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
  10331. (build-system haskell-build-system)
  10332. (inputs (list ghc-hashable ghc-monad-control ghc-transformers-base
  10333. ghc-vector))
  10334. (home-page "https://github.com/bos/pool")
  10335. (synopsis "Striped resource pooling implementation in Haskell")
  10336. (description "This Haskell package provides striped pooling abstraction
  10337. for managing flexibly-sized collections of resources such as database
  10338. connections.")
  10339. (license license:bsd-3)))
  10340. (define-public ghc-resourcet
  10341. (package
  10342. (name "ghc-resourcet")
  10343. (version "1.2.4.3")
  10344. (source
  10345. (origin
  10346. (method url-fetch)
  10347. (uri (string-append "https://hackage.haskell.org/package/resourcet/"
  10348. "resourcet-" version ".tar.gz"))
  10349. (sha256
  10350. (base32
  10351. "0zrvnikw1a0r2j59k12fxikyrg0ki5a7xhqhjgfl9h6dqpz54h85"))))
  10352. (build-system haskell-build-system)
  10353. (inputs
  10354. (list ghc-transformers-base
  10355. ghc-monad-control
  10356. ghc-transformers-compat
  10357. ghc-mmorph
  10358. ghc-exceptions
  10359. ghc-unliftio-core))
  10360. (native-inputs
  10361. (list ghc-lifted-base ghc-hspec))
  10362. (home-page "https://github.com/snoyberg/conduit")
  10363. (synopsis "Deterministic allocation and freeing of scarce resources")
  10364. (description "ResourceT is a monad transformer which creates a region of
  10365. code where you can safely allocate resources.")
  10366. (license license:bsd-3)))
  10367. (define-public ghc-retry
  10368. (package
  10369. (name "ghc-retry")
  10370. (version "0.8.1.2")
  10371. (source
  10372. (origin
  10373. (method url-fetch)
  10374. (uri (string-append "https://hackage.haskell.org/package/"
  10375. "retry/retry-" version ".tar.gz"))
  10376. (sha256
  10377. (base32
  10378. "0nwyis42xpmxfw8nz8qn59r3v7q0dkfzkzkhllgn30cdjbbmwhf5"))))
  10379. (build-system haskell-build-system)
  10380. (inputs
  10381. (list ghc-exceptions ghc-random))
  10382. (native-inputs
  10383. (list ghc-hunit ghc-tasty ghc-tasty-hunit ghc-tasty-hedgehog
  10384. ghc-hedgehog))
  10385. (home-page "https://github.com/Soostone/retry")
  10386. (synopsis "Retry combinators for monadic actions that may fail")
  10387. (description "This package exposes combinators that can wrap
  10388. arbitrary monadic actions. They run the action and potentially retry
  10389. running it with some configurable delay for a configurable number of
  10390. times. The purpose is to make it easier to work with IO and especially
  10391. network IO actions that often experience temporary failure and warrant
  10392. retrying of the original action. For example, a database query may time
  10393. out for a while, in which case we should hang back for a bit and retry
  10394. the query instead of simply raising an exception.")
  10395. (license license:bsd-3)))
  10396. (define-public ghc-rfc5051
  10397. (package
  10398. (name "ghc-rfc5051")
  10399. (version "0.2")
  10400. (source
  10401. (origin
  10402. (method url-fetch)
  10403. (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
  10404. "rfc5051-" version ".tar.gz"))
  10405. (sha256
  10406. (base32
  10407. "0nri7js5ymywh2gi3li25wrkl1nf712qhbzw5hn46fib83qsq73k"))))
  10408. (build-system haskell-build-system)
  10409. (home-page "https://hackage.haskell.org/package/rfc5051")
  10410. (synopsis "Simple unicode collation as per RFC5051")
  10411. (description
  10412. "This library implements @code{unicode-casemap}, the simple, non
  10413. locale-sensitive unicode collation algorithm described in RFC 5051. Proper
  10414. unicode collation can be done using @code{text-icu}, but that is a big
  10415. dependency that depends on a large C library, and @code{rfc5051} might be
  10416. better for some purposes.")
  10417. (license license:bsd-3)))
  10418. (define-public ghc-rio
  10419. (package
  10420. (name "ghc-rio")
  10421. (version "0.1.21.0")
  10422. (source
  10423. (origin
  10424. (method url-fetch)
  10425. (uri (string-append
  10426. "https://hackage.haskell.org/package/rio/rio-"
  10427. version ".tar.gz"))
  10428. (sha256
  10429. (base32
  10430. "013m4xgsmg8h1rba9krxppz49lc5wz26gksms5zibsjj0w59m58h"))))
  10431. (build-system haskell-build-system)
  10432. (inputs
  10433. (list ghc-hashable
  10434. ghc-microlens
  10435. ghc-microlens-mtl
  10436. ghc-primitive
  10437. ghc-typed-process
  10438. ghc-unliftio-core
  10439. ghc-unliftio
  10440. ghc-unordered-containers
  10441. ghc-vector))
  10442. (native-inputs
  10443. (list ghc-hspec ghc-quickcheck hspec-discover))
  10444. (home-page "https://github.com/commercialhaskell/rio#readme")
  10445. (synopsis "Standard library for Haskell")
  10446. (description "This package works as a prelude replacement for Haskell,
  10447. providing more functionality and types out of the box than the standard
  10448. prelude (such as common data types like @code{ByteString} and
  10449. @code{Text}), as well as removing common ``gotchas'', like partial
  10450. functions and lazy I/O. The guiding principle here is:
  10451. @itemize
  10452. @item If something is safe to use in general and has no expected naming
  10453. conflicts, expose it.
  10454. @item If something should not always be used, or has naming conflicts,
  10455. expose it from another module in the hierarchy.
  10456. @end itemize")
  10457. (license license:expat)))
  10458. (define-public ghc-safe
  10459. (package
  10460. (name "ghc-safe")
  10461. (version "0.3.19")
  10462. (source
  10463. (origin
  10464. (method url-fetch)
  10465. (uri (string-append
  10466. "https://hackage.haskell.org/package/safe/safe-"
  10467. version
  10468. ".tar.gz"))
  10469. (sha256
  10470. (base32
  10471. "18pp6cn9np9jgs01x9mac6wk41k34g86fx5ibfarbapqr1138115"))))
  10472. (build-system haskell-build-system)
  10473. (native-inputs
  10474. (list ghc-quickcheck))
  10475. (home-page "https://github.com/ndmitchell/safe#readme")
  10476. (synopsis "Library of safe (exception free) functions")
  10477. (description "This library provides wrappers around @code{Prelude} and
  10478. @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
  10479. exceptions.")
  10480. (license license:bsd-3)))
  10481. (define-public ghc-safe-exceptions
  10482. (package
  10483. (name "ghc-safe-exceptions")
  10484. (version "0.1.7.2")
  10485. (source
  10486. (origin
  10487. (method url-fetch)
  10488. (uri (string-append "https://hackage.haskell.org/package/"
  10489. "safe-exceptions/safe-exceptions-"
  10490. version ".tar.gz"))
  10491. (sha256
  10492. (base32
  10493. "15a80s87f603w8l7fnaba2cyqx62042vvcidpjzyga2685wpyqv9"))))
  10494. (build-system haskell-build-system)
  10495. (native-inputs
  10496. (list ghc-hspec ghc-void hspec-discover))
  10497. (home-page "https://github.com/fpco/safe-exceptions")
  10498. (synopsis "Safe, consistent, and easy exception handling")
  10499. (description "Runtime exceptions - as exposed in @code{base} by the
  10500. @code{Control.Exception} module - have long been an intimidating part of the
  10501. Haskell ecosystem. This package is intended to overcome this. It provides a
  10502. safe and simple API on top of the existing exception handling machinery. The
  10503. API is equivalent to the underlying implementation in terms of power but
  10504. encourages best practices to minimize the chances of getting the exception
  10505. handling wrong.")
  10506. (license license:expat)))
  10507. (define-public ghc-safeio
  10508. (package
  10509. (name "ghc-safeio")
  10510. (version "0.0.5.0")
  10511. (source
  10512. (origin
  10513. (method url-fetch)
  10514. (uri (string-append "https://hackage.haskell.org/package/safeio/"
  10515. "safeio-" version ".tar.gz"))
  10516. (sha256
  10517. (base32
  10518. "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
  10519. (build-system haskell-build-system)
  10520. (inputs
  10521. (list ghc-conduit ghc-conduit-combinators ghc-exceptions
  10522. ghc-resourcet))
  10523. (native-inputs
  10524. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit
  10525. ghc-test-framework-th))
  10526. (home-page "https://github.com/luispedro/safeio")
  10527. (synopsis "Write output to disk atomically")
  10528. (description
  10529. "This package implements utilities to perform atomic output so as to
  10530. avoid the problem of partial intermediate files.")
  10531. (license license:expat)))
  10532. (define-public ghc-safesemaphore
  10533. (package
  10534. (name "ghc-safesemaphore")
  10535. (version "0.10.1")
  10536. (source
  10537. (origin
  10538. (method url-fetch)
  10539. (uri (string-append "https://hackage.haskell.org/package/"
  10540. "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
  10541. (sha256
  10542. (base32
  10543. "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
  10544. (build-system haskell-build-system)
  10545. (native-inputs
  10546. (list ghc-hunit))
  10547. (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
  10548. (synopsis "Exception safe semaphores")
  10549. (description "This library provides exception safe semaphores that can be
  10550. used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
  10551. are not exception safe and can be broken by @code{killThread}.")
  10552. (license license:bsd-3)))
  10553. (define-public ghc-sandi
  10554. (package
  10555. (name "ghc-sandi")
  10556. (version "0.5")
  10557. (source
  10558. (origin
  10559. (method url-fetch)
  10560. (uri (string-append
  10561. "https://hackage.haskell.org/package/sandi/sandi-"
  10562. version ".tar.gz"))
  10563. (sha256
  10564. (base32
  10565. "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
  10566. (build-system haskell-build-system)
  10567. (inputs
  10568. (list ghc-stringsearch
  10569. ghc-conduit
  10570. ghc-exceptions
  10571. ghc-hunit
  10572. ghc-tasty
  10573. ghc-tasty-hunit
  10574. ghc-tasty-quickcheck
  10575. ghc-tasty-th))
  10576. (home-page "https://hackage.haskell.org/package/sandi")
  10577. (synopsis "Data encoding library")
  10578. (description "Reasonably fast data encoding library.")
  10579. (license license:bsd-3)))
  10580. (define-public ghc-say
  10581. (package
  10582. (name "ghc-say")
  10583. (version "0.1.0.1")
  10584. (source
  10585. (origin
  10586. (method url-fetch)
  10587. (uri (string-append
  10588. "https://hackage.haskell.org/package/say/say-"
  10589. version
  10590. ".tar.gz"))
  10591. (sha256
  10592. (base32
  10593. "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
  10594. (build-system haskell-build-system)
  10595. (native-inputs
  10596. (list ghc-hspec hspec-discover ghc-unliftio))
  10597. (home-page "https://github.com/fpco/say")
  10598. (synopsis
  10599. "Send textual messages to a Handle in a thread-friendly way")
  10600. (description
  10601. "A thread safe API to write a line of textual data to a Handle, such
  10602. as sending some messages to the terminal - that has the following properties:
  10603. @itemize
  10604. @item Properly handle character encoding settings on the Handle
  10605. @item For reasonably sized messages, ensure that the entire message is written
  10606. in one chunk to avoid interleaving data with other threads
  10607. @item Avoid unnecessary memory allocations and copies
  10608. @item Minimize locking.
  10609. @end itemize")
  10610. (license license:expat)))
  10611. (define-public ghc-scientific
  10612. (package
  10613. (name "ghc-scientific")
  10614. (version "0.3.7.0")
  10615. (source
  10616. (origin
  10617. (method url-fetch)
  10618. (uri (string-append
  10619. "https://hackage.haskell.org/package/scientific/scientific-"
  10620. version
  10621. ".tar.gz"))
  10622. (sha256
  10623. (base32
  10624. "1aa3ngb71l2sh1x2829napnr1w285q0sn2f7z2wvi3ynng2238d3"))))
  10625. (build-system haskell-build-system)
  10626. (inputs
  10627. (list ghc-integer-logarithms ghc-hashable ghc-primitive))
  10628. (native-inputs
  10629. (list ghc-tasty
  10630. ghc-tasty-ant-xml
  10631. ghc-tasty-hunit
  10632. ghc-tasty-smallcheck
  10633. ghc-tasty-quickcheck
  10634. ghc-smallcheck
  10635. ghc-quickcheck))
  10636. (home-page "https://github.com/basvandijk/scientific")
  10637. (synopsis "Numbers represented using scientific notation")
  10638. (description "This package provides @code{Data.Scientific}, which provides
  10639. the number type @code{Scientific}. Scientific numbers are arbitrary precision
  10640. and space efficient. They are represented using
  10641. @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
  10642. notation}.")
  10643. (license license:bsd-3)))
  10644. (define-public ghc-scientific-bootstrap
  10645. (package
  10646. (inherit ghc-scientific)
  10647. (name "ghc-scientific-bootstrap")
  10648. (arguments `(#:tests? #f))
  10649. (inputs
  10650. `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
  10651. ("ghc-hashable" ,ghc-hashable)
  10652. ("ghc-primitive" ,ghc-primitive)))
  10653. (native-inputs '())
  10654. (properties '((hidden? #t)))))
  10655. (define-public ghc-sdl
  10656. (package
  10657. (name "ghc-sdl")
  10658. (version "0.6.7.0")
  10659. (source
  10660. (origin
  10661. (method url-fetch)
  10662. (uri (string-append
  10663. "https://hackage.haskell.org/package/SDL/SDL-"
  10664. version
  10665. ".tar.gz"))
  10666. (sha256
  10667. (base32
  10668. "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
  10669. (build-system haskell-build-system)
  10670. (inputs
  10671. (list sdl))
  10672. (home-page "https://hackage.haskell.org/package/SDL")
  10673. (synopsis "LibSDL for Haskell")
  10674. (description "Simple DirectMedia Layer (libSDL) is a cross-platform
  10675. multimedia library designed to provide low level access to audio, keyboard,
  10676. mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
  10677. by MPEG playback software, emulators, and many popular games, including the
  10678. award winning Linux port of \"Civilization: Call To Power.\"")
  10679. (license license:bsd-3)))
  10680. (define-public ghc-sdl2
  10681. (package
  10682. (name "ghc-sdl2")
  10683. (version "2.5.3.0")
  10684. (source
  10685. (origin
  10686. (method url-fetch)
  10687. (uri (string-append "https://hackage.haskell.org/package/"
  10688. "sdl2/sdl2-" version ".tar.gz"))
  10689. (sha256
  10690. (base32
  10691. "08l24cb92spnx3bn26bj0z2cszpsawhaa9vvhblvsr3d6z76065q"))))
  10692. (build-system haskell-build-system)
  10693. (arguments '(#:tests? #f)) ; tests require graphical environment
  10694. (inputs
  10695. (list ghc-exceptions ghc-linear ghc-statevar ghc-vector sdl2))
  10696. (native-inputs
  10697. (list ghc-weigh pkg-config))
  10698. (home-page "https://hackage.haskell.org/package/sdl2")
  10699. (synopsis "High- and low-level bindings to the SDL library")
  10700. (description
  10701. "This package contains bindings to the SDL 2 library, in both high- and
  10702. low-level forms. The @code{SDL} namespace contains high-level bindings, where
  10703. enumerations are split into sum types, and we perform automatic
  10704. error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
  10705. translation of the C API into Haskell FFI calls. As such, this does not
  10706. contain sum types nor error checking. Thus this namespace is suitable for
  10707. building your own abstraction over SDL, but is not recommended for day-to-day
  10708. programming.")
  10709. (license license:bsd-3)))
  10710. (define-public ghc-sdl2-image
  10711. (package
  10712. (name "ghc-sdl2-image")
  10713. (version "2.0.0")
  10714. (source
  10715. (origin
  10716. (method url-fetch)
  10717. (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
  10718. "sdl2-image-" version ".tar.gz"))
  10719. (sha256
  10720. (base32
  10721. "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
  10722. (build-system haskell-build-system)
  10723. (inputs
  10724. (list ghc-sdl2 sdl2-image))
  10725. (native-inputs
  10726. (list pkg-config))
  10727. (home-page "https://hackage.haskell.org/package/sdl2-image")
  10728. (synopsis "Bindings to SDL2_image")
  10729. (description "This package provides Haskell bindings to
  10730. @code{SDL2_image}.")
  10731. (license license:expat)))
  10732. (define-public ghc-sdl2-mixer
  10733. (package
  10734. (name "ghc-sdl2-mixer")
  10735. (version "1.1.0")
  10736. (source
  10737. (origin
  10738. (method url-fetch)
  10739. (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
  10740. "sdl2-mixer-" version ".tar.gz"))
  10741. (sha256
  10742. (base32
  10743. "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
  10744. (build-system haskell-build-system)
  10745. (inputs
  10746. (list ghc-data-default-class
  10747. ghc-lifted-base
  10748. ghc-monad-control
  10749. ghc-sdl2
  10750. ghc-vector
  10751. sdl2-mixer))
  10752. (native-inputs
  10753. (list pkg-config))
  10754. (home-page "https://hackage.haskell.org/package/sdl2-mixer")
  10755. (synopsis "Bindings to SDL2 mixer")
  10756. (description "This package provides Haskell bindings to
  10757. @code{SDL2_mixer}.")
  10758. (license license:bsd-3)))
  10759. (define-public ghc-sdl-image
  10760. (package
  10761. (name "ghc-sdl-image")
  10762. (version "0.6.2.0")
  10763. (source
  10764. (origin
  10765. (method url-fetch)
  10766. (uri (string-append
  10767. "https://hackage.haskell.org/package/SDL-image/SDL-image-"
  10768. version
  10769. ".tar.gz"))
  10770. (sha256
  10771. (base32
  10772. "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
  10773. (build-system haskell-build-system)
  10774. (arguments
  10775. `(#:configure-flags
  10776. (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
  10777. (sdl-image-include (string-append sdl-image "/include/SDL")))
  10778. (list (string-append "--extra-include-dirs=" sdl-image-include)))))
  10779. (inputs
  10780. (list ghc-sdl sdl-image))
  10781. (home-page "https://hackage.haskell.org/package/SDL-image")
  10782. (synopsis "Haskell bindings to libSDL_image")
  10783. (description "SDL_image is an image file loading library. It loads images
  10784. as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
  10785. PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
  10786. (license license:bsd-3)))
  10787. (define-public ghc-sdl-mixer
  10788. (package
  10789. (name "ghc-sdl-mixer")
  10790. (version "0.6.3.0")
  10791. (source
  10792. (origin
  10793. (method url-fetch)
  10794. (uri (string-append
  10795. "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
  10796. version
  10797. ".tar.gz"))
  10798. (sha256
  10799. (base32
  10800. "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
  10801. (build-system haskell-build-system)
  10802. (arguments
  10803. `(#:configure-flags
  10804. (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
  10805. (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
  10806. (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
  10807. (inputs
  10808. (list ghc-sdl sdl-mixer))
  10809. (home-page "https://hackage.haskell.org/package/SDL-mixer")
  10810. (synopsis "Haskell bindings to libSDL_mixer")
  10811. (description "SDL_mixer is a sample multi-channel audio mixer library. It
  10812. supports any number of simultaneously playing channels of 16 bit stereo audio,
  10813. plus a single channel of music, mixed by the popular MikMod MOD, Timidity
  10814. MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
  10815. (license license:bsd-3)))
  10816. (define-public ghc-securemem
  10817. (package
  10818. (name "ghc-securemem")
  10819. (version "0.1.10")
  10820. (source
  10821. (origin
  10822. (method url-fetch)
  10823. (uri (string-append "https://hackage.haskell.org/package/"
  10824. "securemem-" version "/"
  10825. "securemem-" version ".tar.gz"))
  10826. (sha256
  10827. (base32
  10828. "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
  10829. (build-system haskell-build-system)
  10830. (inputs (list ghc-byteable ghc-memory))
  10831. (home-page "https://github.com/vincenthz/hs-securemem")
  10832. (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
  10833. Haskell")
  10834. (description "SecureMem is similar to ByteString, except that it provides
  10835. a memory chunk that will be auto-scrubbed after it run out of scope.")
  10836. (license license:bsd-3)))
  10837. (define-public ghc-semialign
  10838. (package
  10839. (name "ghc-semialign")
  10840. (version "1.1.0.1")
  10841. (source
  10842. (origin
  10843. (method url-fetch)
  10844. (uri (string-append
  10845. "https://hackage.haskell.org/package/semialign/semialign-"
  10846. version
  10847. ".tar.gz"))
  10848. (sha256
  10849. (base32
  10850. "11qs4imy3cq4cx9mm6g30r6qk3rngqrmz7lkl5379gs1yvgvs44q"))))
  10851. (build-system haskell-build-system)
  10852. (inputs
  10853. (list ghc-these
  10854. ghc-base-compat
  10855. ghc-hashable
  10856. ghc-tagged
  10857. ghc-unordered-containers
  10858. ghc-vector
  10859. ghc-semigroupoids))
  10860. (home-page
  10861. "https://github.com/isomorphism/these")
  10862. (synopsis
  10863. "Align and Zip type-classes from the common Semialign ancestor")
  10864. (description
  10865. "The major use of @code{These} of this is provided by the
  10866. @code{align} member of @code{Semialign} class, representing a
  10867. generalized notion of \"zipping with padding\" that combines
  10868. structures without truncating to the size of the smaller input. It
  10869. turns out that @code{zip} operation fits well the @code{Semialign}
  10870. class, forming lattice-like structure.")
  10871. (license license:bsd-3)))
  10872. (define-public ghc-semigroupoids
  10873. (package
  10874. (name "ghc-semigroupoids")
  10875. (version "5.3.6")
  10876. (source
  10877. (origin
  10878. (method url-fetch)
  10879. (uri (string-append
  10880. "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
  10881. version
  10882. ".tar.gz"))
  10883. (sha256
  10884. (base32
  10885. "0glhqc9x8i5z3bdg23xvl2lfns95msid3h3x0jksna7i6c8j869n"))))
  10886. (build-system haskell-build-system)
  10887. (outputs '("out" "static" "doc"))
  10888. (inputs
  10889. (list ghc-base-orphans
  10890. ghc-transformers-compat
  10891. ghc-bifunctors
  10892. ghc-comonad
  10893. ghc-contravariant
  10894. ghc-distributive
  10895. ghc-generic-deriving
  10896. ghc-hashable
  10897. ghc-tagged
  10898. ghc-unordered-containers))
  10899. (home-page "https://github.com/ekmett/semigroupoids")
  10900. (synopsis "Semigroupoids operations for Haskell")
  10901. (description "This library provides a wide array of (semi)groupoids and
  10902. operations for working with them. A @code{Semigroupoid} is a @code{Category}
  10903. without the requirement of identity arrows for every object in the category.
  10904. A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
  10905. Finally, to work with these weaker structures it is beneficial to have
  10906. containers that can provide stronger guarantees about their contents, so
  10907. versions of @code{Traversable} and @code{Foldable} that can be folded with
  10908. just a @code{Semigroup} are added.")
  10909. (license license:bsd-3)))
  10910. (define-public ghc-semigroups
  10911. (package
  10912. (name "ghc-semigroups")
  10913. (version "0.19.2")
  10914. (source
  10915. (origin
  10916. (method url-fetch)
  10917. (uri (string-append
  10918. "https://hackage.haskell.org/package/semigroups/semigroups-"
  10919. version
  10920. ".tar.gz"))
  10921. (sha256
  10922. (base32
  10923. "0h1sl3i6k8csy5zkkpy65rxzds9wg577z83aaakybr3n1gcv4855"))))
  10924. (build-system haskell-build-system)
  10925. (inputs
  10926. (list ghc-nats ghc-tagged ghc-unordered-containers ghc-hashable))
  10927. (home-page "https://github.com/ekmett/semigroups/")
  10928. (synopsis "Semigroup operations for Haskell")
  10929. (description "This package provides semigroups for Haskell. In
  10930. mathematics, a semigroup is an algebraic structure consisting of a set
  10931. together with an associative binary operation. A semigroup generalizes a
  10932. monoid in that there might not exist an identity element. It
  10933. also (originally) generalized a group (a monoid with all inverses) to a type
  10934. where every element did not have to have an inverse, thus the name
  10935. semigroup.")
  10936. (license license:bsd-3)))
  10937. (define-public ghc-semigroups-bootstrap
  10938. (package
  10939. (inherit ghc-semigroups)
  10940. (name "ghc-semigroups-bootstrap")
  10941. (inputs
  10942. (list ghc-nats-bootstrap ghc-tagged
  10943. ghc-unordered-containers-bootstrap ghc-hashable-bootstrap))
  10944. (properties '((hidden? #t)))))
  10945. (define-public ghc-semirings
  10946. (package
  10947. (name "ghc-semirings")
  10948. (version "0.6")
  10949. (source
  10950. (origin
  10951. (method url-fetch)
  10952. (uri (string-append
  10953. "https://hackage.haskell.org/package/semirings/semirings-"
  10954. version
  10955. ".tar.gz"))
  10956. (sha256
  10957. (base32 "16q535bvjl7395sqkx6zlw48y4fzr7irp44pcp7w9irpn4cncdcr"))))
  10958. (build-system haskell-build-system)
  10959. (inputs
  10960. (list ghc-base-compat-batteries ghc-hashable ghc-unordered-containers))
  10961. (arguments
  10962. `(#:cabal-revision
  10963. ("1" "1c06yhfa053sv3rfz0d72a33l5qb0xmj1b3hy2z7pzxrcay6g1yc")))
  10964. (home-page "https://github.com/chessai/semirings")
  10965. (synopsis "Two monoids as one, in holy haskimony")
  10966. (description
  10967. "Haskellers are usually familiar with monoids and semigroups. A monoid has an
  10968. appending operation @code{<>} (or @code{mappend}), and an identity element,
  10969. @code{mempty}. A semigroup has an appending @code{<>} operation, but does not
  10970. require a @code{mempty} element. A Semiring has two appending operations,
  10971. @code{plus} and @code{times}, and two respective identity elements,
  10972. @code{zero} and @code{one}. More formally, a Semiring R is a set equipped
  10973. with two binary relations @code{+} and @code{*}, such that: (R,+) is a
  10974. commutative monoid with identity element 0, (R,*) is a monoid with identity
  10975. element 1, (*) left and right distributes over addition, and . multiplication
  10976. by @code{0} annihilates R.")
  10977. (license license:bsd-3)))
  10978. (define-public ghc-serialise
  10979. (package
  10980. (name "ghc-serialise")
  10981. (version "0.2.3.0")
  10982. (source
  10983. (origin
  10984. (method url-fetch)
  10985. (uri (string-append
  10986. "https://hackage.haskell.org/package/serialise/serialise-"
  10987. version
  10988. ".tar.gz"))
  10989. (sha256
  10990. (base32
  10991. "0vp4wyxpximpx10pssfgdsir1pc23zb62fg3kj3iblpzqfrryy69"))))
  10992. (build-system haskell-build-system)
  10993. (inputs
  10994. (list ghc-cborg
  10995. ghc-half
  10996. ghc-hashable
  10997. ghc-primitive
  10998. ghc-unordered-containers
  10999. ghc-vector))
  11000. (native-inputs
  11001. (list ghc-quickcheck ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck
  11002. ghc-quickcheck-instances))
  11003. (arguments
  11004. `(#:cabal-revision
  11005. ("2" "1qcsp15v0swxy2qlvc40fil09zq32y3wl00y3passc2a4b4yhmr4")))
  11006. (home-page "https://github.com/well-typed/cborg")
  11007. (synopsis "Binary serialisation library for Haskell values")
  11008. (description
  11009. "This package (formerly binary-serialise-cbor) provides pure,
  11010. efficient serialization of Haskell values directly into ByteStrings for
  11011. storage or transmission purposes. By providing a set of type class instances,
  11012. you can also serialise any custom data type you have as well.
  11013. The underlying binary format used is the 'Concise Binary Object
  11014. Representation', or CBOR, specified in RFC 7049. As a result, serialised
  11015. Haskell values have implicit structure outside of the Haskell program itself,
  11016. meaning they can be inspected or analyzed without custom tools.
  11017. An implementation of the standard bijection between CBOR and JSON is
  11018. provided by the https://hackage.haskell.org/package/cborg-json
  11019. package. Also see https://hackage.haskell.org/package/cbor-tool for a
  11020. convenient command-line utility for working with CBOR data.")
  11021. (license license:bsd-3)))
  11022. (define-public ghc-setenv
  11023. (package
  11024. (name "ghc-setenv")
  11025. (version "0.1.1.3")
  11026. (source
  11027. (origin
  11028. (method url-fetch)
  11029. (uri (string-append
  11030. "https://hackage.haskell.org/package/setenv/setenv-"
  11031. version
  11032. ".tar.gz"))
  11033. (sha256
  11034. (base32
  11035. "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
  11036. (build-system haskell-build-system)
  11037. (home-page "https://hackage.haskell.org/package/setenv")
  11038. (synopsis "Library for setting environment variables")
  11039. (description "This package provides a Haskell library for setting
  11040. environment variables.")
  11041. (license license:expat)))
  11042. (define-public ghc-setlocale
  11043. (package
  11044. (name "ghc-setlocale")
  11045. (version "1.0.0.10")
  11046. (source (origin
  11047. (method url-fetch)
  11048. (uri (string-append
  11049. "https://hackage.haskell.org/package/setlocale-"
  11050. version "/setlocale-" version ".tar.gz"))
  11051. (sha256
  11052. (base32
  11053. "19rv89jkhq5ic7j5rzpygnmsbzim2mn8ip0m292za613q88gywir"))))
  11054. (build-system haskell-build-system)
  11055. (home-page "https://hackage.haskell.org/package/setlocale")
  11056. (synopsis "Haskell bindings to setlocale")
  11057. (description "This package provides Haskell bindings to the
  11058. @code{setlocale} C function.")
  11059. (license license:bsd-3)))
  11060. (define-public ghc-shakespeare
  11061. (package
  11062. (name "ghc-shakespeare")
  11063. (version "2.0.25")
  11064. (source
  11065. (origin
  11066. (method url-fetch)
  11067. (uri (string-append "https://hackage.haskell.org/package/"
  11068. "shakespeare-" version "/"
  11069. "shakespeare-" version ".tar.gz"))
  11070. (sha256
  11071. (base32
  11072. "1fjv3yg425d87d3dih0l3ff95g5a5yp9w85m58sjara6xqivj9s4"))))
  11073. (build-system haskell-build-system)
  11074. (inputs (list ghc-aeson
  11075. ghc-blaze-markup
  11076. ghc-blaze-html
  11077. ghc-vector
  11078. ghc-th-lift
  11079. ghc-unordered-containers
  11080. ghc-scientific))
  11081. (native-inputs (list ghc-hspec ghc-hunit hspec-discover))
  11082. (home-page "https://www.yesodweb.com/book/shakespearean-templates")
  11083. (synopsis "Family of type-safe template languages for Haskell")
  11084. (description "This Haskell package provides a family of type-safe
  11085. templates with simple variable interpolation. Shakespeare templates can
  11086. be used inline with a quasi-quoter or in an external file and it
  11087. interpolates variables according to the type being inserted.")
  11088. (license license:expat)))
  11089. (define-public ghc-shelly
  11090. (package
  11091. (name "ghc-shelly")
  11092. (version "1.9.0")
  11093. (source
  11094. (origin
  11095. (method url-fetch)
  11096. (uri (string-append
  11097. "https://hackage.haskell.org/package/shelly/shelly-"
  11098. version ".tar.gz"))
  11099. (sha256
  11100. (base32
  11101. "1kma77gixhyciimh19p64h1ndbcrs9qhk8fgyv71iqh5q57zvday"))))
  11102. (build-system haskell-build-system)
  11103. (inputs
  11104. (list ghc-unix-compat
  11105. ghc-system-filepath-bootstrap
  11106. ghc-system-fileio-bootstrap
  11107. ghc-monad-control
  11108. ghc-lifted-base
  11109. ghc-lifted-async
  11110. ghc-exceptions
  11111. ghc-enclosed-exceptions
  11112. ghc-async
  11113. ghc-transformers-base
  11114. ghc-hunit
  11115. ghc-hspec
  11116. ghc-hspec-contrib))
  11117. (home-page "https://github.com/yesodweb/Shelly.hs")
  11118. (synopsis "Shell-like (systems) programming in Haskell")
  11119. (description
  11120. "Shelly provides convenient systems programming in Haskell, similar in
  11121. spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
  11122. (license license:bsd-3)))
  11123. (define-public ghc-silently
  11124. (package
  11125. (name "ghc-silently")
  11126. (version "1.2.5.1")
  11127. (source
  11128. (origin
  11129. (method url-fetch)
  11130. (uri (string-append
  11131. "https://hackage.haskell.org/package/silently/silently-"
  11132. version
  11133. ".tar.gz"))
  11134. (sha256
  11135. (base32
  11136. "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
  11137. (build-system haskell-build-system)
  11138. (arguments `(#:tests? #f)) ;; circular dependency with nanospec
  11139. (home-page "https://github.com/hspec/silently")
  11140. (synopsis "Prevent writing to stdout")
  11141. (description "This package provides functions to prevent or capture
  11142. writing to stdout and other handles.")
  11143. (license license:bsd-3)))
  11144. (define-public ghc-simple-reflect
  11145. (package
  11146. (name "ghc-simple-reflect")
  11147. (version "0.3.3")
  11148. (source
  11149. (origin
  11150. (method url-fetch)
  11151. (uri (string-append
  11152. "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
  11153. version
  11154. ".tar.gz"))
  11155. (sha256
  11156. (base32
  11157. "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
  11158. (build-system haskell-build-system)
  11159. (home-page
  11160. "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
  11161. (synopsis
  11162. "Simple reflection of expressions containing variables")
  11163. (description
  11164. "This package allows simple reflection of expressions containing
  11165. variables. Reflection here means that a Haskell expression is turned into a
  11166. string. The primary aim of this package is teaching and understanding; there
  11167. are no options for manipulating the reflected expressions beyond showing
  11168. them.")
  11169. (license license:bsd-3)))
  11170. (define-public ghc-simple-sendfile
  11171. (package
  11172. (name "ghc-simple-sendfile")
  11173. (version "0.2.30")
  11174. (source
  11175. (origin
  11176. (method url-fetch)
  11177. (uri (string-append "https://hackage.haskell.org/package/"
  11178. "simple-sendfile-" version "/"
  11179. "simple-sendfile-" version ".tar.gz"))
  11180. (sha256
  11181. (base32
  11182. "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
  11183. (build-system haskell-build-system)
  11184. (inputs
  11185. (list ghc-conduit ghc-conduit-extra ghc-network ghc-resourcet))
  11186. (native-inputs
  11187. (list ghc-hspec hspec-discover))
  11188. (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
  11189. (synopsis "Cross platform library for the sendfile system call")
  11190. (description "This library tries to call minimum system calls which
  11191. are the bottleneck of web servers.")
  11192. (license license:bsd-3)))
  11193. (define-public ghc-size-based
  11194. (package
  11195. (name "ghc-size-based")
  11196. (version "0.1.2.0")
  11197. (source
  11198. (origin
  11199. (method url-fetch)
  11200. (uri (string-append "https://hackage.haskell.org/package/"
  11201. "size-based/size-based-" version ".tar.gz"))
  11202. (sha256
  11203. (base32
  11204. "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
  11205. (build-system haskell-build-system)
  11206. (inputs
  11207. (list ghc-dictionary-sharing ghc-testing-type-modifiers
  11208. ghc-template-haskell))
  11209. (arguments
  11210. `(#:cabal-revision
  11211. ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")
  11212. #:phases
  11213. (modify-phases %standard-phases
  11214. (add-before 'configure 'update-constraints
  11215. (lambda _
  11216. (substitute* "size-based.cabal"
  11217. (("(template-haskell)\\s+.+$" all dep)
  11218. (string-append dep "\n"))))))))
  11219. (home-page "https://hackage.haskell.org/package/size-based")
  11220. (synopsis "Sized functors for size-based enumerations")
  11221. (description "This library provides a framework for size-based
  11222. enumerations.")
  11223. (license license:bsd-3)))
  11224. (define-public ghc-skylighting-core
  11225. (package
  11226. (name "ghc-skylighting-core")
  11227. (version "0.10.5.2")
  11228. (source (origin
  11229. (method url-fetch)
  11230. (uri (string-append "https://hackage.haskell.org/package/"
  11231. "skylighting-core/skylighting-core-"
  11232. version ".tar.gz"))
  11233. (sha256
  11234. (base32
  11235. "0bskci0gng6nf324wna9ss4xbr1mwjkgk3mlfkr96r1m3wza5g3d"))))
  11236. (build-system haskell-build-system)
  11237. (inputs
  11238. (list ghc-aeson
  11239. ghc-ansi-terminal
  11240. ghc-attoparsec
  11241. ghc-base64-bytestring
  11242. ghc-blaze-html
  11243. ghc-case-insensitive
  11244. ghc-colour
  11245. ghc-safe
  11246. ghc-utf8-string
  11247. ghc-xml-conduit))
  11248. (native-inputs
  11249. (list ghc-diff
  11250. ghc-pretty-show
  11251. ghc-quickcheck
  11252. ghc-tasty
  11253. ghc-tasty-golden
  11254. ghc-tasty-hunit
  11255. ghc-tasty-quickcheck))
  11256. (home-page "https://github.com/jgm/skylighting")
  11257. (synopsis "Syntax highlighting library")
  11258. (description "Skylighting is a syntax highlighting library with support
  11259. for over one hundred languages. It derives its tokenizers from XML syntax
  11260. definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
  11261. supported by that framework can be added. An optional command-line program is
  11262. provided. Skylighting is intended to be the successor to highlighting-kate.")
  11263. (license license:gpl2)))
  11264. (define-public ghc-skylighting
  11265. (package
  11266. (inherit ghc-skylighting-core)
  11267. (name "ghc-skylighting")
  11268. (version "0.10.5.2")
  11269. (source (origin
  11270. (method url-fetch)
  11271. (uri (string-append "https://hackage.haskell.org/package/skylighting-"
  11272. version "/skylighting-" version ".tar.gz"))
  11273. (sha256
  11274. (base32
  11275. "152ywiy7h04xjy0fdl571jwahl6c9350isqbm4p0na4cjd9cczzh"))))
  11276. (inputs
  11277. (modify-inputs (package-inputs ghc-skylighting-core)
  11278. (prepend ghc-skylighting-core)))))
  11279. (define-public ghc-smallcheck
  11280. (package
  11281. (name "ghc-smallcheck")
  11282. (version "1.2.1")
  11283. (source
  11284. (origin
  11285. (method url-fetch)
  11286. (uri (string-append
  11287. "https://hackage.haskell.org/package/smallcheck/smallcheck-"
  11288. version
  11289. ".tar.gz"))
  11290. (sha256
  11291. (base32
  11292. "0sf87zjlrgjw7q6a0499g2ywx66zvpv6rg6953fjc18fnl8rs7z4"))))
  11293. (build-system haskell-build-system)
  11294. (inputs
  11295. (list ghc-logict))
  11296. (home-page
  11297. "https://github.com/feuerbach/smallcheck")
  11298. (synopsis "Property-based testing library")
  11299. (description "SmallCheck is a testing library that verifies
  11300. properties for all test cases up to some depth. The test cases are generated
  11301. automatically by SmallCheck.")
  11302. (license license:bsd-3)))
  11303. (define-public ghc-socks
  11304. (package
  11305. (name "ghc-socks")
  11306. (version "0.6.1")
  11307. (source (origin
  11308. (method url-fetch)
  11309. (uri (string-append "https://hackage.haskell.org/package/"
  11310. "socks/socks-" version ".tar.gz"))
  11311. (sha256
  11312. (base32
  11313. "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
  11314. (build-system haskell-build-system)
  11315. (inputs
  11316. (list ghc-cereal ghc-basement ghc-network))
  11317. (home-page "https://github.com/vincenthz/hs-socks")
  11318. (synopsis "SOCKS proxy (version 5) implementation")
  11319. (description
  11320. "This library provides a SOCKS proxy (version 5) implementation.")
  11321. (license license:bsd-3)))
  11322. (define-public ghc-sop-core
  11323. (package
  11324. (name "ghc-sop-core")
  11325. (version "0.5.0.1")
  11326. (source
  11327. (origin
  11328. (method url-fetch)
  11329. (uri (string-append "https://hackage.haskell.org/package/"
  11330. "sop-core/sop-core-" version ".tar.gz"))
  11331. (sha256
  11332. (base32
  11333. "1c4xk4bw1ij4gpgy35iv08bhcxhv1siy55qnvp2xd6wcc3qnghys"))))
  11334. (build-system haskell-build-system)
  11335. (home-page "https://hackage.haskell.org/package/sop-core")
  11336. (synopsis "True Sums of Products")
  11337. (description "This package provides an implementation of
  11338. @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
  11339. is the main module of this library and contains more detailed
  11340. documentation. The main use case of this package is to serve as the
  11341. core of @url{https://hackage.haskell.org/package/generics-sop,
  11342. generics-sop}.")
  11343. (license license:bsd-3)))
  11344. (define-public ghc-special-values
  11345. (package
  11346. (name "ghc-special-values")
  11347. (version "0.1.0.0")
  11348. (source
  11349. (origin
  11350. (method url-fetch)
  11351. (uri (string-append
  11352. "https://hackage.haskell.org/package/special-values/"
  11353. "special-values-" version ".tar.gz"))
  11354. (sha256
  11355. (base32
  11356. "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
  11357. (build-system haskell-build-system)
  11358. (inputs
  11359. (list ghc-scientific ghc-ieee754 ghc-nats))
  11360. (home-page
  11361. "https://github.com/minad/special-values#readme")
  11362. (synopsis "Typeclass providing special values")
  11363. (description
  11364. "Special values are provided by a SpecialValues typeclass. Those can be
  11365. used for example by QuickCheck, see quickcheck-special." )
  11366. (license license:expat)))
  11367. (define-public ghc-split
  11368. (package
  11369. (name "ghc-split")
  11370. (version "0.2.3.4")
  11371. (source
  11372. (origin
  11373. (method url-fetch)
  11374. (uri (string-append
  11375. "https://hackage.haskell.org/package/split/split-"
  11376. version
  11377. ".tar.gz"))
  11378. (sha256
  11379. (base32
  11380. "0ahzdjcxw5wywr3w4msspia99k6fkckddam1m5506h4z9h8fa7r7"))))
  11381. (build-system haskell-build-system)
  11382. (arguments
  11383. `(#:cabal-revision
  11384. ("1" "06pmlvyrz4rr7rsrghpyrdypprphm9522rvnz4l3i8333n4pb304")))
  11385. (native-inputs
  11386. (list ghc-quickcheck))
  11387. (home-page "https://hackage.haskell.org/package/split")
  11388. (synopsis "Combinator library for splitting lists")
  11389. (description "This package provides a collection of Haskell functions for
  11390. splitting lists into parts, akin to the @code{split} function found in several
  11391. mainstream languages.")
  11392. (license license:bsd-3)))
  11393. (define-public ghc-splitmix
  11394. (package
  11395. (name "ghc-splitmix")
  11396. (version "0.1.0.3")
  11397. (source
  11398. (origin
  11399. (method url-fetch)
  11400. (uri (string-append "https://hackage.haskell.org/package/"
  11401. "splitmix/splitmix-" version ".tar.gz"))
  11402. (sha256
  11403. (base32
  11404. "0das5n44dhlcv5i233iakx37d17kidqvhrvp6w9nd7hc015ry026"))))
  11405. (build-system haskell-build-system)
  11406. (native-inputs
  11407. (list ghc-async
  11408. ghc-base-compat-batteries
  11409. ghc-base-compat
  11410. ghc-hunit
  11411. ghc-math-functions
  11412. ghc-random-bootstrap
  11413. ghc-test-framework
  11414. ghc-test-framework-hunit
  11415. ghc-tf-random
  11416. ghc-vector))
  11417. (home-page "https://hackage.haskell.org/package/splitmix")
  11418. (synopsis "Fast and splittable pseudorandom number generator")
  11419. (description "This package provides a Pure Haskell implementation of the
  11420. SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
  11421. pseudorandom number generator that is quite fast: 9 64-bit
  11422. arithmetic/logical operations per 64 bits generated. SplitMix is tested
  11423. with two standard statistical test suites (DieHarder and TestU01, this
  11424. implementation only using the former) and it appears to be adequate for
  11425. \"everyday\" use, such as Monte Carlo algorithms and randomized data
  11426. structures where speed is important. In particular, it @strong{should not
  11427. be used for cryptographic or security applications}, because generated
  11428. sequences of pseudorandom values are too predictable (the mixing functions
  11429. are easily inverted, and two successive outputs suffice to reconstruct the
  11430. internal state).")
  11431. (license license:bsd-3)))
  11432. (define-public ghc-splitmix-bootstrap
  11433. (package
  11434. (inherit ghc-splitmix)
  11435. (name "ghc-splitmix-bootstrap")
  11436. (arguments `(#:tests? #f))
  11437. (native-inputs '())
  11438. (properties '((hidden? #t)))))
  11439. (define-public ghc-spoon
  11440. (package
  11441. (name "ghc-spoon")
  11442. (version "0.3.1")
  11443. (source
  11444. (origin
  11445. (method url-fetch)
  11446. (uri (string-append
  11447. "https://hackage.haskell.org/package/spoon/spoon-"
  11448. version
  11449. ".tar.gz"))
  11450. (sha256
  11451. (base32
  11452. "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
  11453. (build-system haskell-build-system)
  11454. (arguments
  11455. `(#:cabal-revision
  11456. ("1"
  11457. "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
  11458. (home-page
  11459. "http://hackage.haskell.org/package/spoon")
  11460. (synopsis
  11461. "Catch errors thrown from pure computations")
  11462. (description
  11463. "Takes an error-throwing expression and puts it back in the Maybe it
  11464. belongs in.
  11465. Note that this suffers from the
  11466. @url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
  11467. (license license:bsd-3)))
  11468. (define-public ghc-statevar
  11469. (package
  11470. (name "ghc-statevar")
  11471. (version "1.2.2")
  11472. (source
  11473. (origin
  11474. (method url-fetch)
  11475. (uri (string-append
  11476. "https://hackage.haskell.org/package/StateVar/StateVar-"
  11477. version
  11478. ".tar.gz"))
  11479. (sha256
  11480. (base32
  11481. "098q4lk60najzpbfal4bg4sh7izxm840aa5h4ycaamjn77d3jjsy"))))
  11482. (build-system haskell-build-system)
  11483. (home-page "https://hackage.haskell.org/package/StateVar")
  11484. (synopsis "State variables for Haskell")
  11485. (description "This package provides state variables, which are references
  11486. in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
  11487. (license license:bsd-3)))
  11488. (define-public ghc-statistics
  11489. (package
  11490. (name "ghc-statistics")
  11491. (version "0.15.2.0")
  11492. (source
  11493. (origin
  11494. (method url-fetch)
  11495. (uri (string-append "https://hackage.haskell.org/package/"
  11496. "statistics-" version "/"
  11497. "statistics-" version ".tar.gz"))
  11498. (sha256
  11499. (base32
  11500. "0j9awbg47fzb58k5z2wgkp6a0042j7hqrl1g6lyflrbsfswdp5n4"))))
  11501. (build-system haskell-build-system)
  11502. (arguments
  11503. '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
  11504. #:tests? #t))
  11505. (inputs
  11506. (list ghc-aeson
  11507. ghc-async
  11508. ghc-base-orphans
  11509. ghc-data-default-class
  11510. ghc-dense-linear-algebra
  11511. ghc-math-functions
  11512. ghc-monad-par
  11513. ghc-mwc-random
  11514. ghc-primitive
  11515. ghc-vector
  11516. ghc-vector-algorithms
  11517. ghc-vector-th-unbox
  11518. ghc-vector-binary-instances))
  11519. (native-inputs
  11520. (list ghc-erf
  11521. ghc-ieee754
  11522. ghc-quickcheck
  11523. ghc-tasty-expected-failure
  11524. ghc-tasty
  11525. ghc-tasty-hunit
  11526. ghc-tasty-quickcheck))
  11527. (home-page "https://github.com/bos/mwc-random")
  11528. (synopsis "Haskell library of statistical types, data, and functions")
  11529. (description "This library provides a number of common functions
  11530. and types useful in statistics. We focus on high performance, numerical
  11531. robustness, and use of good algorithms. Where possible, we provide references
  11532. to the statistical literature.
  11533. The library's facilities can be divided into four broad categories:
  11534. @itemize
  11535. @item Working with widely used discrete and continuous probability
  11536. distributions. (There are dozens of exotic distributions in use; we focus
  11537. on the most common.)
  11538. @item Computing with sample data: quantile estimation, kernel density
  11539. estimation, histograms, bootstrap methods, significance testing,
  11540. and regression and autocorrelation analysis.
  11541. @item Random variate generation under several different distributions.
  11542. @item Common statistical tests for significant differences between samples.
  11543. @end itemize")
  11544. (license license:bsd-2)))
  11545. (define-public ghc-stm-chans
  11546. (package
  11547. (name "ghc-stm-chans")
  11548. (version "3.0.0.6")
  11549. (source
  11550. (origin
  11551. (method url-fetch)
  11552. (uri (string-append "https://hackage.haskell.org/package/"
  11553. "stm-chans-" version "/"
  11554. "stm-chans-" version ".tar.gz"))
  11555. (sha256
  11556. (base32
  11557. "04hafqjq8ngvhcavkfx88a0zky8yc7i18q2n9ajav03kns1kwvpa"))))
  11558. (build-system haskell-build-system)
  11559. (home-page "https://hackage.haskell.org/package/stm-chans")
  11560. (synopsis "Additional types of channels for ghc-stm")
  11561. (description "This Haskell package offers a collection of channel types,
  11562. similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
  11563. features.")
  11564. (license license:bsd-3)))
  11565. (define-public ghc-stm-conduit
  11566. (package
  11567. (name "ghc-stm-conduit")
  11568. (version "4.0.1")
  11569. (source
  11570. (origin
  11571. (method url-fetch)
  11572. (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
  11573. "stm-conduit-" version ".tar.gz"))
  11574. (sha256
  11575. (base32
  11576. "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
  11577. (build-system haskell-build-system)
  11578. (inputs
  11579. (list ghc-stm-chans
  11580. ghc-cereal
  11581. ghc-cereal-conduit
  11582. ghc-conduit
  11583. ghc-conduit-extra
  11584. ghc-exceptions
  11585. ghc-resourcet
  11586. ghc-async
  11587. ghc-monad-loops
  11588. ghc-unliftio))
  11589. (native-inputs
  11590. (list ghc-doctest
  11591. ghc-quickcheck
  11592. ghc-hunit
  11593. ghc-test-framework
  11594. ghc-test-framework-hunit
  11595. ghc-test-framework-quickcheck2))
  11596. (home-page "https://github.com/cgaebel/stm-conduit")
  11597. (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
  11598. (description
  11599. "This package provides two simple conduit wrappers around STM channels: a
  11600. source and a sink.")
  11601. (license license:bsd-3)))
  11602. (define-public ghc-stmonadtrans
  11603. (package
  11604. (name "ghc-stmonadtrans")
  11605. (version "0.4.6")
  11606. (source
  11607. (origin
  11608. (method url-fetch)
  11609. (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
  11610. "/STMonadTrans-" version ".tar.gz"))
  11611. (sha256
  11612. (base32 "0rvhh0hhwz601ibpzisry7xf3j61r5sxfgp47imaa37i5bvrlynb"))))
  11613. (build-system haskell-build-system)
  11614. (arguments `(#:tests? #f)) ; TODO: Loops.
  11615. (inputs (list ghc-fail))
  11616. ; (native-inputs
  11617. ; `(("ghc-tasty" ,ghc-tasty)
  11618. ; ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
  11619. ; ("ghc-tasty-hunit" ,ghc-tasty-hunit)
  11620. ; ("ghc-stmonadtrans" ,ghc-stmonadtrans)))
  11621. (home-page "https://hackage.haskell.org/package/STMonadTrans")
  11622. (synopsis "Monad transformer version of the ST monad")
  11623. (description
  11624. "This package provides a monad transformer version of the @code{ST} monad
  11625. for strict state threads.")
  11626. (license license:bsd-3)))
  11627. (define-public ghc-storable-complex
  11628. (package
  11629. (name "ghc-storable-complex")
  11630. (version "0.2.3.0")
  11631. (source
  11632. (origin
  11633. (method url-fetch)
  11634. (uri (string-append
  11635. "https://hackage.haskell.org/package/storable-complex/storable-complex-"
  11636. version ".tar.gz"))
  11637. (sha256
  11638. (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
  11639. (build-system haskell-build-system)
  11640. (inputs
  11641. (list ghc-base-orphans))
  11642. (home-page "https://github.com/cartazio/storable-complex")
  11643. (synopsis "Haskell Storable instance for Complex")
  11644. (description "This package provides a Haskell library including a
  11645. Storable instance for Complex which is binary compatible with C99, C++
  11646. and Fortran complex data types.")
  11647. (license license:bsd-3)))
  11648. (define-public ghc-storable-record
  11649. (package
  11650. (name "ghc-storable-record")
  11651. (version "0.0.5")
  11652. (source
  11653. (origin
  11654. (method url-fetch)
  11655. (uri
  11656. (string-append
  11657. "https://hackage.haskell.org/package/storable-record/"
  11658. "storable-record-" version ".tar.gz"))
  11659. (sha256
  11660. (base32
  11661. "17nf0bx3g169cpslf8prr5h5lvxl389m23rbsyb3kdai45fibpwf"))))
  11662. (build-system haskell-build-system)
  11663. (inputs
  11664. (list ghc-semigroups ghc-utility-ht ghc-storablevector ghc-timeit))
  11665. (home-page "https://hackage.haskell.org/package/storable-record")
  11666. (synopsis "Elegant definition of Storable instances for records")
  11667. (description "With this package you can build a Storable instance of
  11668. a record type from Storable instances of its elements in an elegant way.
  11669. It does not do any magic, just a bit arithmetic to compute the right
  11670. offsets, that would be otherwise done manually or by a preprocessor like
  11671. C2HS. There is no guarantee that the generated memory layout is
  11672. compatible with that of a corresponding C struct. However, the module
  11673. generates the smallest layout that is possible with respect to the
  11674. alignment of the record elements.")
  11675. (license license:bsd-3)))
  11676. (define-public ghc-storable-tuple
  11677. (package
  11678. (name "ghc-storable-tuple")
  11679. (version "0.0.3.3")
  11680. (source
  11681. (origin
  11682. (method url-fetch)
  11683. (uri
  11684. (string-append
  11685. "https://hackage.haskell.org/package/storable-tuple/"
  11686. "storable-tuple-" version ".tar.gz"))
  11687. (sha256
  11688. (base32
  11689. "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
  11690. (build-system haskell-build-system)
  11691. (inputs
  11692. (list ghc-storable-record ghc-utility-ht ghc-base-orphans))
  11693. (home-page "https://hackage.haskell.org/package/storable-tuple")
  11694. (synopsis "Storable instance for pairs and triples")
  11695. (description "This package provides a Storable instance for pairs
  11696. and triples which should be binary compatible with C99 and C++. The
  11697. only purpose of this package is to provide a standard location for this
  11698. instance so that other packages needing this instance can play nicely
  11699. together.")
  11700. (license license:bsd-3)))
  11701. (define-public ghc-storablevector
  11702. (package
  11703. (name "ghc-storablevector")
  11704. (version "0.2.13.1")
  11705. (source
  11706. (origin
  11707. (method url-fetch)
  11708. (uri
  11709. (string-append
  11710. "https://hackage.haskell.org/package/storablevector/storablevector-"
  11711. version ".tar.gz"))
  11712. (sha256
  11713. (base32
  11714. "06fgxbnc5vwmiv7dxywj7ncjhmxv0wjs0bys5hza6mrwn3sw5r2w"))))
  11715. (build-system haskell-build-system)
  11716. (inputs
  11717. (list ghc-non-negative
  11718. ghc-utility-ht
  11719. ghc-semigroups
  11720. ghc-unsafe
  11721. ghc-quickcheck
  11722. ghc-syb))
  11723. (home-page "https://wiki.haskell.org/Storable_Vector")
  11724. (synopsis "Fast, packed, strict storable arrays with a list interface")
  11725. (description "This library provides fast, packed, strict storable
  11726. arrays with a list interface, a chunky lazy list interface with variable
  11727. chunk size and an interface for write access via the ST monad. This is
  11728. much like bytestring and binary but can be used for every
  11729. @code{Foreign.Storable.Storable} type. See also
  11730. @url{http://hackage.haskell.org/package/vector}, a library with a
  11731. similar intention.
  11732. This library does not do advanced fusion optimization, since especially
  11733. for lazy vectors this would either be incorrect or not applicable. See
  11734. @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
  11735. a library that provides fusion with lazy lists.")
  11736. (license license:bsd-3)))
  11737. (define-public ghc-streaming-commons
  11738. (package
  11739. (name "ghc-streaming-commons")
  11740. (version "0.2.1.1")
  11741. (source
  11742. (origin
  11743. (method url-fetch)
  11744. (uri (string-append "https://hackage.haskell.org/package/"
  11745. "streaming-commons/streaming-commons-"
  11746. version ".tar.gz"))
  11747. (sha256
  11748. (base32
  11749. "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
  11750. (build-system haskell-build-system)
  11751. (inputs
  11752. (list ghc-async ghc-blaze-builder ghc-network ghc-random ghc-zlib))
  11753. (native-inputs
  11754. (list ghc-quickcheck ghc-hspec hspec-discover))
  11755. (home-page "https://hackage.haskell.org/package/streaming-commons")
  11756. (synopsis "Conduit and pipes needed by some streaming data libraries")
  11757. (description "This package provides low-dependency functionality commonly
  11758. needed by various Haskell streaming data libraries, such as @code{conduit} and
  11759. @code{pipe}s.")
  11760. (license license:expat)))
  11761. (define-public ghc-strict
  11762. (package
  11763. (name "ghc-strict")
  11764. (version "0.4.0.1")
  11765. (source
  11766. (origin
  11767. (method url-fetch)
  11768. (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
  11769. version ".tar.gz"))
  11770. (sha256
  11771. (base32 "0hb24a09c3agsq7sdv8r2b2jc2f4g1blg2xvj4cfadynib0apxnz"))))
  11772. (build-system haskell-build-system)
  11773. (inputs
  11774. (list ghc-hashable ghc-these ghc-assoc))
  11775. (home-page "https://hackage.haskell.org/package/strict")
  11776. (synopsis "Strict data types and String IO")
  11777. (description
  11778. "This package provides strict versions of some standard Haskell data
  11779. types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
  11780. IO operations.")
  11781. (license license:bsd-3)))
  11782. (define-public ghc-stringbuilder
  11783. (package
  11784. (name "ghc-stringbuilder")
  11785. (version "0.5.1")
  11786. (source
  11787. (origin
  11788. (method url-fetch)
  11789. (uri (string-append
  11790. "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
  11791. version
  11792. ".tar.gz"))
  11793. (sha256
  11794. (base32
  11795. "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
  11796. (build-system haskell-build-system)
  11797. (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
  11798. ; enabled
  11799. (home-page "https://hackage.haskell.org/package/stringbuilder")
  11800. (synopsis "Writer monad for multi-line string literals")
  11801. (description "This package provides a writer monad for multi-line string
  11802. literals.")
  11803. (license license:expat)))
  11804. (define-public ghc-string-qq
  11805. (package
  11806. (name "ghc-string-qq")
  11807. (version "0.0.4")
  11808. (source
  11809. (origin
  11810. (method url-fetch)
  11811. (uri (string-append
  11812. "https://hackage.haskell.org/package/string-qq/string-qq-"
  11813. version
  11814. ".tar.gz"))
  11815. (sha256
  11816. (base32
  11817. "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
  11818. (build-system haskell-build-system)
  11819. (native-inputs
  11820. (list ghc-hunit))
  11821. (home-page "https://hackage.haskell.org/package/string-qq")
  11822. (synopsis
  11823. "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
  11824. (description
  11825. "This package provides a quasiquoter for non-interpolated strings, texts
  11826. and bytestrings.")
  11827. (license license:public-domain)))
  11828. (define-public ghc-stringsearch
  11829. (package
  11830. (name "ghc-stringsearch")
  11831. (version "0.3.6.6")
  11832. (source
  11833. (origin
  11834. (method url-fetch)
  11835. (uri (string-append
  11836. "https://hackage.haskell.org/package/stringsearch/stringsearch-"
  11837. version
  11838. ".tar.gz"))
  11839. (sha256
  11840. (base32
  11841. "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
  11842. (build-system haskell-build-system)
  11843. (arguments
  11844. `(#:cabal-revision
  11845. ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
  11846. (home-page "https://bitbucket.org/dafis/stringsearch")
  11847. (synopsis "Fast searching, splitting and replacing of ByteStrings")
  11848. (description "This package provides several functions to quickly search
  11849. for substrings in strict or lazy @code{ByteStrings}. It also provides
  11850. functions for breaking or splitting on substrings and replacing all
  11851. occurrences of a substring (the first in case of overlaps) with another.")
  11852. (license license:bsd-3)))
  11853. (define-public ghc-svg-builder
  11854. (package
  11855. (name "ghc-svg-builder")
  11856. (version "0.1.1")
  11857. (source
  11858. (origin
  11859. (method url-fetch)
  11860. (uri (string-append "https://hackage.haskell.org/package/"
  11861. "svg-builder/svg-builder-" version ".tar.gz"))
  11862. (sha256
  11863. (base32
  11864. "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
  11865. (build-system haskell-build-system)
  11866. (inputs
  11867. (list ghc-blaze-builder ghc-hashable ghc-unordered-containers))
  11868. (arguments
  11869. `(#:cabal-revision
  11870. ("3" "1zc7shja5i63rn7kd9mnq2m052qhp7nh44qy8qp93dm64v9m9pi2")))
  11871. (home-page "https://github.com/diagrams/svg-builder.git")
  11872. (synopsis "Domain-specific language for building Scalable Vector Graphics")
  11873. (description "Easy-to-write domain-specific language (DSL) for
  11874. building Scalable Vector Graphics (SVG).")
  11875. (license license:bsd-3)))
  11876. (define-public ghc-syb
  11877. (package
  11878. (name "ghc-syb")
  11879. (version "0.7.2.1")
  11880. (outputs '("out" "static" "doc"))
  11881. (source
  11882. (origin
  11883. (method url-fetch)
  11884. (uri (string-append
  11885. "https://hackage.haskell.org/package/syb/syb-"
  11886. version
  11887. ".tar.gz"))
  11888. (sha256
  11889. (base32
  11890. "15ld5929n3lzfb5sy9nnm77x2l6i2sgsxw47jdrqcrz6fxpwc1qq"))))
  11891. (build-system haskell-build-system)
  11892. (native-inputs
  11893. (list ghc-tasty ghc-tasty-hunit))
  11894. (home-page
  11895. "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
  11896. (synopsis "Scrap Your Boilerplate")
  11897. (description "This package contains the generics system described in the
  11898. /Scrap Your Boilerplate/ papers (see
  11899. @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
  11900. defines the @code{Data} class of types permitting folding and unfolding of
  11901. constructor applications, instances of this class for primitive types, and a
  11902. variety of traversals.")
  11903. (license license:bsd-3)))
  11904. (define-public ghc-system-fileio
  11905. (package
  11906. (name "ghc-system-fileio")
  11907. (version "0.3.16.4")
  11908. (source
  11909. (origin
  11910. (method url-fetch)
  11911. (uri (string-append
  11912. "https://hackage.haskell.org/package/system-fileio/system-fileio-"
  11913. version ".tar.gz"))
  11914. (sha256
  11915. (base32
  11916. "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
  11917. (build-system haskell-build-system)
  11918. (arguments
  11919. `(#:phases
  11920. (modify-phases %standard-phases
  11921. (add-before 'configure 'update-constraints
  11922. (lambda _
  11923. (substitute* "system-fileio.cabal"
  11924. (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
  11925. #t)))))
  11926. (inputs
  11927. (list ghc-system-filepath ghc-chell ghc-temporary))
  11928. (home-page "https://github.com/fpco/haskell-filesystem")
  11929. (synopsis "Consistent file system interaction across GHC versions")
  11930. (description
  11931. "This is a small wrapper around the directory, unix, and Win32 packages,
  11932. for use with system-filepath. It provides a consistent API to the various
  11933. versions of these packages distributed with different versions of GHC.
  11934. In particular, this library supports working with POSIX files that have paths
  11935. which can't be decoded in the current locale encoding.")
  11936. (license license:expat)))
  11937. ;; See ghc-system-filepath-bootstrap. In addition this package depends on
  11938. ;; ghc-system-filepath.
  11939. (define ghc-system-fileio-bootstrap
  11940. (package
  11941. (name "ghc-system-fileio-bootstrap")
  11942. (version "0.3.16.3")
  11943. (source
  11944. (origin
  11945. (method url-fetch)
  11946. (uri (string-append
  11947. "https://hackage.haskell.org/package/system-fileio/system-fileio-"
  11948. version ".tar.gz"))
  11949. (sha256
  11950. (base32
  11951. "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
  11952. (build-system haskell-build-system)
  11953. (arguments
  11954. `(#:tests? #f))
  11955. (inputs
  11956. `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
  11957. ("ghc-temporary" ,ghc-temporary)))
  11958. (home-page "https://github.com/fpco/haskell-filesystem")
  11959. (synopsis "Consistent file system interaction across GHC versions")
  11960. (description
  11961. "This is a small wrapper around the directory, unix, and Win32 packages,
  11962. for use with system-filepath. It provides a consistent API to the various
  11963. versions of these packages distributed with different versions of GHC.
  11964. In particular, this library supports working with POSIX files that have paths
  11965. which can't be decoded in the current locale encoding.")
  11966. (license license:expat)))
  11967. (define-public ghc-system-filepath
  11968. (package
  11969. (name "ghc-system-filepath")
  11970. (version "0.4.14")
  11971. (source
  11972. (origin
  11973. (method url-fetch)
  11974. (uri (string-append
  11975. "https://hackage.haskell.org/package/system-filepath/system-filepath-"
  11976. version ".tar.gz"))
  11977. (sha256
  11978. (base32
  11979. "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
  11980. (build-system haskell-build-system)
  11981. (arguments
  11982. `(#:tests? #f ; TODO: Needs chell ==0.4.*
  11983. #:cabal-revision
  11984. ("1" "18llfvisghrn9w9yfgacqn51gs50a0lngah3bmg852h0swj7vkp8")))
  11985. (native-inputs
  11986. (list ghc-chell ghc-chell-quickcheck ghc-quickcheck))
  11987. (home-page "https://github.com/fpco/haskell-filesystem")
  11988. (synopsis "High-level, byte-based file and directory path manipulations")
  11989. (description
  11990. "Provides a FilePath datatype and utility functions for operating on it.
  11991. Unlike the filepath package, this package does not simply reuse String,
  11992. increasing type safety.")
  11993. (license license:expat)))
  11994. ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
  11995. ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
  11996. ;; which depends on ghc-chell and ghc-chell-quickcheck.
  11997. ;; Therefore we bootstrap it with tests disabled.
  11998. (define ghc-system-filepath-bootstrap
  11999. (package
  12000. (name "ghc-system-filepath-bootstrap")
  12001. (version "0.4.14")
  12002. (source
  12003. (origin
  12004. (method url-fetch)
  12005. (uri (string-append
  12006. "https://hackage.haskell.org/package/system-filepath/system-filepath-"
  12007. version ".tar.gz"))
  12008. (sha256
  12009. (base32
  12010. "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
  12011. (build-system haskell-build-system)
  12012. (arguments
  12013. `(#:tests? #f))
  12014. (inputs
  12015. `(("ghc-quickcheck" ,ghc-quickcheck)))
  12016. (home-page "https://github.com/fpco/haskell-filesystem")
  12017. (synopsis "High-level, byte-based file and directory path manipulations")
  12018. (description
  12019. "Provides a FilePath datatype and utility functions for operating on it.
  12020. Unlike the filepath package, this package does not simply reuse String,
  12021. increasing type safety.")
  12022. (license license:expat)))
  12023. (define-public ghc-tabular
  12024. (package
  12025. (name "ghc-tabular")
  12026. (version "0.2.2.8")
  12027. (source
  12028. (origin
  12029. (method url-fetch)
  12030. (uri (string-append
  12031. "https://hackage.haskell.org/package/tabular/tabular-"
  12032. version
  12033. ".tar.gz"))
  12034. (sha256
  12035. (base32
  12036. "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb"))))
  12037. (build-system haskell-build-system)
  12038. (inputs
  12039. (list ghc-csv ghc-html))
  12040. (home-page "https://github.com/bgamari/tabular")
  12041. (synopsis "Two-dimensional data tables with rendering functions")
  12042. (description
  12043. "Tabular provides a Haskell representation of two-dimensional data
  12044. tables, the kind that you might find in a spreadsheet or or a research report.
  12045. It also comes with some default rendering functions for turning those tables
  12046. into ASCII art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX.
  12047. Below is an example of the kind of output this library produces. The tabular
  12048. package can group rows and columns, each group having one of three
  12049. separators (no line, single line, double line) between its members.
  12050. @example
  12051. || memtest 1 | memtest 2 || time test | time test 2
  12052. ====++===========+===========++=============+============
  12053. A 1 || hog | terrible || slow | slower
  12054. A 2 || pig | not bad || fast | slowest
  12055. ----++-----------+-----------++-------------+------------
  12056. B 1 || good | awful || intolerable | bearable
  12057. B 2 || better | no chance || crawling | amazing
  12058. B 3 || meh | well... || worst ever | ok
  12059. @end example")
  12060. (license license:bsd-3)))
  12061. (define-public ghc-tagged
  12062. (package
  12063. (name "ghc-tagged")
  12064. (version "0.8.6.1")
  12065. (source
  12066. (origin
  12067. (method url-fetch)
  12068. (uri (string-append
  12069. "https://hackage.haskell.org/package/tagged/tagged-"
  12070. version
  12071. ".tar.gz"))
  12072. (sha256
  12073. (base32
  12074. "00kcc6lmj7v3xm2r3wzw5jja27m4alcw1wi8yiismd0bbzwzrq7m"))))
  12075. (build-system haskell-build-system)
  12076. (arguments
  12077. `(#:cabal-revision
  12078. ("2" "0qi63c3z40i9qm44r571yjzcpb8d473vj2km4kq0fij0ljc7vii9")))
  12079. (inputs
  12080. (list ghc-transformers-compat))
  12081. (home-page "https://hackage.haskell.org/package/tagged")
  12082. (synopsis "Haskell phantom types to avoid passing dummy arguments")
  12083. (description "This library provides phantom types for Haskell 98, to avoid
  12084. having to unsafely pass dummy arguments.")
  12085. (license license:bsd-3)))
  12086. (define-public ghc-tar
  12087. (package
  12088. (name "ghc-tar")
  12089. (version "0.5.1.1")
  12090. (source
  12091. (origin
  12092. (method url-fetch)
  12093. (uri (string-append
  12094. "https://hackage.haskell.org/package/tar/tar-"
  12095. version ".tar.gz"))
  12096. (sha256
  12097. (base32
  12098. "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
  12099. (build-system haskell-build-system)
  12100. (arguments
  12101. `(#:cabal-revision
  12102. ("4" "03a33nj9k62f318qgmp5pgk7i99c8cyqy5f7m7p0bwc5ni39ysfq")))
  12103. (inputs
  12104. (list ghc-bytestring-handle ghc-quickcheck ghc-tasty
  12105. ghc-tasty-quickcheck))
  12106. (home-page "https://hackage.haskell.org/package/tar")
  12107. (synopsis "Reading, writing and manipulating \".tar\" archive files")
  12108. (description
  12109. "This library is for working with \\\"@.tar@\\\" archive files.
  12110. It can read and write a range of common variations of the tar archive format
  12111. including V7, POSIX USTAR and GNU formats. It provides support for packing and
  12112. unpacking portable archives. This makes it suitable for distribution but not
  12113. backup because details like file ownership and exact permissions are not
  12114. preserved. It also provides features for random access to archive content using
  12115. an index.")
  12116. (license license:bsd-3)))
  12117. (define-public ghc-tar-conduit
  12118. (package
  12119. (name "ghc-tar-conduit")
  12120. (version "0.3.2")
  12121. (source
  12122. (origin
  12123. (method url-fetch)
  12124. (uri (string-append "https://hackage.haskell.org/package/"
  12125. "tar-conduit/tar-conduit-" version ".tar.gz"))
  12126. (sha256
  12127. (base32
  12128. "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
  12129. (build-system haskell-build-system)
  12130. (inputs
  12131. (list ghc-conduit ghc-conduit-combinators ghc-safe-exceptions))
  12132. (native-inputs
  12133. (list ghc-quickcheck ghc-conduit-extra ghc-hspec ghc-hspec
  12134. ghc-weigh))
  12135. (home-page "https://github.com/snoyberg/tar-conduit#readme")
  12136. (synopsis "Extract and create tar files using conduit for streaming")
  12137. (description "This library provides a conduit-based, streaming
  12138. interface for extracting and creating tar files.")
  12139. (license license:expat)))
  12140. (define-public ghc-temporary
  12141. (package
  12142. (name "ghc-temporary")
  12143. (version "1.3")
  12144. (source
  12145. (origin
  12146. (method url-fetch)
  12147. (uri (string-append
  12148. "https://hackage.haskell.org/package/temporary/temporary-"
  12149. version
  12150. ".tar.gz"))
  12151. (sha256
  12152. (base32
  12153. "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
  12154. (build-system haskell-build-system)
  12155. (inputs
  12156. (list ghc-exceptions ghc-random))
  12157. (native-inputs
  12158. (list ghc-base-compat ghc-tasty ghc-tasty-hunit))
  12159. (home-page "https://www.github.com/batterseapower/temporary")
  12160. (synopsis "Temporary file and directory support")
  12161. (description "The functions for creating temporary files and directories
  12162. in the Haskelll base library are quite limited. This library just repackages
  12163. the Cabal implementations of its own temporary file and folder functions so
  12164. that you can use them without linking against Cabal or depending on it being
  12165. installed.")
  12166. (license license:bsd-3)))
  12167. (define-public ghc-temporary-rc
  12168. (package
  12169. (name "ghc-temporary-rc")
  12170. (version "1.2.0.3")
  12171. (source
  12172. (origin
  12173. (method url-fetch)
  12174. (uri (string-append
  12175. "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
  12176. version
  12177. ".tar.gz"))
  12178. (sha256
  12179. (base32
  12180. "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
  12181. (build-system haskell-build-system)
  12182. (inputs (list ghc-exceptions))
  12183. (home-page
  12184. "https://www.github.com/feuerbach/temporary")
  12185. (synopsis
  12186. "Portable temporary file and directory support")
  12187. (description
  12188. "The functions for creating temporary files and directories in the base
  12189. library are quite limited. The unixutils package contains some good ones, but
  12190. they aren't portable to Windows. This library just repackages the Cabal
  12191. implementations of its own temporary file and folder functions so that you can
  12192. use them without linking against Cabal or depending on it being installed.
  12193. This is a better maintained fork of the \"temporary\" package.")
  12194. (license license:bsd-3)))
  12195. (define-public ghc-terminal-size
  12196. (package
  12197. (name "ghc-terminal-size")
  12198. (version "0.3.2.1")
  12199. (source (origin
  12200. (method url-fetch)
  12201. (uri (string-append
  12202. "https://hackage.haskell.org/package/terminal-size/"
  12203. "terminal-size-" version ".tar.gz"))
  12204. (sha256
  12205. (base32
  12206. "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
  12207. (build-system haskell-build-system)
  12208. (home-page "https://hackage.haskell.org/package/terminal-size")
  12209. (synopsis "Get terminal window height and width")
  12210. (description "Get terminal window height and width without ncurses
  12211. dependency.")
  12212. (license license:bsd-3)))
  12213. (define-public ghc-texmath
  12214. (package
  12215. (name "ghc-texmath")
  12216. (version "0.12.3.2")
  12217. (source (origin
  12218. (method url-fetch)
  12219. (uri (string-append "https://hackage.haskell.org/package/"
  12220. "texmath/texmath-" version ".tar.gz"))
  12221. (sha256
  12222. (base32
  12223. "1d9r3na7hmkgr0j63fs50ssll506l1wyqhw0dpap7jk0rdz8pv6n"))))
  12224. (build-system haskell-build-system)
  12225. (inputs
  12226. (list ghc-syb ghc-network-uri ghc-split ghc-xml ghc-pandoc-types))
  12227. (native-inputs
  12228. (list ghc-temporary ghc-utf8-string))
  12229. (home-page "https://github.com/jgm/texmath")
  12230. (synopsis "Conversion between formats used to represent mathematics")
  12231. (description
  12232. "The texmath library provides functions to read and write TeX math,
  12233. presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
  12234. Office). Support is also included for converting math formats to pandoc's
  12235. native format (allowing conversion, via pandoc, to a variety of different
  12236. markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
  12237. it can parse and apply LaTeX macros.")
  12238. (license license:gpl2+)))
  12239. (define-public ghc-text-binary
  12240. (package
  12241. (name "ghc-text-binary")
  12242. (version "0.2.1.1")
  12243. (source
  12244. (origin
  12245. (method url-fetch)
  12246. (uri (string-append "https://hackage.haskell.org/package/"
  12247. "text-binary/text-binary-"
  12248. version ".tar.gz"))
  12249. (sha256
  12250. (base32
  12251. "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
  12252. (build-system haskell-build-system)
  12253. (home-page "https://github.com/kawu/text-binary")
  12254. (synopsis "Binary instances for text types")
  12255. (description
  12256. "This package provides a compatibility layer providing @code{Binary}
  12257. instances for strict and lazy text types for versions older than 1.2.1 of the
  12258. text package.")
  12259. (license license:bsd-2)))
  12260. (define-public ghc-text-manipulate
  12261. (package
  12262. (name "ghc-text-manipulate")
  12263. (version "0.3.0.0")
  12264. (source
  12265. (origin
  12266. (method url-fetch)
  12267. (uri (string-append
  12268. "https://hackage.haskell.org/package/text-manipulate"
  12269. "/text-manipulate-"
  12270. version
  12271. ".tar.gz"))
  12272. (sha256
  12273. (base32
  12274. "0pmzp38m3r0k6ps97b1wqplxlgvvlaid09x53jl3gxng0fwq910a"))))
  12275. (build-system haskell-build-system)
  12276. (native-inputs
  12277. (list ghc-tasty ghc-tasty-hunit))
  12278. (home-page
  12279. "https://github.com/brendanhay/text-manipulate")
  12280. (synopsis
  12281. "Case conversion, word boundary manipulation, and textual subjugation")
  12282. (description
  12283. "Manipulate identifiers and structurally non-complex pieces of text by
  12284. delimiting word boundaries via a combination of whitespace,
  12285. control-characters, and case-sensitivity.
  12286. Has support for common idioms like casing of programmatic variable names,
  12287. taking, dropping, and splitting by word, and modifying the first character of
  12288. a piece of text.
  12289. Caution: this library makes heavy use of the text library's internal loop
  12290. optimisation framework. Since internal modules are not guaranteed to have a
  12291. stable API there is potential for build breakage when the text dependency is
  12292. upgraded. Consider yourself warned!")
  12293. (license license:mpl2.0)))
  12294. (define-public ghc-text-metrics
  12295. (package
  12296. (name "ghc-text-metrics")
  12297. (version "0.3.1")
  12298. (source
  12299. (origin
  12300. (method url-fetch)
  12301. (uri (string-append "https://hackage.haskell.org/package/"
  12302. "text-metrics/text-metrics-" version ".tar.gz"))
  12303. (sha256
  12304. (base32
  12305. "17bp1lnbkqr5ykrcd6v5sqv0fhljck7hky8zrrpw7rlkb1f3sdc2"))))
  12306. (build-system haskell-build-system)
  12307. (inputs
  12308. (list ghc-vector))
  12309. (native-inputs
  12310. (list ghc-quickcheck ghc-hspec))
  12311. (arguments
  12312. `(#:cabal-revision
  12313. ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
  12314. (home-page "https://github.com/mrkkrp/text-metrics")
  12315. (synopsis "Calculate various string metrics efficiently")
  12316. (description "This library provides tools to calculate various
  12317. string metrics efficiently.")
  12318. (license license:bsd-3)))
  12319. (define-public ghc-tf-random
  12320. (package
  12321. (name "ghc-tf-random")
  12322. (version "0.5")
  12323. (outputs '("out" "static" "doc"))
  12324. (source
  12325. (origin
  12326. (method url-fetch)
  12327. (uri (string-append
  12328. "https://hackage.haskell.org/package/tf-random/tf-random-"
  12329. version
  12330. ".tar.gz"))
  12331. (sha256
  12332. (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
  12333. (build-system haskell-build-system)
  12334. (inputs
  12335. (list ghc-primitive ghc-random))
  12336. (home-page "https://hackage.haskell.org/package/tf-random")
  12337. (synopsis "High-quality splittable pseudorandom number generator")
  12338. (description "This package contains an implementation of a high-quality
  12339. splittable pseudorandom number generator. The generator is based on a
  12340. cryptographic hash function built on top of the ThreeFish block cipher. See
  12341. the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
  12342. Hashing\" by Claessen, Pałka for details and the rationale of the design.")
  12343. (license license:bsd-3)))
  12344. (define-public ghc-th-abstraction
  12345. (package
  12346. (name "ghc-th-abstraction")
  12347. (version "0.4.3.0")
  12348. (source
  12349. (origin
  12350. (method url-fetch)
  12351. (uri (string-append "https://hackage.haskell.org/package/"
  12352. "th-abstraction/th-abstraction-"
  12353. version ".tar.gz"))
  12354. (sha256
  12355. (base32
  12356. "01nyscmjriga4fh4362b4zjad48hdv33asjkd28sj8hx3pii7fy8"))))
  12357. (build-system haskell-build-system)
  12358. (home-page "https://github.com/glguy/th-abstraction")
  12359. (synopsis "Nicer interface for reified information about data types")
  12360. (description
  12361. "This package normalizes variations in the interface for inspecting
  12362. datatype information via Template Haskell so that packages and support a
  12363. single, easier to use informational datatype while supporting many versions of
  12364. Template Haskell.")
  12365. (license license:isc)))
  12366. (define-public ghc-th-expand-syns
  12367. (package
  12368. (name "ghc-th-expand-syns")
  12369. (version "0.4.8.0")
  12370. (source (origin
  12371. (method url-fetch)
  12372. (uri (string-append "https://hackage.haskell.org/package/"
  12373. "th-expand-syns/th-expand-syns-"
  12374. version ".tar.gz"))
  12375. (sha256
  12376. (base32
  12377. "1mw0yxfbmicv0irfrcz4s6pn39za7yjd7zz09ialwym1b46624si"))))
  12378. (build-system haskell-build-system)
  12379. (arguments
  12380. `(#:cabal-revision
  12381. ("1" "0l30cmwm20lgjpvr3a5yxj6429s1hqahjsij8z2ap88754phd41l")))
  12382. (inputs
  12383. (list ghc-syb ghc-th-abstraction))
  12384. (home-page "https://hackage.haskell.org/package/th-expand-syns")
  12385. (synopsis "Expands type synonyms in Template Haskell ASTs")
  12386. (description
  12387. "This package enables users to expand type synonyms in Template Haskell
  12388. @dfn{abstract syntax trees} (ASTs).")
  12389. (license license:bsd-3)))
  12390. (define-public ghc-th-lift
  12391. (package
  12392. (name "ghc-th-lift")
  12393. (version "0.8.2")
  12394. (source (origin
  12395. (method url-fetch)
  12396. (uri (string-append "https://hackage.haskell.org/package/"
  12397. "th-lift/th-lift-" version ".tar.gz"))
  12398. (sha256
  12399. (base32
  12400. "1r2wrnrn6qwy6ysyfnlqn6xbfckw0b22h8n00pk67bhhg81jfn9s"))))
  12401. (build-system haskell-build-system)
  12402. (inputs
  12403. (list ghc-th-abstraction))
  12404. (home-page "https://github.com/mboes/th-lift")
  12405. (synopsis "Derive Template Haskell's Lift class for datatypes")
  12406. (description
  12407. "This is a Haskell library to derive Template Haskell's Lift class for
  12408. datatypes.")
  12409. (license license:bsd-3)))
  12410. (define-public ghc-th-lift-instances
  12411. (package
  12412. (name "ghc-th-lift-instances")
  12413. (version "0.1.18")
  12414. (source
  12415. (origin
  12416. (method url-fetch)
  12417. (uri (string-append "https://hackage.haskell.org/package/"
  12418. "th-lift-instances/th-lift-instances-"
  12419. version ".tar.gz"))
  12420. (sha256
  12421. (base32
  12422. "09nv1zsffvv6zfz1fjzcqrla3lc350qr4i4xf7wgvzp049sprrdy"))))
  12423. (build-system haskell-build-system)
  12424. (inputs
  12425. (list ghc-th-lift ghc-vector ghc-quickcheck))
  12426. (home-page "https://github.com/bennofs/th-lift-instances/")
  12427. (synopsis "Lift instances for template-haskell for common data types")
  12428. (description "Most data types in the Haskell platform do not have Lift
  12429. instances. This package provides orphan instances for @code{containers},
  12430. @code{text}, @code{bytestring} and @code{vector}.")
  12431. (license license:bsd-3)))
  12432. (define-public ghc-th-orphans
  12433. (package
  12434. (name "ghc-th-orphans")
  12435. (version "0.13.12")
  12436. (source (origin
  12437. (method url-fetch)
  12438. (uri (string-append "https://hackage.haskell.org/package/"
  12439. "th-orphans/th-orphans-" version ".tar.gz"))
  12440. (sha256
  12441. (base32
  12442. "03n6qxnpxhbzyzbyrjq77d1y62dwgx39mmxfwmnc04l8pawgrxxz"))))
  12443. (build-system haskell-build-system)
  12444. (arguments
  12445. `(#:cabal-revision
  12446. ("1" "0vfz9dl5g9xwp2zmwqc5gngyvjaqj3i0s97vbcslafcqhdqw3qaj")))
  12447. (inputs
  12448. (list ghc-th-lift
  12449. ghc-th-lift-instances
  12450. ghc-th-reify-many
  12451. ghc-th-compat
  12452. ghc-th-expand-syns
  12453. ghc-generic-deriving))
  12454. (native-inputs
  12455. (list ghc-hspec))
  12456. (home-page "https://hackage.haskell.org/package/th-orphans")
  12457. (synopsis "Orphan instances for TH datatypes")
  12458. (description
  12459. "This package provides orphan instances for Template Haskell datatypes. In particular,
  12460. instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
  12461. and @code{Eq} instances. These instances used to live in the haskell-src-meta
  12462. package, and that's where the version number started.")
  12463. (license license:bsd-3)))
  12464. (define-public ghc-these
  12465. (package
  12466. (name "ghc-these")
  12467. (version "1.1.1.1")
  12468. (source
  12469. (origin
  12470. (method url-fetch)
  12471. (uri (string-append
  12472. "https://hackage.haskell.org/package/these/these-"
  12473. version
  12474. ".tar.gz"))
  12475. (sha256
  12476. (base32
  12477. "027m1gd7i6jf2ppfkld9qrv3xnxg276587pmx10z9phpdvswk66p"))))
  12478. (build-system haskell-build-system)
  12479. (inputs
  12480. (list ghc-hashable ghc-assoc))
  12481. (arguments
  12482. `(#:cabal-revision
  12483. ("2" "16x3am622jn97j1d9879x7j5zbjn33bkfaa0dq0xyp1fbc0s7h5x")))
  12484. (home-page
  12485. "https://github.com/isomorphism/these")
  12486. (synopsis "Either-or-both data type")
  12487. (description
  12488. "This package provides a data type @code{These a b} which can
  12489. hold a value of either type or values of each type. This is usually
  12490. thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
  12491. \"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
  12492. as \"inner join\").
  12493. @code{data These a b = This a | That b | These a b}
  12494. Since version 1, this package was split into parts:
  12495. @itemize
  12496. @item
  12497. https://hackage.haskell.org/package/semialign For @code{Align} and
  12498. @code{Zip} type-classes.
  12499. @item
  12500. https://hackage.haskell.org/package/semialign-indexed For
  12501. @code{SemialignWithIndex} class, providing @code{ialignWith} and
  12502. @code{izipWith}
  12503. @item
  12504. https://hackage.haskell.org/package/these-lens For lens combinators.
  12505. @item
  12506. http://hackage.haskell.org/package/monad-chronicle For transformers
  12507. variant of @code{These}.
  12508. @end itemize")
  12509. (license license:bsd-3)))
  12510. (define-public ghc-threads
  12511. (package
  12512. (name "ghc-threads")
  12513. (version "0.5.1.6")
  12514. (source
  12515. (origin
  12516. (method url-fetch)
  12517. (uri (string-append "https://hackage.haskell.org/package/"
  12518. "threads/threads-" version ".tar.gz"))
  12519. (sha256
  12520. (base32
  12521. "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
  12522. (build-system haskell-build-system)
  12523. (native-inputs
  12524. (list ghc-concurrent-extra ghc-hunit ghc-test-framework
  12525. ghc-test-framework-hunit))
  12526. (home-page "https://github.com/basvandijk/threads")
  12527. (synopsis "Fork threads and wait for their result")
  12528. (description "This package provides functions to fork threads and
  12529. wait for their result, whether it's an exception or a normal value.
  12530. Besides waiting for the termination of a single thread this package also
  12531. provides functions to wait for a group of threads to terminate. This
  12532. package is similar to the @code{threadmanager}, @code{async} and
  12533. @code{spawn} packages. The advantages of this package are:
  12534. @itemize
  12535. @item Simpler API.
  12536. @item More efficient in both space and time.
  12537. @item No space-leak when forking a large number of threads.
  12538. @item Correct handling of asynchronous exceptions.
  12539. @item GHC specific functionality like @code{forkOn} and
  12540. @code{forkIOWithUnmask}.
  12541. @end itemize")
  12542. (license license:bsd-3)))
  12543. (define-public ghc-th-reify-many
  12544. (package
  12545. (name "ghc-th-reify-many")
  12546. (version "0.1.10")
  12547. (source (origin
  12548. (method url-fetch)
  12549. (uri (string-append "https://hackage.haskell.org/package/"
  12550. "th-reify-many/th-reify-many-"
  12551. version ".tar.gz"))
  12552. (sha256
  12553. (base32
  12554. "19g4gc1q3zxbylmvrgk3dqjzychq2k02i7fwvs3vhbrg4ihhw9cx"))))
  12555. (build-system haskell-build-system)
  12556. (inputs
  12557. (list ghc-safe ghc-th-expand-syns))
  12558. (home-page "https://github.com/mgsloan/th-reify-many")
  12559. (synopsis "Recurseively reify template haskell datatype info")
  12560. (description
  12561. "th-reify-many provides functions for recursively reifying top level
  12562. declarations. The main intended use case is for enumerating the names of
  12563. datatypes reachable from an initial datatype, and passing these names to some
  12564. function which generates instances.")
  12565. (license license:bsd-3)))
  12566. (define-public ghc-time-compat
  12567. (package
  12568. (name "ghc-time-compat")
  12569. (version "1.9.5")
  12570. (source
  12571. (origin
  12572. (method url-fetch)
  12573. (uri (string-append "https://hackage.haskell.org/package/"
  12574. "time-compat/time-compat-" version ".tar.gz"))
  12575. (sha256
  12576. (base32
  12577. "19p3056i6kh8lgcdsnwsh8pj80xyi23kmw9n7hmdacczs5kv49ii"))))
  12578. (build-system haskell-build-system)
  12579. (inputs
  12580. (list ghc-base-orphans))
  12581. (native-inputs
  12582. (list ghc-hunit
  12583. ghc-base-compat
  12584. ghc-quickcheck
  12585. ghc-tagged
  12586. ghc-tasty
  12587. ghc-tasty-hunit
  12588. ghc-tasty-quickcheck))
  12589. (arguments
  12590. `(#:cabal-revision
  12591. ("1" "1f6r8cyfgzpfg9nrsqbf99pi44fyds9wcmgwxb4s0zmlb5dbv1m5")))
  12592. (home-page "https://github.com/phadej/time-compat")
  12593. (synopsis "Compatibility package for time")
  12594. (description "This package tries to compat as many @code{time}
  12595. features as possible.")
  12596. (license license:bsd-3)))
  12597. (define-public ghc-time-locale-compat
  12598. (package
  12599. (name "ghc-time-locale-compat")
  12600. (version "0.1.1.5")
  12601. (source
  12602. (origin
  12603. (method url-fetch)
  12604. (uri (string-append "https://hackage.haskell.org/package/"
  12605. "time-locale-compat/time-locale-compat-"
  12606. version ".tar.gz"))
  12607. (sha256
  12608. (base32
  12609. "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
  12610. (build-system haskell-build-system)
  12611. (inputs (list ghc-old-locale))
  12612. (home-page "https://github.com/khibino/haskell-time-locale-compat")
  12613. (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
  12614. (description "This package contains a wrapped name module for
  12615. @code{TimeLocale}.")
  12616. (license license:bsd-3)))
  12617. (define-public ghc-time-manager
  12618. (package
  12619. (name "ghc-time-manager")
  12620. (version "0.0.0")
  12621. (source
  12622. (origin
  12623. (method url-fetch)
  12624. (uri (string-append "https://hackage.haskell.org/package/"
  12625. "time-manager/time-manager-" version ".tar.gz"))
  12626. (sha256
  12627. (base32
  12628. "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
  12629. (build-system haskell-build-system)
  12630. (inputs
  12631. (list ghc-auto-update))
  12632. (home-page "https://github.com/yesodweb/wai")
  12633. (synopsis "Scalable timer")
  12634. (description "This library contains scalable timer functions provided by a
  12635. timer manager.")
  12636. (license license:expat)))
  12637. (define-public ghc-timeit
  12638. (package
  12639. (name "ghc-timeit")
  12640. (version "2.0")
  12641. (source
  12642. (origin
  12643. (method url-fetch)
  12644. (uri
  12645. (string-append
  12646. "https://hackage.haskell.org/package/timeit/timeit-"
  12647. version ".tar.gz"))
  12648. (sha256
  12649. (base32
  12650. "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
  12651. (build-system haskell-build-system)
  12652. (home-page "https://github.com/merijn/timeit")
  12653. (synopsis "Time monadic computations with an IO base")
  12654. (description "This package provides a simple wrapper to show the
  12655. used CPU time of monadic computation with an IO base.")
  12656. (license license:bsd-3)))
  12657. (define-public ghc-timezone-series
  12658. (package
  12659. (name "ghc-timezone-series")
  12660. (version "0.1.9")
  12661. (source
  12662. (origin
  12663. (method url-fetch)
  12664. (uri
  12665. (string-append
  12666. "mirror://hackage/package/timezone-series/timezone-series-"
  12667. version ".tar.gz"))
  12668. (sha256
  12669. (base32
  12670. "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
  12671. (build-system haskell-build-system)
  12672. (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
  12673. (synopsis "Enhanced timezone handling for Time")
  12674. (description
  12675. "This package endows @code{Data.Time}, from the time package, with several
  12676. data types and functions for enhanced processing of timezones. For one way to
  12677. create timezone series, see the ghc-timezone-olson package.")
  12678. (license license:bsd-3)))
  12679. (define-public ghc-timezone-olson
  12680. (package
  12681. (name "ghc-timezone-olson")
  12682. (version "0.2.0")
  12683. (source
  12684. (origin
  12685. (method url-fetch)
  12686. (uri
  12687. (string-append
  12688. "https://hackage.haskell.org/package/timezone-olson/timezone-olson-"
  12689. version ".tar.gz"))
  12690. (sha256
  12691. (base32
  12692. "0b9vh27b9nz803yhd93d5z63bs370lvn4vkdajxaak9clxlw6mwg"))))
  12693. (build-system haskell-build-system)
  12694. (inputs
  12695. (list ghc-timezone-series ghc-extensible-exceptions))
  12696. (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
  12697. (synopsis "Parser and renderer for binary Olson timezone files")
  12698. (description
  12699. "A parser and renderer for binary Olson timezone files whose format
  12700. is specified by the tzfile(5) man page on Unix-like systems. For more
  12701. information about this format, see
  12702. @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
  12703. are provided for converting the parsed data into @code{TimeZoneSeries}
  12704. objects from the timezone-series package.")
  12705. (license license:bsd-3)))
  12706. (define-public ghc-tldr
  12707. (package
  12708. (name "ghc-tldr")
  12709. (version "0.9.2")
  12710. (source
  12711. (origin
  12712. (method url-fetch)
  12713. (uri (string-append
  12714. "https://hackage.haskell.org/package/tldr/tldr-"
  12715. version
  12716. ".tar.gz"))
  12717. (sha256
  12718. (base32
  12719. "1yypb9zhsj9ks7bbw2sayqv3rn9y8z3w5p1xmsnwb4w99dqmvcx5"))))
  12720. (build-system haskell-build-system)
  12721. (inputs
  12722. (list ghc-ansi-terminal
  12723. ghc-attoparsec
  12724. ghc-cmark
  12725. ghc-http-conduit
  12726. ghc-optparse-applicative
  12727. ghc-semigroups
  12728. ghc-zip-archive))
  12729. (native-inputs
  12730. (list ghc-tasty ghc-tasty-golden))
  12731. (home-page "https://github.com/psibi/tldr-hs#readme")
  12732. (synopsis "Haskell tldr client")
  12733. (description "This package provides the @command{tldr} command and a
  12734. Haskell client library allowing users to update and view @code{tldr} pages
  12735. from a shell. The @code{tldr} pages are a community effort to simplify the
  12736. man pages with practical examples.")
  12737. (license license:bsd-3)))
  12738. (define-public ghc-torrent
  12739. (package
  12740. (name "ghc-torrent")
  12741. (version "10000.1.1")
  12742. (source
  12743. (origin
  12744. (method url-fetch)
  12745. (uri (string-append
  12746. "https://hackage.haskell.org/package/torrent/torrent-"
  12747. version ".tar.gz"))
  12748. (sha256
  12749. (base32 "0m7s0q7f8c7glxzqhf2j86ch5xhk6jnzwwsa4mkywag22119c290"))))
  12750. (build-system haskell-build-system)
  12751. (inputs
  12752. (list ghc-bencode ghc-syb))
  12753. (home-page "https://hackage.haskell.org/package/torrent")
  12754. (synopsis "BitTorrent file parser and generator")
  12755. (description "This library provides support for parsing and generating
  12756. BitTorrent files.")
  12757. (license license:bsd-3)))
  12758. (define-public ghc-transformers
  12759. (package
  12760. (name "ghc-transformers")
  12761. (version "0.5.6.2")
  12762. (source
  12763. (origin
  12764. (method url-fetch)
  12765. (uri (string-append
  12766. "mirror://hackage/package/transformers/transformers-"
  12767. version
  12768. ".tar.gz"))
  12769. (sha256
  12770. (base32
  12771. "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
  12772. (build-system haskell-build-system)
  12773. (home-page
  12774. "http://hackage.haskell.org/package/transformers")
  12775. (synopsis "Concrete functor and monad transformers")
  12776. (description
  12777. "Transformers provides functor and monad transformers, inspired by the
  12778. paper \"Functional Programming with Overloading and Higher-Order
  12779. Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
  12780. 1995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
  12781. This package contains:
  12782. @itemize
  12783. @item the monad transformer class (in @code{Control.Monad.Trans.Class})
  12784. @item concrete functor and monad transformers, each with associated operations
  12785. and functions to lift operations associated with other transformers.
  12786. @end itemize
  12787. This package can be used on its own in portable Haskell code, in which case
  12788. operations need to be manually lifted through transformer stacks (see
  12789. @code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
  12790. used with the non-portable monad classes in the mtl or monads-tf packages,
  12791. which automatically lift operations introduced by monad transformers through
  12792. other transformers.")
  12793. (license license:bsd-3)))
  12794. (define-public ghc-transformers-base
  12795. (package
  12796. (name "ghc-transformers-base")
  12797. (version "0.4.6")
  12798. (source
  12799. (origin
  12800. (method url-fetch)
  12801. (uri (string-append
  12802. "https://hackage.haskell.org/package/transformers-base/transformers-base-"
  12803. version
  12804. ".tar.gz"))
  12805. (sha256
  12806. (base32
  12807. "146g69yxmlrmvqnzwcw4frxfl3z04lda9zqwcqib34dnkrlghfrj"))))
  12808. (build-system haskell-build-system)
  12809. (inputs
  12810. (list ghc-transformers-compat))
  12811. (home-page
  12812. "https://hackage.haskell.org/package/transformers-compat")
  12813. (synopsis
  12814. "Backported transformer library")
  12815. (description
  12816. "Backported versions of types that were added to transformers in
  12817. transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
  12818. compatibility to run on old versions of the platform.")
  12819. (license license:bsd-3)))
  12820. (define-public ghc-transformers-compat
  12821. (package
  12822. (name "ghc-transformers-compat")
  12823. (version "0.6.6")
  12824. (source
  12825. (origin
  12826. (method url-fetch)
  12827. (uri (string-append
  12828. "https://hackage.haskell.org/package/transformers-compat"
  12829. "/transformers-compat-" version ".tar.gz"))
  12830. (sha256
  12831. (base32
  12832. "1yd936az31g9995frc84g05rrb5b7w59ajssc5183lp6wm8h4bky"))))
  12833. (build-system haskell-build-system)
  12834. (home-page "https://github.com/ekmett/transformers-compat/")
  12835. (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
  12836. (description "This package includes backported versions of types that were
  12837. added to transformers in transformers 0.3 and 0.4 for users who need strict
  12838. transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
  12839. but also need those types.")
  12840. (license license:bsd-3)))
  12841. (define-public ghc-tree-diff
  12842. (package
  12843. (name "ghc-tree-diff")
  12844. (version "0.2.1")
  12845. (source
  12846. (origin
  12847. (method url-fetch)
  12848. (uri (string-append
  12849. "https://hackage.haskell.org/package/tree-diff/tree-diff-"
  12850. version
  12851. ".tar.gz"))
  12852. (sha256
  12853. (base32
  12854. "0bybi4qp7nj9117yza5qqgw2f7s6rk3i7q642jqd7sdn3bx5cnap"))))
  12855. (build-system haskell-build-system)
  12856. (arguments
  12857. `(#:cabal-revision
  12858. ("1" "0brlnq5ddmambidll1dn4jnjac2i44a9hd5hwp2p0rbh1s8jfyhm")))
  12859. (inputs
  12860. (list ghc-aeson
  12861. ghc-ansi-terminal
  12862. ghc-ansi-wl-pprint
  12863. ghc-base-compat
  12864. ghc-bytestring-builder
  12865. ghc-hashable
  12866. ghc-parsers
  12867. ghc-primitive
  12868. ghc-quickcheck
  12869. ghc-scientific
  12870. ghc-semialign
  12871. ghc-strict
  12872. ghc-tagged
  12873. ghc-these
  12874. ghc-unordered-containers
  12875. ghc-uuid-types
  12876. ghc-vector))
  12877. (native-inputs
  12878. (list ghc-trifecta ghc-tasty ghc-tasty-golden ghc-tasty-quickcheck))
  12879. (home-page "https://github.com/phadej/tree-diff")
  12880. (synopsis "Compute difference between (expression) trees")
  12881. (description "This Haskell library provides a function for computing
  12882. the difference between (expression) trees. It also provides a way to
  12883. compute the difference between arbitrary abstract datatypes (ADTs) using
  12884. @code{Generics}-derivable helpers.")
  12885. (license license:bsd-3)))
  12886. (define-public ghc-trifecta
  12887. (package
  12888. (name "ghc-trifecta")
  12889. (version "2.1.1")
  12890. (source (origin
  12891. (method url-fetch)
  12892. (uri (string-append
  12893. "https://hackage.haskell.org/package/trifecta/"
  12894. "trifecta-" version ".tar.gz"))
  12895. (sha256
  12896. (base32
  12897. "1lhzi0xxvilvgjy3yf3f85wfmrks562hhsnl0kg1xwji36rgwp6y"))))
  12898. (build-system haskell-build-system)
  12899. (inputs
  12900. (list ghc-ansi-terminal
  12901. ghc-blaze-builder
  12902. ghc-blaze-html
  12903. ghc-blaze-markup
  12904. ghc-charset
  12905. ghc-comonad
  12906. ghc-fingertree
  12907. ghc-hashable
  12908. ghc-indexed-traversable
  12909. ghc-lens
  12910. ghc-parsers
  12911. ghc-prettyprinter-ansi-terminal
  12912. ghc-prettyprinter
  12913. ghc-profunctors
  12914. ghc-reducers
  12915. ghc-unordered-containers
  12916. ghc-utf8-string))
  12917. (native-inputs
  12918. (list ghc-quickcheck))
  12919. (home-page "https://github.com/ekmett/trifecta/")
  12920. (synopsis "Parser combinator library with convenient diagnostics")
  12921. (description "Trifecta is a modern parser combinator library for Haskell,
  12922. with slicing and Clang-style colored diagnostics.")
  12923. (license license:bsd-3)))
  12924. (define-public ghc-tuple-th
  12925. (package
  12926. (name "ghc-tuple-th")
  12927. (version "0.2.5")
  12928. (source
  12929. (origin
  12930. (method url-fetch)
  12931. (uri (string-append "https://hackage.haskell.org/package/"
  12932. "tuple-th-" version "/"
  12933. "tuple-th-" version ".tar.gz"))
  12934. (sha256
  12935. (base32
  12936. "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
  12937. (build-system haskell-build-system)
  12938. (home-page "https://github.com/DanielSchuessler/tuple-th")
  12939. (synopsis "Generate utility functions for tuples of statically known size
  12940. for Haskell")
  12941. (description "This Haskell package contains Template Haskell functions for
  12942. generating functions similar to those in @code{Data.List} for tuples of
  12943. statically known size.")
  12944. (license license:bsd-3)))
  12945. (define-public ghc-turtle
  12946. (package
  12947. (name "ghc-turtle")
  12948. (version "1.5.22")
  12949. (source
  12950. (origin
  12951. (method url-fetch)
  12952. (uri (string-append
  12953. "https://hackage.haskell.org/package/turtle/turtle-"
  12954. version
  12955. ".tar.gz"))
  12956. (sha256
  12957. (base32
  12958. "14lf43b5rxci6p9sy1gkb715m4b1s4rl65swn2qpdqv3h2yvpi4s"))))
  12959. (build-system haskell-build-system)
  12960. (inputs
  12961. (list ghc-ansi-wl-pprint
  12962. ghc-async
  12963. ghc-clock
  12964. ghc-exceptions
  12965. ghc-foldl
  12966. ghc-hostname
  12967. ghc-managed
  12968. ghc-semigroups
  12969. ghc-system-filepath
  12970. ghc-system-fileio
  12971. ghc-streaming-commons
  12972. ghc-temporary
  12973. ghc-optparse-applicative
  12974. ghc-optional-args
  12975. ghc-unix-compat))
  12976. (native-inputs
  12977. (list ghc-doctest ghc-fail))
  12978. (home-page
  12979. "http://hackage.haskell.org/package/turtle")
  12980. (synopsis "Shell programming, Haskell-style")
  12981. (description
  12982. "Turtle is a reimplementation of the Unix command line environment in
  12983. Haskell so that you can use Haskell as both a shell and a scripting
  12984. language. Features include:
  12985. @itemize
  12986. @item Batteries included: Command an extended suite of predefined utilities.
  12987. @item Interoperability: You can still run external shell commands.
  12988. @item Portability: Works on Windows, OS X, and Linux.
  12989. @item Exception safety: Safely acquire and release resources.
  12990. @item Streaming: Transform or fold command output in constant space.
  12991. @item Patterns: Use typed regular expressions that can parse structured values.
  12992. @item Formatting: Type-safe printf-style text formatting.
  12993. @item Modern: Supports text and system-filepath.
  12994. @end itemize
  12995. Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
  12996. quick-start guide. Turtle is designed to be beginner-friendly, but as a
  12997. result lacks certain features, like tracing commands. If you feel comfortable
  12998. using turtle then you should also check out the Shelly library which provides
  12999. similar functionality.")
  13000. (license license:bsd-3)))
  13001. (define-public ghc-typed-process
  13002. (package
  13003. (name "ghc-typed-process")
  13004. (version "0.2.6.3")
  13005. (source
  13006. (origin
  13007. (method url-fetch)
  13008. (uri (string-append "https://hackage.haskell.org/package/"
  13009. "typed-process/typed-process-"
  13010. version ".tar.gz"))
  13011. (sha256
  13012. (base32
  13013. "071mw4yv4xr5n82si33qbcqcxvcr7h56zlyd8gmsfrsdnacbq47k"))))
  13014. (build-system haskell-build-system)
  13015. (inputs
  13016. (list ghc-async ghc-unliftio-core))
  13017. (native-inputs
  13018. (list ghc-base64-bytestring ghc-hspec hspec-discover ghc-temporary))
  13019. (home-page "https://haskell-lang.org/library/typed-process")
  13020. (synopsis "Run external processes with strong typing of streams")
  13021. (description
  13022. "This library provides the ability to launch and interact with external
  13023. processes. It wraps around the @code{process} library, and intends to improve
  13024. upon it.")
  13025. (license license:expat)))
  13026. (define-public ghc-uglymemo
  13027. (package
  13028. (name "ghc-uglymemo")
  13029. (version "0.1.0.1")
  13030. (source
  13031. (origin
  13032. (method url-fetch)
  13033. (uri (string-append
  13034. "https://hackage.haskell.org/package/uglymemo/uglymemo-"
  13035. version
  13036. ".tar.gz"))
  13037. (sha256
  13038. (base32
  13039. "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy"))))
  13040. (build-system haskell-build-system)
  13041. (home-page "https://hackage.haskell.org/package/uglymemo")
  13042. (synopsis "Simple memoization function for Haskell")
  13043. (description
  13044. "This package provides a simple (but internally ugly) memoization
  13045. function.")
  13046. (license license:public-domain)))
  13047. (define-public ghc-unagi-chan
  13048. (package
  13049. (name "ghc-unagi-chan")
  13050. (version "0.4.1.3")
  13051. (source
  13052. (origin
  13053. (method url-fetch)
  13054. (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
  13055. "/unagi-chan-" version ".tar.gz"))
  13056. (sha256
  13057. (base32
  13058. "15fnk9x4fd2ryp31fjfrwm8k61m3a0qyb95m4065zc0yi0jyacp2"))))
  13059. (build-system haskell-build-system)
  13060. (inputs
  13061. (list ghc-atomic-primops ghc-primitive))
  13062. (arguments
  13063. `(#:tests? #f)) ; TODO: Fail.
  13064. (home-page "https://hackage.haskell.org/package/unagi-chan")
  13065. (synopsis "Fast concurrent queues with a Chan-like API, and more")
  13066. (description
  13067. "This library provides implementations of concurrent FIFO queues (for
  13068. both general boxed and primitive unboxed values) that are fast, perform well
  13069. under contention, and offer a Chan-like interface. The library may be of
  13070. limited usefulness outside of x86 architectures where the fetch-and-add
  13071. instruction is not available.")
  13072. (license license:bsd-3)))
  13073. (define-public ghc-unbounded-delays
  13074. (package
  13075. (name "ghc-unbounded-delays")
  13076. (version "0.1.1.1")
  13077. (source
  13078. (origin
  13079. (method url-fetch)
  13080. (uri (string-append
  13081. "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
  13082. version
  13083. ".tar.gz"))
  13084. (sha256
  13085. (base32
  13086. "11b1vmlfv4pmmpl4kva58w7cf50xsj819cq3wzqgnbz3px9pxbar"))))
  13087. (build-system haskell-build-system)
  13088. (home-page "https://github.com/basvandijk/unbounded-delays")
  13089. (synopsis "Unbounded thread delays and timeouts")
  13090. (description "The @code{threadDelay} and @code{timeout} functions from the
  13091. Haskell base library use the bounded @code{Int} type for specifying the delay
  13092. or timeout period. This package provides alternative functions which use the
  13093. unbounded @code{Integer} type.")
  13094. (license license:bsd-3)))
  13095. (define-public ghc-unexceptionalio
  13096. (package
  13097. (name "ghc-unexceptionalio")
  13098. (version "0.5.1")
  13099. (source
  13100. (origin
  13101. (method url-fetch)
  13102. (uri (string-append "https://hackage.haskell.org/package/"
  13103. "unexceptionalio-" version "/" "unexceptionalio-"
  13104. version ".tar.gz"))
  13105. (sha256 (base32 "07py2nffdgxpz8sryvqcghzb2kiiagpdf5ja1dia4z0rpwi79smh"))))
  13106. (build-system haskell-build-system)
  13107. (native-inputs
  13108. (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
  13109. (home-page "https://github.com/singpolyma/unexceptionalio")
  13110. (synopsis "IO without any non-error, synchronous exceptions")
  13111. (description "When you've caught all the exceptions that can be
  13112. handled safely, this is what you're left with.")
  13113. (license license:isc)))
  13114. (define-public ghc-unicode-transforms
  13115. (package
  13116. (name "ghc-unicode-transforms")
  13117. (version "0.3.7.1")
  13118. (source
  13119. (origin
  13120. (method url-fetch)
  13121. (uri (string-append "https://hackage.haskell.org/package/"
  13122. "unicode-transforms/unicode-transforms-"
  13123. version ".tar.gz"))
  13124. (sha256
  13125. (base32
  13126. "1010sahi4mjzqmxqlj3w73rlymbl2370x5vizjqbx7mb86kxzx4f"))))
  13127. (build-system haskell-build-system)
  13128. (native-inputs
  13129. (list ghc-quickcheck ghc-getopt-generics ghc-split ghc-hspec))
  13130. (home-page "https://github.com/composewell/unicode-transforms")
  13131. (synopsis "Unicode normalization")
  13132. (description "This library provides tools for fast Unicode 12.1.0
  13133. normalization in Haskell (normalization forms C, KC, D, and KD).")
  13134. (license license:bsd-3)))
  13135. (define-public ghc-union-find
  13136. (package
  13137. (name "ghc-union-find")
  13138. (version "0.2")
  13139. (source (origin
  13140. (method url-fetch)
  13141. (uri (string-append
  13142. "https://hackage.haskell.org/package/union-find/union-find-"
  13143. version ".tar.gz"))
  13144. (sha256
  13145. (base32
  13146. "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
  13147. (build-system haskell-build-system)
  13148. (home-page "https://github.com/nominolo/union-find")
  13149. (synopsis "Efficient union and equivalence testing of sets")
  13150. (description
  13151. "The Union/Find algorithm implements these operations in (effectively)
  13152. constant-time:
  13153. @enumerate
  13154. @item Check whether two elements are in the same equivalence class.
  13155. @item Create a union of two equivalence classes.
  13156. @item Look up the descriptor of the equivalence class.
  13157. @end enumerate\n")
  13158. (license license:bsd-3)))
  13159. (define-public ghc-uniplate
  13160. (package
  13161. (name "ghc-uniplate")
  13162. (version "1.6.13")
  13163. (source
  13164. (origin
  13165. (method url-fetch)
  13166. (uri (string-append
  13167. "https://hackage.haskell.org/package/uniplate/uniplate-"
  13168. version
  13169. ".tar.gz"))
  13170. (sha256
  13171. (base32
  13172. "1lis5qcb5j7yzd1cqjaqpb6bmkyjfb7l4nhk3ykmcma4513cjxz7"))))
  13173. (build-system haskell-build-system)
  13174. (inputs
  13175. (list ghc-syb ghc-hashable ghc-unordered-containers))
  13176. (home-page "https://github.com/ndmitchell/uniplate")
  13177. (synopsis "Simple, concise and fast generic operations")
  13178. (description "Uniplate is a library for writing simple and concise generic
  13179. operations. Uniplate has similar goals to the original Scrap Your Boilerplate
  13180. work, but is substantially simpler and faster.")
  13181. (license license:bsd-3)))
  13182. (define-public ghc-unix-compat
  13183. (package
  13184. (name "ghc-unix-compat")
  13185. (version "0.5.3")
  13186. (source
  13187. (origin
  13188. (method url-fetch)
  13189. (uri (string-append
  13190. "https://hackage.haskell.org/package/unix-compat/unix-compat-"
  13191. version
  13192. ".tar.gz"))
  13193. (sha256
  13194. (base32
  13195. "1j75i3dj489rz60ij3nfza774mb7mw33amhdkm10dd0dxabvb4q8"))))
  13196. (build-system haskell-build-system)
  13197. (home-page
  13198. "https://github.com/jystic/unix-compat")
  13199. (synopsis "Portable POSIX-compatibility layer")
  13200. (description
  13201. "This package provides portable implementations of parts of the unix
  13202. package. This package re-exports the unix package when available. When it
  13203. isn't available, portable implementations are used.")
  13204. (license license:bsd-3)))
  13205. (define-public ghc-unix-time
  13206. (package
  13207. (name "ghc-unix-time")
  13208. (version "0.4.7")
  13209. (source
  13210. (origin
  13211. (method url-fetch)
  13212. (uri (string-append
  13213. "https://hackage.haskell.org/package/unix-time/unix-time-"
  13214. version
  13215. ".tar.gz"))
  13216. (sha256
  13217. (base32
  13218. "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
  13219. (build-system haskell-build-system)
  13220. (arguments
  13221. `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
  13222. ; is weird, that should be provided by GHC 7.10.2.
  13223. (inputs
  13224. (list ghc-old-time ghc-old-locale))
  13225. (home-page "https://hackage.haskell.org/package/unix-time")
  13226. (synopsis "Unix time parser/formatter and utilities")
  13227. (description "This library provides fast parsing and formatting utilities
  13228. for Unix time in Haskell.")
  13229. (license license:bsd-3)))
  13230. (define-public ghc-unliftio
  13231. (package
  13232. (name "ghc-unliftio")
  13233. (version "0.2.20")
  13234. (source
  13235. (origin
  13236. (method url-fetch)
  13237. (uri (string-append
  13238. "https://hackage.haskell.org/package/unliftio/unliftio-"
  13239. version
  13240. ".tar.gz"))
  13241. (sha256
  13242. (base32
  13243. "0mbm57h7r16qd7kpglbm50qrnfjmazd70avbrl647n4jwhlrp7my"))))
  13244. (build-system haskell-build-system)
  13245. (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
  13246. (outputs '("out" "static" "doc"))
  13247. (inputs
  13248. (list ghc-async ghc-unliftio-core))
  13249. (native-inputs (list ghc-hspec))
  13250. (home-page "https://github.com/fpco/unliftio")
  13251. (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
  13252. IO (batteries included)")
  13253. (description "This Haskell package provides the core @code{MonadUnliftIO}
  13254. typeclass, a number of common instances, and a collection of common functions
  13255. working with it.")
  13256. (license license:expat)))
  13257. (define-public ghc-unliftio-core
  13258. (package
  13259. (name "ghc-unliftio-core")
  13260. (version "0.2.0.1")
  13261. (source
  13262. (origin
  13263. (method url-fetch)
  13264. (uri (string-append "https://hackage.haskell.org/package/"
  13265. "unliftio-core-" version "/"
  13266. "unliftio-core-" version ".tar.gz"))
  13267. (sha256
  13268. (base32
  13269. "16i97jax8rys57l0g0qswfwxh1cl5bgw2lw525rm6bzajw90v7wi"))))
  13270. (build-system haskell-build-system)
  13271. (arguments
  13272. `(#:cabal-revision
  13273. ("2" "1xx9nmxxg87nhwxgbmmw0xbrppnjc23ppyryar04i3njyg9wvazr")))
  13274. (home-page
  13275. "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
  13276. (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
  13277. (description "This Haskell package provides the core @code{MonadUnliftIO}
  13278. typeclass, instances for base and transformers, and basic utility
  13279. functions.")
  13280. (license license:expat)))
  13281. (define-public ghc-unordered-containers
  13282. (package
  13283. (name "ghc-unordered-containers")
  13284. (version "0.2.14.0")
  13285. (outputs '("out" "static" "doc"))
  13286. (source
  13287. (origin
  13288. (method url-fetch)
  13289. (uri (string-append
  13290. "https://hackage.haskell.org/package/unordered-containers"
  13291. "/unordered-containers-" version ".tar.gz"))
  13292. (sha256
  13293. (base32
  13294. "0rw8kmg7xjlacmr1hcpin95abkd387awf154s9ran7zg9jllh3x1"))))
  13295. (build-system haskell-build-system)
  13296. (inputs
  13297. (list ghc-chasingbottoms
  13298. ghc-hunit
  13299. ghc-quickcheck
  13300. ghc-test-framework
  13301. ghc-test-framework-hunit
  13302. ghc-test-framework-quickcheck2
  13303. ghc-hashable))
  13304. (home-page
  13305. "https://github.com/tibbe/unordered-containers")
  13306. (synopsis
  13307. "Efficient hashing-based container types")
  13308. (description
  13309. "Efficient hashing-based container types. The containers have been
  13310. optimized for performance critical use, both in terms of large data quantities
  13311. and high speed.")
  13312. (license license:bsd-3)))
  13313. (define-public ghc-unordered-containers-bootstrap
  13314. (package
  13315. (inherit ghc-unordered-containers)
  13316. (name "ghc-unordered-containers-bootstrap")
  13317. (arguments `(#:tests? #f))
  13318. (inputs
  13319. `(("ghc-hashable" ,ghc-hashable-bootstrap)))
  13320. (properties '((hidden? #t)))))
  13321. (define-public ghc-unsafe
  13322. (package
  13323. (name "ghc-unsafe")
  13324. (version "0.0")
  13325. (source
  13326. (origin
  13327. (method url-fetch)
  13328. (uri
  13329. (string-append
  13330. "https://hackage.haskell.org/package/unsafe/unsafe-"
  13331. version ".tar.gz"))
  13332. (sha256
  13333. (base32
  13334. "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
  13335. (build-system haskell-build-system)
  13336. (home-page "https://hackage.haskell.org/package/unsafe")
  13337. (synopsis "Unified interface to unsafe functions")
  13338. (description "Safe Haskell introduced the notion of safe and unsafe
  13339. modules. In order to make as many as possible modules ``safe'', the
  13340. well-known unsafe functions were moved to distinguished modules. This
  13341. makes it hard to write packages that work with both old and new versions
  13342. of GHC. This package provides a single module System.Unsafe that
  13343. exports the unsafe functions from the base package. It provides them in
  13344. a style ready for qualification, that is, you should import them by
  13345. @code{import qualified System.Unsafe as Unsafe}.")
  13346. (license license:bsd-3)))
  13347. (define-public ghc-uri-bytestring
  13348. (package
  13349. (name "ghc-uri-bytestring")
  13350. (version "0.3.3.1")
  13351. (source
  13352. (origin
  13353. (method url-fetch)
  13354. (uri (string-append "https://hackage.haskell.org/package/"
  13355. "uri-bytestring-" version "/"
  13356. "uri-bytestring-" version ".tar.gz"))
  13357. (sha256
  13358. (base32
  13359. "0s0k26v5x6601rbpkjkl5vp3dkp9xwj1dlgy4xkl470i4sna1rzk"))))
  13360. (build-system haskell-build-system)
  13361. (inputs (list ghc-attoparsec ghc-blaze-builder ghc-th-lift-instances))
  13362. (native-inputs (list ghc-hunit
  13363. ghc-tasty
  13364. ghc-tasty-hunit
  13365. ghc-hedgehog
  13366. ghc-tasty-hedgehog
  13367. ghc-base-compat
  13368. ghc-semigroups
  13369. ghc-safe))
  13370. (home-page "https://github.com/Soostone/uri-bytestring")
  13371. (synopsis "Haskell URI parsing as ByteStrings")
  13372. (description "This Haskell package aims to be an RFC3986 compliant URI
  13373. parser that uses ByteStrings for parsing and representing the URI data.")
  13374. (license license:bsd-3)))
  13375. (define-public ghc-utf8-light
  13376. (package
  13377. (name "ghc-utf8-light")
  13378. (version "0.4.2")
  13379. (source
  13380. (origin
  13381. (method url-fetch)
  13382. (uri (string-append
  13383. "mirror://hackage/package/utf8-light/utf8-light-"
  13384. version
  13385. ".tar.gz"))
  13386. (sha256
  13387. (base32
  13388. "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
  13389. (build-system haskell-build-system)
  13390. (home-page
  13391. "http://hackage.haskell.org/package/utf8-light")
  13392. (synopsis "Lightweight unicode support for Haskell")
  13393. (description
  13394. "This package profides a class for encoding and decoding UTF8 strings
  13395. with instances for several common types. It also includes several functions
  13396. for working with UTF8. It aims to be lightweight, depending only on Base and
  13397. including only one module.")
  13398. (license license:bsd-3)))
  13399. (define-public ghc-utf8-string
  13400. (package
  13401. (name "ghc-utf8-string")
  13402. (version "1.0.2")
  13403. (source
  13404. (origin
  13405. (method url-fetch)
  13406. (uri (string-append
  13407. "https://hackage.haskell.org/package/utf8-string/utf8-string-"
  13408. version
  13409. ".tar.gz"))
  13410. (sha256
  13411. (base32 "16mh36ffva9rh6k37bi1046pgpj14h0cnmj1iir700v0lynxwj7f"))))
  13412. (build-system haskell-build-system)
  13413. (native-inputs (list ghc-hunit))
  13414. (home-page "https://github.com/glguy/utf8-string/")
  13415. (synopsis "Support for reading and writing UTF8 Strings")
  13416. (description
  13417. "A UTF8 layer for Strings. The utf8-string package provides operations
  13418. for encoding UTF8 strings to Word8 lists and back, and for reading and writing
  13419. UTF8 without truncation.")
  13420. (license license:bsd-3)))
  13421. (define-public ghc-utility-ht
  13422. (package
  13423. (name "ghc-utility-ht")
  13424. (version "0.0.16")
  13425. (home-page "https://hackage.haskell.org/package/utility-ht")
  13426. (source
  13427. (origin
  13428. (method url-fetch)
  13429. (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
  13430. (sha256
  13431. (base32 "10dvmfhhhj5w4wz5drhvs6i0yv35kbbcbzhy6ci34r3ppcik5rdw"))))
  13432. (build-system haskell-build-system)
  13433. (native-inputs
  13434. (list ghc-quickcheck ghc-doctest-exitcode-stdio ghc-doctest-lib))
  13435. (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
  13436. (description "This package includes Hakell modules providing various
  13437. helper functions for Lists, Maybes, Tuples, Functions.")
  13438. (license license:bsd-3)))
  13439. (define-public ghc-uuid
  13440. (package
  13441. (name "ghc-uuid")
  13442. (version "1.3.15")
  13443. (source
  13444. (origin
  13445. (method url-fetch)
  13446. (uri (string-append "https://hackage.haskell.org/package/"
  13447. "uuid-" version "/"
  13448. "uuid-" version ".tar.gz"))
  13449. (sha256
  13450. (base32
  13451. "0r05h16gd7fgfpq9iz43jcn9jzrgfa0gk4cv1xy0p4rli66rb1gq"))))
  13452. (build-system haskell-build-system)
  13453. (inputs (list ghc-cryptohash-sha1
  13454. ghc-cryptohash-md5
  13455. ghc-entropy
  13456. ghc-network-info
  13457. ghc-random
  13458. ghc-uuid-types))
  13459. (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-hunit
  13460. ghc-tasty-quickcheck))
  13461. (home-page "https://github.com/hvr/uuid")
  13462. (synopsis "Haskell library to create, compare, parse, and print UUIDs")
  13463. (description "This Haskell library provides utilities creating, comparing,
  13464. parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
  13465. (license license:bsd-3)))
  13466. (define-public ghc-uuid-types
  13467. (package
  13468. (name "ghc-uuid-types")
  13469. (version "1.0.5")
  13470. (source
  13471. (origin
  13472. (method url-fetch)
  13473. (uri (string-append "https://hackage.haskell.org/package/"
  13474. "uuid-types-" version "/"
  13475. "uuid-types-" version ".tar.gz"))
  13476. (sha256
  13477. (base32
  13478. "1pd7xd6inkmmwjscf7pmiwqjks9y0gi1p8ahqbapvh34gadvhs5d"))))
  13479. (build-system haskell-build-system)
  13480. (arguments `(#:tests? #f)) ; TODO: Wrong byteorder version?
  13481. (inputs (list ghc-hashable ghc-random))
  13482. (native-inputs (list ghc-byteorder ghc-quickcheck ghc-tasty
  13483. ghc-tasty-hunit ghc-tasty-quickcheck))
  13484. (home-page "https://github.com/hvr/uuid")
  13485. (synopsis "Haskell type definitions for UUIDs")
  13486. (description "This Haskell library contains type definitions for
  13487. @dfn{Universally Unique Identifiers} or
  13488. @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
  13489. functions.")
  13490. (license license:bsd-3)))
  13491. (define-public ghc-validation
  13492. (package
  13493. (name "ghc-validation")
  13494. (version "1.1.1")
  13495. (source
  13496. (origin
  13497. (method url-fetch)
  13498. (uri (string-append
  13499. "https://hackage.haskell.org/package/validation/validation-"
  13500. version
  13501. ".tar.gz"))
  13502. (sha256
  13503. (base32
  13504. "1dv7azpljdcf7irbnznnz31hq611bn1aj2m6ywghz3hgv835qqak"))))
  13505. (build-system haskell-build-system)
  13506. (inputs
  13507. (list ghc-semigroups ghc-semigroupoids ghc-assoc ghc-bifunctors
  13508. ghc-lens))
  13509. (native-inputs
  13510. (list ghc-hedgehog ghc-hunit))
  13511. (home-page "https://github.com/qfpl/validation")
  13512. (synopsis
  13513. "Data-type like Either but with an accumulating Applicative")
  13514. (description
  13515. "A data-type like Either but with differing properties and type-class
  13516. instances.
  13517. Library support is provided for this different representation, including
  13518. @code{lens}-related functions for converting between each and abstracting over
  13519. their similarities.
  13520. The @code{Validation} data type is isomorphic to @code{Either}, but has an
  13521. instance of @code{Applicative} that accumulates on the error side. That is to
  13522. say, if two (or more) errors are encountered, they are appended using a
  13523. @{Semigroup} operation.
  13524. As a consequence of this @code{Applicative} instance, there is no
  13525. corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
  13526. example of, \"An applicative functor that is not a monad.\"")
  13527. (license license:bsd-3)))
  13528. (define-public ghc-validity
  13529. (package
  13530. (name "ghc-validity")
  13531. (version "0.11.0.1")
  13532. (source
  13533. (origin
  13534. (method url-fetch)
  13535. (uri (string-append
  13536. "https://hackage.haskell.org/package/validity/validity-"
  13537. version
  13538. ".tar.gz"))
  13539. (sha256
  13540. (base32
  13541. "086nj5ymp4mxxfw9qjgjhd4j3z7gl2y9d89p0b7bkap5ampgdw2x"))))
  13542. (build-system haskell-build-system)
  13543. (native-inputs (list ghc-hspec hspec-discover))
  13544. (home-page
  13545. "https://github.com/NorfairKing/validity")
  13546. (synopsis "Validity typeclass")
  13547. (description
  13548. "Values of custom types usually have invariants imposed upon them. This
  13549. package provides the @code{Validity} type class, which makes these invariants
  13550. explicit by providing a function to check whether the invariants hold.")
  13551. (license license:expat)))
  13552. (define-public ghc-vault
  13553. (package
  13554. (name "ghc-vault")
  13555. (version "0.3.1.5")
  13556. (source
  13557. (origin
  13558. (method url-fetch)
  13559. (uri (string-append
  13560. "https://hackage.haskell.org/package/vault/vault-"
  13561. version
  13562. ".tar.gz"))
  13563. (sha256
  13564. (base32
  13565. "181ksk1yixjg0jiggw5jvm8am8m8c7lim4xaixf8qnaqvxm6namc"))))
  13566. (build-system haskell-build-system)
  13567. (inputs
  13568. (list ghc-unordered-containers ghc-hashable ghc-semigroups))
  13569. (home-page
  13570. "https://github.com/HeinrichApfelmus/vault")
  13571. (synopsis "Persistent store for arbitrary values")
  13572. (description "This package provides vaults for Haskell. A vault is a
  13573. persistent store for values of arbitrary types. It's like having first-class
  13574. access to the storage space behind @code{IORefs}. The data structure is
  13575. analogous to a bank vault, where you can access different bank boxes with
  13576. different keys; hence the name. Also provided is a @code{locker} type,
  13577. representing a store for a single element.")
  13578. (license license:bsd-3)))
  13579. (define-public ghc-vector
  13580. (package
  13581. (name "ghc-vector")
  13582. (version "0.12.3.1")
  13583. (outputs '("out" "static" "doc"))
  13584. (source
  13585. (origin
  13586. (method url-fetch)
  13587. (uri (string-append
  13588. "https://hackage.haskell.org/package/vector/vector-"
  13589. version
  13590. ".tar.gz"))
  13591. (sha256
  13592. (base32
  13593. "0dczbcisxhhix859dng5zhxkn3xvlnllsq60apqzvmyl5g056jpv"))))
  13594. (build-system haskell-build-system)
  13595. ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
  13596. ;; disabled for now.
  13597. (arguments
  13598. `(#:tests? #f))
  13599. (inputs
  13600. (list ghc-primitive
  13601. ;; ("ghc-hunit" ,ghc-hunit)
  13602. ;; ("ghc-test-framework" ,ghc-test-framework)
  13603. ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  13604. ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
  13605. ))
  13606. (home-page "https://github.com/haskell/vector")
  13607. (synopsis "Efficient Arrays")
  13608. (description "This library provides an efficient implementation of
  13609. Int-indexed arrays (both mutable and immutable), with a powerful loop
  13610. optimisation framework.")
  13611. (license license:bsd-3)))
  13612. (define-public ghc-vector-algorithms
  13613. (package
  13614. (name "ghc-vector-algorithms")
  13615. (version "0.8.0.4")
  13616. (source
  13617. (origin
  13618. (method url-fetch)
  13619. (uri (string-append "https://hackage.haskell.org/package/"
  13620. "vector-algorithms-" version "/"
  13621. "vector-algorithms-" version ".tar.gz"))
  13622. (sha256
  13623. (base32
  13624. "0fxg6w0vh5g2vzw4alajj9ywdijfn9nyx28hbckhmwwbfxb6l5vn"))))
  13625. (build-system haskell-build-system)
  13626. (inputs
  13627. (list ghc-vector))
  13628. (native-inputs
  13629. (list ghc-quickcheck))
  13630. (home-page "https://github.com/bos/math-functions")
  13631. (synopsis "Algorithms for vector arrays in Haskell")
  13632. (description "This Haskell library algorithms for vector arrays.")
  13633. (license license:bsd-3)))
  13634. (define-public ghc-vector-binary-instances
  13635. (package
  13636. (name "ghc-vector-binary-instances")
  13637. (version "0.2.5.2")
  13638. (source
  13639. (origin
  13640. (method url-fetch)
  13641. (uri (string-append
  13642. "https://hackage.haskell.org/package/"
  13643. "vector-binary-instances/vector-binary-instances-"
  13644. version ".tar.gz"))
  13645. (sha256
  13646. (base32
  13647. "0kgmlb4rf89b18d348cf2k06xfhdpamhmvq7iz5pab5014hknbmp"))))
  13648. (build-system haskell-build-system)
  13649. (inputs
  13650. (list ghc-vector))
  13651. (native-inputs
  13652. (list ghc-tasty ghc-tasty-quickcheck))
  13653. (home-page "https://github.com/bos/vector-binary-instances")
  13654. (synopsis "Instances of Data.Binary and Data.Serialize for vector")
  13655. (description "This library provides instances of @code{Binary} for the
  13656. types defined in the @code{vector} package, making it easy to serialize
  13657. vectors to and from disk. We use the generic interface to vectors, so all
  13658. vector types are supported. Specific instances are provided for unboxed,
  13659. boxed and storable vectors.")
  13660. (license license:bsd-3)))
  13661. (define-public ghc-vector-builder
  13662. (package
  13663. (name "ghc-vector-builder")
  13664. (version "0.3.8.2")
  13665. (source
  13666. (origin
  13667. (method url-fetch)
  13668. (uri (string-append "https://hackage.haskell.org/package/"
  13669. "vector-builder-" version "/"
  13670. "vector-builder-" version ".tar.gz"))
  13671. (sha256
  13672. (base32
  13673. "1g1zxp6xcwcq3372a5qqs44cl09a48p21m1jsys5bsampprlmcgs"))))
  13674. (build-system haskell-build-system)
  13675. (inputs (list ghc-vector ghc-semigroups ghc-base-prelude))
  13676. (native-inputs (list ghc-attoparsec
  13677. ghc-tasty
  13678. ghc-tasty-hunit
  13679. ghc-tasty-quickcheck
  13680. ghc-hunit
  13681. ghc-quickcheck-instances
  13682. ghc-rerebase))
  13683. (home-page "https://github.com/nikita-volkov/vector-builder")
  13684. (synopsis "Vector builder for Haskell")
  13685. (description "This Haskell package provides an API for constructing vectors.
  13686. It provides the composable @code{Builder} abstraction, which has instances of the
  13687. @code{Monoid} and @code{Semigroup} classes.
  13688. You would first use the @code{Builder} abstraction to specify the structure of
  13689. the vector; then you can execute the builder to actually produce the
  13690. vector.")
  13691. (license license:expat)))
  13692. (define-public ghc-vector-th-unbox
  13693. (package
  13694. (name "ghc-vector-th-unbox")
  13695. (version "0.2.1.9")
  13696. (source
  13697. (origin
  13698. (method url-fetch)
  13699. (uri (string-append "https://hackage.haskell.org/package/"
  13700. "vector-th-unbox-" version "/"
  13701. "vector-th-unbox-" version ".tar.gz"))
  13702. (sha256
  13703. (base32
  13704. "0jbzm31d91kxn8m0h6iplj54h756q6f4zzdrnb2w7rzz5zskgqyl"))))
  13705. (build-system haskell-build-system)
  13706. (inputs
  13707. (list ghc-vector ghc-data-default))
  13708. (home-page "https://github.com/liyang/vector-th-unbox")
  13709. (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
  13710. (description "This Haskell library provides a Template Haskell
  13711. deriver for unboxed vectors, given a pair of coercion functions to
  13712. and from some existing type with an Unbox instance.")
  13713. (license license:bsd-3)))
  13714. (define-public ghc-void
  13715. (package
  13716. (name "ghc-void")
  13717. (version "0.7.3")
  13718. (source
  13719. (origin
  13720. (method url-fetch)
  13721. (uri (string-append
  13722. "https://hackage.haskell.org/package/void/void-"
  13723. version
  13724. ".tar.gz"))
  13725. (sha256
  13726. (base32
  13727. "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
  13728. (build-system haskell-build-system)
  13729. (inputs
  13730. (list ghc-semigroups ghc-hashable))
  13731. (home-page "https://github.com/ekmett/void")
  13732. (synopsis
  13733. "Logically uninhabited data type")
  13734. (description
  13735. "A Haskell 98 logically uninhabited data type, used to indicate that a
  13736. given term should not exist.")
  13737. (license license:bsd-3)))
  13738. (define-public ghc-wave
  13739. (package
  13740. (name "ghc-wave")
  13741. (version "0.2.0")
  13742. (source (origin
  13743. (method url-fetch)
  13744. (uri (string-append
  13745. "https://hackage.haskell.org/package/wave/wave-"
  13746. version
  13747. ".tar.gz"))
  13748. (sha256
  13749. (base32
  13750. "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
  13751. (build-system haskell-build-system)
  13752. (arguments
  13753. '(#:phases
  13754. (modify-phases %standard-phases
  13755. (add-before 'configure 'update-constraints
  13756. (lambda _
  13757. (substitute* "wave.cabal"
  13758. (("temporary.* < 1\\.3")
  13759. "temporary >= 1.1 && < 1.4")))))))
  13760. (inputs
  13761. (list ghc-cereal ghc-data-default-class ghc-quickcheck ghc-temporary))
  13762. (native-inputs
  13763. (list hspec-discover ghc-hspec))
  13764. (home-page "https://github.com/mrkkrp/wave")
  13765. (synopsis "Work with WAVE and RF64 files in Haskell")
  13766. (description "This package allows you to work with WAVE and RF64
  13767. files in Haskell.")
  13768. (license license:bsd-3)))
  13769. (define-public ghc-wcwidth
  13770. (package
  13771. (name "ghc-wcwidth")
  13772. (version "0.0.2")
  13773. (source
  13774. (origin
  13775. (method url-fetch)
  13776. (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
  13777. version ".tar.gz"))
  13778. (sha256
  13779. (base32
  13780. "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
  13781. (build-system haskell-build-system)
  13782. (inputs
  13783. (list ghc-setlocale ghc-utf8-string ghc-attoparsec))
  13784. (home-page "https://github.com/solidsnack/wcwidth/")
  13785. (synopsis "Haskell bindings to wcwidth")
  13786. (description "This package provides Haskell bindings to your system's
  13787. native wcwidth and a command line tool to examine the widths assigned by it.
  13788. The command line tool can compile a width table to Haskell code that assigns
  13789. widths to the Char type.")
  13790. (license license:bsd-3)))
  13791. (define-public ghc-wcwidth-bootstrap
  13792. (package
  13793. (inherit ghc-wcwidth)
  13794. (name "ghc-wcwidth-bootstrap")
  13795. (inputs
  13796. (list ghc-setlocale ghc-utf8-string ghc-attoparsec-bootstrap))
  13797. (properties '((hidden? #t)))))
  13798. (define-public ghc-weigh
  13799. (package
  13800. (name "ghc-weigh")
  13801. (version "0.0.16")
  13802. (source
  13803. (origin
  13804. (method url-fetch)
  13805. (uri (string-append "https://hackage.haskell.org/package/weigh/"
  13806. "weigh-" version ".tar.gz"))
  13807. (sha256
  13808. (base32
  13809. "13pbjr7fzqy3s9c1nd2jhfwzbpccmpfwdn7y46z9k2bfkch1jam9"))))
  13810. (build-system haskell-build-system)
  13811. (inputs
  13812. (list ghc-split ghc-temporary))
  13813. (home-page "https://github.com/fpco/weigh#readme")
  13814. (synopsis "Measure allocations of a Haskell functions/values")
  13815. (description "This package provides tools to measure the memory usage of a
  13816. Haskell value or function.")
  13817. (license license:bsd-3)))
  13818. (define-public ghc-wizards
  13819. (package
  13820. (name "ghc-wizards")
  13821. (version "1.0.3")
  13822. (source
  13823. (origin
  13824. (method url-fetch)
  13825. (uri (string-append
  13826. "https://hackage.haskell.org/package/wizards/wizards-"
  13827. version
  13828. ".tar.gz"))
  13829. (sha256
  13830. (base32
  13831. "1clvbd1ckhvy29qrbmpkn7bya7300fq6znnps23nn3nxyrxhsr85"))))
  13832. (build-system haskell-build-system)
  13833. (inputs
  13834. (list ghc-control-monad-free))
  13835. (arguments
  13836. `(#:cabal-revision
  13837. ("1"
  13838. "095qd17zrdhqmcvmslbyzfa5sh9glvvsnsvnlz31gzsmi8nnsgim")))
  13839. (home-page "http://hackage.haskell.org/package/wizards")
  13840. (synopsis "High level, generic library for interrogative user interfaces")
  13841. (description
  13842. "@code{wizards} is a package designed for the quick and painless
  13843. development of @emph{interrogative} programs, which revolve around a dialogue
  13844. with the user, who is asked a series of questions in a sequence much like an
  13845. installation wizard.
  13846. Everything from interactive system scripts, to installation wizards, to
  13847. full-blown shells can be implemented with the support of @code{wizards}.
  13848. It is developed transparently on top of a free monad, which separates out the
  13849. semantics of the program from any particular interface. A variety of backends
  13850. exist, including console-based @code{System.Console.Wizard.Haskeline} and
  13851. @code{System.Console.Wizard.BasicIO}, and the pure
  13852. @code{System.Console.Wizard.Pure}. It is also possible to write your own
  13853. backends, or extend existing back-ends with new features. While both built-in
  13854. IO backends operate on a console, there is no reason why @code{wizards} cannot
  13855. also be used for making GUI wizard interfaces.")
  13856. (license license:bsd-3)))
  13857. (define-public ghc-wl-pprint
  13858. (package
  13859. (name "ghc-wl-pprint")
  13860. (version "1.2.1")
  13861. (source (origin
  13862. (method url-fetch)
  13863. (uri (string-append
  13864. "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
  13865. version ".tar.gz"))
  13866. (sha256
  13867. (base32
  13868. "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
  13869. (build-system haskell-build-system)
  13870. (home-page "https://hackage.haskell.org/package/wl-pprint")
  13871. (synopsis "Wadler/Leijen pretty printer")
  13872. (description
  13873. "This is a pretty printing library based on Wadler's paper @i{A Prettier
  13874. Printer}. This version allows the library user to declare overlapping
  13875. instances of the @code{Pretty} class.")
  13876. (license license:bsd-3)))
  13877. (define-public ghc-wl-pprint-annotated
  13878. (package
  13879. (name "ghc-wl-pprint-annotated")
  13880. (version "0.1.0.1")
  13881. (source
  13882. (origin
  13883. (method url-fetch)
  13884. (uri (string-append
  13885. "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
  13886. version
  13887. ".tar.gz"))
  13888. (sha256
  13889. (base32
  13890. "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
  13891. (build-system haskell-build-system)
  13892. (native-inputs
  13893. (list ghc-tasty ghc-tasty-hunit))
  13894. (home-page
  13895. "https://github.com/minad/wl-pprint-annotated#readme")
  13896. (synopsis
  13897. "Wadler/Leijen pretty printer with annotation support")
  13898. (description
  13899. "Annotations are useful for coloring. This is a limited version of
  13900. @code{wl-pprint-extras} without support for point effects and without the free
  13901. monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
  13902. Compared to @code{annotated-wl-pprint} this library provides a slightly
  13903. modernized interface.")
  13904. (license license:bsd-3)))
  13905. (define-public ghc-wl-pprint-text
  13906. (package
  13907. (name "ghc-wl-pprint-text")
  13908. (version "1.2.0.1")
  13909. (source
  13910. (origin
  13911. (method url-fetch)
  13912. (uri (string-append
  13913. "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
  13914. version ".tar.gz"))
  13915. (sha256
  13916. (base32
  13917. "030ckgzz14sv2c317g4j5g68hyq9xi40cmv0apwclw6sc6xgsvly"))))
  13918. (build-system haskell-build-system)
  13919. (inputs
  13920. (list ghc-base-compat))
  13921. (home-page "https://hackage.haskell.org/package/wl-pprint-text")
  13922. (synopsis "Wadler/Leijen Pretty Printer for Text values")
  13923. (description
  13924. "A clone of wl-pprint for use with the text library.")
  13925. (license license:bsd-3)))
  13926. (define-public ghc-word-wrap
  13927. (package
  13928. (name "ghc-word-wrap")
  13929. (version "0.4.1")
  13930. (source
  13931. (origin
  13932. (method url-fetch)
  13933. (uri (string-append "https://hackage.haskell.org/package/"
  13934. "word-wrap/word-wrap-" version ".tar.gz"))
  13935. (sha256
  13936. (base32 "15rcqhg9vb7qisk9ryjnyhhfgigxksnkrczycaw2rin08wczjwpb"))))
  13937. (build-system haskell-build-system)
  13938. (native-inputs (list ghc-hspec))
  13939. (arguments
  13940. `(#:cabal-revision
  13941. ("1" "1k4w4g053vhmpp08542hrqaw81p3p35i567xgdarqmpghfrk68pp")))
  13942. (home-page "https://github.com/jtdaugherty/word-wrap/")
  13943. (synopsis "Haskell library for word-wrapping text")
  13944. (description
  13945. "The @code{word-wrap} Haskell library wraps long lines of text.")
  13946. (license license:bsd-3)))
  13947. (define-public ghc-word8
  13948. (package
  13949. (name "ghc-word8")
  13950. (version "0.1.3")
  13951. (source
  13952. (origin
  13953. (method url-fetch)
  13954. (uri (string-append
  13955. "https://hackage.haskell.org/package/word8/word8-"
  13956. version
  13957. ".tar.gz"))
  13958. (sha256
  13959. (base32
  13960. "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
  13961. (build-system haskell-build-system)
  13962. (native-inputs
  13963. (list ghc-hspec hspec-discover))
  13964. (home-page "https://hackage.haskell.org/package/word8")
  13965. (synopsis "Word8 library for Haskell")
  13966. (description "Word8 library to be used with @code{Data.ByteString}.")
  13967. (license license:bsd-3)))
  13968. (define-public ghc-wordexp
  13969. (package
  13970. (name "ghc-wordexp")
  13971. (version "0.2.2")
  13972. (source
  13973. (origin
  13974. (method url-fetch)
  13975. (uri (string-append
  13976. "https://hackage.haskell.org/package/wordexp/wordexp-"
  13977. version
  13978. ".tar.gz"))
  13979. (sha256
  13980. (base32
  13981. "1mbcrq89jz0dcibw66w0jdy4f4bfpx4zwjfs98rm3jjgdikwdzb4"))))
  13982. (build-system haskell-build-system)
  13983. (native-inputs (list ghc-c2hs))
  13984. (inputs
  13985. (list ghc-semigroups))
  13986. (home-page "https://hackage.haskell.org/package/wordexp")
  13987. (synopsis "Library wrapping @code{wordexp} for Haskell")
  13988. (description "@code{wordexp(3)} wrapper library for Haskell to perform
  13989. word expansion like a posix-shell.")
  13990. (license license:bsd-3)))
  13991. (define-public ghc-x11
  13992. (package
  13993. (name "ghc-x11")
  13994. (version "1.10.2")
  13995. (source
  13996. (origin
  13997. (method url-fetch)
  13998. (uri (string-append "https://hackage.haskell.org/package/X11/"
  13999. "X11-" version ".tar.gz"))
  14000. (sha256
  14001. (base32 "1ip207l97s8nw4daxp9s254agk8f0wibpf0prx0n695klqyn8bz1"))))
  14002. (build-system haskell-build-system)
  14003. (arguments
  14004. `(#:extra-directories
  14005. ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")))
  14006. (inputs
  14007. (list libx11 libxrandr libxinerama libxscrnsaver
  14008. ghc-data-default-class))
  14009. (home-page "https://github.com/haskell-pkg-janitors/X11")
  14010. (synopsis "Bindings to the X11 graphics library")
  14011. (description
  14012. "This package provides Haskell bindings to the X11 graphics library. The
  14013. bindings are a direct translation of the C bindings.")
  14014. (license license:bsd-3)))
  14015. (define-public ghc-x11-xft
  14016. (package
  14017. (name "ghc-x11-xft")
  14018. (version "0.3.1")
  14019. (source
  14020. (origin
  14021. (method url-fetch)
  14022. (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
  14023. "X11-xft-" version ".tar.gz"))
  14024. (sha256
  14025. (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
  14026. (arguments
  14027. `(#:extra-directories ("libx11" "libxft" "xorgproto")))
  14028. (inputs
  14029. (list ghc-x11 ghc-utf8-string libx11 libxft xorgproto))
  14030. (native-inputs
  14031. (list pkg-config))
  14032. (build-system haskell-build-system)
  14033. (home-page "https://hackage.haskell.org/package/X11-xft")
  14034. (synopsis "Bindings to Xft")
  14035. (description
  14036. "Bindings to the Xft, X Free Type interface library, and some Xrender
  14037. parts.")
  14038. (license license:lgpl2.1)))
  14039. (define-public ghc-xdg-basedir
  14040. (package
  14041. (name "ghc-xdg-basedir")
  14042. (version "0.2.2")
  14043. (source
  14044. (origin
  14045. (method url-fetch)
  14046. (uri (string-append
  14047. "https://hackage.haskell.org/package/xdg-basedir/"
  14048. "xdg-basedir-" version ".tar.gz"))
  14049. (sha256
  14050. (base32
  14051. "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
  14052. (build-system haskell-build-system)
  14053. (home-page "https://github.com/willdonnelly/xdg-basedir")
  14054. (synopsis "XDG Base Directory library for Haskell")
  14055. (description "This package provides a library implementing the XDG Base Directory spec.")
  14056. (license license:bsd-3)))
  14057. (define-public ghc-xml
  14058. (package
  14059. (name "ghc-xml")
  14060. (version "1.3.14")
  14061. (source
  14062. (origin
  14063. (method url-fetch)
  14064. (uri (string-append
  14065. "https://hackage.haskell.org/package/xml/xml-"
  14066. version
  14067. ".tar.gz"))
  14068. (sha256
  14069. (base32
  14070. "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
  14071. (build-system haskell-build-system)
  14072. (home-page "https://github.com/GaloisInc/xml")
  14073. (synopsis "Simple XML library for Haskell")
  14074. (description "This package provides a simple XML library for Haskell.")
  14075. (license license:bsd-3)))
  14076. (define-public ghc-xml-conduit
  14077. (package
  14078. (name "ghc-xml-conduit")
  14079. (version "1.9.1.1")
  14080. (source
  14081. (origin
  14082. (method url-fetch)
  14083. (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
  14084. "xml-conduit-" version ".tar.gz"))
  14085. (sha256
  14086. (base32
  14087. "1zzh7xnmbm68dab1vqsjkr6ghxqgnla5nik4amrwlmhbdih1gcdx"))))
  14088. (build-system haskell-build-system)
  14089. (inputs
  14090. (list ghc-conduit
  14091. ghc-conduit-extra
  14092. ghc-resourcet
  14093. ghc-xml-types
  14094. ghc-attoparsec
  14095. ghc-data-default-class
  14096. ghc-blaze-markup
  14097. ghc-blaze-html))
  14098. (native-inputs
  14099. (list ghc-doctest ghc-hspec ghc-cabal-doctest ghc-hunit))
  14100. (home-page "https://github.com/snoyberg/xml")
  14101. (synopsis "Utilities for dealing with XML with the conduit package")
  14102. (description
  14103. "This package provides pure-Haskell utilities for dealing with XML with
  14104. the @code{conduit} package.")
  14105. (license license:expat)))
  14106. (define-public ghc-xml-types
  14107. (package
  14108. (name "ghc-xml-types")
  14109. (version "0.3.8")
  14110. (source
  14111. (origin
  14112. (method url-fetch)
  14113. (uri (string-append "https://hackage.haskell.org/package/xml-types/"
  14114. "xml-types-" version ".tar.gz"))
  14115. (sha256
  14116. (base32
  14117. "102cm0nvfmf9gn8hvn5z8qvmg931laczs33wwd5iyz9bc37f9mfs"))))
  14118. (build-system haskell-build-system)
  14119. (home-page "https://john-millikin.com/software/haskell-xml/")
  14120. (synopsis "Basic types for representing XML")
  14121. (description "This package provides basic types for representing XML
  14122. documents.")
  14123. (license license:expat)))
  14124. (define-public ghc-xml-hamlet
  14125. (package
  14126. (name "ghc-xml-hamlet")
  14127. (version "0.5.0.1")
  14128. (source
  14129. (origin
  14130. (method url-fetch)
  14131. (uri (string-append "https://hackage.haskell.org/package/xml-hamlet/"
  14132. "xml-hamlet-" version ".tar.gz"))
  14133. (sha256
  14134. (base32 "0jrhcjy7ww59dafg857f2g2df1fw2jmbwcs1q379ph0pc5rxj3lj"))))
  14135. (build-system haskell-build-system)
  14136. (inputs
  14137. (list ghc-shakespeare ghc-xml-conduit))
  14138. (native-inputs
  14139. (list ghc-hspec ghc-hunit))
  14140. (home-page "https://www.yesodweb.com/")
  14141. (synopsis "Hamlet-style quasiquoter for XML content")
  14142. (description "This package provides a type-safe tool for generating XML
  14143. code via quasi-quoting built on top of @code{ghc-shakespeare}.")
  14144. (license license:bsd-3)))
  14145. (define-public ghc-yaml
  14146. (package
  14147. (name "ghc-yaml")
  14148. (version "0.11.7.0")
  14149. (source (origin
  14150. (method url-fetch)
  14151. (uri (string-append "https://hackage.haskell.org/package/"
  14152. "yaml/yaml-" version ".tar.gz"))
  14153. (sha256
  14154. (base32
  14155. "0s08kw0hqxixxripwjmz7b4yh9130dws3jaj460x8ds8q4b6khbx"))))
  14156. (build-system haskell-build-system)
  14157. (inputs
  14158. (list ghc-conduit
  14159. ghc-resourcet
  14160. ghc-aeson
  14161. ghc-unordered-containers
  14162. ghc-vector
  14163. ghc-attoparsec
  14164. ghc-scientific
  14165. ghc-libyaml
  14166. ghc-optparse-applicative))
  14167. (native-inputs
  14168. (list ghc-hspec
  14169. ghc-hunit
  14170. ghc-base-compat
  14171. hspec-discover
  14172. ghc-mockery
  14173. ghc-raw-strings-qq
  14174. ghc-temporary))
  14175. (home-page "https://github.com/snoyberg/yaml/")
  14176. (synopsis "Parsing and rendering YAML documents")
  14177. (description
  14178. "This package provides a library to parse and render YAML documents.")
  14179. (license license:bsd-3)))
  14180. (define-public ghc-zip-archive
  14181. (package
  14182. (name "ghc-zip-archive")
  14183. (version "0.4.1")
  14184. (source
  14185. (origin
  14186. (method url-fetch)
  14187. (uri (string-append
  14188. "https://hackage.haskell.org/package/zip-archive/zip-archive-"
  14189. version
  14190. ".tar.gz"))
  14191. (sha256
  14192. (base32
  14193. "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
  14194. (build-system haskell-build-system)
  14195. (arguments
  14196. `(#:phases
  14197. (modify-phases %standard-phases
  14198. (add-before 'check 'set-PATH-for-tests
  14199. (lambda* (#:key inputs #:allow-other-keys)
  14200. (let ((unzip (assoc-ref inputs "unzip"))
  14201. (which (assoc-ref inputs "which"))
  14202. (path (getenv "PATH")))
  14203. (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
  14204. #t))))))
  14205. (inputs
  14206. (list ghc-digest ghc-temporary ghc-zlib))
  14207. (native-inputs
  14208. (list ghc-hunit unzip which))
  14209. (home-page "https://hackage.haskell.org/package/zip-archive")
  14210. (synopsis "Zip archive library for Haskell")
  14211. (description "The zip-archive library provides functions for creating,
  14212. modifying, and extracting files from zip archives in Haskell.")
  14213. (license license:bsd-3)))
  14214. (define-public ghc-zlib
  14215. (package
  14216. (name "ghc-zlib")
  14217. (version "0.6.2.3")
  14218. (outputs '("out" "static" "doc"))
  14219. (source
  14220. (origin
  14221. (method url-fetch)
  14222. (uri (string-append
  14223. "https://hackage.haskell.org/package/zlib/zlib-"
  14224. version
  14225. ".tar.gz"))
  14226. (sha256
  14227. (base32
  14228. "125wbayk8ifp0gp8cb52afck2ziwvqfrjzbmwmy52g6bz7fnnzw0"))))
  14229. (build-system haskell-build-system)
  14230. (arguments
  14231. `(#:extra-directories ("zlib")
  14232. #:phases
  14233. (modify-phases %standard-phases
  14234. (add-before 'configure 'strip-test-framework-constraints
  14235. (lambda _
  14236. (substitute* "zlib.cabal"
  14237. (("tasty >= 0\\.8 && < 0\\.12") "tasty")
  14238. (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
  14239. (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
  14240. (inputs (list zlib))
  14241. (native-inputs
  14242. (list ghc-quickcheck ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck))
  14243. (home-page "https://hackage.haskell.org/package/zlib")
  14244. (synopsis
  14245. "Compression and decompression in the gzip and zlib formats")
  14246. (description
  14247. "This package provides a pure interface for compressing and decompressing
  14248. streams of data represented as lazy @code{ByteString}s. It uses the zlib C
  14249. library so it has high performance. It supports the @code{zlib}, @code{gzip}
  14250. and @code{raw} compression formats. It provides a convenient high level API
  14251. suitable for most tasks and for the few cases where more control is needed it
  14252. provides access to the full zlib feature set.")
  14253. (license license:bsd-3)))
  14254. (define-public ghc-zlib-bindings
  14255. (package
  14256. (name "ghc-zlib-bindings")
  14257. (version "0.1.1.5")
  14258. (source
  14259. (origin
  14260. (method url-fetch)
  14261. (uri (string-append "https://hackage.haskell.org/package/"
  14262. "zlib-bindings/zlib-bindings-" version ".tar.gz"))
  14263. (sha256
  14264. (base32
  14265. "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
  14266. (build-system haskell-build-system)
  14267. (inputs
  14268. (list ghc-zlib))
  14269. (native-inputs
  14270. (list ghc-hspec ghc-quickcheck))
  14271. (arguments
  14272. `(#:cabal-revision
  14273. ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
  14274. (home-page "https://github.com/snapframework/zlib-bindings")
  14275. (synopsis "Low-level bindings to the @code{zlib} package")
  14276. (description "This package provides low-level bindings to the
  14277. @code{zlib} package.")
  14278. (license license:bsd-3)))
  14279. (define-public ghc-zstd
  14280. (package
  14281. (name "ghc-zstd")
  14282. (version "0.1.3.0")
  14283. (source
  14284. (origin
  14285. (method url-fetch)
  14286. (uri (string-append "https://hackage.haskell.org/package/"
  14287. "zstd/zstd-" version ".tar.gz"))
  14288. (sha256
  14289. (base32
  14290. "0vghl48cxcqy72sqk2gpi7rvy5ya36j13vndaxi6kck6bqivbhm0"))))
  14291. (build-system haskell-build-system)
  14292. (native-inputs
  14293. (list ghc-quickcheck ghc-test-framework
  14294. ghc-test-framework-quickcheck2))
  14295. (home-page "https://github.com/luispedro/hs-zstd")
  14296. (synopsis "Haskell bindings to the Zstandard compression algorithm")
  14297. (description "This library provides Haskell bindings to the
  14298. Zstandard compression algorithm, a fast lossless compression algorithm
  14299. targeting real-time compression scenarios at zlib-level and better
  14300. compression ratios.")
  14301. (license license:bsd-3)))
  14302. (define-public ghc-indexed-traversable
  14303. (package
  14304. (name "ghc-indexed-traversable")
  14305. (version "0.1.1")
  14306. (source
  14307. (origin
  14308. (method url-fetch)
  14309. (uri (string-append
  14310. "https://hackage.haskell.org/package/indexed-traversable/indexed-traversable-"
  14311. version
  14312. ".tar.gz"))
  14313. (sha256
  14314. (base32 "0fc18vdm1894yjbjkj9wjm27bf37ac3gvkzak677mgiw2pinmhvs"))))
  14315. (build-system haskell-build-system)
  14316. (inputs (list ghc-generic-deriving))
  14317. (arguments
  14318. `(#:cabal-revision
  14319. ("1" "0krvp9v5dh4w2076kar48cpkk62ndqp769v2ai3b38rsa5bj6q74")))
  14320. (home-page "https://hackage.haskell.org/package/indexed-traversable")
  14321. (synopsis "Indexed Functor, Foldable, and Traversable typeclasses")
  14322. (description
  14323. "This Haskell package provides three useful generalizations:
  14324. @example
  14325. class Functor f => FunctorWithIndex i f | f -> i where
  14326. imap :: (i -> a -> b) -> f a -> f b
  14327. @end example
  14328. @example
  14329. class Foldable f => FoldableWithIndex i f | f -> i where
  14330. ifoldMap :: Monoid m => (i -> a -> m) -> f a -> m
  14331. @end example
  14332. @example
  14333. class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t)
  14334. => TraversableWithIndex i t | t -> i where
  14335. itraverse :: Applicative f => (i -> a -> f b) -> t a -> f (t b)
  14336. @end example
  14337. The @code{ghc-keys} package provides similar functionality, but uses
  14338. associated @code{TypeFamilies} instead of @code{FunctionalDependencies}.")
  14339. (license license:bsd-2)))
  14340. (define-public ghc-type-equality
  14341. (package
  14342. (name "ghc-type-equality")
  14343. (version "1")
  14344. (source
  14345. (origin
  14346. (method url-fetch)
  14347. (uri (string-append
  14348. "https://hackage.haskell.org/package/type-equality/type-equality-"
  14349. version
  14350. ".tar.gz"))
  14351. (sha256
  14352. (base32 "1s4cl11rvvv7n95i3pq9lmmx08kwh4z7l3d1hbv4wi8il81baa27"))))
  14353. (build-system haskell-build-system)
  14354. (arguments
  14355. `(#:cabal-revision
  14356. ("2" "1a3irpv5kyg3rywhmcp5fwg5irrdbdr0hrlw7asdk113nakrba7j")))
  14357. (home-page "https://github.com/hesselink/type-equality")
  14358. (synopsis "@code{Data.Type.Equality} compatibility package")
  14359. (description
  14360. "This library defines a propositional equality data type, shims
  14361. @code{Data.Type.Equality} as well as possible for older GHC versions (< 7.8).
  14362. @example
  14363. data a :~: b where
  14364. Refl :: a :~: a
  14365. @end example
  14366. The module @code{Data.Type.Equality.Hetero} shims @@code{:~~:} equality, and
  14367. for compilers with @code{PolyKinds}.")
  14368. (license license:bsd-3)))
  14369. (define-public ghc-selective
  14370. (package
  14371. (name "ghc-selective")
  14372. (version "0.4.2")
  14373. (source
  14374. (origin
  14375. (method url-fetch)
  14376. (uri (string-append
  14377. "https://hackage.haskell.org/package/selective/selective-"
  14378. version
  14379. ".tar.gz"))
  14380. (sha256
  14381. (base32 "1mg5hnr3f4zjh3ajy16jkxj630rnfa9iqnnmpjqd9gkjdxpssd5l"))))
  14382. (build-system haskell-build-system)
  14383. (native-inputs
  14384. (list ghc-quickcheck ghc-tasty ghc-tasty-expected-failure
  14385. ghc-tasty-quickcheck))
  14386. (home-page "https://github.com/snowleopard/selective")
  14387. (synopsis "Selective applicative functors")
  14388. (description
  14389. "This package implements selective applicative functors, which allow you
  14390. to declare your effects statically, and select which to execute dynamically.
  14391. See the
  14392. @uref{https://www.staff.ncl.ac.uk/andrey.mokhov/selective-functors.pdf, paper
  14393. on selective functors} for more details.")
  14394. (license license:expat)))
  14395. (define-public ghc-keys
  14396. (package
  14397. (name "ghc-keys")
  14398. (version "3.12.3")
  14399. (source
  14400. (origin
  14401. (method url-fetch)
  14402. (uri (string-append
  14403. "https://hackage.haskell.org/package/keys/keys-"
  14404. version
  14405. ".tar.gz"))
  14406. (sha256
  14407. (base32 "0ik6wsff306dnbz0v3gpiajlj5b558hrk9176fzcb2fclf4447nm"))))
  14408. (build-system haskell-build-system)
  14409. (inputs
  14410. (list ghc-comonad
  14411. ghc-free
  14412. ghc-hashable
  14413. ghc-semigroupoids
  14414. ghc-semigroups
  14415. ghc-tagged
  14416. ghc-transformers-compat
  14417. ghc-unordered-containers))
  14418. (home-page "http://github.com/ekmett/keys/")
  14419. (synopsis "Keyed functors and containers")
  14420. (description
  14421. "This package provides a bunch of ad hoc classes for accessing parts of
  14422. a container. In practice this package is largely subsumed by the
  14423. @code{ghc-lens}, but it is maintained for now as it has much simpler
  14424. dependencies.")
  14425. (license license:bsd-3)))
  14426. (define-public ghc-pointed
  14427. (package
  14428. (name "ghc-pointed")
  14429. (version "5.0.2")
  14430. (source
  14431. (origin
  14432. (method url-fetch)
  14433. (uri (string-append
  14434. "https://hackage.haskell.org/package/pointed/pointed-"
  14435. version
  14436. ".tar.gz"))
  14437. (sha256
  14438. (base32 "07p92y62dibys3xa59rvx52xyyr39nghl73z7hzwnksa3ry3vfmq"))))
  14439. (build-system haskell-build-system)
  14440. (inputs
  14441. (list ghc-data-default-class
  14442. ghc-comonad
  14443. ghc-kan-extensions
  14444. ghc-semigroupoids
  14445. ghc-semigroups
  14446. ghc-tagged
  14447. ghc-transformers-compat
  14448. ghc-hashable
  14449. ghc-unordered-containers))
  14450. (home-page "https://github.com/ekmett/pointed/")
  14451. (synopsis "Pointed and copointed data types")
  14452. (description
  14453. "This Haskell library provides pointed and copointed data types.")
  14454. (license license:bsd-3)))
  14455. (define-public ghc-vector-instances
  14456. (package
  14457. (name "ghc-vector-instances")
  14458. (version "3.4")
  14459. (source
  14460. (origin
  14461. (method url-fetch)
  14462. (uri (string-append
  14463. "https://hackage.haskell.org/package/vector-instances/vector-instances-"
  14464. version
  14465. ".tar.gz"))
  14466. (sha256
  14467. (base32 "10akvpa5w9bp0d8hflab63r9laa9gy2hv167smhjsdzq1kplc0hv"))))
  14468. (build-system haskell-build-system)
  14469. (inputs
  14470. (list ghc-vector
  14471. ghc-semigroupoids
  14472. ghc-semigroups
  14473. ghc-comonad
  14474. ghc-pointed
  14475. ghc-keys
  14476. ghc-hashable))
  14477. (home-page "https://github.com/ekmett/vector-instances")
  14478. (synopsis "Orphan instances for @code{Data.Vector}")
  14479. (description
  14480. "This Haskell library provides a place for lots of orphan instances for
  14481. the @code{ghc-vector} package.")
  14482. (license license:bsd-3)))
  14483. (define-public ghc-th-compat
  14484. (package
  14485. (name "ghc-th-compat")
  14486. (version "0.1.3")
  14487. (source
  14488. (origin
  14489. (method url-fetch)
  14490. (uri (string-append
  14491. "https://hackage.haskell.org/package/th-compat/th-compat-"
  14492. version
  14493. ".tar.gz"))
  14494. (sha256
  14495. (base32 "1il1hs5yjfkb417c224pw1vrh4anyprasfwmjbd4fkviyv55jl3b"))))
  14496. (build-system haskell-build-system)
  14497. (native-inputs
  14498. (list ghc-base-compat ghc-hspec hspec-discover))
  14499. (home-page "https://github.com/haskell-compat/th-compat")
  14500. (synopsis
  14501. "Backward- and forward-compatible @code{Quote} and @code{Code} types")
  14502. (description
  14503. "This package defines a @code{Language.Haskell.TH.Syntax.Compat} module,
  14504. which backports the @code{Quote} and @code{Code} types to work across a wide
  14505. range of @code{template-haskell} versions. On recent versions of
  14506. @code{template-haskell} (2.17.0.0 or later), this module simply re-exports
  14507. @code{Quote} and @code{Code} from @code{Language.Haskell.TH.Syntax}.")
  14508. (license license:bsd-3)))
  14509. (define-public ghc-filepattern
  14510. (package
  14511. (name "ghc-filepattern")
  14512. (version "0.1.2")
  14513. (source
  14514. (origin
  14515. (method url-fetch)
  14516. (uri (string-append
  14517. "https://hackage.haskell.org/package/filepattern/filepattern-"
  14518. version
  14519. ".tar.gz"))
  14520. (sha256
  14521. (base32 "0nznzji5haxl4ninm2a79dqf4c7fj6pc3z9gdc6wbf5h1pp14afr"))))
  14522. (build-system haskell-build-system)
  14523. (inputs
  14524. (list ghc-extra ghc-semigroups))
  14525. (native-inputs (list ghc-quickcheck))
  14526. (home-page "https://github.com/ndmitchell/filepattern")
  14527. (synopsis "File path glob-like matching")
  14528. (description
  14529. "This package provides Haskell library for matching files using patterns
  14530. such as @code{\\\"src\\/**\\/*.png\\\"} for all @@file{.png} files recursively
  14531. under the @@file{src} directory.
  14532. Some of its features include:
  14533. @itemize
  14534. @item All matching is O(n).
  14535. @item Most functions pre-compute some information given only one argument.
  14536. @item Uses @code{match} and @code{substitute} to extract suitable strings from
  14537. the @code{*} and @code{**} matches, and substitutes them back into other
  14538. patterns.
  14539. @item Uses @code{step} and @code{matchMany} to perform bulk matching of many
  14540. patterns against many paths simultaneously.
  14541. @item Uses @code{System.FilePattern.Directory} to perform optimised directory
  14542. traverals using patterns.
  14543. @end itemize")
  14544. (license license:bsd-3)))
  14545. (define-public ghc-lib-parser-ex
  14546. (package
  14547. (name "ghc-lib-parser-ex")
  14548. (version "8.10.0.23")
  14549. (source
  14550. (origin
  14551. (method url-fetch)
  14552. (uri (string-append
  14553. "https://hackage.haskell.org/package/ghc-lib-parser-ex/ghc-lib-parser-ex-"
  14554. version
  14555. ".tar.gz"))
  14556. (sha256
  14557. (base32 "0r5sl7hhn0cxp0b1dskx1lshplc0yka7hcvs2nh10nrj07fjd3vj"))))
  14558. (build-system haskell-build-system)
  14559. (inputs (list ghc-uniplate))
  14560. (native-inputs
  14561. (list ghc-tasty ghc-tasty-hunit ghc-extra))
  14562. (home-page "https://github.com/shayne-fletcher/ghc-lib-parser-ex")
  14563. (synopsis "Algorithms on GHC parse trees")
  14564. (description
  14565. "The @code{ghc-lib-parser-ex} package contains GHC API parse tree utilities.")
  14566. (license license:bsd-3)))
  14567. (define-public ghc-lift-type
  14568. (package
  14569. (name "ghc-lift-type")
  14570. (version "0.1.0.1")
  14571. (source
  14572. (origin
  14573. (method url-fetch)
  14574. (uri (string-append
  14575. "https://hackage.haskell.org/package/lift-type/lift-type-"
  14576. version
  14577. ".tar.gz"))
  14578. (sha256
  14579. (base32 "1195iyf0s8zmibjmvd10bszyccp1a2g4wdysn7yk10d3j0q9xdxf"))))
  14580. (build-system haskell-build-system)
  14581. (home-page "https://github.com/parsonsmatt/lift-type")
  14582. (synopsis
  14583. "Lift a type from a Typeable constraint to a Template Haskell type")
  14584. (description
  14585. "This library provides a utility function @code{liftType}, which accepts a type
  14586. application argument and returns the Template Haskell @code{Type} representation of
  14587. it.")
  14588. (license license:bsd-3)))
  14589. (define-public ghc-unicode-collation
  14590. (package
  14591. (name "ghc-unicode-collation")
  14592. (version "0.1.3")
  14593. (source
  14594. (origin
  14595. (method url-fetch)
  14596. (uri (string-append
  14597. "https://hackage.haskell.org/package/unicode-collation/unicode-collation-"
  14598. version
  14599. ".tar.gz"))
  14600. (sha256
  14601. (base32 "0nbxkpd29ivdi6vcikbaasffkcz9m2vd4nhv29p6gmvckzmhj7zi"))))
  14602. (build-system haskell-build-system)
  14603. (inputs (list ghc-th-lift-instances))
  14604. (native-inputs
  14605. (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit
  14606. ghc-unicode-transforms ghc-doctest))
  14607. (home-page "https://github.com/jgm/unicode-collation")
  14608. (synopsis "Haskell implementation of the Unicode Collation Algorithm")
  14609. (description
  14610. "This library provides a pure Haskell implementation of the Unicode
  14611. Collation Algorithm described at @uref{http://www.unicode.org/reports/tr10/}.
  14612. It is not as fully-featured or as performant as @code{text-icu}, but it avoids
  14613. a dependency on a large C library. Locale-specific tailorings are also
  14614. provided.")
  14615. (license license:bsd-3)))
  14616. (define-public ghc-citeproc
  14617. (package
  14618. (name "ghc-citeproc")
  14619. (version "0.4.0.1")
  14620. (source
  14621. (origin
  14622. (method url-fetch)
  14623. (uri (string-append
  14624. "https://hackage.haskell.org/package/citeproc/citeproc-"
  14625. version
  14626. ".tar.gz"))
  14627. (sha256
  14628. (base32 "13hgbcbr7jbyfbxp8fsc43c2wq4fhlbxzqwh1plfkdi5n9bif1lv"))))
  14629. (build-system haskell-build-system)
  14630. (inputs
  14631. (list ghc-safe
  14632. ghc-case-insensitive
  14633. ghc-vector
  14634. ghc-scientific
  14635. ghc-uniplate
  14636. ghc-xml-conduit
  14637. ghc-attoparsec
  14638. ghc-data-default
  14639. ghc-aeson
  14640. ghc-file-embed
  14641. ghc-pandoc-types
  14642. ghc-unicode-collation
  14643. ghc-base-compat
  14644. ghc-aeson-pretty))
  14645. (native-inputs (list ghc-timeit ghc-diff))
  14646. (home-page "https://hackage.haskell.org/package/citeproc")
  14647. (synopsis "Generate citations and bibliography from CSL styles")
  14648. (description
  14649. "@code{ghc-citeproc} parses @acronym{Citation Style Language, CSL} style files
  14650. and uses them to generate a list of formatted citations and bibliography
  14651. entries. For more information about CSL, see @uref{https://citationstyles.org/}.")
  14652. (license license:bsd-2)))
  14653. (define-public ghc-commonmark
  14654. (package
  14655. (name "ghc-commonmark")
  14656. (version "0.2.1.1")
  14657. (source
  14658. (origin
  14659. (method url-fetch)
  14660. (uri (string-append
  14661. "https://hackage.haskell.org/package/commonmark/commonmark-"
  14662. version
  14663. ".tar.gz"))
  14664. (sha256
  14665. (base32 "105szy7l4ji255fwv0kbfcy3i3a3a4197zgj6s9jb12kwbn6n0c7"))))
  14666. (build-system haskell-build-system)
  14667. (inputs (list ghc-unicode-transforms))
  14668. (native-inputs
  14669. (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
  14670. (home-page "https://github.com/jgm/commonmark-hs")
  14671. (synopsis "Pure Haskell Commonmark parser")
  14672. (description
  14673. "This library provides the core data types and functions for parsing
  14674. @uref{https://spec.commonmark.org, Commonmark}. The parser is fully
  14675. Commonmark-compliant and passes the test suite. It is designed to be
  14676. customizable and easily extensible. To customize the output, create an AST,
  14677. or support a new output format, one need only define some new typeclass
  14678. instances. It is also easy to add new syntax elements or modify existing
  14679. ones.
  14680. Accurate information about source positions is available for all block and
  14681. inline elements. Thus the library can be used to create an accurate syntax
  14682. highlighter or an editor with live preview. The parser has been designed for
  14683. robust performance even in pathological cases that tend to cause stack
  14684. overflows or exponential slowdowns in other parsers, with parsing speed that
  14685. varies linearly with input length.")
  14686. (license license:bsd-3)))
  14687. (define-public ghc-commonmark-extensions
  14688. (package
  14689. (name "ghc-commonmark-extensions")
  14690. (version "0.2.2")
  14691. (source
  14692. (origin
  14693. (method url-fetch)
  14694. (uri (string-append
  14695. "https://hackage.haskell.org/package/commonmark-extensions/commonmark-extensions-"
  14696. version
  14697. ".tar.gz"))
  14698. (sha256
  14699. (base32 "0jm6w84p2a2gyaljvnlvjjwrwnir1lss3ps53d0bd8mkvhixxrqr"))))
  14700. (build-system haskell-build-system)
  14701. (inputs
  14702. (list ghc-network-uri ghc-commonmark ghc-emojis))
  14703. (native-inputs
  14704. (list ghc-tasty ghc-tasty-hunit))
  14705. (home-page "https://github.com/jgm/commonmark-hs")
  14706. (synopsis "Extensions for @code{ghc-commonmark}")
  14707. (description
  14708. "This library provides some useful extensions for @code{ghc-commonmark}
  14709. to parser core commonmark syntax: smart quotes, definition lists, tables,
  14710. footnotes, math, and more.")
  14711. (license license:bsd-3)))
  14712. (define-public ghc-commonmark-pandoc
  14713. (package
  14714. (name "ghc-commonmark-pandoc")
  14715. (version "0.2.1.1")
  14716. (source
  14717. (origin
  14718. (method url-fetch)
  14719. (uri (string-append
  14720. "https://hackage.haskell.org/package/commonmark-pandoc/commonmark-pandoc-"
  14721. version
  14722. ".tar.gz"))
  14723. (sha256
  14724. (base32 "15rfaz49msswb7gh5wyxpm9vckbf3wzyd2m5m2f3hggb82ydk5cp"))))
  14725. (build-system haskell-build-system)
  14726. (inputs
  14727. (list ghc-commonmark ghc-commonmark-extensions ghc-pandoc-types))
  14728. (home-page "https://github.com/jgm/commonmark-hs")
  14729. (synopsis "Bridge between Commonmark and Pandoc AST")
  14730. (description
  14731. "This library provides typeclasses for rendering @code{ghc-commonmark} to
  14732. Pandoc types.")
  14733. (license license:bsd-3)))
  14734. (define-public ghc-hslua-module-path
  14735. (package
  14736. (name "ghc-hslua-module-path")
  14737. (version "0.1.0.1")
  14738. (source
  14739. (origin
  14740. (method url-fetch)
  14741. (uri (string-append
  14742. "https://hackage.haskell.org/package/hslua-module-path/hslua-module-path-"
  14743. version
  14744. ".tar.gz"))
  14745. (sha256
  14746. (base32 "1zxfljcn74rky26ijqmba6grpj0h9plgr47wxdaf7gcz1y8dhn68"))))
  14747. (build-system haskell-build-system)
  14748. (inputs (list ghc-hslua))
  14749. (native-inputs
  14750. (list ghc-tasty ghc-tasty-hunit ghc-tasty-lua))
  14751. (home-page "https://github.com/hslua/hslua-module-path")
  14752. (synopsis "Lua module to work with file paths")
  14753. (description
  14754. "This Haskell library provides a Lua module to work with file paths in a
  14755. platform independent way.")
  14756. (license license:expat)))
  14757. (define-public ghc-template-haskell
  14758. (package
  14759. (name "ghc-template-haskell")
  14760. (version "2.16.0.0")
  14761. (source
  14762. (origin
  14763. (method url-fetch)
  14764. (uri (string-append
  14765. "https://hackage.haskell.org/package/template-haskell/template-haskell-"
  14766. version
  14767. ".tar.gz"))
  14768. (sha256
  14769. (base32 "1nk1cv35szp80qkhbyh5gn6vn194zzl0wz186qrqdrdx3a9r9w4g"))))
  14770. (build-system haskell-build-system)
  14771. (inputs (list ghc-boot-th))
  14772. (home-page "http://hackage.haskell.org/package/template-haskell")
  14773. (synopsis "Support library for Template Haskell")
  14774. (description
  14775. "This package provides modules containing facilities for manipulating
  14776. Haskell source code using Template Haskell. See
  14777. @uref{http://www.haskell.org/haskellwiki/Template_Haskell} for more
  14778. information.")
  14779. (license license:bsd-3)))
  14780. (define-public ghc-genvalidity-hspec
  14781. (package
  14782. (name "ghc-genvalidity-hspec")
  14783. (version "0.7.0.4")
  14784. (source
  14785. (origin
  14786. (method url-fetch)
  14787. (uri (string-append
  14788. "https://hackage.haskell.org/package/genvalidity-hspec/genvalidity-hspec-"
  14789. version
  14790. ".tar.gz"))
  14791. (sha256
  14792. (base32 "0aajx07n2rznyqxb0c4pn9j2cvkzw5brz9ki4grhhigbcri3jzmv"))))
  14793. (build-system haskell-build-system)
  14794. (inputs
  14795. (list ghc-quickcheck
  14796. ghc-genvalidity
  14797. ghc-genvalidity-property
  14798. ghc-hspec
  14799. hspec-discover
  14800. ghc-hspec-core
  14801. ghc-validity))
  14802. (home-page "https://github.com/NorfairKing/validity")
  14803. (synopsis "Standard spec's for @code{GenValidity} instances")
  14804. (description
  14805. "This haskell library provides validity and validity-based testing for
  14806. @code{ghc-hspec}.")
  14807. (license license:expat)))
  14808. (define-public ghc-boot-th
  14809. (package
  14810. (name "ghc-boot-th")
  14811. (version "8.10.1")
  14812. (source
  14813. (origin
  14814. (method url-fetch)
  14815. (uri (string-append
  14816. "https://hackage.haskell.org/package/ghc-boot-th/ghc-boot-th-"
  14817. version
  14818. ".tar.gz"))
  14819. (sha256
  14820. (base32 "0vhhmsd32p7zn9vhpv4d0k0b55n2dyhzy42xblndrma617kz8gli"))))
  14821. (build-system haskell-build-system)
  14822. (home-page "http://hackage.haskell.org/package/ghc-boot-th")
  14823. (synopsis
  14824. "Shared functionality between GHC and Template Haskell")
  14825. (description
  14826. "This library contains various bits shared between GHC and Template
  14827. Haskell. This package exists to ensure that @code{template-haskell} has a
  14828. minimal set of transitive dependencies, since it is intended to be depended
  14829. upon by user code.")
  14830. (license license:bsd-3)))
  14831. (define-public ghc-binary-orphans
  14832. (package
  14833. (name "ghc-binary-orphans")
  14834. (version "1.0.1")
  14835. (source
  14836. (origin
  14837. (method url-fetch)
  14838. (uri (string-append
  14839. "https://hackage.haskell.org/package/binary-orphans/binary-orphans-"
  14840. version
  14841. ".tar.gz"))
  14842. (sha256
  14843. (base32 "0gbmn5rpvyxhw5bxjmxwld6918lslv03b2f6hshssaw1il5x86j3"))))
  14844. (build-system haskell-build-system)
  14845. (native-inputs
  14846. (list ghc-quickcheck ghc-quickcheck-instances ghc-tagged ghc-tasty
  14847. ghc-tasty-quickcheck))
  14848. (arguments
  14849. `(#:cabal-revision
  14850. ("5" "1h2d37szfrcwn9rphnijn4q9l947b0wwqjs1aqmm62xkhbad7jf6")))
  14851. (home-page "http://hackage.haskell.org/package/binary-orphans")
  14852. (synopsis "Compatibility package for binary")
  14853. (description
  14854. "This package provides instances defined in later versions of
  14855. @code{ghc-binary} package.")
  14856. (license license:bsd-3)))
  14857. (define-public ghc-netlink
  14858. (package
  14859. (name "ghc-netlink")
  14860. (version "1.1.1.0")
  14861. (source
  14862. (origin
  14863. (method url-fetch)
  14864. (uri (string-append
  14865. "https://hackage.haskell.org/package/netlink/netlink-"
  14866. version
  14867. ".tar.gz"))
  14868. (sha256
  14869. (base32 "1q8sxycv93sap6dgbw70scklnpjj5vav6qlvsxm5500jlvb3jnf0"))))
  14870. (build-system haskell-build-system)
  14871. (inputs
  14872. (list ghc-cereal ghc-monad-loops ghc-pretty-hex ghc-language-c
  14873. ghc-regex-pcre))
  14874. (home-page "https://github.com/Ongy/netlink-hs")
  14875. (synopsis "Netlink communication for Haskell")
  14876. (description
  14877. "This is library provides utility to use Netlink from Haskell. The scope of
  14878. this package extends over general Netlink support to specific implementations
  14879. of Netlink families.")
  14880. (license license:bsd-3)))
  14881. (define-public ghc-doctest-driver-gen
  14882. (package
  14883. (name "ghc-doctest-driver-gen")
  14884. (version "0.3.0.4")
  14885. (source
  14886. (origin
  14887. (method url-fetch)
  14888. (uri (string-append
  14889. "https://hackage.haskell.org/package/doctest-driver-gen/doctest-driver-gen-"
  14890. version
  14891. ".tar.gz"))
  14892. (sha256
  14893. (base32 "1fbqi4s4ajxhyv4a7nbh3v98limla0z8rfqlh02pwc1a90qpwy1a"))))
  14894. (build-system haskell-build-system)
  14895. (arguments `(#:tests? #f)) ; TODO: Fail to open shared library.
  14896. (native-inputs (list ghc-doctest))
  14897. (home-page "https://github.com/Hexirp/doctest-driver-gen")
  14898. (synopsis "Generate driver file for Doctest's Cabal integration")
  14899. (description
  14900. "@code{ghc-doctest-driver-gen} is a Doctest's driver file generator. It
  14901. lets you automatically generate driver file for Doctest's Cabal integration.")
  14902. (license license:bsd-3)))
  14903. (define-public ghc-template-haskell-compat-v0208
  14904. (package
  14905. (name "ghc-template-haskell-compat-v0208")
  14906. (version "0.1.6")
  14907. (source
  14908. (origin
  14909. (method url-fetch)
  14910. (uri (string-append
  14911. "https://hackage.haskell.org/package/template-haskell-compat-v0208/template-haskell-compat-v0208-"
  14912. version
  14913. ".tar.gz"))
  14914. (sha256
  14915. (base32 "1s2ba86y2r9n4r1dwfg734y3nfqxak560s8srd04kbn623hnrkw8"))))
  14916. (build-system haskell-build-system)
  14917. (home-page "https://github.com/nikita-volkov/template-haskell-compat-v0208")
  14918. (synopsis "Backwards compatibility layer for Template Haskell newer than 2.8")
  14919. (description
  14920. "This package provides a backwards compatibility layer for Template
  14921. Haskell newer than 2.8.")
  14922. (license license:expat)))
  14923. (define-public ghc-mysql
  14924. (package
  14925. (name "ghc-mysql")
  14926. (version "0.2.1")
  14927. (source
  14928. (origin
  14929. (method url-fetch)
  14930. (uri (string-append
  14931. "https://hackage.haskell.org/package/mysql/mysql-"
  14932. version
  14933. ".tar.gz"))
  14934. (sha256
  14935. (base32 "051w428arxbix06a52dacqjpnkfx42zbazxsd3l9d857dsd0kl3g"))))
  14936. (build-system haskell-build-system)
  14937. (arguments `(#:tests? #f)) ; TODO: Fails to connect to server.
  14938. (inputs
  14939. (list mysql zlib openssl))
  14940. (native-inputs (list ghc-hspec))
  14941. (home-page "https://github.com/paul-rouse/mysql")
  14942. (synopsis "Low-level MySQL client library")
  14943. (description
  14944. "This library provides Haskell bindings to the MySQL @code{mysqlclient}
  14945. client library. It is a fairly faithful, low level library that implements
  14946. most of the MySQL client API. The major departure from the C API is that in
  14947. Haskell, resource management is mostly automatic and safe.
  14948. This library deliberately avoids the question of providing a ``good'' API.
  14949. Its purpose is to serve as a base upon which higher-level libraries can be
  14950. built.")
  14951. (license license:bsd-3)))
  14952. (define-public ghc-blaze-textual
  14953. (package
  14954. (name "ghc-blaze-textual")
  14955. (version "0.2.2.1")
  14956. (source
  14957. (origin
  14958. (method url-fetch)
  14959. (uri (string-append
  14960. "https://hackage.haskell.org/package/blaze-textual/blaze-textual-"
  14961. version
  14962. ".tar.gz"))
  14963. (sha256
  14964. (base32 "0zjnwnjpcpnnm0815h9ngr3a3iy0szsnb3nrcavkbx4905s9k4bs"))))
  14965. (build-system haskell-build-system)
  14966. (inputs
  14967. (list ghc-blaze-builder ghc-old-locale ghc-vector))
  14968. (native-inputs
  14969. (list ghc-quickcheck ghc-double-conversion ghc-test-framework
  14970. ghc-test-framework-quickcheck2))
  14971. (home-page "https://github.com/bos/blaze-textual")
  14972. (synopsis "Fast rendering of common datatypes")
  14973. (description
  14974. "@code{ghc-blaze-textual} is a fast Haskell library for rendering common
  14975. Haskell datatypes in text form using the @code{ghc-blaze-builder} library.")
  14976. (license license:bsd-3)))
  14977. (define-public ghc-mysql-simple
  14978. (package
  14979. (name "ghc-mysql-simple")
  14980. (version "0.4.7")
  14981. (source
  14982. (origin
  14983. (method url-fetch)
  14984. (uri (string-append
  14985. "https://hackage.haskell.org/package/mysql-simple/mysql-simple-"
  14986. version
  14987. ".tar.gz"))
  14988. (sha256
  14989. (base32 "1mhmszpq64h8kxr20iaj1laq46wr2gaqc8xxq1k821i7jfxfld6j"))))
  14990. (build-system haskell-build-system)
  14991. (arguments `(#:tests? #f)) ; TODO: Fails to connect to server.
  14992. (inputs
  14993. (list ghc-attoparsec
  14994. ghc-base16-bytestring
  14995. ghc-blaze-builder
  14996. ghc-mysql
  14997. ghc-pcre-light
  14998. ghc-old-locale
  14999. ghc-blaze-textual
  15000. ghc-vector
  15001. openssl
  15002. zlib))
  15003. (native-inputs (list ghc-hspec))
  15004. (home-page "https://github.com/paul-rouse/mysql-simple")
  15005. (synopsis "Mid-level MySQL client library")
  15006. (description
  15007. "This library implements mid-level Haskell bindings to the MySQL
  15008. @code{mysqlclient} client library. It is aimed at speed and ease of use.")
  15009. (license license:bsd-3)))
  15010. (define-public ghc-persistent-qq
  15011. (package
  15012. (name "ghc-persistent-qq")
  15013. (version "2.12.0.1")
  15014. (source
  15015. (origin
  15016. (method url-fetch)
  15017. (uri (string-append
  15018. "https://hackage.haskell.org/package/persistent-qq/persistent-qq-"
  15019. version
  15020. ".tar.gz"))
  15021. (sha256
  15022. (base32 "1dvniapxjaw2vmdqd5cplwxdxiy2l6z6gns8gp3ci3rn3xp0pf6p"))))
  15023. (build-system haskell-build-system)
  15024. (inputs
  15025. (list ghc-haskell-src-meta ghc-persistent))
  15026. (native-inputs
  15027. (list ghc-hunit
  15028. ghc-aeson
  15029. ghc-fast-logger
  15030. ghc-hspec
  15031. ghc-monad-logger
  15032. ghc-persistent-sqlite
  15033. ghc-resourcet
  15034. ghc-unliftio))
  15035. (home-page "https://github.com/yesodweb/persistent")
  15036. (synopsis "Quasi-quoter for raw SQL for @code{ghc-persistent}")
  15037. (description
  15038. "This package provides a quasi-quoter for raw @acronym{SQL, Structured Query
  15039. Language} for @code{ghc-persistent}.")
  15040. (license license:expat)))
  15041. (define-public ghc-persistent-mysql
  15042. (package
  15043. (name "ghc-persistent-mysql")
  15044. (version "2.13.0.2")
  15045. (source
  15046. (origin
  15047. (method url-fetch)
  15048. (uri (string-append
  15049. "https://hackage.haskell.org/package/persistent-mysql/persistent-mysql-"
  15050. version
  15051. ".tar.gz"))
  15052. (sha256
  15053. (base32 "18ji7a7lb1mjgqvi2mv2cg4vlgjkyzg2hgp09s7c9v071p3ll732"))))
  15054. (build-system haskell-build-system)
  15055. (arguments `(#:tests? #f)) ; TODO: Fails to import MaybeFieldDefsTest.
  15056. (inputs
  15057. (list ghc-persistent
  15058. ghc-aeson
  15059. ghc-blaze-builder
  15060. ghc-conduit
  15061. ghc-monad-logger
  15062. ghc-mysql
  15063. ghc-mysql-simple
  15064. ghc-resourcet
  15065. ghc-resource-pool
  15066. ghc-unliftio-core
  15067. openssl
  15068. zlib))
  15069. (native-inputs
  15070. (list ghc-fast-logger
  15071. ghc-hspec
  15072. ghc-http-api-data
  15073. ghc-hunit
  15074. ghc-path-pieces
  15075. ghc-persistent-qq
  15076. ghc-persistent-test
  15077. ghc-quickcheck
  15078. ghc-quickcheck-instances))
  15079. (home-page "http://www.yesodweb.com/book/persistent")
  15080. (synopsis
  15081. "Backend for the @code{ghc-persistent} library using MySQL database server")
  15082. (description
  15083. "This package contains a backend for @code{ghc-persistent} using the MySQL database
  15084. server. Internally it uses the @code{ghc-mysql-simple} and @code{mysql} packages in order
  15085. to access the database. This package supports only MySQL 5.1 and above.
  15086. However, it has been tested only on MySQL 5.5. Only the InnoDB storage engine
  15087. is officially supported.")
  15088. (license license:expat)))
  15089. (define-public ghc-hspec-expectations-lifted
  15090. (package
  15091. (name "ghc-hspec-expectations-lifted")
  15092. (version "0.10.0")
  15093. (source
  15094. (origin
  15095. (method url-fetch)
  15096. (uri (string-append
  15097. "https://hackage.haskell.org/package/hspec-expectations-lifted/hspec-expectations-lifted-"
  15098. version
  15099. ".tar.gz"))
  15100. (sha256
  15101. (base32 "0a1qwz0n80lph8m9cq6cb06m8bsmqgg8ifx0acpylvrrkd8g3k92"))))
  15102. (build-system haskell-build-system)
  15103. (inputs (list ghc-hspec-expectations))
  15104. (home-page "https://hackage.haskell.org/package/hspec-expectations-lifted")
  15105. (synopsis "Version of @code{ghc-hspec-expectations} generalized to @code{MonadIO}")
  15106. (description
  15107. "This package provides a version of @code{ghc-hspec-expectations} generalized
  15108. to @code{MonadIO}.")
  15109. (license license:expat)))
  15110. (define-public ghc-string-conversions
  15111. (package
  15112. (name "ghc-string-conversions")
  15113. (version "0.4.0.1")
  15114. (source
  15115. (origin
  15116. (method url-fetch)
  15117. (uri (string-append
  15118. "https://hackage.haskell.org/package/string-conversions/string-conversions-"
  15119. version
  15120. ".tar.gz"))
  15121. (sha256
  15122. (base32 "150rdank90h7v08x0wq4dffjbxv2daf5v9sqfs5mab76kinwxg26"))))
  15123. (build-system haskell-build-system)
  15124. (inputs (list ghc-utf8-string))
  15125. (native-inputs
  15126. (list hspec-discover ghc-hspec ghc-quickcheck-instances
  15127. ghc-quickcheck))
  15128. (home-page "https://github.com/soenkehahn/string-conversions")
  15129. (synopsis "Simplify dealing with different types for strings")
  15130. (description
  15131. "This package provides a simple type class for converting values of different
  15132. string types into values of other string types.")
  15133. (license license:bsd-3)))
  15134. (define-public ghc-postgresql-libpq
  15135. (package
  15136. (name "ghc-postgresql-libpq")
  15137. (version "0.9.4.3")
  15138. (source
  15139. (origin
  15140. (method url-fetch)
  15141. (uri (string-append
  15142. "https://hackage.haskell.org/package/postgresql-libpq/postgresql-libpq-"
  15143. version
  15144. ".tar.gz"))
  15145. (sha256
  15146. (base32 "1gfnhc5pibn7zmifdf2g0c112xrpzsk756ln2kjzqljkspf4dqp3"))))
  15147. (build-system haskell-build-system)
  15148. (arguments
  15149. `(#:cabal-revision
  15150. ("1" "1clivf13z15w954a0kcfkv8yc0d8kx61b68x2hk7a9236ck7l2m2")))
  15151. (inputs (list postgresql))
  15152. (home-page "https://github.com/haskellari/postgresql-libpq")
  15153. (synopsis "Low-level bindings to @code{libpq}")
  15154. (description
  15155. "This package provides bindings to @code{libpq}: the C application
  15156. programmer's interface to PostgreSQL. @code{libpq} is a set of library
  15157. functions that allow client programs to pass queries to the PostgreSQL backend
  15158. server and to receive the results of these queries.")
  15159. (license license:bsd-3)))
  15160. (define-public ghc-postgresql-simple
  15161. (package
  15162. (name "ghc-postgresql-simple")
  15163. (version "0.6.4")
  15164. (source
  15165. (origin
  15166. (method url-fetch)
  15167. (uri (string-append
  15168. "https://hackage.haskell.org/package/postgresql-simple/postgresql-simple-"
  15169. version
  15170. ".tar.gz"))
  15171. (sha256
  15172. (base32 "0rz2bklxp4pvbxb2w49h5p6pbwabn6d5d4j4mrya4fpa0d13k43d"))))
  15173. (build-system haskell-build-system)
  15174. (inputs
  15175. (list ghc-time-compat
  15176. ghc-aeson
  15177. ghc-attoparsec
  15178. ghc-bytestring-builder
  15179. ghc-case-insensitive
  15180. ghc-hashable
  15181. ghc-only
  15182. ghc-postgresql-libpq
  15183. ghc-scientific
  15184. ghc-uuid-types
  15185. ghc-vector))
  15186. (native-inputs
  15187. (list ghc-inspection-testing
  15188. ghc-tasty
  15189. ghc-tasty-hunit
  15190. ghc-base16-bytestring
  15191. ghc-cryptohash-md5
  15192. ghc-hunit
  15193. ghc-tasty
  15194. ghc-tasty-golden
  15195. ghc-tasty-hunit))
  15196. (arguments
  15197. `(#:cabal-revision
  15198. ("2" "1kwjlj0bsc1yd4dgfc0ydawq9acfjlf0bymwc830dryp16wpj9zv")))
  15199. (home-page "http://hackage.haskell.org/package/postgresql-simple")
  15200. (synopsis "Mid-Level PostgreSQL client library")
  15201. (description
  15202. "This package provides a mid-Level PostgreSQL client library, forked from
  15203. @code{ghc-mysql-simple}.")
  15204. (license license:bsd-3)))
  15205. (define-public ghc-persistent-postgresql
  15206. (package
  15207. (name "ghc-persistent-postgresql")
  15208. (version "2.13.2.1")
  15209. (source
  15210. (origin
  15211. (method url-fetch)
  15212. (uri (string-append
  15213. "https://hackage.haskell.org/package/persistent-postgresql/persistent-postgresql-"
  15214. version
  15215. ".tar.gz"))
  15216. (sha256
  15217. (base32 "07pnr8m0nk43jaz6l293lzx4ivyqgnw94fjypazzm008b4irh7ir"))))
  15218. (build-system haskell-build-system)
  15219. (arguments `(#:tests? #f)) ; TODO: Cannot import MaybeFieldDefsTest.
  15220. (inputs
  15221. (list ghc-persistent
  15222. ghc-aeson
  15223. ghc-attoparsec
  15224. ghc-blaze-builder
  15225. ghc-conduit
  15226. ghc-monad-logger
  15227. ghc-postgresql-simple
  15228. ghc-postgresql-libpq
  15229. ghc-resourcet
  15230. ghc-resource-pool
  15231. ghc-string-conversions
  15232. ghc-unliftio-core
  15233. ghc-unliftio))
  15234. (native-inputs
  15235. (list ghc-persistent-qq
  15236. ghc-persistent-test
  15237. ghc-fast-logger
  15238. ghc-hunit
  15239. ghc-hspec
  15240. ghc-hspec-expectations
  15241. ghc-hspec-expectations-lifted
  15242. ghc-quickcheck
  15243. ghc-quickcheck-instances
  15244. ghc-path-pieces
  15245. ghc-http-api-data
  15246. ghc-unordered-containers
  15247. ghc-vector))
  15248. (home-page "http://www.yesodweb.com/book/persistent")
  15249. (synopsis "Backend for the @code{ghc-persistent library} using Postgresql")
  15250. (description
  15251. "This package provides a backend for the @code{ghc-persistent} library
  15252. using the @code{ghc-postgresql-simple} package.")
  15253. (license license:expat)))
  15254. (define-public ghc-filtrable
  15255. (package
  15256. (name "ghc-filtrable")
  15257. (version "0.1.6.0")
  15258. (source
  15259. (origin
  15260. (method url-fetch)
  15261. (uri (string-append
  15262. "https://hackage.haskell.org/package/filtrable/filtrable-"
  15263. version
  15264. ".tar.gz"))
  15265. (sha256
  15266. (base32 "058jl7wjaxzvcayc9qzpikxvi9x42civ4sb02jh66rcvpndbfh5y"))))
  15267. (build-system haskell-build-system)
  15268. (arguments `(#:tests? #f)) ; TODO: Needs tasty >=1.3.1 && <1.4
  15269. (native-inputs
  15270. (list ghc-smallcheck ghc-tasty ghc-tasty-smallcheck))
  15271. (home-page "https://github.com/strake/filtrable.hs")
  15272. (synopsis "Class of filtrable containers")
  15273. (description "This package provides filtrable containers.")
  15274. (license license:bsd-3)))
  15275. (define-public ghc-filelock
  15276. (package
  15277. (name "ghc-filelock")
  15278. (version "0.1.1.5")
  15279. (source
  15280. (origin
  15281. (method url-fetch)
  15282. (uri (string-append
  15283. "https://hackage.haskell.org/package/filelock/filelock-"
  15284. version
  15285. ".tar.gz"))
  15286. (sha256
  15287. (base32 "06a44i7a956d7xkk2na4090xj2a7b7a228pk4spmccs4x20ymssh"))))
  15288. (build-system haskell-build-system)
  15289. (native-inputs
  15290. (list ghc-async ghc-async))
  15291. (home-page "https://github.com/takano-akio/filelock")
  15292. (synopsis "Portable interface to file locking")
  15293. (description
  15294. "This package provides an interface to file locking functionalities.")
  15295. (license license:public-domain)))
  15296. (define-public ghc-hsyaml-aeson
  15297. (package
  15298. (name "ghc-hsyaml-aeson")
  15299. (version "0.2.0.0")
  15300. (source
  15301. (origin
  15302. (method url-fetch)
  15303. (uri (string-append
  15304. "https://hackage.haskell.org/package/HsYAML-aeson/HsYAML-aeson-"
  15305. version
  15306. ".tar.gz"))
  15307. (sha256
  15308. (base32 "12sxww260pc0bbpiyirm7911haxhljdi2f08a9ddpbgw8d5n7ffg"))))
  15309. (build-system haskell-build-system)
  15310. (inputs
  15311. (list ghc-hsyaml ghc-aeson ghc-scientific ghc-unordered-containers
  15312. ghc-vector))
  15313. (arguments
  15314. `(#:cabal-revision
  15315. ("3" "0vhdndyj5f07vvvnssn5ybdja5wmaydq0n2lfpihvdg4dkhczrx2")))
  15316. (home-page "https://hackage.haskell.org/package/HsYAML-aeson")
  15317. (synopsis "JSON to YAML adapter")
  15318. (description
  15319. "The @uref{https://yaml.org/spec/1.2/spec.html, YAML 1.2} format provides
  15320. a much richer data-model and feature-set than the
  15321. @uref{https://tools.ietf.org/html/rfc7159, @acronym{JavaScript Object
  15322. Notation, JSON}} format. However, sometimes it's desirable to ignore the extra
  15323. capabilities and treat YAML as if it was merely a more convenient markup
  15324. format for humans to write JSON data. To this end this module provides a
  15325. compatibility layer atop @code{ghc-hsyaml} ,which allows decoding YAML
  15326. documents in the more limited JSON data-model while also providing convenience
  15327. by reusing @code{ghc-aeson}'s @code{FromJSON} instances for decoding the YAML
  15328. data into native Haskell data types.")
  15329. (license license:gpl2+)))
  15330. (define-public ghc-lukko
  15331. (package
  15332. (name "ghc-lukko")
  15333. (version "0.1.1.3")
  15334. (source
  15335. (origin
  15336. (method url-fetch)
  15337. (uri (string-append
  15338. "https://hackage.haskell.org/package/lukko/lukko-"
  15339. version
  15340. ".tar.gz"))
  15341. (sha256
  15342. (base32 "07xb926kixqv5scqdl8w34z42zjzdpbq06f0ha3f3nm3rxhgn3m8"))))
  15343. (build-system haskell-build-system)
  15344. (native-inputs
  15345. (list ghc-async
  15346. ghc-singleton-bool
  15347. ghc-tasty
  15348. ghc-tasty-expected-failure
  15349. ghc-tasty-hunit
  15350. ghc-temporary))
  15351. (arguments
  15352. `(#:cabal-revision
  15353. ("1" "0mmq1q82mrbayiij0p8wdnkf0j8drmq1iibg8kn4cak3nrn9pd1d")))
  15354. (home-page "https://hackage.haskell.org/package/lukko")
  15355. (synopsis "File locking")
  15356. (description
  15357. "This package provides access to platform dependent file locking APIs. There
  15358. are alternative file locking packages:
  15359. @itemize
  15360. @item @code{GHC.IO.Handle.Lock} in @code{base >= 4.10} is good enough for most
  15361. use cases. However, uses only @code{Handle}s so these locks cannot be used
  15362. for intra-process locking.
  15363. @item @code{ghc-filelock} doesn't support @acronym{OFD, open file descriptor}
  15364. locking.
  15365. @end itemize")
  15366. (license (list license:gpl2+ license:bsd-3))))
  15367. (define-public ghc-dec
  15368. (package
  15369. (name "ghc-dec")
  15370. (version "0.0.4")
  15371. (source
  15372. (origin
  15373. (method url-fetch)
  15374. (uri (string-append
  15375. "https://hackage.haskell.org/package/dec/dec-"
  15376. version
  15377. ".tar.gz"))
  15378. (sha256
  15379. (base32 "0yslffafmqfkvhcw2arpc53hfmn1788z85ss9lxnbclr29lbvzgc"))))
  15380. (build-system haskell-build-system)
  15381. (home-page "https://github.com/phadej/vec")
  15382. (synopsis "Decidable propositions")
  15383. (description
  15384. "This package provides a @code{Dec} type for representing deciable
  15385. relations.
  15386. @example
  15387. type Neg a = a -> Void
  15388. data Dec a
  15389. = Yes a
  15390. | No (Neg a)
  15391. @end example")
  15392. (license license:bsd-3)))
  15393. (define-public ghc-singleton-bool
  15394. (package
  15395. (name "ghc-singleton-bool")
  15396. (version "0.1.5")
  15397. (source
  15398. (origin
  15399. (method url-fetch)
  15400. (uri (string-append
  15401. "https://hackage.haskell.org/package/singleton-bool/singleton-bool-"
  15402. version
  15403. ".tar.gz"))
  15404. (sha256
  15405. (base32 "17w9vv6arn7vvc7kykqcx81q2364ji43khrryl27r1cjx9yxapa0"))))
  15406. (build-system haskell-build-system)
  15407. (inputs (list ghc-dec))
  15408. (arguments
  15409. `(#:cabal-revision
  15410. ("3" "11rhzpy4xiry39bbxzwrqff75f0f4g7z0vkr3v9l8rv3w40jlf7x")))
  15411. (home-page "https://github.com/phadej/singleton-bool")
  15412. (synopsis "Type-level booleans")
  15413. (description
  15414. "This package provides Type-level booleans.")
  15415. (license license:bsd-3)))