123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543 |
- ;;; GNU Guix --- Functional package management for GNU
- ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
- ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
- ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
- ;;; Copyright © 2014, 2016, 2020 Eric Bavier <bavier@posteo.net>
- ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
- ;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
- ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
- ;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
- ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
- ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
- ;;; Copyright © 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
- ;;; Copyright © 2015 David Thompson <davet@gnu.org>
- ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
- ;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
- ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
- ;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
- ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
- ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
- ;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
- ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
- ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
- ;;; Copyright © 2016 David Craven <david@craven.ch>
- ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
- ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
- ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
- ;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
- ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
- ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
- ;;; Copyright © 2017, 2020 Brendan Tildesley <mail@brendan.scot>
- ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
- ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
- ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
- ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
- ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
- ;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
- ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
- ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
- ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
- ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
- ;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
- ;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
- ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
- ;;; Copyright © 2019 David Wilson <david@daviwil.com>
- ;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
- ;;; Copyright © 2019, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
- ;;; Copyright © 2019, 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
- ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
- ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
- ;;; Copyright © 2020 raingloom <raingloom@riseup.net>
- ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
- ;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
- ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
- ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
- ;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
- ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
- ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
- ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
- ;;; Copyright © 2020, 2021 Andy Tai <atai@atai.org>
- ;;; Copyright © 2020, 2021 Sébastien Lerique <sl@eauchat.org>
- ;;; Copyright © 2021 Trevor Hass <thass@okstate.edu>
- ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
- ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
- ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
- ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
- ;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
- ;;;
- ;;; This file is part of GNU Guix.
- ;;;
- ;;; GNU Guix is free software; you can redistribute it and/or modify it
- ;;; under the terms of the GNU General Public License as published by
- ;;; the Free Software Foundation; either version 3 of the License, or (at
- ;;; your option) any later version.
- ;;;
- ;;; GNU Guix is distributed in the hope that it will be useful, but
- ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
- ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ;;; GNU General Public License for more details.
- ;;;
- ;;; You should have received a copy of the GNU General Public License
- ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
- (define-module (gnu packages gnome)
- #:use-module (gnu packages)
- #:use-module (gnu packages admin)
- #:use-module (gnu packages aidc)
- #:use-module (gnu packages aspell)
- #:use-module (gnu packages autotools)
- #:use-module (gnu packages avahi)
- #:use-module (gnu packages backup)
- #:use-module (gnu packages base)
- #:use-module (gnu packages bash)
- #:use-module (gnu packages bison)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages build-tools)
- #:use-module (gnu packages calendar)
- #:use-module (gnu packages cdrom)
- #:use-module (gnu packages check)
- #:use-module (gnu packages cmake)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages crates-io)
- #:use-module (gnu packages crates-graphics)
- #:use-module (gnu packages crates-gtk)
- #:use-module (gnu packages cups)
- #:use-module (gnu packages curl)
- #:use-module (gnu packages cyrus-sasl)
- #:use-module (gnu packages databases)
- #:use-module (gnu packages dbm)
- #:use-module (gnu packages djvu)
- #:use-module (gnu packages dns)
- #:use-module (gnu packages docbook)
- #:use-module (gnu packages documentation)
- #:use-module (gnu packages enchant)
- #:use-module (gnu packages flex)
- #:use-module (gnu packages fonts)
- #:use-module (gnu packages file-systems)
- #:use-module (gnu packages fontutils)
- #:use-module (gnu packages freedesktop)
- #:use-module (gnu packages game-development)
- #:use-module (gnu packages gcc)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages ghostscript)
- #:use-module (gnu packages gimp)
- #:use-module (gnu packages gl)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages gnupg)
- #:use-module (gnu packages gnuzilla)
- #:use-module (gnu packages geo)
- #:use-module (gnu packages gperf)
- #:use-module (gnu packages graphviz)
- #:use-module (gnu packages gstreamer)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages guile)
- #:use-module (gnu packages haskell-xyz)
- #:use-module (gnu packages ibus)
- #:use-module (gnu packages icu4c)
- #:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
- #:use-module (gnu packages inkscape)
- #:use-module (gnu packages iso-codes)
- #:use-module (gnu packages kerberos)
- #:use-module (gnu packages libcanberra)
- #:use-module (gnu packages libffi)
- #:use-module (gnu packages libunistring)
- #:use-module (gnu packages libunwind)
- #:use-module (gnu packages libusb)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages lirc)
- #:use-module (gnu packages lua)
- #:use-module (gnu packages mail)
- #:use-module (gnu packages man)
- #:use-module (gnu packages mp3)
- #:use-module (gnu packages multiprecision)
- #:use-module (gnu packages music)
- #:use-module (gnu packages ncurses)
- #:use-module (gnu packages nettle)
- #:use-module (gnu packages networking)
- #:use-module (gnu packages ninja)
- #:use-module (gnu packages node)
- #:use-module (gnu packages nss)
- #:use-module (gnu packages ocr)
- #:use-module (gnu packages openldap)
- #:use-module (gnu packages package-management)
- #:use-module (gnu packages password-utils)
- #:use-module (gnu packages pcre)
- #:use-module (gnu packages pdf)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages photo)
- #:use-module (gnu packages php)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages polkit)
- #:use-module (gnu packages popt)
- #:use-module (gnu packages pretty-print)
- #:use-module (gnu packages protobuf)
- #:use-module (gnu packages pulseaudio)
- #:use-module (gnu packages python)
- #:use-module (gnu packages python-compression)
- #:use-module (gnu packages python-crypto)
- #:use-module (gnu packages python-web)
- #:use-module (gnu packages python-xyz)
- #:use-module (gnu packages rdesktop)
- #:use-module (gnu packages rdf)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages ruby)
- #:use-module (gnu packages rust)
- #:use-module (gnu packages samba)
- #:use-module (gnu packages scanner)
- #:use-module (gnu packages sdl)
- #:use-module (gnu packages search)
- #:use-module (gnu packages selinux)
- #:use-module (gnu packages slang)
- #:use-module (gnu packages speech)
- #:use-module (gnu packages spice)
- #:use-module (gnu packages sqlite)
- #:use-module (gnu packages ssh)
- #:use-module (gnu packages swig)
- #:use-module (gnu packages tex)
- #:use-module (gnu packages time)
- #:use-module (gnu packages tls)
- #:use-module (gnu packages valgrind)
- #:use-module (gnu packages version-control)
- #:use-module (gnu packages video)
- #:use-module (gnu packages virtualization)
- #:use-module (gnu packages vpn)
- #:use-module (gnu packages web)
- #:use-module (gnu packages webkit)
- #:use-module (gnu packages xdisorg)
- #:use-module (gnu packages xiph)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages xorg)
- #:use-module (gnu artwork)
- #:use-module (guix build-system cargo)
- #:use-module (guix build-system cmake)
- #:use-module (guix build-system glib-or-gtk)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system meson)
- #:use-module (guix build-system python)
- #:use-module (guix build-system trivial)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix utils)
- #:use-module (guix gexp)
- #:use-module (ice-9 match)
- #:use-module (srfi srfi-1))
- (define-public gupnp-igd
- (package
- (name "gupnp-igd")
- (version "1.2.0")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1q9bw12ibih3yxpha3gm1dabyqg9gx6yxacbh4kxsgm1i84j0lab"))))
- (build-system meson-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:glib-or-gtk? #t ; To wrap binaries and compile schemas
- #:configure-flags (list "-Dgtk_doc=true")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc"
- (substitute* "gupnp-igd-docs.xml"
- (("http://www.oasis-open.org/docbook/xml/4.1.2/")
- (string-append (assoc-ref inputs "docbook-xml-4.1.2")
- "/xml/dtd/docbook/"))))
- #t))
- (add-after 'install 'move-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (mkdir-p (string-append doc "/share"))
- (rename-file
- (string-append out "/share/gtk-doc")
- (string-append doc "/share/gtk-doc"))
- #t))))))
- (native-inputs
- `(("docbook-xml-4.1.2" ,docbook-xml-4.1.2)
- ("docbook-xsl" ,docbook-xsl)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib)
- ("glib-networking" ,glib-networking)
- ("gssdp" ,gssdp)
- ("gupnp" ,gupnp)
- ("libsoup" ,libsoup)))
- (synopsis "UPnP IGD for GNOME")
- (description "GUPnP-IGD is a library to handle UPnP IGD port mapping.")
- (home-page "https://gitlab.gnome.org/GNOME/gupnp-igd")
- (license license:lgpl2.1+)))
- (define-public brasero
- (package
- (name "brasero")
- (version "3.12.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/brasero/"
- (version-major+minor version) "/"
- "brasero-" version ".tar.xz"))
- (sha256
- (base32
- "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:configure-flags (list
- (string-append "--with-girdir="
- (assoc-ref %outputs "out")
- "/share/gir-1.0")
- (string-append "--with-typelibdir="
- (assoc-ref %outputs "out")
- "/lib/girepository-1.0"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'embed-growisofs
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "plugins/growisofs/burn-growisofs.c"
- (("\"growisofs") (string-append "\"" (which "growisofs"))))
- #t)))))
- (propagated-inputs
- `(("hicolor-icon-theme" ,hicolor-icon-theme)))
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("glib" ,glib "bin") ; glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("dvd+rw-tools" ,dvd+rw-tools)
- ("glib" ,glib)
- ("gnome-doc-utils" ,gnome-doc-utils)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gtk+" ,gtk+)
- ("libcanberra" ,libcanberra)
- ("libice" ,libice)
- ("libnotify" ,libnotify)
- ("libsm" ,libsm)
- ("libxml2" ,libxml2)
- ("totem-pl-parser" ,totem-pl-parser)))
- (home-page "https://wiki.gnome.org/Apps/Brasero")
- (synopsis "CD/DVD burning tool for Gnome")
- (description "Brasero is an application to burn CD/DVD for the Gnome
- Desktop. It is designed to be as simple as possible and has some unique
- features to enable users to create their discs easily and quickly.")
- (license license:gpl2+)))
- (define-public libcloudproviders
- (package
- (name "libcloudproviders")
- (version "0.3.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0aars24myf6n8b8hm1n12hsgcm54097kpbpm4ba31zp1l4y22qs7"))))
- (build-system meson-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
- #:configure-flags
- (list
- "-Denable-gtk-doc=true")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'move-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (mkdir-p (string-append doc "/share"))
- (rename-file
- (string-append out "/share/gtk-doc")
- (string-append doc "/share/gtk-doc"))
- #t))))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("glib" ,glib)
- ("glib-networking" ,glib-networking)))
- (synopsis "Cloudproviders Integration API")
- (description "Libcloudproviders is a DBus API that allows cloud storage sync
- clients to expose their services. Clients such as file managers and desktop
- environments can then provide integrated access to the cloud providers
- services.")
- (home-page "https://csorianognome.wordpress.com/2015/07/07/cloud-providers/")
- (license license:lgpl3+)))
- (define-public libgrss
- (package
- (name "libgrss")
- (version "0.7.0")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7"))
- (patches
- (search-patches "libgrss-CVE-2016-2001.patch"))))
- (build-system glib-or-gtk-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:configure-flags
- (list
- "--enable-gtk-doc"
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc/reference"
- (substitute* "libgrss-docs.sgml"
- (("http://www.oasis-open.org/docbook/xml/4.1.2/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t)))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.1.2)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)))
- (synopsis "Glib library for feeds")
- (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom,
- and other formats.")
- (home-page "https://wiki.gnome.org/Projects/Libgrss")
- (license license:lgpl3+)))
- (define-public gnome-js-common
- (package
- (name "gnome-js-common")
- (version "0.1.2")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.gz"))
- (sha256
- (base32 "1zv5b9bcbclzj64xd9kgql4ndmbwvvi6cl937ykw8fp21xgh8z7y"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:configure-flags
- (list
- "--disable-static")))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (synopsis "Common JS Modules")
- (description "GNOME-JS-Common provides common modules for GNOME JavaScript
- bindings.")
- (home-page "https://wiki.gnome.org/Projects/Seed")
- (license license:gpl3+)))
- (define-public seed
- (package
- (name "seed")
- (version "3.8.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0cmcxaggcdcy13j27gy8id2qsf2p2sl4bz2mwb9zhv3gzavlvjw0"))
- (patches
- (search-patches "seed-webkit.patch"))))
- (build-system glib-or-gtk-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:configure-flags
- (list
- "--disable-static"
- "--enable-xorg-module"
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html")
- "--with-webkit=4.0")
- #:phases
- (modify-phases %standard-phases
- ;; The seed-webkit.patch patches configure.ac.
- ;; So the source files need to be re-bootstrapped.
- (add-after 'unpack 'trigger-bootstrap
- (lambda _
- (for-each delete-file
- (list
- "configure"
- "Makefile.in"))
- #t))
- (add-after 'unpack 'patch-tests
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* (find-files "." "\\.js$")
- (("#!/usr/bin/env seed")
- (string-append "#!" (getcwd) "/src/seed")))
- #t))
- (add-before 'build 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc"
- (substitute* '("reference/seed-docs.sgml" "modules/book.xml")
- (("http://www.oasis-open.org/docbook/xml/4.1.2/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t)))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("docbook-xml" ,docbook-xml-4.1.2)
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("cairo" ,cairo)
- ("dbus" ,dbus)
- ("dbus-glib" ,dbus-glib)
- ("gnome-js-common" ,gnome-js-common)
- ("gtk+" ,gtk+)
- ("gtk+-2" ,gtk+-2)
- ("libffi" ,libffi)
- ("libxml2" ,libxml2)
- ("mpfr" ,mpfr)
- ("readline" ,readline)
- ("sqlite" ,sqlite)
- ("xscrnsaver" ,libxscrnsaver)))
- (propagated-inputs
- `(("glib" ,glib)
- ("webkit" ,webkitgtk)))
- (synopsis "GObject JavaScriptCore bridge")
- (description "Seed is a library and interpreter, dynamically bridging
- (through GObjectIntrospection) the WebKit JavaScriptCore engine, with the
- GNOME platform. It serves as something which enables you to write standalone
- applications in JavaScript, or easily enable your application to be extensible
- in JavaScript.")
- (home-page "https://wiki.gnome.org/Projects/Seed")
- (license license:lgpl2.0+)))
- (define-public libdmapsharing
- (package
- (name "libdmapsharing")
- (version "3.9.10")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://www.flyn.org/projects/"
- name "/" name "-" version ".tar.gz"))
- (sha256
- (base32 "152hnddwxv590cn802awv3mn27ixc3s6ac691a7z02d1c5fl45p2"))))
- (build-system glib-or-gtk-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:tests? #f ; Tests require networking.
- #:configure-flags
- (list
- "--disable-static"
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc"
- (substitute* "libdmapsharing-4.0-docs.xml"
- (("http://www.oasis-open.org/docbook/xml/4.3/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t)))))
- (native-inputs
- `(("check" ,check)
- ("docbook-xml" ,docbook-xml-4.3)
- ("gobject-introspection" ,gobject-introspection)
- ("pedansee" ,pedansee)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("avahi" ,avahi)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("gee" ,libgee)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gtk+" ,gtk+)))
- (propagated-inputs
- `(("glib" ,glib)
- ("glib-networking" ,glib-networking)
- ("gstreamer" ,gstreamer)
- ("libsoup" ,libsoup)))
- (synopsis "Media management library")
- (description "Libdmapsharing is a library which allows programs to access,
- share and control the playback of media content using DMAP (DAAP, DPAP & DACP).
- It is written in C using GObject and libsoup.")
- (home-page "https://launchpad.net/gtx")
- (license license:lgpl2.1+)))
- (define-public gtx
- (package
- (name "gtx")
- (version "0.2.2")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://launchpad.net/gtx/trunk/"
- version "/+download/gtx-" version ".tar.gz"))
- (sha256
- (base32 "0i4zvn5v4rf0cw3fxylk6j2pyy5lkrswdiw8jdxkys0ph0nan33n"))))
- (build-system glib-or-gtk-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:configure-flags
- (list
- "--disable-static"
- "--enable-gtk-doc"
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))))
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib)))
- (synopsis "GLib Testing Framework")
- (description "GTX is a small collection of convenience functions intended to
- enhance the GLib testing framework. With specific emphasis on easing the pain
- of writing test cases for asynchronous interactions.")
- (home-page "https://launchpad.net/gtx")
- (license license:lgpl2.1+)))
- (define-public dee
- (package
- (name "dee")
- (version "1.2.7")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://launchpad.net/dee/1.0/"
- version "/+download/dee-" version ".tar.gz"))
- (sha256
- (base32 "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v"))
- (patches
- (search-patches "dee-vapi.patch"))))
- (build-system glib-or-gtk-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:configure-flags
- (list
- "--disable-maintainer-flags"
- (string-append "--with-pygi-overrides-dir="
- (assoc-ref %outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages/gi/overrides")
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc/reference/dee-1.0"
- (substitute* "dee-1.0-docs.sgml"
- (("http://www.oasis-open.org/docbook/xml/4.3/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t))
- (add-after 'patch-docbook-xml 'disable-failing-tests
- (lambda _
- (substitute* "tests/test-icu.c"
- (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,")
- "")
- (("setup, test_ascii_folder, teardown\\);")
- ""))
- #t))
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a running dbus-daemon.
- (system "dbus-daemon &")
- ;; For missing '/etc/machine-id'.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- #t)))))
- (native-inputs
- `(("dbus" ,dbus)
- ("dbus-test-runner" ,dbus-test-runner)
- ("docbook-xml" ,docbook-xml-4.3)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ;; Would only be required by configure flag "--enable-extended-tests".
- ;("gtx" ,gtx)
- ("pkg-config" ,pkg-config)
- ("pygobject" ,python-pygobject)
- ("python" ,python-wrapper)
- ("vala" ,vala)))
- (inputs
- `(("icu" ,icu4c)))
- (propagated-inputs
- `(("glib" ,glib)))
- (synopsis "Model to synchronize multiple instances over DBus")
- (description "Dee is a library that uses DBus to provide objects allowing
- you to create Model-View-Controller type programs across DBus. It also consists
- of utility objects which extend DBus allowing for peer-to-peer discoverability
- of known objects without needing a central registrar.")
- (home-page "https://launchpad.net/dee")
- (license
- ;; Dual-licensed
- (list
- license:lgpl3+
- license:gpl3+))))
- (define-public zeitgeist
- (package
- (name "zeitgeist")
- (version "1.0.3")
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://gitlab.freedesktop.org/zeitgeist/zeitgeist.git")
- (commit
- (string-append "v" version))))
- (file-name
- (git-file-name name version))
- (sha256
- (base32 "0y6fyzxl5np4yskcxibd0p03h619w9ir907nhf40h02y0pk1kgkp"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:configure-flags
- (list
- "--enable-explain-queries"
- "--enable-fts"
- "--enable-docs")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc/libzeitgeist"
- (substitute* "zeitgeist-gtkdoc-index.sgml"
- (("http://www.oasis-open.org/docbook/xml/4.3/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t))
- (add-after 'patch-docbook-xml 'disable-failing-tests
- (lambda _
- (substitute* "test/direct/Makefile.am"
- ((" log-test ")
- ""))
- (substitute* "test/c/Makefile.am"
- ((" test-log ")
- ""))
- #t))
- (add-before 'bootstrap 'remove-autogen-script
- (lambda _
- ;; To honor `autoreconf -vif` by build-system.
- (delete-file "autogen.sh")
- #t)))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("docbook-xml" ,docbook-xml-4.3)
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xorg-server-for-tests" ,xorg-server-for-tests)))
- (inputs
- `(("dee-icu" ,dee)
- ("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("sqlite" ,sqlite)
- ("telepathy-glib" ,telepathy-glib)
- ("python" ,python-wrapper)
- ("python-rdflib" ,python-rdflib)
- ("xapian-config" ,xapian)))
- (propagated-inputs
- `(("glib" ,glib)))
- (synopsis "Desktop Activity Logging")
- (description "Zeitgeist is a service which logs the users’s activities and
- events, anywhere from files opened to websites visited and conversations. It
- makes this information readily available for other applications to use. It is
- able to establish relationships between items based on similarity and usage
- patterns.")
- (home-page "https://zeitgeist.freedesktop.org/")
- (license
- ;; Dual-licensed
- (list
- license:lgpl2.1+
- license:gpl2+))))
- (define-public gnome-recipes
- (package
- (name "gnome-recipes")
- (version "2.0.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/recipes")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1h049mzqnlcfqwrhmzbq3pzzdglvy2bn9fj1p8wql7a60pn8sr32"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t))
- (add-after 'unpack 'unpack-libgd
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((libgd (assoc-ref inputs "libgd")))
- (copy-recursively libgd "subprojects/libgd")
- #t))))))
- (inputs
- `(("glib" ,glib)
- ("gnome-autoar" ,gnome-autoar)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("libcanberra" ,libcanberra)
- ("libsoup" ,libsoup)
- ("rest" ,rest)))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("itstool" ,itstool)
- ("libgd"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/libgd")
- (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
- (file-name (git-file-name "libgd" version))
- (sha256
- (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
- ("pkg-config" ,pkg-config)))
- (home-page "https://wiki.gnome.org/Apps/Recipes")
- (synopsis "Discover recipes for preparing food")
- (description "GNOME Recipes helps you discover what to cook today,
- tomorrow, the rest of the week and for special occasions.")
- (license license:gpl3+)))
- (define-public gnome-photos
- (package
- (name "gnome-photos")
- (version "40.0")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- (list "-Ddogtail=false" ; Not available
- ;; Required for RUNPATH validation.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib/gnome-photos"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-gnome-photos
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let*
- ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/gnome-photos")
- `("GRL_PLUGIN_PATH" =
- (,(getenv "GRL_PLUGIN_PATH"))))))))))
- (native-inputs
- `(("dbus" ,dbus)
- ("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("git" ,git-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+:bin" ,gtk+ "bin")
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("babl" ,babl)
- ("cairo" ,cairo)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("gegl" ,gegl)
- ("geocode-glib" ,geocode-glib)
- ("gexiv2" ,gexiv2)
- ("gnome-online-accounts" ,gnome-online-accounts)
- ("gnome-online-miners" ,gnome-online-miners)
- ("grilo" ,grilo)
- ("grilo-plugins" ,grilo-plugins)
- ("gtk+" ,gtk+)
- ("libdazzle" ,libdazzle)
- ("libgdata" ,libgdata)
- ("libgfbgraph" ,gfbgraph)
- ("libhandy" ,libhandy)
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("librest" ,rest)
- ("pygobject" ,python-pygobject)
- ("tracker" ,tracker)
- ("tracker-miners" ,tracker-miners)))
- (synopsis "Access, organize and share your photos on GNOME desktop")
- (description "GNOME Photos is a simple and elegant replacement for using a
- file manager to deal with photos. Enhance, crop and edit in a snap. Seamless
- cloud integration is offered through GNOME Online Accounts.")
- (home-page "https://wiki.gnome.org/Apps/Photos")
- (license license:gpl3+)))
- (define-public gnome-music
- (package
- (name "gnome-music")
- (version "40.1.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0lcdal4qdhclr8961p57xf010y92l6wwmkw86lyi9wy224z6gjr0"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-gnome-music
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let*
- ((out (assoc-ref outputs "out"))
- (pylib (string-append out "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program (string-append out "/bin/gnome-music")
- `("GI_TYPELIB_PATH" =
- (,(getenv "GI_TYPELIB_PATH")))
- `("GST_PLUGIN_SYSTEM_PATH" =
- (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
- `("GRL_PLUGIN_PATH" =
- (,(getenv "GRL_PLUGIN_PATH")))
- `("GUIX_PYTHONPATH" =
- (,(getenv "GUIX_PYTHONPATH") ,pylib)))))))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("itstools" ,itstool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("grilo" ,grilo)
- ("grilo-plugins" ,grilo-plugins)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gstreamer" ,gstreamer)
- ("gvfs" ,gvfs)
- ("json-glib" ,json-glib)
- ("libdazzle" ,libdazzle)
- ("libmediaart" ,libmediaart)
- ("libsoup" ,libsoup)
- ("pycairo" ,python-pycairo)
- ("pygobject" ,python-pygobject)
- ("tracker" ,tracker)
- ("tracker-miners" ,tracker-miners)))
- (synopsis "Simple music player for GNOME desktop")
- (description "GNOME Music is the new GNOME music playing application that
- aims to combine an elegant and immersive browsing experience with simple
- and straightforward controls.")
- (home-page "https://wiki.gnome.org/Apps/Music")
- (license license:gpl2+)))
- (define-public portablexdr
- (package
- (name "portablexdr")
- (version "4.9.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://people.redhat.com/~rjones/" name "/files/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
- (build-system gnu-build-system)
- (synopsis "External Data Representation Library")
- (description "PortableXDR is an implementation of External Data
- Representation (XDR) Library. It is a standard data serialization format, for
- uses such as computer network protocols. It allows data to be transferred
- between different kinds of computer systems.")
- (home-page "https://people.redhat.com/~rjones/portablexdr/")
- (license
- (list
- license:gpl2+
- license:lgpl2.1+))))
- (define-public tepl
- (package
- (name "tepl")
- (version "6.00.0")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0qvs7s86gqyyrzi0r5fbrj8zczlgv8xhdjswgbgc1afwjnl9fqx8"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:tests? #f)) ; FIX-ME: Requires gvfs
- (native-inputs
- `(("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("amtk" ,amtk)
- ("glib" ,glib)
- ("gtk+" ,gtk+)
- ("gtksourceview" ,gtksourceview)
- ("libxml2" ,libxml2)
- ("uchardet" ,uchardet)))
- (synopsis "Text editor product line")
- (description "Tepl is a library that eases the development of
- GtkSourceView-based text editors and IDEs.")
- (home-page "https://wiki.gnome.org/Projects/Tepl")
- (license license:lgpl2.1+)))
- (define-public tepl-5
- (package
- (inherit tepl)
- (name "tepl")
- (version "5.0.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0118j64s4fb350phbgda2rk6sv19rfgglxc7nf248llzc1klj9xi"))))))
- (define-public krb5-auth-dialog
- (package
- (name "krb5-auth-dialog")
- (version "3.26.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1w91gsvmifqhiam3xqf88i5rk2w6qadjalmbvvamjdc37j0vdc6x"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("libxml2" ,libxml2)
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("libnotify" ,libnotify)
- ("mit-krb5" ,mit-krb5)
- ("network-manager" ,network-manager)))
- (synopsis "Popup dialogs for Kerberos 5")
- (description "krb5-auth-dialog is a simple dialog that monitors Kerberos
- tickets, and pops up a dialog when they are about to expire.")
- (home-page "https://gitlab.gnome.org/GNOME/krb5-auth-dialog")
- (license license:gpl2+)))
- (define-public notification-daemon
- (package
- (name "notification-daemon")
- (version "3.20.0")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("x11" ,libx11)))
- (synopsis "Notification Daemon for GNOME Desktop")
- (description "Notification-Daemon is the server implementation of the
- freedesktop.org desktop notification specification.")
- (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
- (license license:gpl2+)))
- (define-public mm-common
- (package
- (name "mm-common")
- (version "1.0.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/mm-common/"
- (version-major+minor version) "/"
- "mm-common-" version ".tar.xz"))
- (sha256
- (base32
- "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "util/mm-common-prepare.in"
- (("ln") (search-input-file inputs "/bin/ln"))
- (("cp") (search-input-file inputs "/bin/cp"))
- (("sed") (search-input-file inputs "/bin/sed"))
- (("cat") (search-input-file inputs "/bin/cat"))))))))
- (native-inputs
- `(("coreutils" ,coreutils)
- ("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("sed" ,sed)))
- (inputs
- `(("python" ,python)))
- (synopsis "Module of GNOME C++ bindings")
- (description "The mm-common module provides the build infrastructure
- and utilities shared among the GNOME C++ binding libraries. Release
- archives of mm-common include the Doxygen tag file for the GNU C++
- Library reference documentation.")
- (home-page "https://gitlab.gnome.org/GNOME/mm-common")
- (license license:gpl2+)))
- (define-public phodav
- (package
- (name "phodav")
- (version "2.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "045rdzf8isqmzix12lkz6z073b5qvcqq6ad028advm5gf36skw3i"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-udev-rules-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (rules (string-append out "/lib/udev/rules.d")))
- (substitute* "data/meson.build"
- (("udev\\.get_pkgconfig_variable\\('udevdir'\\)")
- (format #f "'~a'" rules))))))
- (add-before 'check 'start-virtual-dir-server
- ;; The same server when started by tests/virtual-dir returns an
- ;; unexpected status (4 instead of 200) and fails a test. It is
- ;; unclear why starting it manually here makes it pass.
- (lambda _
- (system "tests/virtual-dir-server &"))))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.3)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("avahi" ,avahi)
- ("libgudev" ,libgudev)
- ("libsoup" ,libsoup)))
- (synopsis "WebDav server implementation using libsoup")
- (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
- but it is generic enough to be reused in other projects,
- in particular in the GNOME desktop.")
- (home-page "https://wiki.gnome.org/phodav")
- (license license:lgpl2.1+)))
- (define-public gnome-color-manager
- (package
- (name "gnome-color-manager")
- (version "3.36.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0fxdng74d8hwhfx1nwl1i4jx9h9f6c2hkyc12f01kqbjcimrxnwx"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gtk+:bin" ,gtk+ "bin")
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("adwaita-icon-theme" ,adwaita-icon-theme)
- ("appstream-glib" ,appstream-glib)
- ("colord-gtk" ,colord-gtk)
- ("exiv2" ,exiv2)
- ("gnome-desktop" ,gnome-desktop)
- ("libcanberra" ,libcanberra)
- ("libexif" ,libexif)
- ("libtiff" ,libtiff)
- ("libxrandr" ,libxrandr)
- ("libxtst" ,libxtst)
- ("libxxf86vm" ,libxxf86vm)
- ("vte" ,vte)
- ("xorgproto" ,xorgproto)))
- (synopsis "Color profile manager for the GNOME desktop")
- (description "GNOME Color Manager is a session framework that makes
- it easy to manage, install and generate color profiles
- in the GNOME desktop.")
- (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
- (license license:gpl2+)))
- (define-public gnome-online-miners
- (package
- (name "gnome-online-miners")
- (version "3.34.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))
- (patches
- (search-patches
- "gnome-online-miners-tracker-3.patch"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-configure
- (lambda _
- (substitute* "configure.ac"
- (("AX_CHECK_ENABLE_DEBUG.*")
- ""))))
- (add-after 'fix-configure 'autoreconf
- (lambda _
- (invoke "autoreconf" "-vif"))))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gnome-online-accounts" ,gnome-online-accounts)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("grilo" ,grilo)
- ("libgdata" ,libgdata)
- ("libgfbgraph" ,gfbgraph)
- ("libzapojit" ,libzapojit)
- ("rest" ,rest)
- ("tracker" ,tracker)))
- (synopsis "Web Crawlers for GNOME")
- (description "GNOME Online Miners provides a set of crawlers that
- go through your online content and index them locally in Tracker.
- It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
- (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
- (license license:gpl2+)))
- (define-public gssdp
- (package
- (name "gssdp")
- (version "1.2.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libsoup" ,libsoup)))
- (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
- Protocol} for GNOME")
- (description "This package provides a library to handle resource discovery
- and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
- a debugging tool, @command{gssdp-device-sniffer}.")
- (home-page "https://gitlab.gnome.org/GNOME/gssdp")
- (license license:lgpl2.0+)))
- (define-public gupnp
- (package
- (name "gupnp")
- (version "1.2.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a writable HOME.
- (setenv "HOME" (getcwd)))))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("gssdp" ,gssdp)
- ("gtk+" ,gtk+)
- ("libsoup" ,libsoup)))
- (propagated-inputs
- `(;; For ‘org.gnome.system.proxy’.
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
- (synopsis "PnP API for GNOME")
- (description "This package provides GUPnP, an object-oriented framework
- for creating UPnP devices and control points, written in C using
- @code{GObject} and @code{libsoup}.")
- (home-page "https://gitlab.gnome.org/GNOME/gupnp")
- (license license:lgpl2.0+)))
- (define-public gupnp-dlna
- (package
- (name "gupnp-dlna")
- (version "0.10.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("libxml" ,libxml2)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("gstreamer" ,gstreamer)
- ("gupnp" ,gupnp)))
- (propagated-inputs
- `(("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)))
- (synopsis "GUPnP DLNA for GNOME")
- (description "This package provides a small utility library to
- support DLNA-related tasks such as media profile guessing, transcoding to a
- given profile, etc. DLNA is a subset of UPnP A/V.")
- (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
- (license license:lgpl2.0+)))
- (define-public gupnp-av
- (package
- (name "gupnp-av")
- (version "0.12.11")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("libxml" ,libxml2)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("gtk+" ,gtk+)
- ("gupnp" ,gupnp)))
- (synopsis "GUPnP A/V for GNOME")
- (description "This package provides a small library for handling
- and implementation of UPnP A/V profiles.")
- (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
- (license license:lgpl2.0+)))
- (define-public libmediaart
- (package
- (name "libmediaart")
- (version "1.9.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1mlw1qgj8nkd9ll6b6h54r1gfdy3zp8a8xqz7qfyfaj85jjgbph7"))))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gdk-pixbuf" ,gdk-pixbuf)
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:doc" ,gtk+ "doc")
- ("vala" ,vala)))
- (synopsis "Media art library for the GNOME desktop")
- (description
- "The libmediaart library is the foundation for media art caching,
- extraction, and lookup for applications on the desktop.")
- (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
- (license license:lgpl2.1+)))
- (define-public gnome-initial-setup
- (package
- (name "gnome-initial-setup")
- (version "40.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
- (version-major version)
- "/gnome-initial-setup-" version ".tar.xz"))
- (sha256
- (base32
- "06q3p4f8g9zr7a4mw3qr556mi0dg9qzrj8n46ybdz93fxs26aaj1"))))
- (build-system meson-build-system)
- (arguments
- '(#:configure-flags '(;; Enable camera support for user selfie.
- "-Dcheese=auto"
- "-Dsystemd=false")
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'set-gkbd-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Allow the "Preview" button in the keyboard layout
- ;; selection dialog to display the layout.
- (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
- (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
- (("\"gkbd-keyboard-display")
- (string-append "\"" libgnomekbd
- "/bin/gkbd-keyboard-display")))
- #t))))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("accountsservice" ,accountsservice)
- ;("adwaita-icon-theme" ,adwaita-icon-theme)
- ("elogind" ,elogind)
- ("gdm" ,gdm)
- ("geoclue" ,geoclue)
- ("gnome-desktop" ,gnome-desktop)
- ("gnome-online-accounts" ,gnome-online-accounts)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gstreamer" ,gstreamer)
- ("ibus" ,ibus)
- ("json-glib" ,json-glib)
- ("krb5" ,mit-krb5)
- ("libgweather" ,libgweather)
- ("libnma" ,libnma)
- ("libsecret" ,libsecret)
- ("network-manager" ,network-manager)
- ("packagekit" ,packagekit)
- ("polkit" ,polkit)
- ("pwquality" ,libpwquality)
- ("rest" ,rest)
- ("upower" ,upower)
- ("webkitgtk" ,webkitgtk)
- ("libgnomekbd" ,libgnomekbd)))
- (synopsis "Initial setup wizard for GNOME desktop")
- (description "This package provides a set-up wizard when a
- user logs into GNOME for the first time. It typically provides a
- tour of all gnome components and allows the user to set them up.")
- (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
- (license license:gpl2)))
- (define-public gnome-user-share
- (package
- (name "gnome-user-share")
- (version "3.34.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- `("-Dsystemduserunitdir=/tmp/empty"
- ;; Enable nautilus extension for file sharing.
- "-Dnautilus_extension=true")))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)
- ("yelp-tools" ,yelp-tools)))
- (inputs
- `(("glib" ,glib)
- ("gnome-bluetooth" ,gnome-bluetooth)
- ("gtk+" ,gtk+)
- ("libcanberra" ,libcanberra)
- ("libnotify" ,libnotify)
- ("nautilus" ,nautilus))) ; For nautilus extension.
- (synopsis "File sharing for GNOME desktop")
- (description "GNOME User Share is a small package that binds together
- various free software projects to bring easy to use user-level file
- sharing to the masses.")
- (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
- (license license:gpl2+)))
- (define-public sushi
- (package
- (name "sushi")
- (version "3.38.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1sc8i0vrw6bn43rklnwp2fl1gq0r0xfd3bszcqxd0a2mh46d3rpk"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'glib-or-gtk-wrap 'wrap-typelib
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/sushi")))
- ;; Put existing typelibs before sushi's deps, so as to
- ;; correctly infer gdk-pixbuf.
- (wrap-program prog
- `("GI_TYPELIB_PATH" suffix
- (,(getenv "GI_TYPELIB_PATH"))))))))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("clutter" ,clutter)
- ("clutter-gst" ,clutter-gst)
- ("clutter-gtk" ,clutter-gtk)
- ("evince" ,evince) ; For file previewing.
- ("freetype" ,freetype)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("gjs" ,gjs)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gstreamer" ,gstreamer)
- ("gtksourceview" ,gtksourceview)
- ("harfbuzz" ,harfbuzz)
- ("libepoxy" ,libepoxy)
- ("libmusicbrainz" ,libmusicbrainz)
- ("libxml2" ,libxml2)
- ("neon" ,neon)
- ("webkitgtk" ,webkitgtk)))
- (synopsis "File previewer for the GNOME desktop")
- (description "Sushi is a DBus-activated service that allows applications
- to preview files on the GNOME desktop.")
- (home-page "https://gitlab.gnome.org/GNOME/sushi")
- (license license:gpl2+)))
- (define-public rygel
- (package
- (name "rygel")
- (version "0.40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0bd3d2swa8lq47b9r04x8xwdr9nhjnrwqi6scygd134wb5vxfh22"))))
- (build-system meson-build-system)
- (arguments
- ;; Disable the tracker plugin.
- '(#:configure-flags
- (list "-Dplugins=external,gst-launch,lms,media-export,
- mpris,playbin,ruih,tracker3")))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("docbook-xml" ,docbook-xml)
- ("dockbook-xsl" ,docbook-xsl)
- ("xsltproc" ,libxslt)))
- (inputs
- `(("gdk-pixbuf" ,gdk-pixbuf)
- ("gssdp" ,gssdp)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-editing-services" ,gst-editing-services)
- ("gtk+" ,gtk+)
- ("gupnp" ,gupnp)
- ("gupnp-av" ,gupnp-av)
- ("gupnp-dlna" ,gupnp-dlna)
- ("json-glib" ,json-glib)
- ("libgee" ,libgee)
- ("libmediaart" ,libmediaart)
- ("libsoup" ,libsoup)
- ("libxslt" ,libxslt)
- ("libunistring" ,libunistring)
- ("tracker" ,tracker)))
- (synopsis "Share audio, video, and pictures with other devices")
- (description
- "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
- MediaRenderer}) for GNOME that allows you to easily share audio, video, and
- pictures, and to control a media player on your home network.
- Rygel achieves interoperability with other devices by trying to conform to the
- strict requirements of DLNA and by converting media on-the-fly to formats that
- client devices can handle.")
- (home-page "https://wiki.gnome.org/Projects/Rygel")
- (license (list
- ;; For logo (data/icons/*).
- license:cc-by-sa3.0
- ;; For all others.
- license:lgpl2.1+))))
- (define-public libnma
- (package
- (name "libnma")
- (version "1.8.28")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook")))
- (substitute* "libnma-docs.xml"
- (("http://.*/docbookx\\.dtd")
- (string-append xmldoc "/docbookx.dtd")))
- #t))))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.3)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gtk-doc" ,gtk-doc/stable)
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("gcr" ,gcr)
- ("gtk+" ,gtk+)
- ("iso-codes" ,iso-codes)
- ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
- ("network-manager" ,network-manager)))
- (synopsis "Network Manager's applet library")
- (description "Libnma is an applet library for Network Manager. It was
- initially part of network-manager-applet and has now become a separate
- project.")
- (home-page "https://gitlab.gnome.org/GNOME/libnma")
- ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
- ;; "LGPL-2.1+".
- (license license:gpl2+)))
- (define-public gnome-menus
- (package
- (name "gnome-menus")
- (version "3.36.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-menus/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "07xvaf8s0fiv0035nk8zpzymn5www76w2a1vflrgqmp9plw8yd6r"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib" ,glib)
- ("pkg-config" ,pkg-config)))
- (synopsis "Menu support for GNOME desktop")
- (description "GNOME Menus contains the libgnome-menu library, the layout
- configuration files for the GNOME menu, as well as a simple menu editor.")
- (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
- (license license:lgpl2.0+)))
- (define-public deja-dup
- (package
- (name "deja-dup")
- (version "40.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
- version "/deja-dup-" version ".tar.bz2"))
- (sha256
- (base32
- "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- (list
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib/deja-dup"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((python (assoc-ref inputs "python")))
- (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
- "libdeja/tests/scripts/instance-error.test")
- (("/bin/rm")
- (which "rm")))
- (substitute* "libdeja/tests/runner.vala"
- (("/bin/sh")
- (which "sh")))
- (substitute* "libdeja/tests/scripts/instance-error.test"
- (("`which python3`")
- (string-append python "/bin/python3"))))))
- (add-after 'unpack 'patch-libgpg-error
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
- (substitute* "meson.build"
- (("(gpgerror_libs = ).*" _ var)
- (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
- #t))
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "data/post-install.sh"
- (("gtk-update-icon-cache") "true"))
- #t)))))
- (inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("duplicity" ,duplicity)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)
- ("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("libnotify" ,libnotify)
- ("libgpg-error" ,libgpg-error)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
- ("packagekit" ,packagekit)))
- (native-inputs
- `(("appstream-glib" ,appstream-glib)
- ("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ; for glib-compile-schemas.
- ("gobject-introspection" ,gobject-introspection)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (home-page "https://wiki.gnome.org/Apps/DejaDup")
- (synopsis "Simple backup tool, for regular encrypted backups")
- (description
- "Déjà Dup is a simple backup tool, for regular encrypted backups. It
- uses duplicity as the backend, which supports incremental backups and storage
- either on a local, or remote machine via a number of methods.")
- (license license:gpl3+)))
- (define-public gnome-commander
- (package
- (name "gnome-commander")
- (version "1.12.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- "gnome-commander-" version ".tar.xz"))
- (sha256
- (base32 "0f7l2pkyh3r1qk4hhavl7387l3bq5my3snpdppiavcpnji28dpa5"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("googletest" ,googletest)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gconf" ,gconf)
- ("gnome-vfs" ,gnome-vfs)
- ("gtk+" ,gtk+-2)
- ("libxml2" ,libxml2)))
- (home-page "https://gcmd.github.io/")
- (synopsis "Two-pane graphical file manager for the GNOME desktop")
- (description
- "GNOME Commander is a two-pane graphical file manager using GNOME
- libraries. It aims to fulfill the demands of more advanced users who
- like to focus on file management, their work through special applications
- and running smart commands.")
- (license license:gpl2+)))
- (define-public gnome-user-docs
- (package
- (name "gnome-user-docs")
- (version "40.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
- (version-major version)
- "/gnome-user-docs-" version ".tar.xz"))
- (sha256
- (base32 "0p6ysdqlfc7vvzsrcanl9bhsc7666sv42xxzpbgsf5j55z3yrkpr"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (synopsis "User documentation for the GNOME desktop")
- (description
- "The GNOME User Documentation explains how to use the GNOME desktop and its
- components. It covers usage and setup of the core GNOME programs by end-users
- and system administrators.")
- (home-page "https://live.gnome.org/DocumentationProject")
- (license license:cc-by3.0)))
- (define-public dia
- ;; This version from GNOME's repository includes fixes for compiling with
- ;; recent versions of the build tools. The latest activity on the
- ;; pre-GNOME version has been in 2014, while GNOME has continued applying
- ;; fixes since.
- (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
- (revision "2"))
- (package
- (name "dia")
- (version (git-version "0.97.3" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/dia.git/")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
- (build-system meson-build-system)
- (inputs
- `(("graphene" ,graphene)
- ("gtk+" ,gtk+-2)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("poppler" ,poppler)
- ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
- ;; ERROR: Unknown method "dependency" in object.
- ("python-2" ,python-2)))
- (native-inputs
- `(("appstream-glib" ,appstream-glib)
- ("docbook-xsl" ,docbook-xsl)
- ("glib" ,glib "bin")
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (home-page "https://wiki.gnome.org/Apps/Dia")
- (synopsis "Diagram creation for GNOME")
- (description "Dia can be used to draw different types of diagrams, and
- includes support for UML static structure diagrams (class diagrams), entity
- relationship modeling, and network diagrams. The program supports various file
- formats like PNG, SVG, PDF and EPS.")
- (license license:gpl2+))))
- (define-public libgdata
- (package
- (name "libgdata")
- (version "0.18.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1iq4d1qy0vkmy29xvr13dgz4pxvn5v3yi2swryld0ajinvp951fx"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-home-for-tests
- (lambda _
- (setenv "HOME" "/tmp"))))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("uhttpmock" ,uhttpmock)))
- (inputs
- `(("cyrus-sasl" ,cyrus-sasl)
- ("glib-networking" ,glib-networking)
- ("vala" ,vala)))
- (propagated-inputs
- `(("gcr" ,gcr)
- ("glib" ,glib)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("json-glib" ,json-glib)
- ("liboauth" ,liboauth)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)))
- (home-page "https://wiki.gnome.org/Projects/libgdata")
- (synopsis "Library for accessing online service APIs")
- (description
- "libgdata is a GLib-based library for accessing online service APIs using
- the GData protocol — most notably, Google's services. It provides APIs to
- access the common Google services, and has full asynchronous support.")
- (license license:lgpl2.1+)))
- (define-public libgxps
- (package
- (name "libgxps")
- (version "0.3.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "07156nj7yrp3h9zyzx6mjwxwmfijialb4gi5d6dwyp53arr8c9vd"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libjpeg" ,libjpeg-turbo)
- ("lcms" ,lcms)
- ("libtiff" ,libtiff)))
- (propagated-inputs
- ;; In Requires of libgxps.pc.
- `(("cairo" ,cairo)
- ("glib" ,glib)
- ("libarchive" ,libarchive)))
- (home-page "https://wiki.gnome.org/Projects/libgxps")
- (synopsis "GObject-based library for handling and rendering XPS documents")
- (description
- "libgxps is a GObject-based library for handling and rendering XPS
- documents. This package also contains binaries that can convert XPS documents
- to other formats.")
- (license license:lgpl2.1+)))
- (define-public gnome-characters
- (package
- (name "gnome-characters")
- (version "40.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/"
- "gnome-characters/" (version-major version)
- "/gnome-characters-" version ".tar.xz"))
- (sha256
- (base32
- "0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases (modify-phases %standard-phases
- (add-after 'install 'wrap
- (lambda* (#:key outputs #:allow-other-keys)
- ;; GNOME Characters needs Typelib files from GTK and
- ;; gnome-desktop.
- (wrap-program (string-append (assoc-ref outputs "out")
- "/bin/gnome-characters")
- `("GI_TYPELIB_PATH" ":" prefix
- (,(getenv "GI_TYPELIB_PATH")))))))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)
- ("python" ,python-minimal)))
- (inputs
- `(("gjs" ,gjs)
- ("gtk+" ,gtk+)
- ("libhandy" ,libhandy)
- ("libunistring" ,libunistring)
- ("gnome-desktop" ,gnome-desktop)))
- (home-page "https://wiki.gnome.org/Apps/CharacterMap")
- (synopsis "Find and insert unusual characters")
- (description "Characters is a simple utility application to find
- and insert unusual characters. It allows you to quickly find the
- character you are looking for by searching for keywords.")
- (license license:bsd-3)))
- (define-public gnome-common
- (package
- (name "gnome-common")
- (version "3.18.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
- (build-system gnu-build-system)
- (home-page "https://www.gnome.org/")
- (synopsis "Bootstrap GNOME modules built from Git")
- (description "gnome-common contains various files needed to bootstrap
- GNOME modules built from Git. It contains a common \"autogen.sh\" script that
- can be used to configure a source directory checked out from Git and some
- commonly used macros.")
- (license license:gpl2+)))
- (define-public gnome-contacts
- (package
- (name "gnome-contacts")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-contacts/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0w2g5xhw65adzvwzakrj5kaim4sw1w7s8qqwm3nm6inq50znzpn9"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags '("-Dcheese=disabled")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'generate-vapis
- (lambda* (#:key inputs #:allow-other-keys)
- ;; To generate goa's missing .vapi file
- (define goa
- (assoc-ref inputs "gnome-online-accounts:lib"))
- (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
- "--library=goa-1.0"
- (string-append goa "/share/gir-1.0/Goa-1.0.gir"))))
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson_post_install.py"
- (("gtk-update-icon-cache") "true")))))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.2)
- ("docbook-xsl" ,docbook-xsl)
- ("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("docbook-xml" ,docbook-xml)
- ("dockbook-xsl" ,docbook-xsl)
- ("evolution-data-server" ,evolution-data-server)
- ("gettext" ,gettext-minimal)
- ("gnome-desktop" ,gnome-desktop)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gobject-introspection" ,gobject-introspection)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gtk+" ,gtk+)
- ("libgee" ,libgee)
- ("libhandy" ,libhandy)
- ("libxslt" ,libxslt)
- ("telepathy-glib" ,telepathy-glib)
- ("vala" ,vala)))
- (propagated-inputs
- `(("folks" ,folks)
- ("telepathy-mission-control" ,telepathy-mission-control)))
- (synopsis "GNOME's integrated address book")
- (description
- "GNOME Contacts organizes your contact information from online and
- offline sources, providing a centralized place for managing your contacts.")
- (home-page "https://wiki.gnome.org/Apps/Contacts")
- (license license:gpl2+)))
- (define-public gnome-desktop
- (package
- (name "gnome-desktop")
- (version "40.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1vs5knn2yj6a449p9bn5w5407i1yvxfxg8xv844qgl70hpsrdbl8"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((libc (assoc-ref inputs "libc")))
- (substitute* "libgnome-desktop/gnome-languages.c"
- (("\"locale\"")
- (string-append "\"" libc "/bin/locale\"")))
- #t)))
- (add-before 'configure 'patch-bubblewrap
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
- (("\"bwrap\",")
- (string-append "\"" (which "bwrap") "\","))
- (("\"--ro-bind\", \"/usr\", \"/usr\",")
- (string-append "\"--ro-bind\", \""
- (%store-directory)
- "\", \""
- (%store-directory)
- "\","))
- (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
- #t))
- (add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Tests require a running X server and locales.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
- (setenv "XDG_CONFIG_HOME" "/tmp")
- (setenv "GUIX_LOCPATH"
- (search-input-directory inputs
- "lib/locale")))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for gdbus-codegen
- ("glibc-locales" ,glibc-locales) ; for tests
- ("gobject-introspection" ,gobject-introspection)
- ("itstool" ,itstool)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)
- ("xorg-server" ,xorg-server-for-tests)))
- (propagated-inputs
- ;; Required by gnome-desktop-3.0.pc.
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("iso-codes" ,iso-codes)
- ("libseccomp" ,libseccomp)
- ("libx11" ,libx11)
- ("xkeyboard-config" ,xkeyboard-config)))
- (inputs
- `(("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)
- ("bubblewrap" ,bubblewrap)
- ("libxext" ,libxext)
- ("libxkbfile" ,libxkbfile)
- ("libxrandr" ,libxrandr)))
- (home-page "https://www.gnome.org/")
- (synopsis
- "Libgnome-desktop, gnome-about, and desktop-wide documents")
- (description
- "The libgnome-desktop library provides API shared by several applications
- on the desktop, but that cannot live in the platform for various reasons.
- There is no API or ABI guarantee, although we are doing our best to provide
- stability. Documentation for the API is available with gtk-doc.
- The gnome-about program helps find which version of GNOME is installed.")
- ; Some bits under the LGPL.
- (license license:gpl2+)))
- (define-public gnome-doc-utils
- (package
- (name "gnome-doc-utils")
- (version "0.20.10")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("intltool" ,intltool)
- ("docbook-xml" ,docbook-xml-4.4)
- ("python2-libxml2" ,python2-libxml2)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("pkg-config" ,pkg-config)
- ("python-2" ,python-2)))
- (home-page "https://wiki.gnome.org/GnomeDocUtils")
- (synopsis
- "Documentation utilities for the Gnome project")
- (description
- "Gnome-doc-utils is a collection of documentation utilities for the
- Gnome project. It includes xml2po tool which makes it easier to translate
- and keep up to date translations of documentation.")
- (license license:gpl2+))) ; xslt under lgpl
- (define-public gnome-disk-utility
- (package
- (name "gnome-disk-utility")
- (version "40.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1rr1ypb89p51b6428yqvczmpmylwjfnhnkgx78hzm3vxm3m15lff"))))
- (build-system meson-build-system)
- (arguments
- '(#:configure-flags '("-Dlogind=libelogind")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t)))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)))
- (inputs
- `(("elogind" ,elogind)
- ("glib" ,glib)
- ("appstream-glib" ,appstream-glib)
- ("gnome-settings-daemon" ,gnome-settings-daemon)
- ("gtk+" ,gtk+)
- ("libcanberra" ,libcanberra)
- ("libdvdread" ,libdvdread)
- ("libhandy" ,libhandy)
- ("libnotify" ,libnotify)
- ("libpwquality" ,libpwquality)
- ("libsecret" ,libsecret)
- ("udisks" ,udisks)))
- (home-page "https://git.gnome.org/browse/gnome-disk-utility")
- (synopsis "Disk management utility for GNOME")
- (description "Disk management utility for GNOME.")
- (license license:gpl2+)))
- (define-public gnome-font-viewer
- (package
- (name "gnome-font-viewer")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
- (version-major version)
- "/gnome-font-viewer-" version ".tar.xz"))
- (sha256
- (base32
- "0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-post-install-script
- (lambda _
- (substitute* "meson-postinstall.sh"
- (("update-desktop-database") (which "true")))
- #t))
- (add-after 'install 'patch-thumbnailer
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute*
- (string-append
- out
- "/share/thumbnailers/gnome-font-viewer.thumbnailer")
- (("gnome-thumbnail-font")
- (string-append out "/bin/gnome-thumbnail-font"))))
- #t)))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("gnome-desktop" ,gnome-desktop)
- ("gtk+" ,gtk+)
- ("libhandy" ,libhandy)
- ("libxml2" ,libxml2)))
- (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
- (synopsis "GNOME Fonts")
- (description "Application to show you the fonts installed on your computer
- for your use as thumbnails. Selecting any thumbnails shows the full view of how
- the font would look under various sizes.")
- (license license:gpl2+)))
- (define-public gcr
- (package
- (name "gcr")
- (version "3.34.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
- (build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- ;; These fail because /var/lib/dbus/machine-id is not present in the
- ;; build environment.
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- (substitute* "Makefile.in"
- (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
- ""))
- #t))
- (add-before 'check 'pre-check
- (lambda _
- ;; Some tests expect to write to $HOME.
- (setenv "HOME" "/tmp")
- #t)))))
- (inputs
- `(("dbus" ,dbus)
- ("gnupg" ,gnupg) ;called as a child process during tests
- ("libgcrypt" ,libgcrypt)))
- (native-inputs
- `(("python" ,python-wrapper) ;for tests
- ("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("libxml2" ,libxml2)
- ("vala" ,vala)
- ("xsltproc" ,libxslt)))
- ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
- (propagated-inputs
- `(("p11-kit" ,p11-kit)
- ("glib" ,glib)
- ("gtk+" ,gtk+)))
- (home-page "https://www.gnome.org")
- (synopsis "Libraries for displaying certificates and accessing key stores")
- (description
- "The GCR package contains libraries used for displaying certificates and
- accessing key stores. It also provides the viewer for crypto files on the
- GNOME Desktop.")
- (license license:lgpl2.1+)))
- (define-public gdl
- (package
- (name "gdl")
- (version "3.34.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/gdl.git")
- (commit (string-append "GDL_" (string-map (match-lambda
- (#\. #\_)
- (c c))
- version)))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("glib" ,glib "bin") ; for glib-genmarshal, etc.
- ("gnome-common" ,gnome-common)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("libtool" ,libtool)
- ("which" ,which)))
- (inputs
- `(("libxml2" ,libxml2)))
- (propagated-inputs
- ;; The gdl-3.0.pc file 'Requires' GTK+.
- `(("gtk+" ,gtk+)))
- (home-page "https://gitlab.gnome.org/GNOME/gdl/")
- (synopsis "GNOME docking library")
- (description "This library provides docking features for gtk+.")
- (license license:lgpl2.1+)))
- ;;; A minimal variant used to break a cycle with Inkscape.
- (define-public gdl-minimal
- (package/inherit gdl
- (name "gdl-minimal")
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-doc-generation
- ;; XXX: There is no easy way to disable generating the
- ;; documentation.
- (lambda _
- (substitute* "configure.in"
- (("GTK_DOC_CHECK.*") "")
- (("docs/.*") ""))
- (substitute* "Makefile.am"
- (("gdl docs po") "gdl po"))
- #t)))))
- (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
- (define-public libgnome-keyring
- (package
- (name "libgnome-keyring")
- (version "3.12.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
- (build-system gnu-build-system)
- (inputs
- `(("libgcrypt" ,libgcrypt)
- ("dbus" ,dbus)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")
- ("intltool" ,intltool)))
- (propagated-inputs
- ;; Referred to in .h files and .pc.
- `(("glib" ,glib)))
- (home-page "https://www.gnome.org")
- (synopsis "Accessing passwords from the GNOME keyring")
- (description
- "Client library to access passwords from the GNOME keyring.")
- ;; Though a couple of files are LGPLv2.1+.
- (license license:lgpl2.0+)))
- (define-public gnome-keyring
- (package
- (name "gnome-keyring")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0cdrlcw814zayhvlaxqs1sm9bqlfijlp22dzzd0g5zg2isq4vlm3"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
- ;not exist
- #:configure-flags
- (list
- (string-append "--with-pkcs11-config="
- (assoc-ref %outputs "out") "/share/p11-kit/modules/")
- (string-append "--with-pkcs11-modules="
- (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-/bin/sh-reference
- (lambda _
- (substitute* "po/Makefile.in.in"
- (("/bin/sh") (which "sh")))
- #t))
- (add-after 'unpack 'fix-docbook
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "docs/Makefile.am"
- (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)
- "/manpages/docbook.xsl")))
- (setenv "XML_CATALOG_FILES"
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/catalog.xml"))
- ;; Rerun the whole thing to avoid version mismatch ("This is
- ;; Automake 1.15.1, but the definition used by this
- ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
- ;; use 'autoreconf' because it insists on running 'libtoolize'.
- (invoke "autoconf")
- (invoke "aclocal")
- (invoke "automake" "-ac"))))))
- (inputs
- `(("libgcrypt" ,libgcrypt)
- ("linux-pam" ,linux-pam)
- ("openssh" ,openssh)
- ("dbus" ,dbus)
- ("gcr" ,gcr)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")
- ("glib" ,glib) ; for m4 macros
- ("python" ,python-2) ;for tests
- ("intltool" ,intltool)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libxslt" ,libxslt) ;for documentation
- ("docbook-xml" ,docbook-xml-4.3)
- ("docbook-xsl" ,docbook-xsl)))
- (propagated-inputs
- `(("gcr" ,gcr)))
- (home-page "https://www.gnome.org")
- (synopsis "Daemon to store passwords and encryption keys")
- (description
- "gnome-keyring is a program that keeps passwords and other secrets for
- users. It is run as a daemon in the session, similar to ssh-agent, and other
- applications locate it via an environment variable or D-Bus.
- The program can manage several keyrings, each with its own master password,
- and there is also a session keyring which is never stored to disk, but
- forgotten when the session ends.")
- (license license:lgpl2.1+)))
- (define-public evince
- (package
- (name "evince")
- (version "40.2")
- (source (origin
- (method url-fetch)
- (uri "mirror://gnome/sources/evince/40/evince-40.2.tar.xz")
- (sha256
- (base32
- "0xrwls1bhvny8vvd7mfjy9p26zjch0pd6x6j9jn9g2ka6xwyrxqg"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:build-type "release"
- #:configure-flags
- '("-Dnautilus=false"
- "-Dintrospection=true"
- ;; XXX: Generating the documentation fails because the
- ;; libevdocument.devhelp document cannot be created. This seems to be
- ;; caused by a problem during the XSL transformation.
- "-Dgtk_doc=false")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t)))))
- (inputs
- `(("libarchive" ,libarchive)
- ("libgxps" ,libgxps)
- ("libspectre" ,libspectre)
- ("djvulibre" ,djvulibre)
- ("ghostscript" ,ghostscript)
- ("poppler" ,poppler)
- ("libtiff" ,libtiff)
- ("texlive-libkpathsea" ,texlive-libkpathsea) ; for DVI support
- ("gnome-desktop" ,gnome-desktop)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gspell" ,gspell)
- ("libgnome-keyring" ,libgnome-keyring)
- ("adwaita-icon-theme" ,adwaita-icon-theme)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("atk" ,atk)
- ("pango" ,pango)
- ("gtk+" ,gtk+)
- ("glib" ,glib)
- ("libxml2" ,libxml2)
- ("libsm" ,libsm)
- ("libice" ,libice)
- ("shared-mime-info" ,shared-mime-info)
- ("dconf" ,dconf)
- ("libcanberra" ,libcanberra)
- ("libsecret" ,libsecret)
- ("libhandy" ,libhandy)))
- (native-inputs
- `(("itstool" ,itstool)
- ("intltool" ,intltool)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (home-page "https://www.gnome.org/projects/evince/")
- (synopsis "GNOME's document viewer")
- (description
- "Evince is a document viewer for multiple document formats. It
- currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
- of Evince is to replace the multiple document viewers that exist
- on the GNOME Desktop with a single simple application.")
- (license license:gpl2+)))
- (define-public gsettings-desktop-schemas
- (package
- (name "gsettings-desktop-schemas")
- (version "40.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "11an29br55dp0b26kfqlrfxj19glfrmhcdpds2n1w9n04gq3pf7i"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch-schemas
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((theme (assoc-ref inputs "gnome-backgrounds")))
- (substitute* (find-files "schemas"
- "\\.gschema\\.xml\\.in$")
- ;; Provide the correct file name of the default
- ;; GNOME background, 'adwaita-timed.xml'.
- (("@datadir@/backgrounds/gnome")
- (string-append theme "/share/backgrounds/gnome"))
- ;; Do not reference fonts, that may not exist.
- (("'Source Code Pro 10'") "'Monospace 11'"))))))))
- (inputs
- `(("glib" ,glib)
- ("gnome-backgrounds" ,gnome-backgrounds)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ; glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (home-page "https://launchpad.net/gsettings-desktop-schemas")
- (synopsis
- "GNOME settings for various desktop components")
- (description
- "Gsettings-desktop-schemas contains a collection of GSettings schemas
- for settings shared by various components of the GNOME desktop.")
- (license license:lgpl2.1+)))
- (define-public python-liblarch
- (package
- (name "python-liblarch")
- (version "3.0.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/getting-things-gnome/liblarch")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0xv2mfvyzipbny3iz8vll77wsqxfwh28xj6bj1ff0l452waph45m"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'start-xserver
- (lambda* (#:key inputs #:allow-other-keys)
- (system (format #f "~a/bin/Xvfb :1 &"
- (assoc-ref inputs "xorg-server")))
- (setenv "DISPLAY" ":1")
- #t)))))
- (native-inputs
- `(("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("gtk+" ,gtk+)))
- (propagated-inputs
- `(("python-pygobject" ,python-pygobject)))
- (home-page "https://wiki.gnome.org/Projects/liblarch")
- (synopsis "Library to easily handle complex data structures")
- (description
- "Liblarch is a Python library built to easily handle data structures such
- as lists, trees and acyclic graphs. There's also a GTK binding that will
- allow you to use your data structure in a @code{Gtk.Treeview}.
- Liblarch support multiple views of one data structure and complex filtering.
- That way, you have a clear separation between your data themselves (Model)
- and how they are displayed (View).")
- (license license:lgpl3+)))
- (define-public gtg
- (package
- (name "gtg")
- (version "0.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/getting-things-gnome/gtg")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/gtg"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("pango" ,pango)
- ("python-dbus" ,python-dbus)
- ("python-liblarch" ,python-liblarch)
- ("python-lxml" ,python-lxml)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)
- ("python-pyxdg" ,python-pyxdg)))
- (home-page "https://wiki.gnome.org/Apps/GTG")
- (synopsis "Personal organizer for the GNOME desktop")
- (description
- "Getting Things GNOME! (GTG) is a personal tasks and TODO list items
- organizer for the GNOME desktop environment inspired by the Getting Things
- Done (GTD) methodology. GTG is designed with flexibility, adaptability,
- and ease of use in mind so it can be used as more than just GTD software.
- GTG is intended to help you track everything you need to do and need to
- know, from small tasks to large projects.")
- (license license:gpl3+)))
- (define-public icon-naming-utils
- (package
- (name "icon-naming-utils")
- (version "0.8.90")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
- version ".tar.bz2"))
- (sha256
- (base32
- "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
- (build-system gnu-build-system)
- (inputs
- `(("perl" ,perl)
- ("perl-xml-simple" ,perl-xml-simple)))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'set-load-paths
- ;; Tell 'icon-name-mapping' where XML::Simple is.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (prog (string-append out "/libexec/icon-name-mapping")))
- (wrap-program
- prog
- `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
- #t)))))
- (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
- (synopsis
- "Utility to implement the Freedesktop Icon Naming Specification")
- (description
- "To help with the transition to the Freedesktop Icon Naming
- Specification, the icon naming utility maps the icon names used by the
- GNOME and KDE desktops to the icon names proposed in the specification.")
- (license license:lgpl2.1+)))
- (define-public gnome-icon-theme
- (package
- (name "gnome-icon-theme")
- (version "3.12.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags
- ;; Don't create 'icon-theme.cache'.
- (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
- (true (string-append coreutils "/bin/true")))
- (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
- (native-inputs
- `(("icon-naming-utils" ,icon-naming-utils)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (home-page "https://wiki.gnome.org/Personalization")
- (synopsis "GNOME icon theme")
- (description "Icons for the GNOME desktop.")
- (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
- ;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
- (define-public adwaita-icon-theme
- (package (inherit gnome-icon-theme)
- (name "adwaita-icon-theme")
- (version "40.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1xpqa1rgmixlp953938d08xvf7kv36h747ysial8g65dsrp46v0b"))))
- (native-inputs
- `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
- (define-public tango-icon-theme
- (package
- (name "tango-icon-theme")
- (version "0.8.90")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://tango.freedesktop.org/releases/"
- "tango-icon-theme-" version ".tar.bz2"))
- (sha256
- (base32
- "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("icon-naming-utils" ,icon-naming-utils)
- ("intltool" ,intltool)
- ("imagemagick" ,imagemagick)
- ("pkg-config" ,pkg-config)))
- (home-page "http://tango-project.org/")
- (synopsis "Tango icon theme")
- (description "This is an icon theme that follows the Tango visual
- guidelines.")
- (license license:public-domain)))
- (define-public shared-mime-info
- (package
- (name "shared-mime-info")
- (version "1.15")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
- "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
- ".tar.xz"))
- (sha256
- (base32
- "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
- (build-system gnu-build-system)
- (arguments
- ;; The build system appears not to be parallel-safe.
- '(#:parallel-build? #f))
- (inputs
- `(("glib" ,glib)
- ("libxml2" ,libxml2)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
- (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
- (synopsis "Database of common MIME types")
- (description
- "The shared-mime-info package contains the core database of common types
- and the update-mime-database command used to extend it. It requires glib2 to
- be installed for building the update command. Additionally, it uses intltool
- for translations, though this is only a dependency for the maintainers. This
- database is translated at Transifex.")
- (license license:gpl2+)))
- (define-public system-config-printer
- (package
- (name "system-config-printer")
- (version "1.5.15")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/OpenPrinting/system-config-printer/releases/"
- "download/v" version
- "/system-config-printer-" version ".tar.xz"))
- (sha256
- (base32 "12d6xx51vizc476zfnsga9q09nflp51ipn6y7lhi9w2v4772dlpv"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:imported-modules ((guix build python-build-system)
- ,@%glib-or-gtk-build-system-modules)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-Makefile.am
- (lambda _
- ;; The Makefile generates some scripts, so set a valid shebang
- (substitute* "Makefile.am"
- (("/bin/bash") (which "bash")))
- (delete-file "configure")
- #t))
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Modify the man XML otherwise xmlto tries to access the network
- (substitute* "man/system-config-printer.xml"
- (("http://www.oasis-open.org/docbook/xml/4.1.2/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/")))
- #t))
- (add-after 'install 'wrap-for-python
- (@@ (guix build python-build-system) wrap))
- (add-after 'install 'wrap
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
- (for-each
- (lambda (program)
- (wrap-program program
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
- (map (lambda (name)
- (string-append out "/bin/" name))
- '("system-config-printer"
- "system-config-printer-applet"
- "install-printerdriver"
- "scp-dbus-service"))))
- #t)))))
- (inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gobject-introspection" ,gobject-introspection)
- ("python" ,python)
- ("cups" ,cups)
- ("gtk+" ,gtk+)
- ("python-dbus" ,python-dbus)
- ("python-pygobject" ,python-pygobject)
- ("python-pycups" ,python-pycups)
- ("python-requests" ,python-requests)
- ("python-pycairo" ,python-pycairo)
- ("libnotify" ,libnotify)
- ("packagekit" ,packagekit)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("desktop-file-utils" ,desktop-file-utils)
- ("glib" ,glib)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("intltool" ,intltool)
- ("xmlto" ,xmlto)
- ("docbook-xml" ,docbook-xml-4.1.2)
- ("docbook-xsl" ,docbook-xsl)
- ("libxml2" ,libxml2)))
- (home-page "https://github.com/zdohnal/system-config-printer")
- (synopsis "CUPS administration tool")
- (description
- "system-config-printer is a CUPS administration tool. It's written in
- Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
- configuring CUPS.")
- (license license:gpl2+)))
- (define-public hicolor-icon-theme
- (package
- (name "hicolor-icon-theme")
- (version "0.17")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://icon-theme.freedesktop.org/releases/"
- "hicolor-icon-theme-" version ".tar.xz"))
- (sha256
- (base32
- "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f)) ; no check target
- (home-page "https://icon-theme.freedesktop.org/releases/")
- (synopsis
- "Freedesktop icon theme")
- (description
- "Freedesktop icon theme.")
- (license license:gpl2)))
- (define-public libnotify
- (package
- (name "libnotify")
- (version "0.7.9")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0qa7cx6ra5hwqnxw95b9svgjg5q6ynm8y843iqjszxvds5z53h36"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-docbook
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Don't attempt to download XSL schema.
- (substitute* "meson.build"
- (("http://docbook.sourceforge.net/release/xsl-ns/current\
- /manpages/docbook.xsl")
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)
- "/manpages/docbook.xsl")))
- #t)))))
- (propagated-inputs
- `(;; In Requires of libnotify.pc.
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libpng" ,libpng)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ;; For the documentation.
- ("gtk-doc" ,gtk-doc/stable)
- ("xsltproc" ,libxslt)
- ("docbook-xsl" ,docbook-xsl)))
- (home-page "https://developer-next.gnome.org/libnotify/")
- (synopsis
- "GNOME desktop notification library")
- (description
- "Libnotify is a library that sends desktop notifications to a
- notification daemon, as defined in the Desktop Notifications spec. These
- notifications can be used to inform the user about an event or display
- some form of information without getting in the user's way.")
- (license license:lgpl2.1+)))
- (define-public libpeas
- (package
- (name "libpeas")
- (version "1.30.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "18xrk1c1ixlhkmykcfiafrl2am470ws687xqvjlq40zwkcp5dx8b"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'start-xserver
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xorg-server (assoc-ref inputs "xorg-server"))
- (disp ":1"))
- (setenv "DISPLAY" disp)
- (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
- (setenv "XDG_CONFIG_HOME" "/tmp")
- ;; Tests require a running X server.
- (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
- #t))))))
- (inputs
- `(("gtk+" ,gtk+)
- ("glade" ,glade3)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("xorg-server" ,xorg-server-for-tests)))
- (propagated-inputs
- ;; The .pc file "Requires" gobject-introspection.
- `(("gobject-introspection" ,gobject-introspection)))
- (home-page "https://wiki.gnome.org/Libpeas")
- (synopsis "GObject plugin system")
- (description
- "Libpeas is a gobject-based plugin engine, targeted at giving every
- application the chance to assume its own extensibility. It also has a set of
- features including, but not limited to: multiple extension points; on-demand
- (lazy) programming language support for C, Python and JS; simplicity of the
- API.")
- (license license:lgpl2.0+)))
- (define-public gtkglext
- (package
- (name "gtkglext")
- (version "1.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
- version "/gtkglext-" version ".tar.gz"))
- (sha256
- (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
- (patches (search-patches
- "gtkglext-disable-disable-deprecated.patch"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Fix a collision between a local variable and a definition from
- ;; glibc's string.h.
- (add-after 'unpack 'fix-collision
- (lambda _
- (substitute* "gdk/gdkglshapes.c"
- ((" index") " triangle_index"))
- #t)))))
- (inputs `(("gtk+" ,gtk+-2)
- ("mesa" ,mesa)
- ("glu" ,glu)
- ("libx11" ,libx11)
- ("libxt" ,libxt)))
- (native-inputs `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")))
- (propagated-inputs `(("pangox-compat" ,pangox-compat)))
- (home-page "https://projects.gnome.org/gtkglext")
- (synopsis "OpenGL extension to GTK+")
- (description "GtkGLExt is an OpenGL extension to GTK+. It provides
- additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
- API add-ons to make GTK+ widgets OpenGL-capable.")
- (license license:lgpl2.1+)))
- (define-public glade3
- (package
- (name "glade")
- (version "3.38.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1dxsiz9ahqkxg2a1dw9sbd8jg59y5pdz4c1gvnbmql48gmj8gz4q"))
- (patches (search-patches
- "glade-gls-set-script-name.patch"
- "glade-test-widget-null-icon.patch"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))))
- ;; XXX: Remove it once this issue is fixed:
- ;; https://issues.guix.gnu.org/50105.
- (add-after 'unpack 'fix-tests
- (lambda _
- (substitute* "tests/meson.build"
- (("\\['modules") "#['modules"))))
- (add-before 'configure 'fix-docbook
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "man/meson.build"
- (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)
- "/manpages/docbook.xsl")))
- #t))
- (add-before 'check 'pre-check
- (lambda _
- (setenv "HOME" "/tmp")
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (inputs
- `(("gtk+" ,gtk+)
- ("libxml2" ,libxml2)))
- (native-inputs
- `(("hicolor-icon-theme" ,hicolor-icon-theme)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("libxslt" ,libxslt) ;for xsltproc
- ("docbook-xml" ,docbook-xml-4.2)
- ("docbook-xsl" ,docbook-xsl)
- ("glib:bin" ,glib "bin")
- ("python-pygobject" ,python-pygobject)
- ("gobject-introspection" ,gobject-introspection)
- ("gjs" ,gjs)
- ("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server-for-tests)))
- (home-page "https://glade.gnome.org")
- (synopsis "GTK+ rapid application development tool")
- (description "Glade is a rapid application development (RAD) tool to
- enable quick & easy development of user interfaces for the GTK+ toolkit and
- the GNOME desktop environment.")
- (license license:lgpl2.0+)
- (native-search-paths (list (search-path-specification
- (variable "GLADE_CATALOG_SEARCH_PATH")
- (files '("share/glade/catalogs")))
- (search-path-specification
- (variable "GLADE_MODULE_SEARCH_PATH")
- (files '("lib/glade/modules")))))))
- (define-public libcroco
- (package
- (name "libcroco")
- (version "0.6.13")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (patches (search-patches "libcroco-CVE-2020-12825.patch"))
- (sha256
- (base32
- "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("libxml2" ,libxml2)
- ("zlib" ,zlib)))
- (home-page "https://github.com/GNOME/libcroco")
- (synopsis "CSS2 parsing and manipulation library")
- (description
- "Libcroco is a standalone CSS2 parsing and manipulation library.
- The parser provides a low level event driven SAC-like API and a CSS object
- model like API. Libcroco provides a CSS2 selection engine and an experimental
- XML/CSS rendering engine.")
- ;; LGPLv2.1-only.
- (license license:lgpl2.1)))
- (define-public libgsf
- (package
- (name "libgsf")
- (version "1.14.47")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
- (build-system glib-or-gtk-build-system)
- (outputs '("out" "bin" "doc"))
- (arguments
- `(#:configure-flags
- (list
- "--disable-static"
- "--enable-introspection"
- (string-append "--with-gir-dir="
- (assoc-ref %outputs "out")
- "/share/gir-"
- ,(version-major
- (package-version gobject-introspection))
- ".0")
- (string-append "--with-typelib-dir="
- (assoc-ref %outputs "out")
- "/lib/girepository-"
- ,(version-major
- (package-version gobject-introspection))
- ".0")
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html")
- "--with-zlib"
- "--with-bz2")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc"
- (substitute* "gsf-docs.xml"
- (("http://www.oasis-open.org/docbook/xml/4.5/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t)))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml)
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("perl" ,perl)
- ("perl-xml-parser" ,perl-xml-parser)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
- (inputs
- `(("bzip2" ,bzip2)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("zlib" ,zlib)))
- (propagated-inputs
- `(("glib" ,glib)
- ("libxml2" ,libxml2)))
- (synopsis "G Structured File Library")
- (description "Libgsf aims to provide an efficient extensible I/O abstraction
- for dealing with different structured file formats.")
- (home-page "https://gitlab.gnome.org/GNOME/libgsf")
- (license
- (list
- ;; Library
- license:lgpl2.1+
- ;; Others
- license:lgpl2.0+))))
- (define-public librsvg
- (package
- (name "librsvg")
- (version "2.50.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/librsvg/"
- (version-major+minor version) "/"
- "librsvg-" version ".tar.xz"))
- (sha256
- (base32
- "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz"))
- (modules '((guix build utils)))
- (snippet
- '(begin (delete-file-recursively "vendor")))))
- (build-system cargo-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:install-source? #f
- #:modules
- ((guix build cargo-build-system)
- (guix build utils)
- ((guix build gnu-build-system) #:prefix gnu:))
- #:cargo-inputs
- (("rust-bitflags" ,rust-bitflags-1)
- ("rust-cairo-rs" ,rust-cairo-rs-0.8)
- ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
- ("rust-cast" ,rust-cast-0.2)
- ("rust-cssparser" ,rust-cssparser-0.27)
- ("rust-data-url" ,rust-data-url-0.1)
- ("rust-encoding" ,rust-encoding-0.2)
- ("rust-float-cmp" ,rust-float-cmp-0.8)
- ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
- ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
- ("rust-gio" ,rust-gio-0.8)
- ("rust-gio-sys" ,rust-gio-sys-0.9)
- ("rust-glib" ,rust-glib-0.9)
- ("rust-glib-sys" ,rust-glib-sys-0.9)
- ("rust-gobject-sys" ,rust-gobject-sys-0.9)
- ("rust-itertools" ,rust-itertools-0.9)
- ("rust-language-tags" ,rust-language-tags-0.2)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-locale-config" ,rust-locale-config-0.3)
- ("rust-markup5ever" ,rust-markup5ever-0.10)
- ("rust-nalgebra" ,rust-nalgebra-0.21)
- ("rust-num-traits" ,rust-num-traits-0.2)
- ("rust-once-cell" ,rust-once-cell-1)
- ("rust-pkg-config" ,rust-pkg-config-0.3)
- ("rust-pango" ,rust-pango-0.8)
- ("rust-pango-sys" ,rust-pango-sys-0.9)
- ("rust-pangocairo" ,rust-pangocairo-0.9)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-rctree" ,rust-rctree-0.3)
- ("rust-rgb" ,rust-rgb-0.8)
- ("rust-regex" ,rust-regex-1)
- ("rust-selectors" ,rust-selectors-0.22)
- ("rust-string-cache" ,rust-string-cache-0.8)
- ("rust-tinyvec" ,rust-tinyvec-0.3)
- ("rust-url" ,rust-url-2)
- ("rust-xml5ever" ,rust-xml5ever-0.16))
- #:cargo-development-inputs
- (("rust-assert-cmd" ,rust-assert-cmd-1)
- ("rust-cairo-rs" ,rust-cairo-rs-0.8)
- ("rust-chrono" ,rust-chrono-0.4)
- ("rust-criterion" ,rust-criterion-0.3)
- ("rust-float-cmp" ,rust-float-cmp-0.8)
- ("rust-lopdf" ,rust-lopdf-0.26)
- ("rust-png" ,rust-png-0.16)
- ("rust-predicates" ,rust-predicates-1)
- ("rust-tempfile" ,rust-tempfile-3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc"
- (substitute* "rsvg-docs.xml"
- (("http://www.oasis-open.org/docbook/xml/4.3/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))))
- (add-after 'unpack 'prepare-for-build
- (lambda _
- ;; In lieu of #:make-flags
- (setenv "CC" ,(cc-for-target))
- ;; Something about the build environment resists building
- ;; successfully with the '--locked' flag.
- (substitute* '("Makefile.am" "Makefile.in")
- (("--locked") ""))))
- (add-before 'configure 'pre-configure
- (lambda _
- (substitute* "gdk-pixbuf-loader/Makefile.in"
- ;; By default the gdk-pixbuf loader is installed under
- ;; gdk-pixbuf's prefix. Work around that.
- (("gdk_pixbuf_moduledir = .*$")
- (string-append "gdk_pixbuf_moduledir = "
- "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
- "loaders\n"))
- ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
- (("gdk_pixbuf_cache_file = .*$")
- "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))))
- (add-after 'configure 'gnu-configure
- (lambda* (#:key outputs #:allow-other-keys #:rest args)
- (apply (assoc-ref gnu:%standard-phases 'configure)
- #:configure-flags
- (list "--disable-static"
- "--enable-vala"
- (string-append "--with-html-dir="
- (assoc-ref outputs "doc")
- "/share/gtk-doc/html"))
- args)))
- (add-after 'configure 'dont-vendor-self
- (lambda* (#:key vendor-dir #:allow-other-keys)
- ;; Don't keep the whole tarball in the vendor directory
- (delete-file-recursively
- (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))))
- (replace 'build
- (assoc-ref gnu:%standard-phases 'build))
- (add-before 'check 'ignore-failing-tests
- ;; stderr=```/tmp/guix-build-.../librsvg-2.50.1/rsvg-convert: line 150: ls: command not found
- (lambda _
- (substitute* "tests/src/cmdline/rsvg_convert.rs"
- (("fn background_color_option_invalid_color_yields_error" all)
- (string-append "#[ignore] " all))
- (("fn empty_input_yields_error" all)
- (string-append "#[ignore] " all))
- (("fn empty_svg_yields_error" all)
- (string-append "#[ignore] " all))
- (("fn env_source_data_epoch_empty" all)
- (string-append "#[ignore] " all))
- (("fn env_source_data_epoch_no_digits" all)
- (string-append "#[ignore] " all))
- (("fn env_source_data_epoch_trailing_garbage" all)
- (string-append "#[ignore] " all))
- (("fn export_id_option_error" all)
- (string-append "#[ignore] " all))
- (("fn huge_zoom_factor_yields_error" all)
- (string-append "#[ignore] " all))
- (("fn multiple_input_files_not_allowed_for_png_output" all)
- (string-append "#[ignore] " all))
- (("fn stylesheet_option_error" all)
- (string-append "#[ignore] " all)))))
- (replace 'check
- (lambda* args
- ((assoc-ref gnu:%standard-phases 'check)
- #:test-target "check")))
- (replace 'install
- (assoc-ref gnu:%standard-phases 'install)))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.3)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("ruby" ,ruby)
- ("vala" ,vala)))
- (inputs
- `(("bzip2" ,bzip2)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("harfbuzz" ,harfbuzz)
- ("libcroco" ,libcroco)
- ("libgsf" ,libgsf)
- ("libxml2" ,libxml2)
- ("pango" ,pango)))
- (propagated-inputs
- `(("cairo" ,cairo)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)))
- (synopsis "SVG rendering library")
- (description "Librsvg is a library to render SVG images to Cairo surfaces.
- GNOME uses this to render SVG icons. Outside of GNOME, other desktop
- environments use it for similar purposes. Wikimedia uses it for Wikipedia's SVG
- diagrams.")
- (home-page "https://wiki.gnome.org/LibRsvg")
- (license license:lgpl2.1+)))
- (define-public libidl
- (package
- (name "libidl")
- (version "0.8.14")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libIDL/"
- (version-major+minor version) "/"
- "libIDL-" version ".tar.bz2"))
- (sha256
- (base32
- "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
- (build-system gnu-build-system)
- (inputs `(("glib" ,glib)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("flex" ,flex)
- ("bison" ,bison)))
- (home-page "http://freecode.com/projects/libidl")
- (synopsis "Create trees of CORBA Interface Definition Language files")
- (description "Libidl is a library for creating trees of CORBA Interface
- Definition Language (idl) files, which is a specification for defining
- portable interfaces. libidl was initially written for orbit (the orb from the
- GNOME project, and the primary means of libidl distribution). However, the
- functionality was designed to be as reusable and portable as possible.")
- (properties `((upstream-name . "libIDL")))
- (license license:lgpl2.0+)))
- (define-public orbit2
- (package
- (name "orbit2")
- (version "2.14.19")
- (source (origin
- (method url-fetch)
- (uri (let ((upstream-name "ORBit2"))
- (string-append "mirror://gnome/sources/" upstream-name "/"
- (version-major+minor version) "/"
- upstream-name "-" version ".tar.bz2")))
- (sha256
- (base32
- "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
- (build-system gnu-build-system)
- (arguments
- `(;; The "timeout-server" test hangs when run in parallel.
- #:parallel-tests? #f
- #:configure-flags
- '(;; We don't need static libraries, plus they don't build reproducibly
- ;; (non-deterministic ordering of .o files in the archive.)
- "--disable-static"
- ;; The programmer kindly gives us a hook to turn off deprecation
- ;; warnings ...
- "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
- ;; ... which they then completly ignore !!
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'ignore-deprecations
- (lambda _
- (substitute* "linc2/src/Makefile.in"
- (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
- #t)))))
- (inputs `(("glib" ,glib)
- ("libidl" ,libidl)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://projects.gnome.org/orbit2/")
- (synopsis "CORBA 2.4-compliant Object Request Broker")
- (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
- featuring mature C, C++ and Python bindings.")
- ;; Licence notice is unclear. The Web page simply say "GPL" without giving
- ;; a version. SOME of the code files have licence notices for GPLv2+.
- ;; The tarball contains files of the text of GPLv2 and LGPLv2.
- (license license:gpl2+)
- (properties `((upstream-name . "ORBit2")))))
- (define-public libbonobo
- (package
- (name "libbonobo")
- (version "2.32.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version)
- "/" name "-" version ".tar.bz2"))
- (sha256
- (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
- (patches (search-patches
- "libbonobo-activation-test-race.patch"))))
- (build-system gnu-build-system)
- (arguments
- ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
- `(#:configure-flags
- '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
- ;; ... which they then completly ignore !!
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'ignore-deprecations
- (lambda _
- (substitute* "activation-server/Makefile.in"
- (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
- #t)))
- ;; There's apparently a race condition between the server stub
- ;; generation and linking of the example under 'samples/echo' that can
- ;; lead do undefined references when building in parallel, as reported
- ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
- ;; Thus, disable parallel builds.
- #:parallel-build? #f))
- (inputs `(("popt" ,popt)
- ("libxml2" ,libxml2)))
- ;; The following are Required by the .pc file
- (propagated-inputs
- `(("glib" ,glib)
- ("orbit2" ,orbit2)))
- (native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("glib" ,glib "bin") ; for glib-genmarshal, etc.
- ("flex" ,flex)
- ("bison" ,bison)))
- (home-page "https://developer.gnome.org/libbonobo/")
- (synopsis "Framework for creating reusable components for use in GNOME applications")
- (description "Bonobo is a framework for creating reusable components for
- use in GNOME applications, built on top of CORBA.")
- ;; Licence not explicitly stated. Source files contain no licence notices.
- ;; Tarball contains text of both GPLv2 and LGPLv2
- ;; GPLv2 covers both conditions
- (license license:gpl2+)))
- (define-public gconf
- (package
- (name "gconf")
- (version "3.2.6")
- (source (origin
- (method url-fetch)
- (uri
- (let ((upstream-name "GConf"))
- (string-append "mirror://gnome/sources/" upstream-name "/"
- (version-major+minor version) "/"
- upstream-name "-" version ".tar.xz")))
- (sha256
- (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
- (build-system gnu-build-system)
- (inputs `(("dbus-glib" ,dbus-glib)
- ("libxml2" ,libxml2)))
- (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
- ("orbit2" ,orbit2)))
- (native-inputs
- `(("intltool" ,intltool)
- ("glib" ,glib "bin") ; for glib-genmarshal, etc.
- ("pkg-config" ,pkg-config)))
- (home-page "https://projects.gnome.org/gconf/")
- (synopsis "Store application preferences")
- (description "Gconf is a system for storing application preferences. It
- is intended for user preferences; not arbitrary data storage.")
- (license license:lgpl2.0+)
- (properties '((upstream-name . "GConf")))))
- (define-public gnome-mime-data
- (package
- (name "gnome-mime-data")
- (version "2.18.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("perl" ,perl)
- ("intltool" ,intltool)))
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'configure 'use-our-intltool
- (lambda _
- ;; Do not use the bundled intltool commands, which lack
- ;; the "dotless @INC" fixes of our 'intltool' package.
- (substitute* (find-files "." "^Makefile$")
- (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
- (string-append "INTLTOOL_" tool " = intltool-"
- (string-downcase tool) "\n")))
- #t)))))
- (home-page "https://www.gnome.org")
- (synopsis "Base MIME and Application database for GNOME")
- (description "GNOME Mime Data is a module which contains the base MIME
- and Application database for GNOME. The data stored by this module is
- designed to be accessed through the MIME functions in GnomeVFS.")
- (license license:gpl2+)))
- (define-public gnome-vfs
- (package
- (name "gnome-vfs")
- (version "2.24.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'ignore-deprecations
- (lambda _
- (substitute* '("libgnomevfs/Makefile.in"
- "daemon/Makefile.in")
- (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
- #t))
- (add-before 'configure 'patch-test-async-cancel-to-never-fail
- (lambda _
- (substitute* "test/test-async-cancel.c"
- (("EXIT_FAILURE") "77"))
- #t)))))
- (inputs `(("libxml2" ,libxml2)
- ("dbus-glib" ,dbus-glib)
- ("gconf" ,gconf)
- ("gnome-mime-data" ,gnome-mime-data)
- ("zlib" ,zlib)))
- (native-inputs
- `(("glib" ,glib "bin") ; for glib-mkenums, etc.
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (home-page "https://developer.gnome.org/gnome-vfs/")
- (synopsis "Access files and folders in GNOME applications")
- (description
- "GnomeVFS is the core library used to access files and folders in GNOME
- applications. It provides a file system abstraction which allows applications
- to access local and remote files with a single consistent API.")
- (license license:lgpl2.0+)))
- (define-public libgnome
- (package
- (name "libgnome")
- (version "2.32.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
- (patches (search-patches "libgnome-encoding.patch"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'enable-deprecated
- (lambda _
- (substitute* "libgnome/Makefile.in"
- (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
- #t)))))
- (inputs `(("libxml2" ,libxml2)))
- (native-inputs
- `(("glib" ,glib "bin") ; for glib-mkenums, etc.
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- ;; The following are listed as Required in the .pc file
- ;; (except for libcanberra -- which seems to be oversight on the part
- ;; of the upstream developers -- anything that links against libgnome,
- ;; must also link against libcanberra
- (propagated-inputs
- `(("libcanberra" ,libcanberra)
- ("libbonobo" ,libbonobo)
- ("gconf" ,gconf)
- ("gnome-vfs" ,gnome-vfs)
- ("popt" ,popt))) ;gnome-program.h includes popt.h
- (home-page "https://developer.gnome.org/libgnome/")
- (synopsis "Useful routines for building applications")
- (description "The libgnome library provides a number of useful routines
- for building modern applications, including session management, activation of
- files and URIs, and displaying help.")
- (license license:lgpl2.0+)))
- (define-public libart-lgpl
- (package
- (name "libart-lgpl")
- (version "2.3.21")
- (source (origin
- (method url-fetch)
- (uri (let ((upstream-name "libart_lgpl"))
- (string-append "mirror://gnome/sources/" upstream-name "/"
- (version-major+minor version) "/"
- upstream-name "-" version ".tar.bz2")))
- (sha256
- (base32
- "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://people.gnome.org/~mathieu/libart")
- (synopsis "2D drawing library")
- (description "Libart is a 2D drawing library intended as a
- high-quality vector-based 2D library with antialiasing and alpha composition.")
- (license license:lgpl2.0+)))
- (define-public libgnomecanvas
- (package
- (name "libgnomecanvas")
- (version "2.30.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
- (build-system gnu-build-system)
- ;; Mentioned as Required in the .pc file
- (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
- ("gtk+" ,gtk+-2)))
- (native-inputs
- `(("intltool" ,intltool)
- ("glib" ,glib "bin") ; for glib-genmarshal, etc.
- ("pkg-config" ,pkg-config)))
- (home-page "https://developer.gnome.org/libgnomecanvas/")
- (synopsis "Flexible widget for creating interactive structured graphics")
- (description "The GnomeCanvas widget provides a flexible widget for
- creating interactive structured graphics.")
- (license license:lgpl2.0+)))
- (define-public libgnomecanvasmm
- (package
- (name "libgnomecanvasmm")
- (version "2.26.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
- (build-system gnu-build-system)
- (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
- (native-inputs
- `(("gtkmm-2" ,gtkmm-2)
- ("pkg-config" ,pkg-config)))
- (home-page "https://gtkmm.org")
- (synopsis "C++ bindings to the GNOME Canvas library")
- (description "C++ bindings to the GNOME Canvas library.")
- (license license:lgpl2.0+)))
- (define-public libgnomeui
- (package
- (name "libgnomeui")
- (version "2.24.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (patches (search-patches "libgnomeui-utf8.patch"))
- (sha256
- (base32
- "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
- (build-system gnu-build-system)
- ;; Mentioned as Required in the .pc file
- (propagated-inputs `(("libbonoboui" ,libbonoboui)
- ("libgnome" ,libgnome)
- ("libgnomecanvas" ,libgnomecanvas)
- ("libgnome-keyring" ,libgnome-keyring)))
- (inputs `(("libjpeg" ,libjpeg-turbo)
- ("popt" ,popt)
- ("libbonobo" ,libbonobo)
- ("libxml2" ,libxml2)
- ("libglade" ,libglade)))
- (native-inputs
- `(("glib" ,glib "bin") ; for glib-mkenums, etc.
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (home-page "https://developer.gnome.org/libgnomeui/")
- (synopsis "Additional widgets for applications")
- (description "The libgnomeui library provides additional widgets for
- applications. Many of the widgets from libgnomeui have already been
- ported to GTK+.")
- (license license:lgpl2.0+)))
- (define-public libglade
- (package
- (name "libglade")
- (version "2.6.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
- (build-system gnu-build-system)
- (inputs
- `(("python" ,python))) ;; needed for the optional libglade-convert program
- (propagated-inputs
- `(("gtk+-2" ,gtk+-2)
- ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://developer.gnome.org/libglade")
- (synopsis "Load glade interfaces and access the glade built widgets")
- (description "Libglade is a library that provides interfaces for loading
- graphical interfaces described in glade files and for accessing the
- widgets built in the loading process.")
- (license license:gpl2+))) ; This is correct. GPL not LGPL
- (define-public libbonoboui
- (package
- (name "libbonoboui")
- (version "2.24.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'start-xserver
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xorg-server (assoc-ref inputs "xorg-server"))
- (disp ":1"))
- (setenv "HOME" (getcwd))
- (setenv "DISPLAY" disp)
- ;; There must be a running X server and make check doesn't start one.
- ;; Therefore we must do it.
- (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
- ;; Mentioned as Required by the .pc file
- (propagated-inputs `(("libxml2" ,libxml2)))
- (inputs
- `(("popt" ,popt)
- ("pangox-compat" ,pangox-compat)
- ("libgnome" ,libgnome)
- ("libgnomecanvas" ,libgnomecanvas)
- ("libglade" ,libglade)))
- (native-inputs
- `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
- ("intltool" ,intltool)
- ("xorg-server" ,xorg-server-for-tests) ; For running the tests
- ("pkg-config" ,pkg-config)))
- (home-page "https://developer.gnome.org/libbonoboui/")
- (synopsis "Some user interface controls using Bonobo")
- (description "The Bonobo UI library provides a number of user interface
- controls using the Bonobo component framework.")
- (license license:lgpl2.0+)))
- (define-public libwnck
- (package
- (name "libwnck")
- (version "3.32.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
- (build-system meson-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin") ; for glib-mkenums
- ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
- ("intltool" ,intltool)))
- (propagated-inputs
- `(("gtk+" ,gtk+)
- ("libxres" ,libxres)
- ("startup-notification" ,startup-notification)))
- (home-page "https://developer.gnome.org/libwnck/")
- (synopsis "Window Navigator Construction Kit")
- (description
- "Libwnck is the Window Navigator Construction Kit, a library for use in
- writing pagers, tasklists, and more generally applications that are dealing
- with window management. It tries hard to respect the Extended Window Manager
- Hints specification (EWMH).")
- (license license:lgpl2.0+)))
- ;; stable version for gtk2, required by xfwm4.
- (define-public libwnck-2
- (package (inherit libwnck)
- (name "libwnck")
- (version "2.30.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
- (propagated-inputs
- `(("gtk+" ,gtk+-2)
- ("libxres" ,libxres)
- ("startup-notification" ,startup-notification)))))
- (define-public goffice
- (package
- (name "goffice")
- (version "0.10.50")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/goffice/"
- (version-major+minor version) "/"
- "goffice-" version ".tar.xz"))
- (sha256
- (base32 "1p5zbj7cbcfcxd6l8pnph54p6ah1bwf146y810j4bcq8ggf3sp1c"))))
- (build-system gnu-build-system)
- (outputs '("out"
- "doc")) ; 4.0 MiB of gtk-doc
- (arguments
- '(#:configure-flags (list (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))))
- (inputs
- `(("gtk+" ,gtk+)
- ("libgsf" ,libgsf)
- ("librsvg" ,librsvg)
- ("libxslt" ,libxslt)
- ("libxml2" ,libxml2)))
- (native-inputs
- `(("intltool" ,intltool)
- ("glib" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (home-page "https://developer.gnome.org/goffice/")
- (synopsis "Document-centric objects and utilities")
- (description "A GLib/GTK+ set of document-centric objects and utilities.")
- (license
- ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
- ;; Note: NOT LGPL
- (list license:gpl2 license:gpl3))))
- (define-public goffice-0.8
- (package (inherit goffice)
- (version "0.8.17")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
- (version-major+minor version) "/"
- (package-name goffice) "-" version ".tar.xz"))
- (sha256
- (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-pcre-check
- (lambda _
- ;; Only glib.h can be included directly. See
- ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
- (substitute* "configure"
- (("glib/gregex\\.h") "glib.h")) #t)))
- ,@(package-arguments goffice)))
- (propagated-inputs
- ;; libgoffice-0.8.pc mentions libgsf-1
- `(("libgsf" ,libgsf)))
- (inputs
- `(("gtk" ,gtk+-2)
- ,@(alist-delete "gtk" (package-inputs goffice))))))
- (define-public gnumeric
- (package
- (name "gnumeric")
- (version "1.12.50")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnumeric/"
- (version-major+minor version) "/"
- "gnumeric-" version ".tar.xz"))
- (sha256
- (base32
- "1f0lrj5msg80pgjp38jj6rddf352gwddgip7z4lki66n3fx1k23m"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(;; The gnumeric developers don't worry much about failing tests.
- ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'configure 'pre-conf
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make install tries to write into the directory of goffice
- ;; I am informed that this only affects the possibility to embed a
- ;; spreadsheet inside an Abiword document. So presumably when we
- ;; package Abiword we'll have to refer it to this directory.
- (substitute* "configure"
- (("^GOFFICE_PLUGINS_DIR=.*")
- (string-append "GOFFICE_PLUGINS_DIR="
- (assoc-ref outputs "out")
- "/goffice/plugins"))))))))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("goffice" ,goffice)
- ("libgsf" ,libgsf)
- ("librsvg" ,librsvg)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)
- ("zlib" ,zlib)))
- (native-inputs
- `(("bison" ,bison)
- ("docbook-xml" ,docbook-xml)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (home-page "http://www.gnumeric.org")
- (synopsis "Spreadsheet application")
- (description
- "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
- interoperable with other spreadsheet applications. It has a vast array of
- features beyond typical spreadsheet functionality, such as support for linear
- and non-linear solvers, statistical analysis, and telecommunication
- engineering.")
- (license
- ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
- (list license:gpl2 license:gpl3))))
- (define-public drawing
- (package
- (name "drawing")
- (version "0.8.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/maoschanz/drawing")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0wz9p47riyy3h8b0sqsb6bx416hc6d1a1wyzlfmsxkrqrkwcjcm8"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/drawing"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("pango" ,pango)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)))
- (home-page "https://maoschanz.github.io/drawing/")
- (synopsis "Basic image editor for GNOME")
- (description
- "Drawing is a basic image editor aiming at the GNOME desktop.")
- (license license:gpl3+)))
- (define-public gnome-themes-standard
- (package
- (name "gnome-themes-standard")
- (version "3.22.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/" name "-"
- version ".tar.xz"))
- (sha256
- (base32
- "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags
- ;; Don't create 'icon-theme.cache'.
- (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
- (true (string-append coreutils "/bin/true")))
- (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
- (inputs
- `(("gtk+" ,gtk+)
- ("gtk+-2" ,gtk+-2)
- ("librsvg" ,librsvg)
- ("libxml2" ,libxml2)
- ("glib" ,glib)))
- (native-inputs
- `(("intltool" ,intltool)
- ("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (home-page "https://launchpad.net/gnome-themes-standard")
- (synopsis "Default GNOME 3 themes")
- (description
- "The default GNOME 3 themes (Adwaita and some accessibility themes).")
- (license license:lgpl2.1+)))
- (define-public seahorse
- (package
- (name "seahorse")
- (version "3.36.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/" name "-"
- version ".tar.xz"))
- (sha256
- (base32 "16wmxxppgcgfj8zkagcny5af1c81x32ysm9d6j9f2k7bmik21ss5"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t)))))
- (inputs
- `(("gtk+" ,gtk+)
- ("gcr" ,gcr)
- ("gnupg" ,gnupg)
- ("gpgme" ,gpgme)
- ("openldap" ,openldap)
- ("openssh" ,openssh)
- ("avahi" ,avahi)
- ("libhandy" ,libhandy-0.0)
- ("libpwquality" ,libpwquality)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xmllint" ,libxml2)))
- (home-page "https://wiki.gnome.org/Apps/Seahorse")
- (synopsis "Manage encryption keys and passwords in the GNOME keyring")
- (description
- "Seahorse is a GNOME application for managing encryption keys and
- passwords in the GNOME keyring.")
- (license license:gpl2+)))
- (define-public vala
- (package
- (name "vala")
- (version "0.52.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/vala/"
- (version-major+minor version) "/"
- "vala-" version ".tar.xz"))
- (sha256
- (base32
- "12y6p8wdjp01vmfhxg2cgh32xnyqq6ivblvrar9clnj6vc867qhx"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:configure-flags '("--enable-coverage")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "doc/manual"
- (substitute* '("manual.xml" "version.xml.in")
- (("http://www.oasis-open.org/docbook/xml/4.4/")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/"))))
- #t))
- (add-before 'check 'pre-check
- (lambda _
- (setenv "CC" "gcc")
- (substitute* "valadoc/tests/libvaladoc\
- /tests-extra-environment.sh"
- (("export PKG_CONFIG_PATH=" m)
- (string-append m "$PKG_CONFIG_PATH:"))))))))
- (native-inputs
- `(("bison" ,bison)
- ("dbus" ,dbus) ; for dbus tests
- ("docbook-xml" ,docbook-xml-4.4)
- ("docbook-xsl" ,docbook-xsl)
- ("flex" ,flex)
- ("gobject-introspection" ,gobject-introspection) ; for gir tests
- ("help2man" ,help2man)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
- (propagated-inputs
- `(("glib" ,glib) ; required by libvala-0.40.pc
- ("libgvc" ,graphviz)))
- (home-page "https://wiki.gnome.org/Projects/Vala/")
- (synopsis "Compiler using the GObject type system")
- (description "Vala is a programming language using modern high level
- abstractions without imposing additional runtime requirements and without using
- a different ABI compared to applications and libraries written in C. Vala uses
- the GObject type system and has additional code generation routines that make
- targeting the GNOME stack simple.")
- (license license:lgpl2.1+)))
- (define-public vte
- (package
- (name "vte")
- (version "0.64.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/vte/"
- (version-major+minor version) "/"
- "vte-" version ".tar.xz"))
- (sha256
- (base32
- "063ys3330cvhbz1dln9irhciavb2prw098lvhpcc2rx6cl5q4g1b"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags
- '("-Dvapi=true"
- "-D_systemd=false")))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("vala" ,vala)
- ("gobject-introspection" ,gobject-introspection)
- ("glib" ,glib "bin") ; for glib-genmarshal, etc.
- ("gperf" ,gperf)
- ("xmllint" ,libxml2)))
- (propagated-inputs
- `(("gtk+" ,gtk+) ; required by vte-2.91.pc
- ("gnutls" ,gnutls) ; ditto
- ("pcre2" ,pcre2))) ; ditto
- (home-page "https://www.gnome.org/")
- (synopsis "Virtual Terminal Emulator")
- (description
- "VTE is a library (libvte) implementing a terminal emulator widget for
- GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
- gnome-terminal, but can also be used to embed a console/terminal in games,
- editors, IDEs, etc.")
- (license license:lgpl2.1+)))
- (define-public vte-ng
- (package
- (inherit vte)
- (name "vte-ng")
- (version "0.58.2.a")
- (home-page "https://github.com/thestinger/vte-ng")
- (source (origin
- (method git-fetch)
- (uri (git-reference (url home-page) (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gtk-doc" ,gtk-doc/stable)
- ,@(package-native-inputs vte)))
- (arguments
- `(#:configure-flags '("-Ddocs=true")))
- (synopsis "Enhanced VTE terminal widget")
- (description
- "VTE is a library (libvte) implementing a terminal emulator widget for
- GTK+, this fork provides additional functions exposed for keyboard text
- selection and URL hints.")))
- ;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07.
- (define-public vte/gtk+-2
- (package (inherit vte)
- (name "vte")
- (version "0.28.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
- (patches (search-patches
- "vte-CVE-2012-2738-pt1.patch"
- "vte-CVE-2012-2738-pt2.patch"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags '("--disable-python")))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
- (propagated-inputs
- `(("gtk+" ,gtk+-2) ; required by libvte.pc
- ("ncurses" ,ncurses))))) ; required by libvte.la
- (define-public vinagre
- (package
- (name "vinagre")
- (version "3.22.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (patches (search-patches "vinagre-newer-freerdp.patch"
- "vinagre-newer-rdp-parameters.patch"))
- (sha256
- (base32
- "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- ;; Disable -Werror and such, to avoid build failures on compilation
- ;; warnings.
- '(#:configure-flags '("--enable-compile-warnings=minimum"
- "CFLAGS=-fcommon")
- #:phases
- (modify-phases %standard-phases
- (add-before 'install 'skip-gtk-update-icon-cache
- (lambda _
- ;; Don't create 'icon-theme.cache'
- (substitute* (find-files "." "^Makefile$")
- (("gtk-update-icon-cache") (which "true")))
- #t))
- (add-after 'unpack 'patch-configure
- (lambda _
- (substitute* "configure"
- (("freerdp") "freerdp2"))
- #t)))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
- (inputs
- `(("libxml2" ,libxml2)
- ("gtk-vnc" ,gtk-vnc)
- ("gnome-keyring" ,gnome-keyring)
- ("libsecret" ,libsecret)
- ("freerdp" ,freerdp)
- ("spice" ,spice)
- ("spice-gtk" ,spice-gtk)
- ("telepathy-glib" ,telepathy-glib)
- ("vte" ,vte)))
- (home-page "https://wiki.gnome.org/Apps/Vinagre")
- (synopsis "Remote desktop viewer for GNOME")
- (description "Vinagre is a remote display client supporting the VNC, SPICE
- and RDP protocols.")
- (license license:gpl3+)))
- (define-public dconf
- (package
- (name "dconf")
- (version "0.36.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0bfs069pjv6lhp7xrzmrhz3876ay2ryqxzc6mlva1hhz34ibprlz"))))
- (build-system meson-build-system)
- (propagated-inputs
- ;; In Requires of dconf.pc.
- `(("glib" ,glib)))
- (inputs
- `(("gtk+" ,gtk+)
- ("dbus" ,dbus)))
- (native-inputs
- `(("bash-completion" ,bash-completion)
- ("libxslt" ,libxslt) ;for xsltproc
- ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
- ("docbook-xml" ,docbook-xml-4.2)
- ("docbook-xsl" ,docbook-xsl)
- ("glib:bin" ,glib "bin")
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags '("-Denable-gtk-doc=true")
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'increase-test-timeout
- (lambda _
- ;; On big-memory systems, the engine test may take
- ;; much longer than the default of 30 seconds.
- (substitute* "tests/meson.build"
- (("test\\(unit_test\\[0\\], exe" all)
- (string-append all ", timeout : 90")))
- #t)))))
- (home-page "https://developer.gnome.org/dconf/")
- (synopsis "Low-level GNOME configuration system")
- (description "Dconf is a low-level configuration system. Its main purpose
- is to provide a backend to GSettings on platforms that don't already have
- configuration storage systems.")
- (license license:lgpl2.1+)))
- (define-public json-glib
- (package
- (name "json-glib")
- (version "1.6.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3"))))
- (build-system meson-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
- #:configure-flags
- (list
- "-Ddocs=true"
- "-Dman=true"
- ,@(if (%current-target-system)
- ;; If enabled, gtkdoc-scangobj will try to execute a
- ;; cross-compiled binary.
- '("-Dgtk_doc=disabled"
- ;; Trying to build introspection data when cross-compiling
- ;; causes errors during linking.
- "-Dintrospection=disabled")
- '()))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook
- ;; TODO(core-updates): Use (or native-inputs inputs)
- ;; unconditionally.
- (lambda* (#:key ,@(if (%current-target-system)
- '(native-inputs)
- '()) inputs #:allow-other-keys)
- (with-directory-excursion "doc"
- (substitute* (find-files "." "\\.xml$")
- (("http://www.oasis-open.org/docbook/xml/4\\.3/")
- (string-append (assoc-ref ,(if (%current-target-system)
- '(or native-inputs inputs)
- 'inputs)
- "docbook-xml")
- "/xml/dtd/docbook/")))
- (substitute* "meson.build"
- (("http://docbook.sourceforge.net/release/xsl/current/")
- (string-append (assoc-ref ,(if (%current-target-system)
- '(or native-inputs inputs)
- 'inputs) "docbook-xsl")
- "/xml/xsl/docbook-xsl-1.79.2/"))))
- #t))
- ;; When cross-compiling, there are no docs to move.
- ,(if (%current-target-system)
- '(add-after 'install 'stub-docs
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The daemon doesn't like empty output paths.
- (mkdir (assoc-ref outputs "doc"))))
- '(add-after 'install 'move-docs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (mkdir-p (string-append doc "/share"))
- (rename-file
- (string-append out "/share/gtk-doc")
- (string-append doc "/share/gtk-doc"))
- #t)))))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.3)
- ("docbook-xsl" ,docbook-xsl)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
- (inputs
- ;; TODO(core-updates): Make this input unconditional.
- (if (%current-target-system)
- `(("bash-minimal" ,bash-minimal))
- '()))
- (propagated-inputs
- `(("glib" ,glib))) ;according to json-glib-1.0.pc
- (home-page "https://wiki.gnome.org/Projects/JsonGlib")
- (synopsis "Glib and GObject implementation of JSON")
- (description "JSON-GLib is a library providing serialization and
- described by RFC 4627. It implements a full JSON parser and generator using
- GLib and GObject, and integrates JSON with GLib data types.")
- (license license:lgpl2.1+)))
- (define-public libxklavier
- (package
- (name "libxklavier")
- (version "5.4")
- (source (origin
- ;; Note: There's no tarball at ftp.gnome.org for this version.
- (method git-fetch)
- (uri (git-reference
- (url "https://anongit.freedesktop.org/git/libxklavier")
- (commit (string-append "libxklavier-" version))))
- (sha256
- (base32
- "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
- (file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags
- (list (string-append "--with-xkb-base="
- (assoc-ref %build-inputs "xkeyboard-config")
- "/share/X11/xkb")
- "--disable-xmodmap-support")))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)
- ("which" ,which)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
- (propagated-inputs
- ;; Required by libxklavier.pc.
- `(("glib" ,glib)
- ("libxml2" ,libxml2)))
- (inputs
- `(("iso-codes" ,iso-codes)
- ("libxi" ,libxi)
- ("libxkbfile" ,libxkbfile)
- ("xkbcomp" ,xkbcomp)
- ("xkeyboard-config" ,xkeyboard-config)))
- (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
- (synopsis "High-level API for X Keyboard Extension")
- (description
- "LibXklavier is a library providing high-level API for X Keyboard
- Extension known as XKB. This library is intended to support XFree86 and other
- commercial X servers. It is useful for creating XKB-related software (layout
- indicators etc).")
- (license license:lgpl2.0+)))
- (define-public python2-rsvg
- ;; XXX: This is actually a subset of gnome-python-desktop.
- (package
- (name "python2-rsvg")
- (version "2.32.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
- version ".tar.bz2"))
- (sha256
- (base32
- "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("python" ,python-2)
- ("python2-pygtk" ,python2-pygtk)
- ("librsvg" ,librsvg)))
- (home-page "https://www.gnome.org")
- (synopsis "Python bindings to librsvg")
- (description
- "This package provides Python bindings to librsvg, the SVG rendering
- library.")
- ;; This is the license of the rsvg bindings. The license of each module
- ;; of gnome-python-desktop is given in 'COPYING'.
- (license license:lgpl2.1+)))
- (define-public glib-networking
- (package
- (name "glib-networking")
- (version "2.68.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/glib-networking/"
- (version-major+minor version) "/"
- "glib-networking-" version ".tar.xz"))
- (sha256
- (base32
- "0kwrsp1xbqf852nqmd5cr7hqw771q0dxkzpzlibdp5zn9q2vqpjk"))
- (patches
- (search-patches "glib-networking-gnutls-binding.patch"))))
- (build-system meson-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)))
- (inputs
- `(("glib" ,glib)
- ("gnutls" ,gnutls)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libproxy" ,libproxy)))
- (home-page "https://wiki.gnome.org/Projects/GLib")
- (synopsis "Network extensions for GLib")
- (description
- "Glib-networking contains the implementations of certain GLib networking
- features that cannot be implemented directly in GLib itself because of their
- dependencies. Currently it contains GnuTLS and OpenSSL-based implementations of
- GTlsBackend, a libproxy-based implementation of GProxyResolver,
- GLibproxyResolver, and a GNOME GProxyResolver that uses the proxy information
- from the GSettings schemas in gsettings-desktop-schemas.")
- (license license:lgpl2.1+)))
- (define-public rest
- (package
- (name "rest")
- (version "0.8.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/rest/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
- (build-system gnu-build-system)
- (arguments
- '(#:tests? #f ; tests require internet connection
- #:configure-flags
- '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
- (native-inputs
- `(("glib-mkenums" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- ;; rest-0.7.pc refers to all these.
- `(("glib" ,glib)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)))
- (home-page "https://www.gtk.org/")
- (synopsis "RESTful web api query library")
- (description
- "This library was designed to make it easier to access web services that
- claim to be \"RESTful\". It includes convenience wrappers for libsoup and
- libxml to ease remote use of the RESTful API.")
- (license license:lgpl2.1+)))
- (define-public libsoup
- (package
- (name "libsoup")
- (version "2.72.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libsoup/"
- (version-major+minor version) "/"
- "libsoup-" version ".tar.xz"))
- (sha256
- (base32
- "11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p"))))
- (build-system meson-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:modules ((guix build utils)
- (guix build meson-build-system)
- (ice-9 popen))
- #:configure-flags '("-Dgtk_doc=true")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook")))
- (substitute* (find-files "docs/reference")
- (("http://.*/docbookx\\.dtd")
- (string-append xmldoc "/docbookx.dtd")))
- #t)))
- (add-after 'unpack 'adjust-tests
- (lambda _
- ;; This test fails due to missing /etc/nsswitch.conf
- ;; in the build environment.
- (substitute* "tests/socket-test.c"
- ((".*/sockets/unconnected.*") ""))
- ;; These fail because "subdomain.localhost" does not resolve in
- ;; the build environment.
- (substitute* "tests/hsts-test.c"
- ((".*/hsts/basic.*") "")
- ((".*/hsts/subdomains.*") "")
- ((".*/hsts/superdomain.*") "")
- ((".*/hsts/utf8-address.*") ""))
- (substitute* "tests/hsts-db-test.c"
- ((".*/hsts-db/subdomains.*") ""))
- ;; FIXME: ssl-test fails, starting with
- ;; glib-networking 2.68.x.
- (substitute* "tests/meson.build"
- (("[ \t]*\\['ssl', true, \\[\\]\\],") ""))
- #t))
- (add-after 'install 'move-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (mkdir-p (string-append doc "/share"))
- (copy-recursively (string-append out "/share/gtk-doc")
- (string-append doc "/share/gtk-doc"))
- (delete-file-recursively (string-append out "/share/gtk-doc"))
- #t))))))
- (native-inputs
- `(("docbook-xml" ,docbook-xml-4.1.2)
- ("glib:bin" ,glib "bin") ; for glib-mkenums
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("vala" ,vala)
- ("php" ,php)
- ("curl" ,curl)
- ("httpd" ,httpd)))
- (propagated-inputs
- ;; libsoup-2.4.pc refers to all of these (except where otherwise noted)
- `(("brotli" ,google-brotli)
- ("glib" ,glib)
- ("glib-networking" ,glib-networking) ; for GIO runtime modules
- ("libpsl" ,libpsl)
- ("libxml2" ,libxml2)
- ("sqlite" ,sqlite)
- ("zlib" ,zlib)))
- (inputs
- `(("mit-krb5" ,mit-krb5)
- ("ntlm_auth" ,samba))) ; For ntlm_auth support
- (home-page "https://wiki.gnome.org/Projects/libsoup")
- (synopsis "GLib-based HTTP Library")
- (description
- "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
- and the GLib main loop, to integrate well with GNOME applications.")
- (license license:lgpl2.0+)))
- ;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
- (define-public libsoup-minimal
- (package/inherit libsoup
- (name "libsoup-minimal")
- (outputs (delete "doc" (package-outputs libsoup)))
- (arguments
- (substitute-keyword-arguments (package-arguments libsoup)
- ((#:configure-flags configure-flags)
- `(delete "-Dgtk_doc=true" ,configure-flags))
- ((#:phases phases)
- `(modify-phases ,phases
- (delete 'move-doc)))))
- (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
- (define-public libsecret
- (package
- (name "libsecret")
- (version "0.20.4")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/libsecret/"
- (version-major+minor version) "/"
- "libsecret-" version ".tar.xz"))
- (sha256
- (base32
- "0a4xnfmraxchd9cq5ai66j12jv2vrgjmaaxz25kl031jvda4qnij"))))
- (build-system gnu-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:tests? #f ; FIXME: Testing hangs.
- #:configure-flags
- (list (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xsltproc" ,libxslt)))
- ;; These are needed for the tests.
- ;; FIXME: Add gjs once available.
- ;("dbus" ,dbus)
- ;("python2" ,python-2)
- ;("python2-dbus" ,python2-dbus)
- ;("python2-pygobject" ,python2-pygobject)
- ;("python2-pygobject-2" ,python2-pygobject-2)))
- (propagated-inputs
- `(("glib" ,glib))) ; required by libsecret-1.pc
- (inputs
- ;; The ‘build’ phase complains about missing docbook-xml-4.2 but adding it
- ;; doesn't seem to affect the build result.
- `(("docbook-xsl" ,docbook-xsl)
- ("libgcrypt" ,libgcrypt)
- ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
- (home-page "https://wiki.gnome.org/Projects/Libsecret/")
- (synopsis "GObject bindings for \"Secret Service\" API")
- (description
- "Libsecret is a GObject based library for storing and retrieving passwords
- and other secrets. It communicates with the \"Secret Service\" using DBus.")
- (license license:lgpl2.1+)))
- (define-public five-or-more
- (package
- (name "five-or-more")
- (version "3.32.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/five-or-more/"
- (version-major+minor version) "/"
- "five-or-more-" version ".tar.xz"))
- (sha256
- (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t)))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("appstream-glib" ,appstream-glib)
- ("desktop-file-utils" ,desktop-file-utils)
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("vala" ,vala)
- ("xmllint" ,libxml2)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libgnome-games-support" ,libgnome-games-support)
- ("librsvg" ,librsvg)))
- (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
- (synopsis "Logic puzzle game")
- (description "Five or More is a game where you try to align
- five or more objects of the same color and shape causing them to disappear.
- On every turn more objects will appear, until the board is full.
- Try to last as long as possible.")
- (license license:gpl2+)))
- (define-public gnome-mines
- (package
- (name "gnome-mines")
- (version "40.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0sf6kdvhr4pr3hddnj6ql9larz2wy108sri31id6x9g459nbly8z"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "build-aux/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("pkg-config" ,pkg-config)
- ("desktop-file-utils" ,desktop-file-utils)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("vala" ,vala)
- ("yelp" ,yelp)
- ("appstream-glib" ,appstream-glib)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libgnome-games-support" ,libgnome-games-support)
- ("librsvg" ,librsvg)))
- (home-page "https://wiki.gnome.org/Apps/Mines")
- (synopsis "Minesweeper game")
- (description
- "Mines (previously gnomine) is a puzzle game where you locate mines
- floating in an ocean using only your brain and a little bit of luck.")
- (license license:gpl2+)))
- (define-public gnome-multi-writer
- (package
- (name "gnome-multi-writer")
- (version "3.35.90")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-multi-writer/"
- (version-major+minor version) "/"
- "gnome-multi-writer-" version ".tar.xz"))
- (sha256
- (base32
- "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-post-install
- (lambda _
- (substitute* "meson.build"
- (("meson.add_install_script" &) (string-append "# " &)))
- #t)))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gtk+" ,gtk+)
- ("glib" ,glib) ; for gio
- ("gusb" ,gusb)
- ("udisks" ,udisks)
- ("libgudev" ,libgudev)
- ("libcanberra" ,libcanberra)
- ("polkit" ,polkit)))
- (home-page "https://wiki.gnome.org/Apps/MultiWriter")
- (synopsis "Write to multiple USB devices at once")
- (description
- "MultiWriter can be used to write an ISO file to multiple USB devices at
- once.")
- (license license:gpl2+)))
- (define-public gnome-sudoku
- (package
- (name "gnome-sudoku")
- (version "40.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "18slsxifad5cjz4fqi818i66jc9b7kzgn01qxa0ra4y7wcqha4in"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "build-aux/post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("desktop-file-utils" ,desktop-file-utils)
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("vala" ,vala)
- ("xmllint" ,libxml2)))
- (inputs
- `(("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("libgee" ,libgee)
- ("librsvg" ,librsvg)
- ("qqwing" ,qqwing)))
- (home-page "https://wiki.gnome.org/Apps/Sudoku")
- (synopsis "Japanese logic game")
- (description
- "Sudoku is a Japanese logic game that exploded in popularity in 2005.
- GNOME Sudoku is meant to have an interface as simple and unobstrusive as
- possible while still providing features that make playing difficult Sudoku
- more fun.")
- (license license:gpl2+)))
- (define-public gnome-terminal
- (package
- (name "gnome-terminal")
- (version "3.40.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "08hsic7sn32xw12i3j0ard2bhfhp8gmzqm0pa8xzl5l1jhzsmsfb"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:configure-flags
- (list "--disable-migration" "--disable-search-provider"
- "--without-nautilus-extension")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-/bin/true
- (lambda _
- (substitute* "configure"
- (("/bin/true") (which "true"))))))))
- (native-inputs
- `(("docbook-xsl" ,docbook-xsl)
- ("pkg-config" ,pkg-config)
- ("desktop-file-utils" ,desktop-file-utils)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("libxslt" ,libxslt)
- ("xmllint" ,libxml2)))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (inputs
- `(("gtk+" ,gtk+)
- ("vte" ,vte)
- ("gnutls" ,gnutls)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("util-linux" ,util-linux "lib")
- ("vala" ,vala)))
- (home-page "https://wiki.gnome.org/Apps/Terminal")
- (synopsis "Terminal emulator")
- (description
- "GNOME Terminal is a terminal emulator application for accessing a
- UNIX shell environment which can be used to run programs available on
- your system.
- It supports several profiles, multiple tabs and implements several
- keyboard shortcuts.")
- (license license:gpl3+)))
- (define-public colord
- (package
- (name "colord")
- (version "1.4.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
- "colord-" version ".tar.xz"))
- (sha256
- (base32 "05sydi6qqqx1rrqwnga1vbg9srkf89wdcfw5w4p4m7r37m2flx5p"))))
- (build-system meson-build-system)
- (arguments
- '(;; FIXME: One test fails:
- ;; /colord/icc-store (in lib/colord/colord-self-test-private):
- ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
- ;; application/x-zerosize
- #:tests? #f
- #:glib-or-gtk? #t
- #:configure-flags (list "-Dlocalstatedir=/var"
- ;; No dep on systemd.
- "-Dsystemd=false"
- ;; Wants to install to global completion dir;
- ;; punt.
- "-Dbash_completion=false"
- "-Ddaemon_user=colord"
- "-Dsane=true"
- "-Dvapi=true"
- ;; Requires spotread.
- "-Dargyllcms_sensor=false"
- ;; TODO: Requires docbook2x.
- "-Dman=false")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-build-system
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "rules/meson.build"
- (("udev.get_pkgconfig_variable\\('udevdir'\\)")
- (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
- #t))
- (add-before 'configure 'set-sqlite3-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- ;; "colormgr dump" works by invoking the "sqlite3" command.
- ;; Record its absolute file name.
- (let ((sqlite (assoc-ref inputs "sqlite")))
- (substitute* "client/cd-util.c"
- (("\"sqlite3\"")
- (string-append "\"" sqlite "/bin/sqlite3\"")))
- #t))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (propagated-inputs
- ;; colord.pc refers to all these.
- `(("glib" ,glib)
- ("lcms" ,lcms)
- ("udev" ,eudev)))
- (inputs
- `(("dbus-glib" ,dbus-glib)
- ("gusb" ,gusb)
- ("libgudev" ,libgudev)
- ("libusb" ,libusb)
- ("polkit" ,polkit)
- ("python" ,python-wrapper)
- ("sqlite" ,sqlite)
- ("sane-backends" ,sane-backends)))
- (home-page "https://www.freedesktop.org/software/colord/")
- (synopsis "Color management service")
- (description "Colord is a system service that makes it easy to manage,
- install and generate color profiles to accurately color manage input and
- output devices.")
- (license license:gpl2+)))
- (define-public geoclue
- (package
- (name "geoclue")
- (version "2.5.7")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
- version "/geoclue-" version ".tar.bz2"))
- (sha256
- (base32 "09ww26a76kanldhgwnn5sqy9ly2940k45zpp68spykkv2zjdpivc"))
- (patches (search-patches "geoclue-config.patch"))))
- (build-system meson-build-system)
- (arguments
- '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)
- ("modem-manager" ,modem-manager)
- ("libnotify" ,libnotify)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)))
- (inputs
- `(("avahi" ,avahi)
- ("glib:bin" ,glib "bin")
- ("glib-networking" ,glib-networking)
- ("json-glib" ,json-glib)
- ("libsoup" ,libsoup)))
- (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
- (synopsis "Geolocation service")
- (description "Geoclue is a D-Bus service that provides location
- information. The primary goal of the Geoclue project is to make creating
- location-aware applications as simple as possible, while the secondary goal is
- to ensure that no application can access location information without explicit
- permission from user.")
- (license license:gpl2+)))
- (define-public geocode-glib
- (package
- (name "geocode-glib")
- (version "3.26.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/geocode-glib/"
- (version-major+minor version) "/"
- "geocode-glib-" version ".tar.xz"))
- (sha256
- (base32
- "1l8g0f13xgkrk335afr9w8k46mziwb2jnyhl07jccl5yl37q9zh1"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; The tests require a bunch of locales.
- (add-before 'check 'set-locales
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "GUIX_LOCPATH"
- (search-input-directory inputs "lib/locale")))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums
- ("glibc-locales" ,glibc-locales) ; for tests
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("json-glib" ,json-glib)))
- (propagated-inputs
- ;; geocode-glib-1.0.pc refers to GIO.
- `(("glib" ,glib)))
- (inputs
- `(("libsoup" ,libsoup)))
- (home-page "https://github.com/GNOME/geocode-glib/")
- (synopsis "Geocoding and reverse-geocoding library")
- (description
- "geocode-glib is a convenience library for geocoding (finding longitude,
- and latitude from an address) and reverse geocoding (finding an address from
- coordinates) using the Nominatim service. geocode-glib caches requests for
- faster results and to avoid unnecessary server load.")
- (license license:lgpl2.0+)))
- (define-public upower
- (package
- (name "upower")
- (version "0.99.12")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.freedesktop.org/upower/upower")
- (commit (string-append "UPOWER_"
- (string-map (match-lambda (#\. #\_)
- (chr chr))
- version)))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "00q63yc8vp5cq05vhpwq3qglapdm8hg0lrqkzdwkphk30qzb6hv6"))
- (patches (search-patches "upower-builddir.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Upstream commit
- ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
- ;; moved 'dbus-1/system.d' from etc/ to share/. However,
- ;; 'dbus-configuration-directory' in (gnu services dbus)
- ;; expects it in etc/. Thus, move it back to its previous
- ;; location.
- (substitute* "src/Makefile.am"
- (("^dbusconfdir =.*$")
- "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
- #t))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((umockdev (string-append (assoc-ref inputs "umockdev")
- "/lib")))
- (setenv "LD_LIBRARY_PATH" umockdev))
- #t)))
- #:configure-flags (list "--localstatedir=/var"
- (string-append "--with-udevrulesdir="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d"))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
- ("intltool" ,intltool)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("which" ,which) ; for ./autogen.sh
- ;; For tests.
- ("python-dbus" ,python-dbus)
- ("python-dbusmock" ,python-dbusmock)
- ("python-pygobject" ,python-pygobject)
- ("umockdev" ,umockdev)
- ;; For man pages.
- ("docbook-xsl" ,docbook-xsl)
- ("libxslt" ,libxslt) ; for 'xsltproc'
- ("libxml2" ,libxml2))) ; for 'XML_CATALOG_FILES'
- (inputs
- `(("dbus-glib" ,dbus-glib)
- ("libgudev" ,libgudev)
- ("libusb" ,libusb)))
- (propagated-inputs
- ;; In Requires of upower-glib.pc.
- `(("glib" ,glib)))
- (home-page "https://upower.freedesktop.org/")
- (synopsis "System daemon for managing power devices")
- (description
- "UPower is an abstraction for enumerating power devices,
- listening to device events and querying history and statistics. Any
- application or service on the system can access the org.freedesktop.UPower
- service via the system message bus.")
- (license license:gpl2+)))
- (define-public libgweather
- (package
- (name "libgweather")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1rkf4yv43qcahyx7bismdv6z2vh5azdnm1fqfmnzrada9cm8ykna"))))
- (build-system meson-build-system)
- (arguments
- `(#:tests? #f ; one of two tests requires network access
- #:configure-flags
- `(,(string-append "-Dzoneinfo_dir="
- (assoc-ref %build-inputs "tzdata")
- "/share/zoneinfo"))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("intltool" ,intltool)
- ("python-pygobject" ,python-pygobject)))
- (propagated-inputs
- ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
- ;; libsoup.
- `(("gtk+" ,gtk+)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("libxml2" ,libxml2)
- ("libsoup" ,libsoup)
- ("geocode-glib" ,geocode-glib)))
- (inputs
- `(("tzdata" ,tzdata)))
- (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
- (synopsis "Location, time zone, and weather library for GNOME")
- (description
- "libgweather is a library to access weather information from online
- services for numerous locations.")
- (license license:gpl2+)))
- (define-public gnome-settings-daemon
- (package
- (name "gnome-settings-daemon")
- (version "40.0.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "08bv32hvsmd8izw0llvldg0c2d71srch4hi8j94jwgm5d4dsrprp"))
- (patches (search-patches "gnome-settings-daemon-gc.patch"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- (list (string-append "-Dudev_dir="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d/")
- "-Dsystemd=false"
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gnome-settings-daemon-3.0"))
- #:phases (modify-phases %standard-phases
- (add-before 'configure 'set-baobab-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hard-code the file name of Baobab instead of looking
- ;; it up in $PATH. This ensures users get the "Examine"
- ;; button in the low disk space notification of GDM even
- ;; if they don't have GNOME in their main profile.
- (let ((baobab (assoc-ref inputs "baobab")))
- (substitute* "plugins/housekeeping/gsd-disk-space.c"
- (("g_find_program_in_path \\(DISK_SPACE_ANALYZER\\)")
- (string-append "g_strdup (\"" baobab
- "/bin/baobab\")")))
- #t))))
- ;; Color management test can't reach the colord system service.
- #:tests? #f))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums
- ("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("xsltproc" ,libxslt)
- ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
- ("docbook-xml" ,docbook-xml-4.2)
- ("docbook-xsl" ,docbook-xsl)))
- (inputs
- `(("alsa-lib" ,alsa-lib)
- ("baobab" ,baobab)
- ("colord" ,colord)
- ("libgudev" ,libgudev)
- ("upower" ,upower)
- ("polkit" ,polkit)
- ("pulseaudio" ,pulseaudio)
- ("libcanberra" ,libcanberra)
- ("libx11" ,libx11)
- ("libxtst" ,libxtst)
- ("lcms" ,lcms)
- ("libnotify" ,libnotify)
- ("geoclue" ,geoclue)
- ("geocode-glib" ,geocode-glib)
- ("libgweather" ,libgweather)
- ("gnome-desktop" ,gnome-desktop)
- ("nss" ,nss)
- ("cups" ,cups)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libwacom" ,libwacom)
- ("librsvg" ,librsvg)
- ("xf86-input-wacom" ,xf86-input-wacom)
- ("wayland" ,wayland)
- ("network-manager" ,network-manager)
- ("gcr" ,gcr)
- ("modem-manager" ,modem-manager)))
- (home-page "https://www.gnome.org")
- (synopsis "GNOME settings daemon")
- (description
- "This package contains the daemon responsible for setting the various
- parameters of a GNOME session and the applications that run under it. It
- handles settings such keyboard layout, shortcuts, and accessibility, clipboard
- settings, themes, mouse settings, and startup of other daemons.")
- (license license:gpl2+)))
- (define-public totem-pl-parser
- (package
- (name "totem-pl-parser")
- (version "3.26.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
- (version-major+minor version) "/"
- "totem-pl-parser-" version ".tar.xz"))
- (sha256
- (base32
- "075csd5x0frgf93jvhlqiwv5i0qm24zz3iw17jj7v7fgsml0zpy0"))))
- (build-system meson-build-system)
- (arguments
- ;; FIXME: Tests require gvfs.
- `(#:tests? #f))
- (native-inputs
- `(("intltool" ,intltool)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib)
- ("gmime" ,gmime)
- ("libarchive" ,libarchive)
- ("libgcrypt" ,libgcrypt)
- ("libxml2" ,libxml2)))
- (inputs
- `(("libsoup" ,libsoup)))
- (home-page "https://projects.gnome.org/totem")
- (synopsis "Library to parse and save media playlists for GNOME")
- (description "Totem-pl-parser is a GObjects-based library to parse and save
- playlists in a variety of formats.")
- (license license:lgpl2.0+)))
- (define-public aisleriot
- (package
- (name "aisleriot")
- (version "3.22.9")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/aisleriot/"
- (version-major+minor version) "/"
- "aisleriot-" version ".tar.xz"))
- (sha256
- (base32
- "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:configure-flags
- '("--with-platform=gtk-only"
- "--with-card-theme-formats=svg")))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("gtk+" ,gtk+)
- ("guile" ,guile-2.2)
- ("libcanberra" ,libcanberra)
- ("librsvg" ,librsvg)))
- (home-page "https://wiki.gnome.org/Apps/Aisleriot")
- (synopsis "Solitaire card games")
- (description
- "Aisleriot (also known as Solitaire or sol) is a collection of card games
- which are easy to play with the aid of a mouse.")
- (license license:gpl3+)))
- (define-public amtk
- (package
- (name "amtk")
- (version "5.3.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/amtk/"
- (version-major+minor version) "/"
- "amtk-" version ".tar.xz"))
- (sha256
- (base32
- "12v3nj1bb7507ndprjggq0hpz8k719b4bwvl8sm43p3ibmn27anm"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("glib:bin" ,glib "bin") ; for glib-mkenums
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)))
- (home-page "https://wiki.gnome.org/Projects/Amtk")
- (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
- (description
- "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
- It is a basic GtkUIManager replacement based on GAction. It is suitable for
- both a traditional UI or a modern UI with a GtkHeaderBar.")
- (license license:lgpl2.1+)))
- (define-public devhelp
- (package
- (name "devhelp")
- (version "40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1fvb69l1nyxdrs95ar95rmpfs8nfkpys4x74r8ilid44hhzdk2iy"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true")))))))
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("gobject-introspection" ,gobject-introspection)
- ("glib:bin" ,glib "bin") ; for glib-mkmenus
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("amtk" ,amtk)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("webkitgtk" ,webkitgtk)))
- (home-page "https://wiki.gnome.org/Apps/Devhelp")
- (synopsis "API documentation browser for GNOME")
- (description
- "Devhelp is an API documentation browser for GTK+ and GNOME. It works
- natively with GTK-Doc (the API reference system developed for GTK+ and used
- throughout GNOME for API documentation).")
- (license license:gpl2+)))
- (define-public cogl
- (package
- (name "cogl")
- (version "1.22.8")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/cogl/"
- (version-major+minor version) "/"
- "cogl-" version ".tar.xz"))
- (sha256
- (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
- ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
- ;; cogl, corresponding changes may be appropriate in mutter as well.
- (build-system gnu-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums
- ("gobject-introspection" ,gobject-introspection)
- ("xorg-server" ,xorg-server-for-tests)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxfixes" ,libxfixes)
- ("libxdamage" ,libxdamage)
- ("libxcomposite" ,libxcomposite)
- ("libxrandr" ,libxrandr)))
- (inputs
- `(("mesa" ,mesa)
- ("cairo" ,cairo)
- ("pango" ,pango)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("wayland" ,wayland)))
- (arguments
- `(#:disallowed-references (,xorg-server-for-tests)
- #:configure-flags (list "--enable-cogl-gst"
- "--enable-wayland-egl-platform"
- "--enable-wayland-egl-server"
- ;; Arrange to pass an absolute file name to
- ;; dlopen for libGL.so.
- (string-append "--with-gl-libname="
- (assoc-ref %build-inputs "mesa")
- "/lib/libGL.so"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-build-with-mesa-20
- (lambda _
- ;; Work around a problem with Mesa 20 where some macros used by
- ;; Cogl went missing from eglext.h. This can likely be removed
- ;; for newer versions of Cogl or Mesa.
- ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
- (substitute* '("configure"
- "cogl/winsys/cogl-winsys-egl-kms.c")
- (("#include <EGL/eglext.h>" all)
- (string-append all "\n#include <EGL/eglmesaext.h>\n")))
- #t))
- (add-before 'check 'start-xorg-server
- (lambda* (#:key tests? inputs #:allow-other-keys)
- (if tests?
- (begin
- ;; The test suite requires a running X server.
- (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
- (assoc-ref inputs "xorg-server")))
- (setenv "DISPLAY" ":1")
- #t)
- (format #t "test suite not run~%"))
- #t)))))
- (home-page "https://www.cogl3d.org")
- (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
- (description
- "Cogl is a small library for using 3D graphics hardware to draw pretty
- pictures. The API departs from the flat state machine style of OpenGL and is
- designed to make it easy to write orthogonal components that can render
- without stepping on each others toes.")
- (license (list license:expat ; most of the code
- license:bsd-3 ; cogl/cogl-point-in-poly.c
- license:sgifreeb2.0 ; cogl-path/tesselator/
- license:asl2.0)))) ; examples/android/
- (define-public clutter
- (package
- (name "clutter")
- (version "1.26.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
- ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
- ;; to clutter, corresponding changes may be appropriate in mutter as well.
- (build-system gnu-build-system)
- (outputs '("out"
- "doc")) ;9 MiB of gtk-doc HTML pages
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-genmarshal
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
- (propagated-inputs
- `(("cogl" ,cogl)
- ("cairo" ,cairo)
- ("atk" ,atk)
- ("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("glib" ,glib)
- ("libxcomposite" ,libxcomposite)
- ("libxdamage" ,libxdamage)
- ("libxext" ,libxext)
- ("xinput" ,xinput)))
- (inputs
- `(("libxkbcommon" ,libxkbcommon)
- ("udev" ,eudev)))
- (arguments
- `(#:configure-flags (list "--enable-x11-backend=yes"
- ;; This produces share/doc/{clutter,cally}.
- (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/doc"))
- ;; XXX FIXME: Get test suite working. It would probably fail in the
- ;; same way the cogl tests fail, since clutter is based on cogl.
- #:tests? #f))
- (home-page "http://www.clutter-project.org")
- (synopsis "OpenGL-based interactive canvas library")
- (description
- "Clutter is an OpenGL-based interactive canvas library, designed for
- creating fast, mainly 2D single window applications such as media box UIs,
- presentations, kiosk style applications and so on.")
- (license license:lgpl2.0+)))
- (define-public clutter-gtk
- (package
- (name "clutter-gtk")
- (version "1.8.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)))
- (propagated-inputs
- ;; clutter-gtk.pc refers to all these.
- `(("clutter" ,clutter)
- ("gtk+" ,gtk+)))
- (home-page "http://www.clutter-project.org")
- (synopsis "OpenGL-based interactive canvas library GTK+ widget")
- (description
- "Clutter is an OpenGL-based interactive canvas library, designed for
- creating fast, mainly 2D single window applications such as media box UIs,
- presentations, kiosk style applications and so on.")
- (license license:lgpl2.0+)))
- (define-public clutter-gst
- (package
- (name "clutter-gst")
- (version "3.0.27")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/clutter-gst/"
- (version-major+minor version) "/"
- "clutter-gst-" version ".tar.xz"))
- (sha256
- (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums
- ("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)))
- (inputs
- `(("clutter" ,clutter)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)))
- (home-page "http://www.clutter-project.org")
- (synopsis "Integration library for using GStreamer with Clutter")
- (description
- "Clutter-Gst is an integration library for using GStreamer with Clutter.
- It provides a GStreamer sink to upload frames to GL and an actor that
- implements the ClutterGstPlayer interface using playbin. Clutter is an
- OpenGL-based interactive canvas library.")
- (license license:lgpl2.0+)))
- (define-public libchamplain
- (package
- (name "libchamplain")
- (version "0.12.16")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
- version ".tar.xz"))
- (sha256
- (base32
- "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
- (build-system gnu-build-system)
- (arguments '(#:configure-flags '("--enable-vala")))
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (propagated-inputs
- `(("libsoup" ,libsoup)
- ("sqlite" ,sqlite)
- ("clutter" ,clutter)
- ("clutter-gtk" ,clutter-gtk)
- ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
- ("cairo" ,cairo)
- ("gtk+3" ,gtk+)
- ("glib" ,glib)))
- (home-page "https://projects.gnome.org/libchamplain/")
- (synopsis "C library providing a ClutterActor to display maps")
- (description
- "libchamplain is a C library providing a ClutterActor to display maps.
- It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
- and Perl bindings are also available. It supports numerous free map sources
- such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
- (license license:lgpl2.1+)))
- (define-public gom
- (package
- (name "gom")
- (version "0.3.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gom/"
- (version-major+minor version) "/"
- "gom-" version ".tar.xz"))
- (sha256
- (base32
- "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)))
- (inputs
- `(("glib" ,glib)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("sqlite" ,sqlite)))
- ;; XXX TODO: Figure out how to run the test suite.
- (arguments `(#:tests? #f))
- (home-page "https://wiki.gnome.org/Projects/Gom")
- (synopsis "Object mapper from GObjects to SQLite")
- (description
- "Gom provides an object mapper from GObjects to SQLite. It helps you
- write applications that need to store structured data as well as make complex
- queries upon that data.")
- (license license:lgpl2.1+)))
- (define-public libgnome-games-support
- (package
- (name "libgnome-games-support")
- (version "1.7.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
- (version-major+minor version) "/"
- "libgnome-games-support-" version ".tar.xz"))
- (sha256
- (base32
- "11g1r3ppb9v8m3anks9gxf7fv1x38vmjiya3lr7zjjv328pb69d6"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a writable HOME.
- (setenv "HOME" (getcwd))
- #t)))))
- (native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (propagated-inputs
- ;; Required by libgnome-games-support-1.0.pc
- `(("gtk+" ,gtk+)
- ("libgee" ,libgee)))
- (home-page "https://www.gnome.org/")
- (synopsis "Useful functionality shared among GNOME games")
- (description
- "libgnome-games-support is a small library intended for internal use by
- GNOME Games, but it may be used by others.")
- (license license:lgpl3+)))
- (define-public gnome-klotski
- (package
- (name "gnome-klotski")
- (version "3.34.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t)))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xmllint" ,libxml2)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libgnome-games-support" ,libgnome-games-support)
- ("librsvg" ,librsvg)))
- (home-page "https://wiki.gnome.org/Apps/Klotski")
- (synopsis "Sliding block puzzles")
- (description
- "GNOME Klotski is a set of block sliding puzzles. The objective is to move
- the patterned block to the area bordered by green markers. To do so, you will
- need to slide other blocks out of the way. Complete each puzzle in as few moves
- as possible!")
- (license license:gpl2+)))
- (define-public grilo
- (package
- (name "grilo")
- (version "0.3.13")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/grilo/"
- (version-major+minor version) "/"
- "grilo-" version ".tar.xz"))
- (sha256
- (base32 "0ywjvh7xw4ql1q4fvl0q5n06n08pga1g1nc9l7c3x5214gr3fj6i"))))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("vala" ,vala)))
- (inputs
- `(("cyrus-sasl" ,cyrus-sasl)
- ("glib" ,glib)
- ("gtk+" ,gtk+)
- ("libxml2" ,libxml2)
- ("liboauth" ,liboauth)
- ("libsoup" ,libsoup)
- ("totem-pl-parser" ,totem-pl-parser)))
- (native-search-paths
- (list (search-path-specification
- (variable "GRL_PLUGIN_PATH")
- (files (list (string-append "lib/grilo-"
- (version-major+minor version)))))))
- (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
- (synopsis "Framework for discovering and browsing media")
- (description
- "Grilo is a framework focused on making media discovery and browsing easy
- for application developers.")
- (license license:lgpl2.1+)))
- (define-public grilo-plugins
- (package
- (name "grilo-plugins")
- (version "0.3.13")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1y10nnd711qxwgpz6spzp1rnk50fyf11kk1n71a31ab4fgb0ahqw"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gtk+:bin" ,gtk+ "bin")
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
- ;; TODO: ahavi, gstreamer
- (inputs
- `(("grilo" ,grilo)
- ;("gmime" ,gmime) ; unused
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gom" ,gom)
- ;("gssdp" ,gssdp) ; unused
- ;("gupnp" ,gupnp) ; unused
- ;("gupnp-av" ,gupnp-av) ; unused
- ("json-glib" ,json-glib)
- ("avahi" ,avahi)
- ("libgdata" ,libgdata)
- ("libmediaart" ,libmediaart)
- ;("librest" ,rest) ; unused
- ("libsoup" ,libsoup)
- ("python-pygobject" ,python-pygobject)
- ("totam-pl-parser" ,totem-pl-parser)
- ("tracker" ,tracker)
- ("tracker-miners" ,tracker-miners)))
- (arguments
- `(#:glib-or-gtk? #t
- ;;Disable lua-factory as it needs missing dependencies
- #:configure-flags '("-Denable-lua-factory=no")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda _
- (setenv "SHELL" (which "bash"))))
- ;; Disable the tracker test that requires the UPower daemon.
- (add-before 'configure 'fix-tests
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "tests/tracker3/meson.build"
- (("'test_tracker3'.*") "")))))))
- (home-page "https://live.gnome.org/Grilo")
- (synopsis "Plugins for the Grilo media discovery library")
- (description
- "Grilo is a framework focused on making media discovery and browsing easy
- for application developers. This package provides plugins for common media
- discovery protocols.")
- (license license:lgpl2.1+)))
- (define-public totem
- (package
- (name "totem")
- (version "3.38.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/totem/"
- (version-major+minor version) "/"
- "totem-" version ".tar.xz"))
- (sha256
- (base32 "02510lvzvxvmpcs64k6sqix8ysl7sihhhwvp0vmfv7521ryczylg"))))
- (build-system meson-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
- ("itstool" ,itstool)
- ("xmllint" ,libxml2)
- ("xorg-server" ,xorg-server-for-tests)))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (inputs
- `(("gtk+" ,gtk+)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("atk" ,atk)
- ("cairo" ,cairo)
- ("dbus-glib" ,dbus-glib)
- ("clutter" ,clutter)
- ("clutter-gtk" ,clutter-gtk)
- ("clutter-gst" ,clutter-gst)
- ("xorgproto" ,xorgproto)
- ("libxxf86vm" ,libxxf86vm)
- ("libxtst" ,libxtst)
- ("libxrandr" ,libxrandr)
- ("libxml2" ,libxml2)
- ("libsoup" ,libsoup)
- ("libpeas" ,libpeas)
- ("librsvg" ,librsvg)
- ("lirc" ,lirc)
- ("gnome-desktop" ,gnome-desktop)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("adwaita-icon-theme" ,adwaita-icon-theme)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)
- ("totem-pl-parser" ,totem-pl-parser)
- ("grilo" ,grilo)
- ("grilo-plugins" ,grilo-plugins)
- ("vala" ,vala)))
- (arguments
- `(#:glib-or-gtk? #t
- ;; Disable automatic GStreamer plugin installation via PackageKit and
- ;; all that.
- #:configure-flags '("-D" "enable-easy-codec-installation=no"
- ;; Do not build .a files for the plugins, it's
- ;; completely useless. This saves 2 MiB.
- "--default-library" "shared")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t))
- (add-before
- 'install 'disable-cache-generation
- (lambda _
- (setenv "DESTDIR" "/")
- #t))
- (add-before
- 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t))
- (add-after
- 'install 'wrap-totem
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
- (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
- (wrap-program (string-append out "/bin/totem")
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
- `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
- (wrap-program (string-append out "/bin/totem-video-thumbnailer")
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
- #t)))))
- (home-page "https://wiki.gnome.org/Apps/Videos")
- (synopsis "Simple media player for GNOME based on GStreamer")
- (description "Totem is a simple yet featureful media player for GNOME
- which can read a large number of file formats.")
- ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
- ;; to be used and distributed together with GStreamer and Totem. See
- ;; file://COPYING in the source distribution for details.
- (license license:gpl2+)))
- (define-public rhythmbox
- (package
- (name "rhythmbox")
- (version "3.4.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/rhythmbox/"
- (version-major+minor version) "/"
- "rhythmbox-" version ".tar.xz"))
- (sha256
- (base32
- "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:configure-flags
- (list "--enable-lirc"
- "--enable-python"
- "--enable-vala"
- "--with-brasero"
- "--with-gudev"
- "--with-libsecret")
- #:phases
- (modify-phases %standard-phases
- (add-after
- 'install 'wrap-rhythmbox
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
- (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
- (python-path (getenv "GUIX_PYTHONPATH")))
- (wrap-program (string-append out "/bin/rhythmbox")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
- `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
- `("GUIX_PYTHONPATH" ":" prefix (,python-path))))
- #t)))))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (native-inputs
- `(("itstool" ,itstool)
- ("intltool" ,intltool)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("desktop-file-utils" ,desktop-file-utils)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("json-glib" ,json-glib)
- ("tdb" ,tdb)
- ("gnome-desktop" ,gnome-desktop)
- ("python" ,python)
- ("python-pygobject" ,python2-pygobject)
- ("vala" ,vala)
- ("gmime" ,gmime)
- ("adwaita-icon-theme" ,adwaita-icon-theme)
- ("grilo" ,grilo)
- ("grilo-plugins" ,grilo-plugins)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("totem-pl-parser" ,totem-pl-parser)
- ("libgudev" ,libgudev)
- ;;("libmtp" ,libmtp) FIXME: Not detected
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
- ("libnotify" ,libnotify)
- ("libpeas" ,libpeas)
- ("lirc" ,lirc)
- ;; TODO: clutter* only used by visualizer plugin, which also requires mx
- ;;("clutter" ,clutter)
- ;;("clutter-gtk" ,clutter-gtk)
- ;;("clutter-gst" ,clutter-gst)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("atk" ,atk)
- ("pango" ,pango)
- ("gtk+" ,gtk+)
- ;; TODO:
- ;; * libgpod
- ;; * mx
- ("brasero" ,brasero)))
- (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
- (synopsis "Music player for GNOME")
- (description "Rhythmbox is a music playing application for GNOME. It
- supports playlists, song ratings, and any codecs installed through gstreamer.")
- (license license:gpl2+)))
- (define-public eog
- (package
- (name "eog")
- (version "40.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0ddjwcd77nw0rxb5x5bz5hd671m8gya9827p8rsnb58x103kpai8"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags
- ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
- (list (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib/eog"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))))
- (add-after 'install 'wrap-eog
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
- (wrap-program (string-append out "/bin/eog")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("gnome-desktop" ,gnome-desktop)
- ("shared-mime-info" ,shared-mime-info)
- ("adwaita-icon-theme" ,adwaita-icon-theme)
- ("exempi" ,exempi)
- ("lcms" ,lcms)
- ("libexif" ,libexif)
- ("libpeas" ,libpeas)
- ("libportal" ,libportal)
- ("libjpeg" ,libjpeg-turbo)
- ("librsvg" ,librsvg)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)))
- (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
- (synopsis "GNOME image viewer")
- (description "Eye of GNOME is the GNOME image viewer. It
- supports image conversion, rotation, and slideshows.")
- (license license:gpl2+)))
- (define-public eog-plugins
- ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
- ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
- ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
- ;; 'XDG_DATA_DIRS' appropriately set.
- (package
- (name "eog-plugins")
- (version "3.26.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/eog-plugins/"
- (version-major+minor version) "/"
- "eog-plugins-" version ".tar.xz"))
- (sha256
- (base32
- "0gbvl54hjawcrj2cbkvsw5jx11p6jv1xkc58c8ikwwpb56gc3ric"))))
- (build-system gnu-build-system)
- (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
- (synopsis "Extensions for the Eye of GNOME image viewer")
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)))
- (inputs
- `(("eog" ,eog)
- ("glib" ,glib)
- ("gtk+" ,gtk+)
- ("libpeas" ,libpeas)
- ("libexif" ,libexif)
- ("libchamplain" ,libchamplain)))
- (description
- "This package provides plugins for the Eye of GNOME (EOG) image viewer,
- notably:
- @itemize
- @item @dfn{EXIF Display}, which displays camera (EXIF) information;
- @item @dfn{Map}, which displays a map of where the picture was taken on the
- side panel;
- @item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
- @end itemize\n")
- ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
- ;; long suspicious byte stream that goes to a
- ;; ".gresource.eog_postasa_plugin" ELF section.
- (license license:gpl2+)))
- (define-public libgudev
- (package
- (name "libgudev")
- (version "236")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- version "/" name "-" version ".tar.xz"))
- (sha256
- (base32
- "094mgjmwgsgqrr1i0vd20ynvlkihvs3vgbmpbrhswjsrdp86j0z5"))))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib) ; in Requires of gudev-1.0.pc
- ("eudev" ,eudev))) ; in Requires.private of gudev-1.0.pc
- (inputs
- `(("udev" ,eudev)))
- (home-page "https://wiki.gnome.org/Projects/libgudev")
- (synopsis "GObject bindings for libudev")
- (description
- "This library provides GObject bindings for libudev. It was originally
- part of udev-extras, then udev, then systemd. It's now a project on its own.")
- (license license:lgpl2.1+)))
- (define-public gvfs
- (package
- (name "gvfs")
- (version "1.48.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gvfs/"
- (version-major+minor version) "/"
- "gvfs-" version ".tar.xz"))
- (sha256
- (base32
- "1hlxl6368h6nyqp1888szxs9hnpcw98k3h23dgqi29xd38klzsmj"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:configure-flags
- (list "-Dsystemduserunitdir=no"
- "-Dtmpfilesdir=no"
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib/gvfs"))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
- ("gettext" ,gettext-minimal)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
- (inputs
- `(("avahi" ,avahi)
- ("docbook-xml" ,docbook-xml-4.2)
- ("docbook-xsl" ,docbook-xsl)
- ("dbus" ,dbus)
- ("elogind" ,elogind)
- ("fuse" ,fuse-3)
- ("gcr" ,gcr)
- ("glib" ,glib)
- ("gnome-online-accounts" ,gnome-online-accounts)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libarchive" ,libarchive)
- ("libbluray" ,libbluray)
- ("libcap" ,libcap)
- ("libcdio-paranoia" ,libcdio-paranoia)
- ("libgcrypt" ,libgcrypt)
- ("libgdata" ,libgdata)
- ("libgphoto2" ,libgphoto2)
- ("libgudev" ,libgudev)
- ("libimobiledevice" ,libimobiledevice)
- ("libmtp" ,libmtp)
- ("libnfs" ,libnfs)
- ("libsecret" ,libsecret)
- ("libsmbclient" ,samba)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)
- ("openssh" ,openssh)
- ("polkit" ,polkit)
- ("udisks" ,udisks)))
- (home-page "https://wiki.gnome.org/gvfs/")
- (synopsis "Userspace virtual file system for GIO")
- (description
- "GVFS is a userspace virtual file system designed to work with the I/O
- abstraction of GIO. It contains a GIO module that seamlessly adds GVFS
- support to all applications using the GIO API. It also supports exposing the
- GVFS mounts to non-GIO applications using FUSE.
- GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
- DAV, and others.")
- (license license:lgpl2.0+)))
- (define-public gusb
- (package
- (name "gusb")
- (version "0.3.5")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hughsie/libgusb")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0ifhdqhpyxwsg0z9s1anj7cf5pya5qsqyp5ksh9n7mqwa4lrjkl8"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("gtk-doc" ,gtk-doc/stable)))
- (propagated-inputs
- ;; Both of these are required by gusb.pc.
- `(("glib" ,glib)
- ("libusb" ,libusb)))
- (arguments
- `(#:tests? #f ;libusb fails to initialize. Wonder what that is.
- #:configure-flags
- ,(if (%current-target-system)
- ;; Introspection data cannot currently be cross-compiled.
- ''("-Dintrospection=false"
- ;; Requires introspection data.
- "-Dvapi=false")
- ''())))
- (home-page "https://github.com/hughsie/libgusb")
- (synopsis "GLib binding for libusb1")
- (description
- "GUsb is a GObject wrapper for libusb1 that makes it easy to do
- asynchronous control, bulk and interrupt transfers with proper cancellation
- and integration into a mainloop. This makes it easy to integrate low level
- USB transfers with your high-level application or system daemon.")
- (license license:lgpl2.1+)))
- (define-public simple-scan
- (package
- (name "simple-scan")
- (version "40.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/simple-scan/"
- (version-major version) "/"
- "simple-scan-" version ".tar.xz"))
- (sha256
- (base32 "195rh8zj5n497gj42rd77mvkdl15hk0i08ll5h4hb9kcrgj7jlzb"))))
- (build-system meson-build-system)
- ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
- (arguments
- '(#:glib-or-gtk? #t))
- (inputs
- `(("gtk" ,gtk+)
- ("zlib" ,zlib)
- ("cairo" ,cairo)
- ("colord" ,colord)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("gusb" ,gusb)
- ("libhandy" ,libhandy)
- ("libsane" ,sane-backends)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("itstool" ,itstool)
- ("glib" ,glib "bin") ; glib-compile-schemas, etc.
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xmllint" ,libxml2)))
- (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
- (synopsis "Document and image scanner")
- (description
- "Document Scanner is an easy-to-use application that lets you connect your
- scanner and quickly capture images and documents in an appropriate format. It
- supports any scanner for which a suitable SANE driver is available, which is
- almost all of them.")
- (license license:gpl3+)))
- (define-public eolie
- (package
- (name "eolie")
- (version "0.9.101")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://adishatz.org/eolie/eolie-"
- version ".tar.xz"))
- (sha256
- (base32
- "1v8n21y75abdzsnx5idyd0q6yfb6cd0sqbknlbkwh5fdgvjzyvwn"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t))
- (add-after 'wrap 'wrap-more
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- ;; These libraries must be on LD_LIBRARY_PATH.
- (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
- "atk" "gtk+" "gsettings-desktop-schemas"
- "gobject-introspection"))
- (path (string-join
- (map (lambda (lib)
- (string-append (assoc-ref inputs lib) "/lib"))
- libs)
- ":")))
- (wrap-program (string-append out "/bin/eolie")
- `("LD_LIBRARY_PATH" ":" prefix (,path))
- `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
- #t)))))
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("glib:bin" ,glib "bin")))
- (inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("glib-networking" ,glib-networking)
- ("cairo" ,cairo)
- ("gtk+" ,gtk+)
- ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
- ("python" ,python-wrapper)
- ("python-dateutil" ,python-dateutil)
- ("python-pyfxa" ,python-pyfxa)
- ("python-pygobject" ,python-pygobject)
- ("python-pycairo" ,python-pycairo)
- ("python-pycrypto" ,python-pycrypto)
- ("libhandy" ,libhandy)
- ("libsecret" ,libsecret)
- ("gtkspell3" ,gtkspell3)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gnome-settings-daemon" ,gnome-settings-daemon) ; desktop-schemas are not enough
- ("webkitgtk" ,webkitgtk)))
- (home-page "https://wiki.gnome.org/Apps/Eolie")
- (synopsis "Web browser for GNOME")
- (description
- "Eolie is a new web browser for GNOME. It features Firefox sync support,
- a secret password store, an adblocker, and a modern UI.")
- (license license:gpl3+)))
- (define-public epiphany
- (package
- (name "epiphany")
- (version "40.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/epiphany/"
- (version-major version) "/"
- "epiphany-" version ".tar.xz"))
- (sha256
- (base32
- "0r7m34xzz3shdfxf2abxb069izak3yv3ijlg29qy4pfmyawkilfs"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "post_install.py"
- (("gtk-update-icon-cache") "true"))))
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- (substitute* "tests/meson.build"
- ;; embed_shell fails, because webkitgtk apparently no longer
- ;; supports overriding the ftp schema web_app_utils fails due
- ;; to missing network access.
- (("(embed_shell|web_app_utils)_test,")
- "find_program('sh'), args: ['-c', 'exit 77'],"))))
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1"))))
- #:configure-flags
- ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
- (list (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib/epiphany"))))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("glib:bin" ,glib "bin") ; for glib-mkenums
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("avahi" ,avahi)
- ("gcr" ,gcr)
- ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
- ("glib-networking" ,glib-networking)
- ("gnome-desktop" ,gnome-desktop)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("json-glib" ,json-glib)
- ("iso-codes" ,iso-codes)
- ("libarchive" ,libarchive)
- ("libdazzle" ,libdazzle)
- ("libhandy" ,libhandy)
- ("libnotify" ,libnotify)
- ("libportal" ,libportal)
- ("libsecret" ,libsecret)
- ("libxslt" ,libxslt)
- ("nettle" ,nettle) ; for hogweed
- ("sqlite" ,sqlite)
- ("webkitgtk" ,webkitgtk)))
- (home-page "https://wiki.gnome.org/Apps/Web")
- (synopsis "GNOME web browser")
- (description
- "Epiphany is a GNOME web browser targeted at non-technical users. Its
- principles are simplicity and standards compliance.")
- (license license:gpl2+)))
- (define-public d-feet
- (package
- (name "d-feet")
- (version "0.3.14")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:out-of-source? #f ; tests need to run in the source directory.
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'check 'pre-check
- (lambda _
- ;; The test suite requires a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- ;; Don't fail on missing '/etc/machine-id'.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- ;; tests.py and window.py don't meet E402:
- ;; E402 module level import not at top of file
- (substitute* "src/tests/Makefile"
- (("--ignore=E123") "--ignore=E123,E402"))
- #t))
- (add-after
- 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/d-feet")))
- (wrap-program prog
- `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("python-pep8" ,python-pep8)
- ("xmllint" ,libxml2)
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("gtk+" ,gtk+)
- ("python" ,python-wrapper)
- ("hicolor-icon-theme" ,hicolor-icon-theme)
- ("python-pygobject" ,python-pygobject)))
- (home-page "https://wiki.gnome.org/Apps/DFeet")
- (synopsis "D-Bus debugger")
- (description
- "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
- of running programs and invoke methods on those interfaces.")
- (license license:gpl2+)))
- (define-public yelp-xsl
- (package
- (name "yelp-xsl")
- (version "3.34.2")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags
- (list
- "--enable-doc")))
- (native-inputs
- `(("ducktype" ,mallard-ducktype)
- ("gettext" ,gettext-minimal)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("xmllint" ,libxml2)
- ("xsltproc" ,libxslt)))
- (synopsis "XSL stylesheets for Yelp")
- (description "Yelp-XSL is a collection of programs and data files to help
- you build, maintain, and distribute documentation. It provides XSLT stylesheets
- that can be built upon for help viewers and publishing systems. These
- stylesheets output JavaScript and CSS content, and reference images
- provided by yelp-xsl. It also redistributes copies of the jQuery and
- jQuery.Syntax JavaScript libraries.")
- (home-page "https://wiki.gnome.org/Apps/Yelp")
- (license
- (list
- ;; XSLT
- license:gpl2+
- ;; Images
- license:lgpl2.1+
- ;; JavaScript
- license:expat))))
- (define-public yelp
- (package
- (name "yelp")
- (version "40.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "08zflnnw6as96n33xhn7zz78r7akbl0i1fzcg2z8jqgja5w88wx1"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libxslt" ,libxslt)
- ("sqlite" ,sqlite)
- ("webkitgtk" ,webkitgtk)
- ("yelp-xsl" ,yelp-xsl)))
- (home-page "https://wiki.gnome.org/Apps/Yelp")
- (synopsis "GNOME help browser")
- (description
- "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
- man, info, and HTML documents. It can locate documents according to the
- freedesktop.org help system specification.")
- (license license:gpl2+)))
- (define-public yelp-tools
- (package
- (name "yelp-tools")
- (version "3.32.2")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("yelp-xsl" ,yelp-xsl)))
- (propagated-inputs
- ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
- `(("itstool" ,itstool)
- ("xmllint" ,libxml2)
- ("xsltproc" ,libxslt)))
- (synopsis "Yelp documentation tools")
- (description
- "Yelp-tools is a collection of scripts and build utilities to help create,
- manage, and publish documentation for Yelp and the web. Most of the heavy
- lifting is done by packages like yelp-xsl and itstool. This package just
- wraps things up in a developer-friendly way.")
- (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
- (license license:gpl2+)))
- (define-public libgee
- (package
- (name "libgee")
- (version "0.20.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libgee/"
- (version-major+minor version) "/"
- "libgee-" version ".tar.xz"))
- (sha256
- (base32
- "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-introspection-install-dir
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "gee/Makefile.in"
- (("@INTROSPECTION_GIRDIR@")
- (string-append out "/share/gir-1.0/"))
- (("@INTROSPECTION_TYPELIBDIR@")
- (string-append out "/lib/girepository-1.0/")))))))))
- (native-inputs
- `(("glib" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
- (home-page "https://wiki.gnome.org/Projects/Libgee")
- (synopsis "GObject collection library")
- (description
- "Libgee is a utility library providing GObject-based interfaces and
- classes for commonly used data structures.")
- (license license:lgpl2.1+)))
- (define-public gexiv2
- (package
- (name "gexiv2")
- (version "0.12.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0k4ljzzz5dwqndw8awvlw3ala8rh3b2rk9i4jzvywc53mi9ba8i3"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gcr" ,gcr)
- ("glib" ,glib "bin")
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (propagated-inputs
- ;; Listed in "Requires" section of gexiv2.pc
- `(("exiv2" ,exiv2)))
- (inputs
- `(("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
- (home-page "https://wiki.gnome.org/Projects/gexiv2")
- (synopsis "GObject wrapper around the Exiv2 photo metadata library")
- (description
- "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
- allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
- metadata in photo and video files of various formats.")
- (license license:gpl2+)))
- (define-public shotwell
- (package
- (name "shotwell")
- (version "0.30.12")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/shotwell/"
- (version-major+minor version) "/"
- "shotwell-" version ".tar.xz"))
- (sha256
- (base32
- "1h5crjq59lqi8f8mdkadzi8pc3i9i2ik4lsx2nrhzq486fzdfhw6"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "build-aux/meson/postinstall.py"
- (("gtk-update-icon-cache") (which "true"))
- (("update-desktop-database") (which "true")))
- #t)))))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("gcr" ,gcr)
- ("gexiv2" ,gexiv2)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gstreamer" ,gstreamer)
- ("json-glib" ,json-glib)
- ("libgdata" ,libgdata)
- ("libgee" ,libgee)
- ("libgphoto2" ,libgphoto2)
- ("libgudev" ,libgudev)
- ("libraw" ,libraw)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)
- ("sqlite" ,sqlite)
- ("webkitgtk" ,webkitgtk)))
- (home-page "https://wiki.gnome.org/Apps/Shotwell")
- (synopsis "Photo manager for GNOME 3")
- (description
- "Shotwell is a digital photo manager designed for the GNOME desktop
- environment. It allows you to import photos from disk or camera, organize
- them by keywords and events, view them in full-window or fullscreen mode, and
- share them with others via social networking and more.")
- (license license:lgpl2.1+)))
- (define-public file-roller
- (package
- (name "file-roller")
- (version "3.40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/file-roller/"
- (version-major+minor version) "/"
- "file-roller-" version ".tar.xz"))
- (sha256
- (base32
- "039w1dcpa5ypmv6sm634alk9vbcdkyvy595vkh5gn032jsiqca2a"))))
- (build-system meson-build-system)
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
- ("glib:bin" ,glib "bin")))
- ;; TODO: Add libnautilus.
- (inputs
- `(("gtk+" ,gtk+)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("json-glib" ,json-glib)
- ("libarchive" ,libarchive)
- ("libnotify" ,libnotify)
- ("nettle" ,nettle)
- ("libxml2" ,libxml2)))
- (synopsis "Graphical archive manager for GNOME")
- (description "File Roller is an archive manager for the GNOME desktop
- environment that allows users to view, unpack, and create compressed archives
- such as gzip tarballs.")
- (home-page "http://fileroller.sourceforge.net/")
- (license license:gpl2+)))
- (define-public gnome-session
- (package
- (name "gnome-session")
- (version "40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "02z0xr6sv9ibl7awbw9j4y05hf4jk1zgvsbbmh7n27hhjvsvc8pl"))))
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'pre-configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Use elogind instead of systemd.
- (substitute* "meson.build"
- (("libsystemd-login") "libelogind")
- (("and libsystemd_daemon_dep.found.*") ","))
- (substitute* "gnome-session/gsm-systemd.c"
- (("#include <systemd/sd-login.h>")
- "#include <elogind/sd-login.h>"))
- ;; Remove uses of the systemd daemon.
- (substitute* "gnome-session/gsm-autostart-app.c"
- (("#ifdef HAVE_SYSTEMD") "#if 0"))))
- (add-after 'install 'wrap-gnome-session
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Make sure 'gnome-session' finds the 'gsettings' program.
- (let ((glib (assoc-ref inputs "glib:bin"))
- (out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/gnome-session")
- `("PATH" ":" prefix (,(string-append glib "/bin"))))))))
- #:configure-flags
- '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
- "-Dman=false" ; FIXME: disabled because of docbook validation error
- "-Dsystemd=false"
- "-Dsystemd_session=disable"
- "-Dsystemd_journal=false")))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("xsltproc" ,libxslt)
- ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
- ("docbook-xsl" ,docbook-xsl)
- ("docbook-xml" ,docbook-xml)
- ("xmlto" ,xmlto)))
- (inputs
- `(("elogind" ,elogind)
- ("gnome-desktop" ,gnome-desktop)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("libsm" ,libsm)
- ("libxcomposite" ,libxcomposite)
- ("libxtst" ,libxtst)
- ("mesa" ,mesa)
- ("upower" ,upower)
- ("xtrans" ,xtrans)))
- (synopsis "Session manager for GNOME")
- (description
- "This package contains the GNOME session manager, as well as a
- configuration program to choose applications starting on login.")
- (home-page "https://wiki.gnome.org/Projects/SessionManagement")
- (license license:gpl2+)))
- (define-public gjs
- (package
- (name "gjs")
- (version "1.68.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0c7fclm53v41n5vfndymp35fbh1x218lrk65iqrk1wc2lsnh5zvh"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "installed-tests/scripts/testCommandLine.sh"
- (("Valentín") "")
- (("☭") ""))))))
- (build-system meson-build-system)
- (arguments
- '(#:configure-flags '("-Dinstalled_tests=false")
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; The test suite requires a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- ;; For the missing /etc/machine-id.
- (setenv "DBUS_FATAL_WARNINGS" "0"))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)
- ;; For testing
- ("dbus-launch" ,dbus)
- ("dconf" ,dconf) ; required to properly store settings
- ("uuidgen" ,util-linux)
- ("xvfb" ,xorg-server-for-tests)))
- (propagated-inputs
- ;; These are all in the Requires.private field of gjs-1.0.pc.
- `(("cairo" ,cairo)
- ("gobject-introspection" ,gobject-introspection)
- ("mozjs" ,mozjs-78)))
- (inputs
- `(("gtk+" ,gtk+)
- ("readline" ,readline)))
- (synopsis "Javascript bindings for GNOME")
- (home-page "https://live.gnome.org/Gjs")
- (description
- "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
- javascript engine and the GObject introspection framework.")
- (license license:gpl2+)))
- (define-public gedit
- (package
- (name "gedit")
- (version "40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- ;; Otherwise, the RUNPATH will lack the final path component.
- (list (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib/gedit"))
- ;; XXX: Generated .h files are sometimes used before being built.
- #:parallel-build? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson/post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t))
- (add-after 'unpack 'patch-libgd-fetch
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((libgd (assoc-ref inputs "libgd")))
- ;; Calling git is unnecessary because libgd is fetched as a
- ;; native input to this package.
- (substitute* "meson.build"
- ((".*git.*") ""))
- (copy-recursively libgd "subprojects/libgd")
- #t)))
- (add-after 'install 'wrap-gedit
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gtksourceview (assoc-ref inputs "gtksourceview"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (python-path (getenv "GUIX_PYTHONPATH")))
- (wrap-program (string-append out "/bin/gedit")
- ;; For plugins.
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("GUIX_PYTHONPATH" ":" prefix (,python-path))
- ;; For language-specs.
- `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
- "/share")))))
- #t)))))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("libgd"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/libgd")
- (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
- (file-name (git-file-name "libgd" version))
- (sha256
- (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("amtk" ,amtk)
- ("glib" ,glib)
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("gtksourceview" ,gtksourceview)
- ("libpeas" ,libpeas)
- ("libxml2" ,libxml2)
- ("iso-codes" ,iso-codes)
- ("python-pygobject" ,python-pygobject)
- ("python" ,python)
- ("tepl" ,tepl)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libx11" ,libx11)
- ("vala" ,vala)
- ("adwaita-icon-theme" ,adwaita-icon-theme)
- ("libsoup" ,libsoup)
- ("gnome-desktop" ,gnome-desktop)))
- (home-page "https://wiki.gnome.org/Apps/Gedit")
- (synopsis "GNOME text editor")
- (description "While aiming at simplicity and ease of use, gedit is a
- powerful general purpose text editor.")
- (license license:gpl2+)))
- (define-public zenity
- (package
- (name "zenity")
- (version "3.32.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/zenity/"
- (version-major+minor version) "/"
- "zenity-" version ".tar.xz"))
- (sha256
- (base32
- "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("libnotify" ,libnotify)
- ("webkitgtk" ,webkitgtk)))
- (synopsis "Display graphical dialog boxes from shell scripts")
- (home-page "https://www.gnome.org")
- (description
- "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
- to display dialog boxes from the commandline and shell scripts.")
- (license license:lgpl2.0+)))
- (define-public mutter
- (package
- (name "mutter")
- (version "40.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0bmd6p9qcwx0hv0y2bp33xjfaw4lyfkl55r0qn2cm04465riddny"))))
- ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
- ;; versions of cogl and clutter. As a result, many of the inputs,
- ;; propagated-inputs, and configure flags used in cogl and clutter are
- ;; needed here as well.
- (build-system meson-build-system)
- (arguments
- '(;; XXX: All mutter tests fail with the following error:
- ;; Settings schema 'org.gnome.mutter' is not installed
- #:tests? #f
- #:glib-or-gtk? #t
- #:configure-flags
- ;; TODO: Enable profiler when Sysprof is packaged.
- (list "-Dprofiler=false"
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib:"
- (assoc-ref %outputs "out") "/lib/mutter-8")
- ;; The following flags are needed for the bundled clutter
- (string-append "-Dxwayland_path="
- (assoc-ref %build-inputs "xorg-server-xwayland")
- "/bin/Xwayland")
- ;; the remaining flags are needed for the bundled cogl
- (string-append "-Dopengl_libname="
- (assoc-ref %build-inputs "mesa")
- "/lib/libGL.so"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-udev-dir
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (setenv "PKG_CONFIG_UDEV_UDEVDIR"
- (string-append (assoc-ref outputs "out")
- "/lib/udev")))))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server-for-tests)
- ;; For git build
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
- (propagated-inputs
- `(;; libmutter.pc refers to these:
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
- ("atk" ,atk)
- ("cairo" ,cairo)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)
- ("json-glib" ,json-glib)
- ("libinput" ,libinput)
- ("libx11" ,libx11)
- ("libxcomposite" ,libxcomposite)
- ("libxdamage" ,libxdamage)
- ("libxext" ,libxext)
- ("libxfixes" ,libxfixes)
- ("libxkbcommon" ,libxkbcommon)
- ("libxml2" ,libxml2)
- ("libxrandr" ,libxrandr)
- ("mesa" ,mesa)
- ("pango" ,pango)
- ("udev" ,eudev)
- ("xinput" ,xinput)))
- (inputs
- `(("elogind" ,elogind)
- ("gnome-desktop" ,gnome-desktop)
- ("gnome-settings-daemon" ,gnome-settings-daemon)
- ("graphene" ,graphene)
- ("libcanberra-gtk" ,libcanberra)
- ("libgudev" ,libgudev)
- ("libice" ,libice)
- ("libsm" ,libsm)
- ("libwacom" ,libwacom)
- ("libxkbfile" ,libxkbfile)
- ("libxrandr" ,libxrandr)
- ("libxtst" ,libxtst)
- ("pipewire" ,pipewire-0.3)
- ("startup-notification" ,startup-notification)
- ("upower-glib" ,upower)
- ("xkeyboard-config" ,xkeyboard-config)
- ("xorg-server-xwayland" ,xorg-server-xwayland)
- ("zenity" ,zenity)))
- (synopsis "Window and compositing manager")
- (home-page "https://www.gnome.org")
- (description
- "Mutter is a window and compositing manager that displays and manages your
- desktop via OpenGL. Mutter combines a sophisticated display engine using the
- Clutter toolkit with solid window-management logic inherited from the Metacity
- window manager.")
- (license license:gpl2+)))
- (define-public gnome-online-accounts
- (package
- (name "gnome-online-accounts")
- (version "3.40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1yn3n9pn2afrfv36cy2vxhm5r8lbn4gb0kyvpxvknm3gkyblyp2q"))))
- (outputs '("out" "lib"))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:configure-flags
- (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-libgoa-output
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((lib (assoc-ref outputs "lib")))
- (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
- (("@prefix@") lib)
- (("@exec_prefix@") lib)
- (("@libdir@") (string-append lib "/lib"))
- (("@includedir@") (string-append lib "/include"))
- (("@datadir@") (string-append lib "/share")))
- ;; Make sure gobject-introspection knows about the output
- ;; too (see <https://bugs.gnu.org/36535>).
- (setenv "outputs" "out lib")))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xsltproc" ,libxslt)))
- (propagated-inputs
- `(("glib" ,glib) ; required by goa-1.0.pc
- ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
- (inputs
- `(("docbook-xsl" ,docbook-xsl)
- ("json-glib" ,json-glib)
- ("libsecret" ,libsecret)
- ("rest" ,rest)
- ("webkitgtk" ,webkitgtk)))
- (synopsis "Single sign-on framework for GNOME")
- (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
- (description
- "GNOME Online Accounts provides interfaces so that applications and
- libraries in GNOME can access the user's online accounts. It has providers
- for Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare,
- Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
- (license license:lgpl2.0+)))
- (define-public evolution-data-server
- (package
- (name "evolution-data-server")
- (version "3.34.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (patches
- (search-patches "evolution-data-server-locales.patch"
- "evolution-data-server-libical-compat.patch"
- "evolution-data-server-CVE-2020-14928.patch"
- "evolution-data-server-CVE-2020-16117.patch"
- "evolution-data-server-printableoptions.patch"))
- (sha256
- (base32 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
- (build-system cmake-build-system)
- (arguments
- '(#:configure-flags
- (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
- (runpaths (map (lambda (s)
- (string-append lib "/evolution-data-server/" s))
- '("addressbook-backends" "calendar-backends"
- "camel-providers" "credential-modules"
- "registry-modules"))))
- (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
- "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
- "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
- "-DENABLE_VALA_BINDINGS=ON"
- (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
- (string-append lib "/evolution-data-server;")
- (string-join runpaths ";"))
- "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
- ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
- (delete-file-recursively "tests/book-migration")
- (substitute* "tests/CMakeLists.txt"
- (("add_subdirectory\\(book-migration\\)") ""))
- #t))
- (add-after 'unpack 'patch-paths
- (lambda _
- (substitute* '("tests/test-server-utils/e-test-server-utils.c"
- "tests/libedata-book/data-test-utils.c"
- "tests/libedata-book/test-book-cache-utils.c"
- "tests/libedata-cal/test-cal-cache-utils.c")
- (("/bin/rm") (which "rm")))
- #t))
- (add-before 'configure 'dont-override-rpath
- (lambda _
- (substitute* "CMakeLists.txt"
- ;; CMakeLists.txt hard-codes runpath to just the libdir.
- ;; Remove it so the configure flag is respected.
- (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
- #t)))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("gperf" ,gperf)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("python" ,python-wrapper)))
- (propagated-inputs
- ;; These are all in the Requires field of .pc files.
- `(("gtk+" ,gtk+)
- ("libical" ,libical)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
- ("nss" ,nss)
- ("sqlite" ,sqlite)))
- (inputs
- `(("bdb" ,bdb)
- ("gcr" ,gcr)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("json-glib" ,json-glib)
- ("libcanberra" ,libcanberra)
- ("libgweather" ,libgweather)
- ("mit-krb5" ,mit-krb5)
- ("openldap" ,openldap)
- ("webkitgtk" ,webkitgtk)))
- (synopsis "Store address books and calendars")
- (home-page "https://wiki.gnome.org/Apps/Evolution")
- (description
- "This package provides a unified backend for programs that work with
- contacts, tasks, and calendar information. It was originally developed for
- Evolution (hence the name), but is now used by other packages as well.")
- (license license:lgpl2.0)))
- (define-public caribou
- (package
- (name "caribou")
- (version "0.4.21")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before
- 'build 'pre-build
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; Use absolute shared library path in Caribou-1.0.typelib.
- (substitute* "libcaribou/Makefile"
- (("--shared-library=libcaribou.so")
- (string-append "--shared-library="
- out "/lib/libcaribou.so")))
- #t)))
- (add-after 'install 'wrap-programs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (python-path (getenv "GUIX_PYTHONPATH"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
- (for-each
- (lambda (prog)
- (wrap-program prog
- `("GUIX_PYTHONPATH" ":" prefix (,python-path))
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
- (list (string-append out "/bin/caribou-preferences")
- (string-append out "/libexec/antler-keyboard"))))
- #t)))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("vala" ,vala)
- ("xsltproc" ,libxslt)))
- (propagated-inputs
- ;; caribou-1.0.pc refers to all these.
- `(("libgee" ,libgee)
- ("libxklavier" ,libxklavier)
- ("libxtst" ,libxtst)
- ("gtk+" ,gtk+)))
- (inputs
- `(("clutter" ,clutter)
- ("dconf" ,dconf)
- ("gtk+-2" ,gtk+-2)
- ("python-pygobject" ,python-pygobject)))
- (synopsis "Text entry and UI navigation application")
- (home-page "https://wiki.gnome.org/Projects/Caribou")
- (description
- "Caribou is an input assistive technology intended for switch and pointer
- users.")
- (license license:lgpl2.1)))
- (define-public network-manager
- (package
- (name "network-manager")
- (version "1.24.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/NetworkManager/"
- (version-major+minor version) "/"
- "NetworkManager-" version ".tar.xz"))
- (patches (search-patches "network-manager-plugin-path.patch"))
- (sha256
- (base32
- "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "src/devices/wwan/nm-modem-manager.c"
- (("systemd") "elogind"))
- #t))))
- (build-system meson-build-system)
- (outputs '("out"
- "doc")) ; 8 MiB of gtk-doc HTML
- (arguments
- `(#:configure-flags
- (let ((out (assoc-ref %outputs "out"))
- (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
- "/sbin/dhclient")))
- (list
- ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
- ;; component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- out "/lib:"
- out "/lib/NetworkManager/" ,version)
- "-Dsystemd_journal=false"
- "-Dsession_tracking=elogind"
- "-Dsuspend_resume=elogind"
- "-Dsystemdsystemunitdir=no"
- "-Dsession_tracking_consolekit=false"
- "-Ddhcpcd=no"
- "-Ddhcpcanon=no"
- "-Dcrypto=gnutls"
- "-Diwd=true"
- "-Dlibaudit=yes"
- "-Dqt=false"
- "-Ddocs=true"
- "--sysconfdir=/etc"
- "--localstatedir=/var"
- (string-append "-Dudev_dir="
- out "/lib/udev")
- (string-append "-Ddbus_conf_dir="
- out "/etc/dbus-1/system.d")
- (string-append "-Ddhclient=" dhclient)))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'pre-configure
- (lambda _
- ;; These tests try to test aspects of network-manager's
- ;; functionality within restricted containers, but they don't
- ;; cope with being already in the Guix build jail as that jail
- ;; lacks some features that they would like to proxy over (like
- ;; a /sys mount).
- (substitute* "src/platform/tests/meson.build"
- ((".*test-address-linux.*") "")
- ((".*test-cleanup-linux.*") "")
- ((".*test-link-linux.*") "")
- ((".*test-route-linux.*") ""))
- (substitute* "src/devices/tests/meson.build"
- ((".*test-acd.*") "")
- ((".*test-lldp.*") ""))
- #t))
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook")))
- (substitute* (find-files "." ".*\\.(xsl|xml)")
- (("http://.*/docbookx\\.dtd")
- (string-append xmldoc "/docbookx.dtd")))
- #t)))
- (add-before 'check 'pre-check
- (lambda _
- ;; For the missing /etc/machine-id.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- #t))
- (add-before 'install 'no-polkit-magic
- ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
- (lambda _
- (setenv "PKEXEC_UID" "something")
- #t))
- (add-after 'install 'move-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (mkdir-p (string-append doc "/share"))
- (for-each (lambda (directory)
- (copy-recursively (string-append out directory)
- (string-append doc directory))
- (delete-file-recursively
- (string-append out directory)))
- '("/share/doc" "/share/gtk-doc"))
- #t))))))
- (propagated-inputs
- `(("glib" ,glib)))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for gdbus-codegen
- ("gtk-doc" ,gtk-doc/stable)
- ("gobject-introspection" ,gobject-introspection)
- ("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("intltool" ,intltool)
- ("libxslt" ,libxslt)
- ("libxml2" ,libxml2)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ;; For testing.
- ("python" ,python-wrapper)
- ("python-dbus" ,python-dbus)
- ("python-pygobject" ,python-pygobject)))
- (inputs
- `(("curl" ,curl)
- ("cyrus-sasl" ,cyrus-sasl)
- ("dbus-glib" ,dbus-glib)
- ("dnsmasq" ,dnsmasq)
- ("eudev" ,eudev)
- ("gnutls" ,gnutls)
- ("iptables" ,iptables)
- ("isc-dhcp" ,isc-dhcp)
- ("iwd" ,iwd) ; wpa_supplicant alternative
- ("jansson" ,jansson)
- ("libaudit" ,audit)
- ("libgcrypt" ,libgcrypt)
- ("libgudev" ,libgudev)
- ("libndp" ,libndp)
- ("libnl" ,libnl)
- ("libselinux" ,libselinux)
- ("libsoup" ,libsoup)
- ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
- ("modem-manager" ,modem-manager)
- ("newt" ,newt) ;for the 'nmtui' console interface
- ("openresolv" ,openresolv) ; alternative resolv.conf manager
- ("polkit" ,polkit)
- ("ppp" ,ppp)
- ("readline" ,readline)
- ("util-linux" ,util-linux)
- ("elogind" ,elogind)))
- (synopsis "Network connection manager")
- (home-page "https://wiki.gnome.org/Projects/NetworkManager")
- (description
- "NetworkManager is a system network service that manages your network
- devices and connections, attempting to keep active network connectivity when
- available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
- devices, and provides VPN integration with a variety of different VPN
- services.")
- ;; “This NetworkManager project consists of the daemon, client tools, and
- ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
- ;; GPL-2.0+.”
- (license (list license:gpl2+
- license:lgpl2.1+))
- (properties '((upstream-name . "NetworkManager")))))
- (define-public network-manager-openvpn
- (package
- (name "network-manager-openvpn")
- (version "1.8.12")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/NetworkManager-openvpn/"
- (version-major+minor version)
- "/NetworkManager-openvpn-" version ".tar.xz"))
- (sha256
- (base32
- "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'patch-path
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
- (let* ((ovpn (search-input-file inputs "/sbin/openvpn"))
- (modprobe (search-input-file inputs "/bin/modprobe"))
- (pretty-ovpn (string-append "\"" ovpn "\"")))
- (for-each
- (lambda (file)
- (substitute* file
- (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
- (("\"/usr/sbin/openvpn\"") pretty-ovpn)
- (("\"/sbin/openvpn\"") pretty-ovpn)
- (("/sbin/modprobe") modprobe)))
- '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
- #t)))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
- (inputs
- `(("gtk+" ,gtk+)
- ("kmod" ,kmod)
- ("openvpn" ,openvpn)
- ("network-manager" ,network-manager)
- ("libnma" ,libnma)
- ("libsecret" ,libsecret)))
- (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
- (synopsis "OpenVPN plug-in for NetworkManager")
- (description
- "This extension of NetworkManager allows it to take care of connections
- to virtual private networks (VPNs) via OpenVPN.")
- (license license:gpl2+)
- (properties `((upstream-name . "NetworkManager-openvpn")))))
- (define-public network-manager-vpnc
- (package
- (name "network-manager-vpnc")
- (version "1.2.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/NetworkManager-vpnc/"
- (version-major+minor version)
- "/NetworkManager-vpnc-" version ".tar.xz"))
- (sha256
- (base32
- "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags '("--enable-absolute-paths"
- "--localstatedir=/var"
- ;; libnm-glib has been removed from network-manager
- ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
- "--with-libnm-glib=no")
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'patch-path
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
- (let* ((vpnc (search-input-file inputs "/sbin/vpnc"))
- (modprobe (search-input-file inputs "/bin/modprobe"))
- (pretty-ovpn (string-append "\"" vpnc "\"")))
- (substitute* "src/nm-vpnc-service.c"
- (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
- (("\"/usr/sbin/vpnc\"") pretty-ovpn)
- (("\"/sbin/vpnc\"") pretty-ovpn)
- (("/sbin/modprobe") modprobe)))
- #t)))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
- (inputs
- `(("gtk+" ,gtk+)
- ("kmod" ,kmod)
- ("vpnc" ,vpnc)
- ("network-manager" ,network-manager)
- ("libnma" ,libnma)
- ("libsecret" ,libsecret)))
- (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
- (synopsis "VPNC plug-in for NetworkManager")
- (description
- "Support for configuring virtual private networks based on VPNC.
- Compatible with Cisco VPN concentrators configured to use IPsec.")
- (license license:gpl2+)
- (properties `((upstream-name . "NetworkManager-vpnc")))))
- (define-public network-manager-openconnect
- (package
- (name "network-manager-openconnect")
- (version "1.2.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/NetworkManager-openconnect/"
- (version-major+minor version)
- "/NetworkManager-openconnect-" version ".tar.xz"))
- (sha256
- (base32
- "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'patch-path
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
- (let* ((openconnect (search-input-file inputs
- "/sbin/openconnect"))
- (modprobe (search-input-file inputs "/bin/modprobe"))
- (pretty-ovpn (string-append "\"" openconnect "\"")))
- (substitute* "src/nm-openconnect-service.c"
- (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
- (("/sbin/modprobe") modprobe)))
- #t)))))
- (native-inputs
- `(("intltool" ,intltool)
- ("libnma" ,libnma)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gcr" ,gcr)
- ("gtk+" ,gtk+)
- ("kmod" ,kmod)
- ("libsecret" ,libsecret)
- ("libxml2" ,libxml2)
- ("lz4" ,lz4)
- ("network-manager" ,network-manager)
- ("openconnect" ,openconnect)))
- (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
- (synopsis "OpenConnect plug-in for NetworkManager")
- (description
- "This extension of NetworkManager allows it to take care of connections
- to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
- Cisco's AnyConnect SSL VPN.")
- (license license:gpl2+)
- (properties `((upstream-name . "NetworkManager-openconnect")
- ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
- ;; file refers to account "nm-openconnect". Specify it here
- ;; so that 'network-manager-service-type' creates it.
- (user-accounts . ("nm-openconnect"))))))
- (define-public mobile-broadband-provider-info
- (package
- (name "mobile-broadband-provider-info")
- (version "20190116")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/"
- "mobile-broadband-provider-info/" version "/"
- "mobile-broadband-provider-info-" version ".tar.xz"))
- (sha256
- (base32
- "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f)) ; no tests
- (home-page "https://wiki.gnome.org/Projects/NetworkManager")
- (synopsis "Database of broadband connection configuration")
- (description "Database of broadband connection configuration.")
- (license license:public-domain)))
- (define-public network-manager-applet
- (package
- (name "network-manager-applet")
- (version "1.22.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/network-manager-applet/"
- (version-major+minor version) "/"
- "network-manager-applet-" version ".tar.xz"))
- (sha256
- (base32
- "1gj6lqqi613j2m49v9i82lqg1rv7kwwc8z4nxjcwpaa0ins803f7"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:configure-flags
- '("-Dappindicator=yes")))
- (native-inputs
- `(("intltool" ,intltool)
- ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- ;; libnm-gtk.pc refers to all these.
- `(("dbus-glib" ,dbus-glib)
- ("gtk+" ,gtk+)
- ("network-manager" ,network-manager)
- ;; nm-applet need by org.gnome.nm-applet.gschema.xml
- ("libnma" ,libnma)))
- (inputs
- `(("gcr" ,gcr)
- ("libappindicator" ,libappindicator)
- ("libgudev" ,libgudev)
- ("libnotify" ,libnotify)
- ("libsecret" ,libsecret)
- ("libselinux" ,libselinux)
- ("jansson" ,jansson) ; for team support
- ("modem-manager" ,modem-manager)))
- (synopsis "Applet for managing network connections")
- (home-page "https://wiki.gnome.org/Projects/NetworkManager")
- (description
- "This package contains a systray applet for NetworkManager. It displays
- the available networks and allows users to easily switch between them.")
- (license license:gpl2+)))
- (define-public libxml++
- (package
- (name "libxml++")
- (version "3.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libxmlplusplus/libxmlplusplus")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0wjz591rjlgbah7dcq8i0yn0zw9d62b7g6r0pppx81ic0cx8n8ga"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-documentation
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook"))
- (xsldoc (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl))))
- (substitute* '("examples/dom_xpath/example.xml"
- "docs/manual/libxml++_without_code.xml")
- (("http://.*/docbookx\\.dtd")
- (string-append xmldoc "/docbookx.dtd")))
- (setenv "SGML_CATALOG_FILES"
- (string-append xmldoc "/catalog.xml"))
- (substitute* "docs/manual/docbook-customisation.xsl"
- (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
- (string-append xsldoc "/html/chunk.xsl")))))))))
- (propagated-inputs
- ;; libxml++-3.0.pc refers to all these.
- `(("glibmm" ,glibmm-2.64)
- ("libxml2" ,libxml2)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("doxygen" ,doxygen)
- ("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("graphviz" ,graphviz) ; for dot
- ("libtool" ,libtool)
- ("libxslt" ,libxslt)
- ("mm-common" ,mm-common)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
- (home-page "https://github.com/libxmlplusplus/libxmlplusplus/")
- (synopsis "C++ bindings to the libxml2 XML parser library")
- (description
- "This package provides a C++ interface to the libxml2 XML parser
- library.")
- (license license:lgpl2.1+)))
- ;; This is the last release providing the 2.6 API, hence the name.
- ;; This is needed by tascam-gtk
- (define-public libxml++-2
- (package
- (inherit libxml++)
- (name "libxml++")
- (version "2.40.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libxmlplusplus/libxmlplusplus")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0gbfi4l88w828gmyc9br11l003ylyi4vigp5d1kfgsn0k4cig3y9"))))))
- (define-public gdm
- (package
- (name "gdm")
- (version "40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1zbks7bwbys1pn7sk0aq0dbn09adx51amb441z4z4j28cvma3f5b"))
- (patches
- (search-patches
- "gdm-default-session.patch"
- "gdm-elogind-support.patch"
- "gdm-remove-hardcoded-xwayland-path.patch"
- "gdm-wayland-session-wrapper-from-env.patch"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- ,#~(list
- "-Dplymouth=disabled"
- "-Dsystemd-journal=false"
- ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
- ;; instead of having to replace it (i.e., stopping the mingetty
- ;; service for TTY 1 before starting GDM).
- "-Dinitial-vt=7"
- ;; Use elogind instead of systemd.
- "-Dlogind-provider=elogind"
- "-Dsystemdsystemunitdir=no"
- "-Dsystemduserunitdir=no"
- ;; Use '/etc/environment' for locale settings instead of the
- ;; systemd-specific '/etc/locale.conf'.
- "-Dlang-file=/etc/environment"
- (string-append "-Dudev-dir=" #$output "/lib/udev")
- "--localstatedir=/var"
- (string-append "-Ddefault-path="
- (string-join '("/run/setuid-programs"
- "/run/current-system/profile/bin"
- "/run/current-system/profile/sbin")
- ":"))
- ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
- ;; XDG_DATA_DIRS so that it finds its schemas.
- "--sbindir" (string-append #$output "/bin"))
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'configure 'pre-configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; We don't have <systemd/sd-daemon.h>.
- (substitute* '("common/gdm-log.c"
- "daemon/gdm-server.c"
- "daemon/gdm-session-worker.c"
- "daemon/gdm-session-worker-job.c")
- (("#include <systemd/sd-daemon\\.h>") ""))
- ;; Use elogind for sd-login.
- (substitute* '("common/gdm-common.c"
- "daemon/gdm-local-display-factory.c"
- "daemon/gdm-manager.c"
- "libgdm/gdm-user-switching.c")
- (("#include <systemd/sd-login\\.h>")
- "#include <elogind/sd-login.h>"))
- ;; Look for system-installed sessions in
- ;; /run/current-system/profile/share.
- (substitute* '("libgdm/gdm-sessions.c"
- "daemon/gdm-session.c"
- "daemon/gdm-display.c"
- "daemon/gdm-launch-environment.c")
- (("DATADIR \"/x")
- "\"/run/current-system/profile/share/x")
- (("DATADIR \"/wayland")
- "\"/run/current-system/profile/share/wayland")
- (("DATADIR \"/gnome")
- "\"/run/current-system/profile/share/gnome"))
- (let ((propagate '("GDM_CUSTOM_CONF"
- "GDM_DBUS_DAEMON"
- "GDM_X_SERVER"
- "GDM_X_SESSION"
- ;; XXX: Remove this once GNOME Shell is
- ;; a dependency of GDM.
- "XDG_DATA_DIRS")))
- (substitute* "daemon/gdm-session.c"
- (("set_up_session_environment \\(self\\);")
- (apply string-append
- "set_up_session_environment (self);\n"
- (map (lambda (name)
- (string-append
- "gdm_session_set_environment_variable "
- "(self, \"" name "\","
- "g_getenv (\"" name "\"));\n"))
- propagate)))))
- ;; Find the configuration file using an environment variable.
- (substitute* '("common/gdm-settings.c")
- (("GDM_CUSTOM_CONF")
- (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
- " ? g_getenv(\"GDM_CUSTOM_CONF\")"
- " : GDM_CUSTOM_CONF)")))
- ;; Use service-supplied path to X.
- (substitute* '("daemon/gdm-server.c")
- (("\\(X_SERVER X_SERVER_ARG_FORMAT")
- "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
- (substitute* '("daemon/gdm-wayland-session.c"
- "daemon/gdm-x-session.c")
- (("\"dbus-daemon\"")
- "g_getenv (\"GDM_DBUS_DAEMON\")")
- (("X_SERVER")
- "g_getenv (\"GDM_X_SERVER\")")
- (("GDMCONFDIR \"/Xsession\"")
- "g_getenv (\"GDM_X_SESSION\")"))
- ;; Use an absolute path for GNOME Session.
- (substitute* "daemon/gdm-launch-environment.c"
- (("\"gnome-session\"")
- (string-append "\"" (assoc-ref inputs "gnome-session")
- "/bin/gnome-session\"")))
- ;; Do not automatically select the placeholder session.
- (substitute* "daemon/gdm-session.c"
- (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
- (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
- "(g_strcmp0(search_dirs[i], \""
- (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
- "\") == 0 && "
- "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
- (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
- "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))))
- (add-before 'install 'install-logo
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (guix-icons (assoc-ref inputs "guix-icons"))
- (icon
- (string-append guix-icons "/share/icons/hicolor/\
- scalable/apps/guix-white-icon.svg"))
- (schema
- (string-append out "/share/glib-2.0/schemas/\
- org.gnome.login-screen.gschema.override")))
- (mkdir-p (dirname schema))
- (with-output-to-file schema
- (lambda ()
- (format #t "\
- [org.gnome.login-screen]
- logo='~a'~%" icon))))))
- ;; GDM requires that there be at least one desktop entry
- ;; file. This phase installs a hidden one that simply
- ;; fails. This enables users to use GDM with a
- ;; '~/.xsession' script with no other desktop entry files.
- ;; See <https://bugs.gnu.org/35068>.
- (add-after 'install 'install-placeholder-desktop-entry
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (sessions (string-append out "/share/gdm/BuiltInSessions"))
- (fail (string-append sessions "/fail.desktop")))
- (mkdir-p sessions)
- (with-output-to-file fail
- (lambda ()
- (for-each
- display
- '("[Desktop Entry]\n"
- "Encoding=UTF-8\n"
- "Type=Application\n"
- "Name=Fail\n"
- "Comment=This session fails immediately.\n"
- "NoDisplay=true\n"
- "Exec=false\n")))))))
- ;; GDM needs GNOME Session to run these applications. We link
- ;; their autostart files in `share/gdm/greeter/autostart'
- ;; because GDM explicitly tells GNOME Session to look there.
- ;;
- ;; XXX: GNOME Shell should be linked here too, but currently
- ;; GNOME Shell depends on GDM.
- (add-after 'install 'link-autostart-files
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (autostart (string-append out "/share/gdm/"
- "greeter/autostart"))
- (settings (assoc-ref inputs "gnome-settings-daemon")))
- (mkdir-p autostart)
- (with-directory-excursion autostart
- (for-each (lambda (desktop)
- (symlink desktop (basename desktop)))
- (find-files
- (string-append settings "/etc/xdg"))))))))))
- (native-inputs
- `(("dconf" ,dconf)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("guix-icons" ,guix-icons)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("accountsservice" ,accountsservice)
- ("check" ,check-0.14) ;for testing
- ("elogind" ,elogind)
- ("eudev" ,eudev)
- ("gnome-session" ,gnome-session)
- ("gnome-settings-daemon" ,gnome-settings-daemon)
- ("gtk+" ,gtk+)
- ("iso-codes" ,iso-codes)
- ("libcanberra" ,libcanberra)
- ("linux-pam" ,linux-pam)))
- (synopsis "Display manager for GNOME")
- (home-page "https://wiki.gnome.org/Projects/GDM/")
- (description
- "GNOME Display Manager is a system service that is responsible for
- providing graphical log-ins and managing local and remote displays.")
- (license license:gpl2+)))
- (define-public libgtop
- (package
- (name "libgtop")
- (version "2.40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libgtop/"
- (version-major+minor version) "/"
- "libgtop-" version ".tar.xz"))
- (sha256
- (base32
- "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib))) ; required by libgtop-2.0.pc
- (synopsis "Portable system access library")
- (home-page "https://www.gnome.org/")
- (description
- "LibGTop is a library to get system specific data such as CPU and memory
- usage and information about running processes.")
- (license license:gpl2+)))
- (define-public gnome-bluetooth
- (package
- (name "gnome-bluetooth")
- (version "3.34.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"))))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
- ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (propagated-inputs
- ;; gnome-bluetooth-1.0.pc refers to all these.
- `(("glib" ,glib)
- ("gtk+" ,gtk+)))
- (inputs
- `(("eudev" ,eudev)
- ("libcanberra" ,libcanberra)
- ("libnotify" ,libnotify)
- ("python-dbus" ,python-dbus)))
- (synopsis "GNOME Bluetooth subsystem")
- (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
- (description
- "This package contains tools for managing and manipulating Bluetooth
- devices using the GNOME desktop.")
- (license license:lgpl2.1+)))
- (define-public gnome-control-center
- (package
- (name "gnome-control-center")
- (version "40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0rr4d5m2a72vrb31jgyx49dp0s2pwgyxsrk4hyw5ym66wq63c3v1"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:configure-flags
- (list "-Dcheese=false"
- (string-append "-Dgnome_session_libexecdir="
- (assoc-ref %build-inputs "gnome-session")
- "/libexec"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((libc (assoc-ref inputs "libc"))
- (tzdata (assoc-ref inputs "tzdata"))
- (libgnomekbd (assoc-ref inputs "libgnomekbd"))
- (nm-applet (assoc-ref inputs "network-manager-applet"))
- (gnome-desktop (assoc-ref inputs "gnome-desktop")))
- (substitute* "panels/datetime/tz.h"
- (("/usr/share/zoneinfo/zone.tab")
- (string-append tzdata "/share/zoneinfo/zone.tab")))
- (substitute* "tests/datetime/test-endianess.c"
- (("/usr/share/locale")
- (string-append libc "/share/locale")))
- (substitute* "panels/region/cc-region-panel.c"
- (("\"gkbd-keyboard-display")
- (string-append "\"" libgnomekbd
- "/bin/gkbd-keyboard-display")))
- (substitute* '("panels/network/net-device-bluetooth.c"
- "panels/network/net-device-mobile.c"
- "panels/network/connection-editor/net-connection-editor.c")
- (("\"nm-connection-editor")
- (string-append "\"" nm-applet
- "/bin/nm-connection-editor")))
- (substitute* '("panels/user-accounts/run-passwd.c")
- (("/usr/bin/passwd")
- "/run/setuid-programs/passwd"))
- (substitute* "panels/info-overview/cc-info-overview-panel.c"
- (("DATADIR \"/gnome/gnome-version.xml\"")
- (string-append "\"" gnome-desktop
- "/share/gnome/gnome-version.xml\""))))))
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)
- ;; For tests
- ("hicolor-icon-theme" ,hicolor-icon-theme)
- ("python-dbusmock" ,python-dbusmock)
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("accountsservice" ,accountsservice)
- ("clutter-gtk" ,clutter-gtk)
- ("colord-gtk" ,colord-gtk)
- ("cups" ,cups)
- ("dconf" ,dconf)
- ("docbook-xsl" ,docbook-xsl)
- ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
- ("gnome-bluetooth" ,gnome-bluetooth)
- ("gnome-desktop" ,gnome-desktop)
- ("gnome-online-accounts" ,gnome-online-accounts)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gnome-session" ,gnome-session)
- ("gnome-settings-daemon" ,gnome-settings-daemon)
- ("grilo" ,grilo)
- ("gsound" ,gsound)
- ("ibus" ,ibus)
- ("libcanberra" ,libcanberra)
- ("libgnomekbd" ,libgnomekbd)
- ("libgudev" ,libgudev)
- ("libgtop" ,libgtop)
- ("libnma" ,libnma)
- ("libpwquality" ,libpwquality)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)
- ("libwacom" ,libwacom)
- ("mesa" ,mesa)
- ("mit-krb5" ,mit-krb5)
- ("modem-manager" ,modem-manager)
- ("network-manager-applet" ,network-manager-applet)
- ("polkit" ,polkit)
- ("pulseaudio" ,pulseaudio)
- ("smbclient" ,samba)
- ("tzdata" ,tzdata)
- ("udisks" ,udisks)
- ("upower" ,upower)))
- (synopsis "Utilities to configure the GNOME desktop")
- (home-page "https://www.gnome.org/")
- (description
- "This package contains configuration applets for the GNOME desktop,
- allowing to set accessibility configuration, desktop fonts, keyboard and mouse
- properties, sound setup, desktop theme and background, user interface
- properties, screen resolution, and other GNOME parameters.")
- (license license:gpl2+)))
- (define-public gnome-shell
- (package
- (name "gnome-shell")
- (version "40.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0kph3g4ix23sm3ip2b13rs7hx8sa7fvlvcyy4zdk2iaj56rmadvd"))
- (patches (search-patches "gnome-shell-disable-test.patch"))
- (modules '((guix build utils)))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:disallowed-references ,(list (gexp-input glib "bin")
- (gexp-input libxslt)
- (gexp-input ruby-sass))
- #:configure-flags
- (list "-Dsystemd=false"
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gnome-shell"))
- #:modules ((guix build meson-build-system)
- (guix build utils)
- (srfi srfi-1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-keysdir
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (keysdir (string-append
- out "/share/gnome-control-center/keybindings")))
- (substitute* "meson.build"
- (("keysdir =.*")
- (string-append "keysdir = '" keysdir "'\n"))))))
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson/postinstall.py"
- (("gtk-update-icon-cache") "true"))))
- (add-before 'configure 'record-absolute-file-names
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "js/misc/ibusManager.js"
- (("'ibus-daemon'")
- (string-append "'" (assoc-ref inputs "ibus")
- "/bin/ibus-daemon'")))
- (substitute* "js/ui/status/keyboard.js"
- (("'gkbd-keyboard-display'")
- (string-append "'" (assoc-ref inputs "libgnomekbd")
- "/bin/gkbd-keyboard-display'")))))
- (add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")))
- (add-after 'install 'wrap-programs
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (python-path (getenv "GUIX_PYTHONPATH")))
- (wrap-program (string-append out "/bin/gnome-shell")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- ;; FIXME: gnome-shell loads these libraries with unqualified
- ;; names only, so they need to be on LD_LIBRARY_PATH. The
- ;; alternative might be to patch gnome-shell.
- `("LD_LIBRARY_PATH" ":" prefix
- ,(map (lambda (pkg)
- (string-append (assoc-ref inputs pkg) "/lib"))
- '("gdk-pixbuf"
- "gnome-bluetooth" "librsvg" "libgweather"))))
- (for-each
- (lambda (prog)
- (wrap-program (string-append out "/bin/" prog)
- `("GUIX_PYTHONPATH" ":" prefix (,python-path))
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
- '("gnome-shell-extension-tool" "gnome-shell-perf-tool")))))
- (replace 'glib-or-gtk-wrap
- (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
- ;; By default intltool et al. would end up in the XDG_DATA_DIRS
- ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
- ;; phase. Fix that since we don't need these.
- (wrap #:inputs (fold alist-delete inputs
- '("intltool" "glib:bin"))
- #:outputs outputs)))))))
- (native-inputs
- `(("asciidoc" ,asciidoc)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("gobject-introspection" ,gobject-introspection)
- ("hicolor-icon-theme" ,hicolor-icon-theme)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("ruby-sass" ,ruby-sass)
- ("sassc" ,sassc)
- ("xsltproc" ,libxslt)
- ;; For tests
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("accountsservice" ,accountsservice)
- ("caribou" ,caribou)
- ("docbook-xsl" ,docbook-xsl)
- ("evolution-data-server" ,evolution-data-server)
- ("gcr" ,gcr)
- ("gdm" ,gdm)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("gjs" ,gjs)
- ("gtk" ,gtk)
- ("gnome-autoar" ,gnome-autoar)
- ("gnome-bluetooth" ,gnome-bluetooth)
- ("gnome-desktop" ,gnome-desktop)
- ("gnome-settings-daemon" ,gnome-settings-daemon)
- ("graphene" ,graphene)
- ("gst-plugins-base" ,gst-plugins-base)
- ("ibus" ,ibus)
- ("libcanberra" ,libcanberra)
- ("libcroco" ,libcroco)
- ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
- ("libgweather" ,libgweather)
- ("libnma" ,libnma)
- ("libsoup" ,libsoup)
- ("mesa-headers" ,mesa-headers)
- ("mutter" ,mutter)
- ("network-manager-applet" ,network-manager-applet)
- ("polkit" ,polkit)
- ("pulseaudio" ,pulseaudio)
- ("python-pygobject" ,python-pygobject)
- ("startup-notification" ,startup-notification)
- ("telepathy-logger" ,telepathy-logger)
- ("upower" ,upower)
- ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
- ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
- ("librsvg" ,librsvg)
- ("geoclue" ,geoclue)))
- (synopsis "Desktop shell for GNOME")
- (home-page "https://wiki.gnome.org/Projects/GnomeShell")
- (description
- "GNOME Shell provides core user interface functions for the GNOME desktop,
- like switching to windows and launching applications.")
- (license license:gpl2+)))
- (define-public gtk-vnc
- (package
- (name "gtk-vnc")
- (version "1.0.0")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
- (native-inputs
- `(("gjs" ,gjs)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("node" ,node)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("vala" ,vala)))
- (inputs
- `(("cairo" ,cairo)
- ("gdk-pixbuf" ,gdk-pixbuf+svg)
- ("glib" ,glib)
- ("gnutls" ,gnutls)
- ("libgcrypt" ,libgcrypt)
- ("libsasl" ,cyrus-sasl)
- ("pulseaudio" ,pulseaudio)
- ("x11" ,libx11)
- ("zlib" ,zlib)))
- (propagated-inputs
- `(("gtk+" ,gtk+)))
- (synopsis "VNC client viewer widget for GTK+")
- (description "GTK-VNC is a project providing client side APIs for the RFB
- protocol / VNC remote desktop technology. It is built using coroutines allowing
- it to be completely asynchronous while remaining single threaded. It provides a
- core C library, and bindings for Python (PyGTK).")
- (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
- (license license:lgpl2.1+)))
- (define-public gnome-autoar
- (package
- (name "gnome-autoar")
- (version "0.3.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "012w7rhhpxvlrnnhqy01vwzg1wxqpy8jbqgizn47wnip7bvh0917"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
- (inputs
- `(("gtk+" ,gtk+)))
- (synopsis "Archives integration support for GNOME")
- (home-page "https://git.gnome.org/browse/gnome-autoar/")
- (description
- "GNOME Autoar is a library which makes creating and extracting archives
- easy, safe, and automatic.")
- (license license:lgpl2.1+)))
- (define-public tracker
- (package
- (name "tracker")
- (version "3.1.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/tracker/"
- (version-major+minor version) "/"
- "tracker-" version ".tar.xz"))
- (sha256
- (base32
- "13zcc07wd51sz7kglk3xbjrsq7d835cxfr7iwjr7nn2xcri8jdns"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- ;; Otherwise, the RUNPATH will lack the final path component.
- (list (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib:"
- (assoc-ref %outputs "out") "/lib/tracker-3.0")
- "-Ddocs=false"
- "-Dsystemd_user_services=false")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda _
- (setenv "SHELL" (which "bash"))))
- (add-before 'configure 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((manpage "/etc/asciidoc/docbook-xsl/manpage.xsl")
- (file (search-input-file inputs manpage)))
- (substitute* "docs/manpages/meson.build"
- (("/etc/asciidoc[^']+")
- file)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Some tests expect to write to $HOME.
- (setenv "HOME" "/tmp")
- (invoke "dbus-run-session" "--" "meson" "test"
- "--print-errorlogs")))))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("docbook-xsl" ,docbook-xsl)
- ("docbook-xml-4.5" ,docbook-xml)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("asciidoc" ,asciidoc)
- ("xsltproc" ,libxslt)
- ("cmake-minimal" ,cmake-minimal)
- ("python-pygobject" ,python-pygobject)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)
- ("dbus" ,dbus)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("dbus" ,dbus)
- ("sqlite" ,sqlite)
- ("libxml2" ,libxml2)
- ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
- ("json-glib" ,json-glib)
- ("libsoup" ,libsoup)))
- (synopsis "Metadata database, indexer and search tool")
- (home-page "https://wiki.gnome.org/Projects/Tracker")
- (description
- "Tracker is a search engine and triplestore for desktop, embedded and mobile.
- It is a middleware component aimed at desktop application developers who want
- their apps to browse and search user content. It's not designed to be used
- directly by desktop users, but it provides a commandline tool named
- @command{tracker} for the adventurous.
- Tracker allows your application to instantly perform full-text searches across
- all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
- example. This is achieved by indexing the user's home directory in the
- background.
- Tracker also allows your application to query and list content that the user
- has stored. For example, GNOME Music displays all the music files that are
- found by Tracker. This means that GNOME Music doesn't need to maintain a
- database of its own.
- If you need to go beyond simple searches, Tracker is also a linked data
- endpoint and it understands SPARQL. ")
- ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
- ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
- ;; libstemmer is bsd-3 and the rest is gpl2+.
- (license (list license:gpl2+
- license:bsd-3
- license:lgpl2.1+))))
- (define-public tracker-miners
- (package
- (name "tracker-miners")
- (version "3.1.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/tracker-miners/"
- (version-major+minor version)
- "/tracker-miners-" version ".tar.xz"))
- (sha256
- (base32
- "0fpd69lgm8cckbamcf9c2q57glxf0s3jcfwkq8p3s4lfsvdclmd0"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- (list "-Dminer_rss=false" ; libgrss is required.
- ;; Ensure the RUNPATH contains all installed library locations.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/tracker-miners-3.0")
- ;; TODO: Enable functional tests. Currently, the following error
- ;; appears:
- ;; Exception: The functional tests require DConf to be the default
- ;; GSettings backend. Got GKeyfileSettingsBackend instead.
- "-Dfunctional_tests=false"
- "-Dsystemd_user_services=false")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda _
- (setenv "SHELL" (which "bash"))))
- (add-before 'configure 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((manpage "/etc/asciidoc/docbook-xsl/manpage.xsl")
- (file (search-input-file inputs manpage)))
- (substitute* "docs/manpages/meson.build"
- (("/etc/asciidoc[^']+")
- file)))))
- (add-before 'configure 'fix-tests
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Disable those tests that require the functional_tests option
- ;; to be true and the UPower daemon to be started.
- (substitute* "examples/python/meson.build"
- (("foreach example_name:.*")
- "foreach example_name: []"))
- ;; Disable this test that is failing randomly:
- ;; https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/170.
- (substitute* "tests/libtracker-miner/meson.build"
- (("'miner-fs'.*")
- ""))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Some tests expect to write to $HOME.
- (setenv "HOME" "/tmp")
- (setenv "LANG" "en_US.UTF-8")
- (invoke "dbus-run-session" "--" "meson" "test"
- "--print-errorlogs")))))))
- (native-inputs
- `(("dbus" ,dbus)
- ("intltool" ,intltool)
- ("glib:bin" ,glib "bin")
- ("docbook-xsl" ,docbook-xsl)
- ("docbook-xml-4.5" ,docbook-xml)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("asciidoc" ,asciidoc)
- ("xsltproc" ,libxslt)
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("python-pygobject" ,python-pygobject)))
- (inputs
- `(("exempi" ,exempi)
- ("ffmpeg" ,ffmpeg)
- ("flac" ,flac)
- ("giflib" ,giflib)
- ("glib" ,glib)
- ("gstreamer" ,gstreamer)
- ("icu4c" ,icu4c)
- ("json-glib" ,json-glib)
- ("libcue" ,libcue)
- ("libexif" ,libexif)
- ("libgsf" ,libgsf)
- ("libgxps" ,libgxps)
- ("libiptcdata" ,libiptcdata)
- ("libjpeg" ,libjpeg-turbo)
- ("libosinfo" ,libosinfo)
- ("libpng" ,libpng)
- ("libseccomp" ,libseccomp)
- ("libsoup" ,libsoup)
- ("libtiff" ,libtiff)
- ("libvorbis" ,libvorbis)
- ("libxml2" ,libxml2)
- ("poppler" ,poppler)
- ("shared-mime-info" ,shared-mime-info)
- ("taglib" ,taglib)
- ("totem-pl-parser" ,totem-pl-parser)
- ("tracker" ,tracker)
- ("upower" ,upower)
- ("zlib" ,zlib)))
- (synopsis "Metadata database, indexer and search tool")
- (home-page "https://wiki.gnome.org/Projects/Tracker")
- (description
- "Tracker is an advanced framework for first class objects with associated
- metadata and tags. It provides a one stop solution for all metadata, tags,
- shared object databases, search tools and indexing.")
- ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
- ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
- (license (list license:gpl2+
- license:lgpl2.1+
- license:lgpl2.0+))))
- (define-public nautilus
- (package
- (name "nautilus")
- (version "40.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "03gn416vvpvyy75pj3xkpxrqilbvjhqbvrdi5fdaivp50zzg47mp"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson/postinstall.py"
- (("gtk-update-icon-cache") "true")))))
- ;; XXX: FAIL: check-nautilus
- ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
- #:tests? #f))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("dconf" ,dconf)
- ("gexiv2" ,gexiv2)
- ("gvfs" ,gvfs)
- ("exempi" ,exempi)
- ("gnome-desktop" ,gnome-desktop)
- ("gnome-autoar" ,gnome-autoar)
- ("gst-plugins-base" ,gst-plugins-base)
- ("json-glib" ,json-glib)
- ("libhandy" ,libhandy)
- ("libportal" ,libportal)
- ("libseccomp" ,libseccomp)
- ("libselinux" ,libselinux)
- ("libsoup" ,libsoup)
- ("tracker" ,tracker)
- ("tracker-miners" ,tracker-miners)
- ;; XXX: gtk+ is required by libnautilus-extension.pc
- ;;
- ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
- ;; package. See:
- ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
- ("gtk+" ,gtk+)
- ("libexif" ,libexif)
- ("libxml2" ,libxml2)))
- (synopsis "File manager for GNOME")
- (home-page "https://wiki.gnome.org/Apps/Nautilus")
- (description
- "Nautilus (Files) is a file manager designed to fit the GNOME desktop
- design and behaviour, giving the user a simple way to navigate and manage its
- files.")
- (license license:gpl2+)))
- (define-public baobab
- (package
- (name "baobab")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "19yii3bdgivxrcka1c4g6dpbmql5nyawwhzlsph7z6bs68nambm6"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t))
- (native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
- ("itstool" ,itstool)
- ("xmllint" ,libxml2)
- ("glib" ,glib "bin")
- ("vala" ,vala)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libhandy" ,libhandy)))
- (synopsis "Disk usage analyzer for GNOME")
- (description
- "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
- usage in the GNOME desktop environment. It can easily scan device volumes or
- a specific user-requested directory branch (local or remote). Once the scan
- is complete it provides a graphical representation of each selected folder.")
- (home-page "https://wiki.gnome.org/Apps/Baobab")
- (license license:gpl2+)))
- (define-public gnome-backgrounds
- (package
- (name "gnome-backgrounds")
- (version "40.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "03m7ldfk00cly9igrq0qizq1y0f45vijmm23f1dl5kh1lc6qmpv0"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)))
- (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
- (synopsis "Background images for the GNOME desktop")
- (description
- "GNOME backgrounds package contains a collection of graphics files which
- can be used as backgrounds in the GNOME Desktop environment. Additionally,
- the package creates the proper framework and directory structure so that you
- can add your own files to the collection.")
- (license (list license:gpl2+
- license:cc-by2.0
- license:cc-by-sa2.0
- license:cc-by-sa3.0))))
- (define-public gnome-screenshot
- (package
- (name "gnome-screenshot")
- (version "40.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1qm544ymwibk31s30k47vnn79xg30m18r7l4di0c57g375dak31n"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/postinstall.py"
- (("gtk-update-icon-cache") "true"))
- #t)))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("intltool" ,intltool)
- ("appstream-glib" ,appstream-glib)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gtk+" ,gtk+)
- ("libcanberra" ,libcanberra)
- ("libhandy" ,libhandy)
- ("libx11" ,libx11)
- ("libxext" ,libxext)))
- (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
- (synopsis "Take pictures of your screen")
- (description
- "GNOME Screenshot is a utility used for taking screenshots of the entire
- screen, a window or a user defined area of the screen, with optional
- beautifying border effects.")
- (license license:gpl2+)))
- (define-public dconf-editor
- (package
- (name "dconf-editor")
- (version "3.38.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp"))))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
- ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("dconf" ,dconf)
- ("gtk+" ,gtk+)
- ("libxml2" ,libxml2)))
- (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
- (synopsis "Graphical editor for GNOME's dconf configuration system")
- (description
- "Dconf-editor is a graphical tool for browsing and editing the dconf
- configuration system for GNOME. It allows users to configure desktop
- software that do not provide their own configuration interface.")
- (license license:lgpl2.1+)))
- (define-public gnome-default-applications
- (package
- (name "gnome-default-applications")
- (version "0")
- (build-system trivial-build-system)
- (source #f)
- (propagated-inputs
- `(("nautilus" ,nautilus)
- ("evince" ,evince)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let* ((out (assoc-ref %outputs "out"))
- (apps (string-append out "/share/applications")))
- (mkdir-p apps)
- (call-with-output-file (string-append apps "/gnome-mimeapps.list")
- (lambda (port)
- (format port "[Default Applications]\n")
- (format port "inode/directory=org.gnome.Nautilus.desktop\n")
- (format port "application/pdf=evince.desktop\n")
- (format port "application/postscript=evince.desktop\n")))
- #t))))
- (synopsis "Default MIME type associations for the GNOME desktop")
- (description
- "Given many installed packages which might handle a given MIME type, a
- user running the GNOME desktop probably has some preferences: for example,
- that folders be opened by default by the Nautilus file manager, not the Baobab
- disk usage analyzer. This package establishes that set of default MIME type
- associations for GNOME.")
- (license license:gpl3+)
- (home-page #f)))
- (define-public libgovirt
- (package
- (name "libgovirt")
- (version "0.3.8")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1y0x1wyakj3ya33hgj0w1jkbcn50q21gmn2zyalxysqp55i1ij8x"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
- ("librest" ,rest)))
- (synopsis "GoVirt Library")
- (description "GoVirt is a GObject wrapper for the oVirt REST API.")
- (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
- (license license:gpl2+)))
- (define-public gnome-weather
- (package
- (name "gnome-weather")
- (version "40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0k9wnyinvx6433r07kvjyahgqc605g7gbpf3d0h6vi4p8x61849x"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("appstream-glib" ,appstream-glib)
- ("geoclue" ,geoclue)
- ("gjs" ,gjs)
- ("gnome-desktop" ,gnome-desktop)
- ("libgweather" ,libgweather)
- ("libhandy" ,libhandy)))
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- ,#~(modify-phases %standard-phases
- (add-after 'unpack 'fix-service-file
- (lambda _
- (substitute* "data/org.gnome.Weather.service.in"
- (("Exec=[[:graph:]]+")
- (string-append "Exec=" #$output
- "/bin/gnome-weather")))))
- (add-after 'install 'fix-desktop-file
- ;; FIXME: "gapplication launch org.gnome.Weather" fails for some
- ;; reason. See https://issues.guix.gnu.org/issue/39324.
- (lambda _
- (let ((applications
- (string-append #$output "/share/applications")))
- (substitute* (string-append applications
- "/org.gnome.Weather.desktop")
- (("Exec=.*") "Exec=gnome-weather\n")))))
- (add-after 'install 'wrap
- (lambda _
- (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
- ;; GNOME Weather needs the typelib files of GTK+, Pango etc
- ;; at runtime.
- (wrap-program (string-append #$output "/bin/gnome-weather")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
- (synopsis "Weather monitoring for GNOME desktop")
- (description "GNOME Weather is a small application that allows you to
- monitor the current weather conditions for your city, or anywhere in the
- world.")
- (home-page "https://wiki.gnome.org/Apps/Weather")
- (license license:gpl2+)))
- (define-public gnome
- (package
- (name "gnome")
- (version (package-version gnome-shell))
- (source #f)
- (build-system trivial-build-system)
- (arguments '(#:builder (begin (mkdir %output) #t)))
- (propagated-inputs
- `(;; GNOME-Core-OS-Services
- ("accountsservice" ,accountsservice)
- ("network-manager" ,network-manager)
- ("packagekit" ,packagekit)
- ("upower" ,upower)
- ;; GNOME-Core-Shell
- ("adwaita-icon-theme" ,adwaita-icon-theme)
- ("gdm" ,gdm)
- ("glib-networking" ,glib-networking)
- ("gnome-backgrounds" ,gnome-backgrounds)
- ("gnome-bluetooth" ,gnome-bluetooth)
- ("gnome-color-manager" ,gnome-color-manager)
- ("gnome-control-center" ,gnome-control-center)
- ("gnome-desktop" ,gnome-desktop)
- ("gnome-initial-setup" ,gnome-initial-setup)
- ("gnome-keyring" ,gnome-keyring)
- ("gnome-menus" ,gnome-menus)
- ("gnome-session" ,gnome-session)
- ("gnome-settings-daemon" ,gnome-settings-daemon)
- ("gnome-shell-extensions" ,gnome-shell-extensions)
- ("gnome-shell" ,gnome-shell)
- ("gnome-themes-extra" ,gnome-themes-extra)
- ("gnome-user-docs" ,gnome-user-docs)
- ("gnome-user-share" ,gnome-user-share)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gvfs" ,gvfs)
- ("mutter" ,mutter)
- ("orca" ,orca)
- ("rygel" ,rygel)
- ("sushi" ,sushi)
- ;; GNOME-Core-Utilities
- ("baobab" ,baobab)
- ("cheese" ,cheese)
- ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
- ;; only works on x86_64, so exclude it on other architectures.
- ,@(if (string-prefix? "x86_64" (%current-system))
- `(("eog" ,eog))
- '())
- ("epiphany" ,epiphany)
- ("evince" ,evince)
- ("file-roller" ,file-roller)
- ("gedit" ,gedit)
- ("gnome-boxes" ,gnome-boxes)
- ("gnome-calculator" ,gnome-calculator)
- ("gnome-calendar" ,gnome-calendar)
- ("gnome-characters" ,gnome-characters)
- ("gnome-clocks" ,gnome-clocks)
- ("gnome-contacts" ,gnome-contacts)
- ("gnome-disk-utility" ,gnome-disk-utility)
- ("gnome-font-viewer" ,gnome-font-viewer)
- ("gnome-maps" ,gnome-maps)
- ("gnome-music" ,gnome-music)
- ("gnome-photos" ,gnome-photos)
- ("gnome-screenshot" ,gnome-screenshot)
- ("gnome-system-monitor" ,gnome-system-monitor)
- ("gnome-terminal" ,gnome-terminal)
- ("gnome-weather" ,gnome-weather)
- ("nautilus" ,nautilus)
- ("simple-scan" ,simple-scan)
- ("totem" ,totem)
- ("tracker-miners" ,tracker-miners)
- ("yelp" ,yelp)
- ;; Others
- ("hicolor-icon-theme" ,hicolor-icon-theme)
- ("gnome-online-accounts" ,gnome-online-accounts)
- ;; Packages not part of GNOME proper but that are needed for a good
- ;; experience. See <https://bugs.gnu.org/39646>.
- ;; XXX: Find out exactly which ones are needed and why.
- ("font-cantarell" ,font-cantarell)
- ("font-dejavu" ,font-dejavu)
- ("at-spi2-core" ,at-spi2-core)
- ("dbus" ,dbus)
- ("dconf" ,dconf)
- ("desktop-file-utils" ,desktop-file-utils)
- ("gnome-default-applications" ,gnome-default-applications)
- ("gnome-themes-standard" ,gnome-themes-standard)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gucharmap" ,gucharmap)
- ("pinentry-gnome3" ,pinentry-gnome3)
- ("pulseaudio" ,pulseaudio)
- ("shared-mime-info" ,shared-mime-info)
- ("system-config-printer" ,system-config-printer)
- ("xdg-user-dirs" ,xdg-user-dirs)
- ("yelp" ,yelp)
- ("zenity" ,zenity)))
- (synopsis "The GNU desktop environment")
- (home-page "https://www.gnome.org/")
- (description
- "GNOME is the graphical desktop for GNU. It includes a wide variety of
- applications for browsing the web, editing text and images, creating
- documents and diagrams, playing media, scanning, and much more.")
- (license license:gpl2+)))
- (define-public byzanz
- ;; The last stable release of Byzanz was in 2011, but there have been many
- ;; useful commits made to the Byzanz repository since then that it would be
- ;; silly to use such an old release.
- (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
- (package
- (name "byzanz")
- (version (string-append "0.2-1." (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.gnome.org/browse/byzanz")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'bootstrap 'build-without-Werror
- (lambda _
- ;; The build system cleverly detects that we're not building from
- ;; a release tarball and turns on -Werror for GCC.
- ;; Unsurprisingly, there is a warning during compilation that
- ;; causes the build to fail unnecessarily, so we remove the flag.
- (substitute* '("configure.ac")
- (("-Werror") ""))
- #t)))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gnome-common" ,gnome-common)
- ("intltool" ,intltool)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("which" ,which)))
- (inputs
- `(("glib" ,glib)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gtk+" ,gtk+)))
- (synopsis "Desktop recording program")
- (description "Byzanz is a simple desktop recording program with a
- command-line interface. It can record part or all of an X display for a
- specified duration and save it as a GIF encoded animated image file.")
- (home-page "https://git.gnome.org/browse/byzanz")
- (license license:gpl2+))))
- (define-public authenticator
- (package
- (name "authenticator")
- (version "3.32.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/World/Authenticator")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/authenticator"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("libhandy" ,libhandy-0.0)
- ("libsecret" ,libsecret)
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-pillow" ,python-pillow)
- ("python-pyfavicon" ,python-pyfavicon)
- ("python-pygobject" ,python-pygobject)
- ("python-pyotp" ,python-pyotp)
- ("python-pyzbar" ,python-pyzbar)
- ("yoyo-migrations" ,yoyo-migrations)
- ("zbar" ,zbar)))
- (home-page "https://gitlab.gnome.org/World/Authenticator/")
- (synopsis "Two-factor authentication application built for GNOME")
- (description
- "Authenticator is a two-factor authentication (2FA) application built for
- the GNOME desktop environment.
- Features:
- @itemize
- @item QR code scanner
- @item Beautiful UI
- @item Huge database of more than 560 supported services
- @item Keep your PIN tokens secure by locking the application with a password
- @item Automatically fetch an image for services using their favicon
- @item The possibility to add new services
- @end itemize")
- (license license:gpl3+)))
- (define-public gsound
- (package
- (name "gsound")
- (version "1.0.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)
- ("vala" ,vala)))
- (inputs
- `(("glib" ,glib)
- ("libcanberra" ,libcanberra)))
- (home-page "https://wiki.gnome.org/Projects/GSound")
- (synopsis "GObject wrapper for libcanberra")
- (description
- "GSound is a small library for playing system sounds. It's designed to be
- used via GObject Introspection, and is a thin wrapper around the libcanberra C
- library.")
- (license license:lgpl2.1+)))
- (define-public libzapojit
- (package
- (name "libzapojit")
- (version "0.0.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("json-glib" ,json-glib)
- ("rest" ,rest)))
- (home-page "https://wiki.gnome.org/Projects/Zapojit")
- (synopsis "Library for accessing SkyDrive and Hotmail")
- (description
- "Libzapojit is a GLib-based library for accessing online service APIs of
- Microsoft SkyDrive and Hotmail, using their REST protocols.")
- (license license:lgpl2.1+)))
- (define-public gnome-clocks
- (package
- (name "gnome-clocks")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "02d3jg46sn8d9gd4dsaly22gg5vkbz2gpq4pmwpvncb4rsqk7sn2"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/post-install.py"
- (("gtk-update-icon-cache") "true")))))))
- (native-inputs
- `(("vala" ,vala)
- ("pkg-config" ,pkg-config)
- ("glib" ,glib "bin") ; for glib-compile-resources
- ("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("itstool" ,itstool)))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("gsound" ,gsound)
- ("geoclue" ,geoclue)
- ("geocode-glib" ,geocode-glib)
- ("libgweather" ,libgweather)
- ("libhandy" ,libhandy)
- ("gnome-desktop" ,gnome-desktop)))
- (home-page "https://wiki.gnome.org/Apps/Clocks")
- (synopsis "GNOME's clock application")
- (description
- "GNOME Clocks is a simple clocks application designed to fit the GNOME
- desktop. It supports world clock, stop watch, alarms, and count down timer.")
- (license license:gpl3+)))
- (define-public gnome-calendar
- (package
- (name "gnome-calendar")
- (version "40.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0czasxnmbw2zm21lmxam8qixacagciq3f815s809hn0f9byh2dwy"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- ;; gnome-calendar has to be installed before the tests can be run
- ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t)))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib-bin" ,glib "bin") ; For glib-compile-schemas
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libdazzle" ,libdazzle)
- ("libedataserverui" ,evolution-data-server)
- ("libgweather" ,libgweather)
- ("libhandy" ,libhandy)
- ("geoclue" ,geoclue)))
- (propagated-inputs
- `(("evolution-data-server" ,evolution-data-server)))
- (home-page "https://wiki.gnome.org/Apps/Calendar")
- (synopsis "GNOME's calendar application")
- (description
- "GNOME Calendar is a simple calendar application designed to fit the GNOME
- desktop. It supports multiple calendars, month, week and year view.")
- (license license:gpl3+)))
- (define-public gnome-todo
- (package
- (name "gnome-todo")
- (version "40.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1r1fb3zgjvkhx93by24j8cg1w1g3zvwr49vqkscjn261vqs44jq3"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- ;; XXX: Some tests fail with the following error:
- ;; Settings schema 'org.gnome.todo' is not installed.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") "true")))))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("gobject-introspection" ,gobject-introspection)
- ("glib:bin" ,glib "bin") ; For glib-compile-resources
- ("gtk-bin" ,gtk "bin") ; For gtk-update-icon-cache
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("rest" ,rest) ; For Todoist plugin
- ("gtk" ,gtk)
- ("json-glib" ,json-glib) ; For Todoist plugin
- ("libadwaita" ,libadwaita)
- ("libedataserverui" ,evolution-data-server)
- ("libical" ,libical)
- ("libpeas" ,libpeas)
- ("libportal" ,libportal)
- ("python-pygobject" ,python-pygobject)
- ("evolution-data-server" ,evolution-data-server)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
- (home-page "https://wiki.gnome.org/Apps/Todo")
- (synopsis "GNOME's ToDo Application")
- (description
- "GNOME To Do is a simplistic personal task manager designed to perfectly
- fit the GNOME desktop.")
- (license license:gpl3+)))
- (define-public gnome-dictionary
- (package
- (name "gnome-dictionary")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "build-aux/meson/post-install.py"
- (("gtk-update-icon-cache") "true")))))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)))
- (home-page "https://wiki.gnome.org/Apps/Dictionary")
- (synopsis "Look up words in dictionary sources")
- (description
- "GNOME Dictionary can look for the definition or translation of a word in
- existing databases over the internet.")
- (license license:gpl3+)))
- (define-public gnome-tweaks
- (package
- (name "gnome-tweaks")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
- (version-major version) "/"
- "gnome-tweaks-" version ".tar.xz"))
- (patches
- (list (search-patch "gnome-tweaks-search-paths.patch")))
- (sha256
- (base32
- "0sn3xsjhnini0f2dyi1ymrr3fb8mi7w5j5lsyw11rc5h67h3ypzr"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags '("-Dlocalstatedir=/tmp"
- "-Dsysconfdir=/tmp")
- #:imported-modules ((guix build python-build-system)
- ,@%meson-build-system-modules)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson-postinstall.py"
- (("gtk-update-icon-cache") "true"))))
- (add-after 'install 'wrap
- (@@ (guix build python-build-system) wrap))
- (add-after 'wrap 'wrap-gi-typelib
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
- (wrap-program (string-append out "/bin/gnome-tweaks")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gnome-desktop" ,gnome-desktop)
- ("gtk+" ,gtk+)
- ("gobject-introspection" ,gobject-introspection)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("libhandy" ,libhandy-0.0)
- ("libnotify" ,libnotify)
- ("libsoup" ,libsoup)
- ("nautilus" ,nautilus)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)))
- (synopsis "Customize advanced GNOME 3 options")
- (home-page "https://wiki.gnome.org/Apps/Tweaks")
- (description
- "GNOME Tweaks allows adjusting advanced configuration settings in
- GNOME 3. This includes things like the fonts used in user interface elements,
- alternative user interface themes, changes in window management behavior,
- GNOME Shell appearance and extension, etc.")
- (license license:gpl3+)))
- (define-public gnome-shell-extensions
- (package
- (name "gnome-shell-extensions")
- (version "40.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0yfd1bcwf72dmr1hfh7g8s5cb7snyiyg86575hqx1frbq914q7gm"))))
- (build-system meson-build-system)
- (arguments
- '(#:configure-flags '("-Dextension_set=all")))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("glib" ,glib)))
- (synopsis "Extensions for GNOME Shell")
- (description "GNOME Shell extensions modify and extend GNOME Shell
- functionality and behavior.")
- (home-page "https://extensions.gnome.org/")
- (license license:gpl3+)))
- (define-public folks
- (package
- (name "folks")
- (version "0.14.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/folks/"
- (version-major+minor version) "/"
- "folks-" version ".tar.xz"))
- (sha256
- (base32
- "1f9b52vmwnq7s51vj26w2618dn2ph5g12ibbkbyk6fvxcgd7iryn"))))
- (build-system meson-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t)))))
- (inputs
- `(("bdb" ,bdb)
- ("dbus-glib" ,dbus-glib)
- ("evolution-data-server" ,evolution-data-server)
- ("glib" ,glib)
- ("libgee" ,libgee)
- ("readline" ,readline)
- ("telepathy-glib" ,telepathy-glib)))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("python-dbusmock" ,python-dbusmock)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (synopsis "Library to aggregate data about people")
- (description "Libfolks is a library that aggregates information about people
- from multiple sources (e.g., Telepathy connection managers for IM contacts,
- Evolution Data Server for local contacts, libsocialweb for web service contacts,
- etc.) to create metacontacts. It's written in Vala, which generates C code when
- compiled.")
- (home-page "https://wiki.gnome.org/Projects/Folks")
- (license license:lgpl2.1+)))
- (define-public gfbgraph
- (package
- (name "gfbgraph")
- (version "0.2.4")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/gfbgraph/"
- (version-major+minor version) "/"
- "gfbgraph-" version ".tar.xz"))
- (sha256
- (base32
- "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:tests? #f ; tests appear to require the network
- #:configure-flags '("--disable-static"
- "--enable-gtk-doc"
- "--enable-introspection")))
- (native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ;; The 0.2.4 ‘release’ tarball isn't bootstrapped.
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("which" ,which)))
- (inputs
- `(("json-glib" ,json-glib)
- ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
- ("rest" ,rest)))
- (synopsis "GLib/GObject wrapper for the Facebook API")
- (description "This library allows you to use the Facebook API from
- GLib/GObject code.")
- (home-page "https://wiki.gnome.org/Projects/GFBGraph")
- (license license:lgpl2.1+)))
- (define-public libgnomekbd
- (package
- (name "libgnomekbd")
- (version "3.26.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libgnomekbd/"
- (version-major+minor version) "/"
- "libgnomekbd-" version ".tar.xz"))
- (sha256
- (base32
- "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")
- ("intltool" ,intltool)))
- (propagated-inputs
- ;; Referred to in .h files and .pc.
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("libxklavier" ,libxklavier)))
- (home-page "https://www.gnome.org")
- (synopsis "GNOME keyboard configuration library")
- (description
- "Libgnomekbd is a keyboard configuration library for the GNOME desktop
- environment, which can notably display keyboard layouts.")
- (license license:lgpl2.0+)))
- ;;; This package is no longer maintained:
- ;;; https://wiki.gnome.org/Attic/LibUnique
- ;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
- ;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
- (define-public libunique
- (package
- (name "libunique")
- (version "3.0.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:configure-flags '("--disable-static"
- "--disable-dbus" ; use gdbus
- "--enable-introspection")))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gobject-introspection" ,gobject-introspection)
- ("glib:bin" ,glib "bin")
- ("gtk-doc" ,gtk-doc/stable)))
- (propagated-inputs
- ;; Referred to in .h files and .pc.
- `(("gtk+" ,gtk+)))
- (home-page "https://wiki.gnome.org/Attic/LibUnique")
- (synopsis "Library for writing single instance applications")
- (description
- "Libunique is a library for writing single instance applications. If you
- launch a single instance application twice, the second instance will either just
- quit or will send a message to the running instance. Libunique makes it easy to
- write this kind of application, by providing a base class, taking care of all
- the IPC machinery needed to send messages to a running instance, and also
- handling the startup notification side.")
- (license license:lgpl2.1+)))
- (define-public gnome-calculator
- (package
- (name "gnome-calculator")
- (version "40.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1xkazxbkpn1z5pfphhps7fc5q4yc8lp7f6b222n8bx5iyxhwbrkz"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a writable HOME.
- (setenv "HOME" (getcwd)))))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
- ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
- ("itstool" ,itstool)
- ("vala" ,vala)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("gtksourceview" ,gtksourceview)
- ("libgee" ,libgee)
- ("libhandy" ,libhandy)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)
- ("mpc" ,mpc)
- ("mpfr" ,mpfr)))
- (home-page "https://wiki.gnome.org/Apps/Calculator")
- (synopsis "Desktop calculator")
- (description
- "Calculator is an application that solves mathematical equations and
- is suitable as a default application in a Desktop environment.")
- (license license:gpl3)))
- (define-public xpad
- (package
- (name "xpad")
- (version "5.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://launchpad.net/xpad/trunk/"
- version "/+download/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gtk+:bin" ,gtk+ "bin")
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gtksourceview" ,gtksourceview-3)
- ("libsm" ,libsm)))
- (home-page "https://wiki.gnome.org/Apps/Xpad")
- (synopsis "Virtual sticky note")
- (description
- "Xpad is a sticky note that strives to be simple, fault tolerant,
- and customizable. Xpad consists of independent pad windows, each is
- basically a text box in which notes can be written.")
- (license license:gpl3+)))
- (define-public gucharmap
- (let ((unicode-files
- '(("Blocks.txt"
- "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
- ("DerivedAge.txt"
- "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
- ("NamesList.txt"
- "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
- ("Scripts.txt"
- "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
- ("UnicodeData.txt"
- "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
- ("Unihan.zip"
- "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
- (package
- (name "gucharmap")
- (version "12.0.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:modules ((ice-9 match)
- (guix build glib-or-gtk-build-system)
- (guix build utils))
- #:configure-flags
- (list "--with-unicode-data=../unicode-data")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'prepare-unicode-data
- (lambda* (#:key inputs #:allow-other-keys)
- (mkdir-p "../unicode-data")
- (with-directory-excursion "../unicode-data"
- (for-each (match-lambda
- ((file _)
- (install-file (assoc-ref inputs file) ".")))
- ',unicode-files))
- #t)))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("glib:bin" ,glib "bin") ; for glib-compile-resources.
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ,@(map (match-lambda
- ((file hash)
- `(,file
- ,(origin
- (method url-fetch)
- (uri (string-append
- "http://www.unicode.org/Public/12.0.0/ucd/"
- file))
- (sha256 (base32 hash))))))
- unicode-files)
- ("unzip" ,unzip)))
- (inputs
- `(("gtk+" ,gtk+)
- ("xmllint" ,libxml2)))
- (home-page "https://wiki.gnome.org/Apps/Gucharmap")
- (synopsis "Unicode character picker and font browser")
- (description
- "This program allows you to browse through all the available Unicode
- characters and categories for the installed fonts, and to examine their
- detailed properties. It is an easy way to find the character you might
- only know by its Unicode name or code point.")
- (license license:gpl3+))))
- (define-public gcolor3
- (package
- (name "gcolor3")
- (version "2.4.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/World/gcolor3")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1igqmach1vhcrvbpw346pmkbb5kabbb806ssswrvkp569n700wmc"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("libportal" ,libportal)))
- (home-page "https://www.hjdskes.nl/projects/gcolor3/")
- (synopsis "Simple color chooser written in GTK3")
- (description "Color Picker is a simple color chooser written in GTK3. It
- supports both X and Wayland display servers.")
- (license license:gpl2+)))
- (define-public bluefish
- (package
- (name "bluefish")
- (version "2.2.12")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://www.bennewitz.com/bluefish/stable/source/"
- "bluefish-" version ".tar.gz"))
- (sha256
- (base32 "09hgxq139kbkjda5y073lqhq1z1x7cx0j80jh77afrqa3y9c53wl"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("enchant" ,enchant)
- ("gtk+" ,gtk+)
- ("python" ,python-wrapper)
- ("xmllint" ,libxml2)
- ("gucharmap" ,gucharmap)))
- (home-page "http://bluefish.openoffice.nl")
- (synopsis "Web development studio")
- (description
- "Bluefish is an editor aimed at programmers and web developers,
- with many options to write web sites, scripts and other code.
- Bluefish supports many programming and markup languages.")
- (license license:gpl3+)))
- (define-public gnome-system-monitor
- (package
- (name "gnome-system-monitor")
- (version "40.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "06hxd4igxas2kyind5jwfq5qbfkknykpdfy2sy3anylhcx1hzczx"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:configure-flags '("-Dsystemd=false")))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums.
- ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("libgtop" ,libgtop)
- ("polkit" ,polkit)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
- ("gtk+" ,gtk+)
- ("gtkmm" ,gtkmm-3)
- ("libhandy" ,libhandy)
- ("librsvg" ,librsvg)
- ("libxml2" ,libxml2)
- ("libwnck" ,libwnck)))
- (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
- (synopsis "Process viewer and system resource monitor for GNOME")
- (description
- "GNOME System Monitor is a GNOME process viewer and system monitor with
- an attractive, easy-to-use interface. It has features, such as a tree view
- for process dependencies, icons for processes, the ability to hide processes,
- graphical time histories of CPU/memory/swap usage and the ability to
- kill/reinice processes.")
- (license license:gpl2+)))
- (define-public python-pyatspi
- (package
- (name "python-pyatspi")
- (version "2.34.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/pyatspi/"
- (version-major+minor version)
- "/pyatspi-" version ".tar.xz"))
- (sha256
- (base32
- "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-atk-load
- (lambda _
- (substitute* "pyatspi/__init__.py"
- (("from gi.repository import Atspi")
- "gi.require_version('Gtk', '3.0')
- from gi.repository import Gtk
- from gi.repository import Atspi"))
- #t)))))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("python" ,python)))
- (propagated-inputs
- `(("python-pygobject" ,python-pygobject)))
- (synopsis "Python client bindings for D-Bus AT-SPI")
- (home-page "https://wiki.linuxfoundation.org/accessibility\
- /atk/at-spi/at-spi_on_d-bus")
- (description
- "This package includes a python client library for the AT-SPI D-Bus
- accessibility infrastructure.")
- (license license:lgpl2.0)
- (properties '((upstream-name . "pyatspi")))))
- (define-public python2-pyatspi
- (package/inherit python-pyatspi
- (name "python2-pyatspi")
- (inputs
- `(("python" ,python-2)))
- (propagated-inputs
- `(("python-pygobject" ,python2-pygobject)))))
- (define-public orca
- (package
- (name "orca")
- (version "40.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0hq0zdcn80ficpcffbk667907v6m7dih3dhyc7ss01mrj3iyw000"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'qualify-xkbcomp
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((xkbcomp (string-append
- (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
- (substitute* "src/orca/orca.py"
- (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
- #t))
- (add-after 'install 'wrap-orca
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (prog (string-append out "/bin/orca")))
- (wrap-program prog
- `("GI_TYPELIB_PATH" ":" prefix
- (,(getenv "GI_TYPELIB_PATH")))
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
- (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
- `("GUIX_PYTHONPATH" ":" prefix
- (,(getenv "GUIX_PYTHONPATH")))))
- #t)))))
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("at-spi2-atk" ,at-spi2-atk)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gtk+" ,gtk+)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)
- ("python-pyatspi" ,python-pyatspi)
- ("python-speechd" ,speech-dispatcher)
- ("xkbcomp" ,xkbcomp)))
- (synopsis
- "Screen reader for individuals who are blind or visually impaired")
- (home-page "https://wiki.gnome.org/Projects/Orca")
- (description
- "Orca is a screen reader that provides access to the graphical desktop
- via speech and refreshable braille. Orca works with applications and toolkits
- that support the Assistive Technology Service Provider Interface (AT-SPI).")
- (license license:lgpl2.1+)))
- (define-public gspell
- (package
- (name "gspell")
- (version "1.8.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
- (patches (search-patches "gspell-dash-test.patch"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- '(#:configure-flags (list "--enable-vala")
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- ;; For the missing /etc/machine-id.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- ;; Allow Enchant and its Aspell backend to find the en_US
- ;; dictionary.
- (setenv "ASPELL_DICT_DIR"
- (search-input-directory inputs "/lib/aspell")))))))
- (inputs
- `(("iso-codes" ,iso-codes)))
- (native-inputs
- `(("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala) ;for VAPI, needed by Geary
- ("xmllint" ,libxml2)
- ;; For tests.
- ("aspell-dict-en" ,aspell-dict-en)
- ("xorg-server" ,xorg-server-for-tests)))
- (propagated-inputs
- ;; Referred by .pc file.
- `(("enchant" ,enchant)
- ("glib" ,glib)
- ("gtk+" ,gtk+)))
- (home-page "https://wiki.gnome.org/Projects/gspell")
- (synopsis "GNOME's alternative spell checker")
- (description
- "gspell provides a flexible API to add spell-checking to a GTK+
- application. It provides a GObject API, spell-checking to text entries and
- text views, and buttons to choose the language.")
- (license license:gpl2+)))
- (define-public gnome-planner
- (package
- (name "gnome-planner")
- (version "0.14.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/planner/"
- (version-major+minor version) "/planner-"
- version ".tar.xz"))
- (sha256
- (base32
- "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- ;; Disable the Python bindings because the Planner program functions
- ;; without them, and (as of 2017-06-13) we have not packaged all of
- ;; packages that are necessary for building the Python bindings.
- `(#:configure-flags
- (list "--disable-python"
- ,@(if (string=? "aarch64-linux" (%current-system))
- '("--build=aarch64-unknown-linux-gnu")
- '()))))
- (inputs
- `(("libgnomecanvas" ,libgnomecanvas)
- ("libgnomeui" ,libgnomeui)
- ("libglade" ,libglade)
- ("gnome-vfs" ,gnome-vfs)
- ("gconf" ,gconf)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("gtk+" ,gtk+)
- ("glib" ,glib)))
- (native-inputs
- `(("intltool" ,intltool)
- ("scrollkeeper" ,scrollkeeper)
- ("pkg-config" ,pkg-config)))
- (home-page "https://wiki.gnome.org/Apps/Planner")
- (synopsis "Project management software for the GNOME desktop")
- (description
- "GNOME Planner is a project management tool based on the Work Breakdown
- Structure (WBS). Its goal is to enable you to easily plan projects. Based on
- the resources, tasks, and constraints that you define, Planner generates
- various views into a project. For example, Planner can show a Gantt chart of
- the project. It can show a detailed summary of tasks including their
- duration, cost, and current progress. It can also show a report of resource
- utilization that highlights under-utilized and over-utilized resources. These
- views can be printed as PDF or PostScript files, or exported to HTML.")
- (license license:gpl2+)))
- (define-public lollypop
- (package
- (name "lollypop")
- (version "1.4.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://adishatz.org/lollypop/"
- "lollypop-" version ".tar.xz"))
- (sha256
- (base32 "1hlahr50gsagx1ifcdk4yn43xps6w0vqn0gnd6xckfc7qmg1pgq7"))))
- (build-system meson-build-system)
- (arguments
- `(#:imported-modules
- (,@%meson-build-system-modules
- (guix build python-build-system))
- #:modules
- ((guix build meson-build-system)
- ((guix build python-build-system) #:prefix python:)
- (guix build utils))
- #:glib-or-gtk? #t
- #:tests? #f ; no test suite
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
- (wrap-program (string-append out "/bin/lollypop")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
- #t))
- (add-after 'install 'wrap-python
- (assoc-ref python:%standard-phases 'wrap)))))
- (native-inputs
- `(("intltool" ,intltool)
- ("itstool" ,itstool)
- ("glib:bin" ,glib "bin") ; For glib-compile-resources
- ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib-networking" ,glib-networking)
- ("gobject-introspection" ,gobject-introspection)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gst-plugins-base" ,gst-plugins-base)
- ("libnotify" ,libnotify)
- ("libsecret" ,libsecret)
- ("libhandy" ,libhandy)
- ("libsoup" ,libsoup)
- ("python" ,python)
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-gst" ,python-gst)
- ("python-pil" ,python-pillow)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)
- ("python-pylast" ,python-pylast)
- ("totem-pl-parser" ,totem-pl-parser)
- ("webkitgtk" ,webkitgtk)))
- (propagated-inputs
- `(;; gst-plugins-base is required to start Lollypop,
- ;; the others are required to play streaming.
- ("gst-plugins-good" ,gst-plugins-good)
- ("gst-plugins-ugly" ,gst-plugins-ugly)))
- (home-page "https://wiki.gnome.org/Apps/Lollypop")
- (synopsis "GNOME music playing application")
- (description
- "Lollypop is a music player designed to play well with GNOME desktop.
- Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
- from artists and tracks from the web. It also fetches cover artworks
- automatically and it can stream songs from online music services and charts.")
- (license license:gpl3+)))
- (define-public gnome-video-effects
- (package
- (name "gnome-video-effects")
- (version "0.5.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/" name "-"
- version ".tar.xz"))
- (sha256
- (base32
- "1j6h98whgkcxrh30bwvnxvyqxrxchgpdgqhl0j71xz7x72dqxijd"))))
- (build-system meson-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)))
- (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
- (synopsis "Video effects for Cheese and other GNOME applications")
- (description
- "A collection of GStreamer video filters and effects to be used in
- photo-booth-like software, such as Cheese.")
- (license license:gpl2+)))
- (define-public cheese
- (package
- (name "cheese")
- (version "3.38.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/" name "-"
- version ".tar.xz"))
- (sha256
- (base32
- "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8"))
- (patches (search-patches "cheese-vala-update.patch"))))
- (arguments
- `(#:glib-or-gtk? #t
- ;; Tests require GDK.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- ;; Don't create 'icon-theme.cache'
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t))
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Avoid a network connection attempt during the build.
- (substitute* '("docs/reference/cheese.xml"
- "docs/reference/cheese-docs.xml")
- (("http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd")
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook/docbookx.dtd")))
- #t))
- (add-after 'install 'wrap-cheese
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
- (wrap-program (string-append out "/bin/cheese")
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
- #t)))))
- (build-system meson-build-system)
- (native-inputs
- `(("docbook-xsl" ,docbook-xsl)
- ("docbook-xml" ,docbook-xml-4.3)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gtk-doc" ,gtk-doc/stable)
- ("itstool" ,itstool)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (propagated-inputs
- `(("gnome-video-effects" ,gnome-video-effects)
- ("clutter" ,clutter)
- ("clutter-gst" ,clutter-gst)
- ("clutter-gtk" ,clutter-gtk)
- ("libcanberra" ,libcanberra)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)
- ("gstreamer" ,gstreamer)))
- (inputs
- `(("gnome-desktop" ,gnome-desktop)
- ("gobject-introspection" ,gobject-introspection)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gst-plugins-bad" ,gst-plugins-bad)
- ("gtk+" ,gtk+)
- ("libx11" ,libx11)
- ("libxtst" ,libxtst)))
- (home-page "https://wiki.gnome.org/Apps/Cheese")
- (synopsis "Webcam photo booth software for GNOME")
- (description
- "Cheese uses your webcam to take photos and videos. Cheese can also
- apply fancy special effects and lets you share the fun with others.")
- (license license:gpl2+)))
- (define-public passwordsafe
- (package
- (name "passwordsafe")
- (version "5.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/World/PasswordSafe")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1xh64bbg10gnfzlck5jvqy2zk6hbk9cyqgv85xc9kbdvs8n4lhgh"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/gnome-passwordsafe"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("libhandy" ,libhandy)
- ("libpwquality" ,libpwquality)
- ("python-pygobject" ,python-pygobject)
- ("python-pykeepass" ,python-pykeepass)))
- (home-page "https://gitlab.gnome.org/World/PasswordSafe")
- (synopsis "Password manager for the GNOME desktop")
- (description
- "Password Safe is a password manager which makes use of the KeePass v4
- format. It integrates perfectly with the GNOME desktop and provides an easy
- and uncluttered interface for the management of password databases.")
- (license license:gpl3+)))
- (define-public sound-juicer
- (package
- (name "sound-juicer")
- (version "3.24.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("gtk+" ,gtk+)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("iso-codes" ,iso-codes)
- ("libbrasero-media3" ,brasero)
- ("libcanberra" ,libcanberra)
- ("libdiscid" ,libdiscid)
- ("libmusicbrainz" ,libmusicbrainz)
- ("neon" ,neon)))
- (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
- (synopsis "Audio music cd ripper")
- (description "Sound Juicer extracts audio from compact discs and convert it
- into audio files that a personal computer or digital audio player can play.
- It supports ripping to any audio codec supported by a GStreamer plugin, such as
- mp3, Ogg Vorbis and FLAC")
- (license license:gpl2+)))
- (define-public soundconverter
- (package
- (name "soundconverter")
- (version "3.0.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://launchpad.net/soundconverter/trunk/"
- version "/+download/"
- "soundconverter-" version ".tar.xz"))
- (sha256
- (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:imported-modules ((guix build python-build-system)
- (guix build glib-or-gtk-build-system)
- ,@%gnu-build-system-modules)
- #:modules ((guix build glib-or-gtk-build-system)
- (guix build utils)
- ((guix build gnu-build-system) #:prefix gnu:)
- ((guix build python-build-system) #:prefix python:))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-soundconverter-for-python
- (assoc-ref python:%standard-phases 'wrap))
- (add-after 'install 'wrap-soundconverter
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
- (wrap-program (string-append out "/bin/soundconverter")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
- #t)))))
- (native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("glib:bin" ,glib "bin")))
- (inputs
- `(("gtk+" ,gtk+)
- ("python" ,python)
- ("python-pygobject" ,python-pygobject)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)))
- (home-page "https://soundconverter.org/")
- (synopsis "Convert between audio formats with a graphical interface")
- (description
- "SoundConverter supports converting between many audio formats including
- Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
- configurable file renaming. ")
- (license license:gpl3)))
- (define-public workrave
- (package
- (name "workrave")
- (version "1.10.43")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rcaelers/workrave")
- (commit (string-append "v" (string-map
- (match-lambda (#\. #\_) (chr chr))
- version)))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1baa9qjzd4b3q1zy5vhvyrx0hyz17mk237373ca48647897kw4cr"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- ;; The only tests are maintainer tests (in po/), which fail.
- `(#:tests? #f))
- (inputs `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("gtkmm" ,gtkmm-3)
- ("glibmm" ,glibmm)
- ("libx11" ,libx11)
- ("libxtst" ,libxtst)
- ("dconf" ,dconf)
- ("libice" ,libice)
- ("libsm" ,libsm)
- ("libxscrnsaver" ,libxscrnsaver)))
- (native-inputs `(("boost" ,boost)
- ("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("autoconf" ,autoconf)
- ("autoconf-archive" , autoconf-archive)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("intltool" ,intltool)
- ("gobject-introspection" ,gobject-introspection)
- ("python3" ,python-3)
- ("python-jinja2" ,python-jinja2)))
- (synopsis "Tool to help prevent repetitive strain injury (RSI)")
- (description
- "Workrave is a program that assists in the recovery and prevention of
- repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
- micro-pauses and rest breaks, and restricts you to your daily limit.")
- (home-page "http://www.workrave.org")
- (license license:gpl3+)))
- (define-public ghex
- (package
- (name "ghex")
- (version "3.18.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/ghex/"
- (version-major+minor version) "/"
- "ghex-" version ".tar.xz"))
- (sha256
- (base32
- "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- ;; Don't create 'icon-theme.cache'.
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t)))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas
- ("gnome-common" ,gnome-common)
- ("which" ,which)
- ("intltool" ,intltool)
- ("yelp-tools" ,yelp-tools)
- ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
- (inputs
- `(("atk" ,atk)
- ("gtk" ,gtk+)))
- (synopsis "GNOME hexadecimal editor")
- (description "The GHex program can view and edit files in two ways:
- hexadecimal or ASCII. It is useful for editing binary files in general.")
- (home-page "https://wiki.gnome.org/Apps/Ghex")
- (license license:gpl2)))
- (define-public libdazzle
- (package
- (name "libdazzle")
- (version "3.37.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/libdazzle/"
- (version-major+minor version) "/"
- "libdazzle-" version ".tar.xz"))
- (sha256
- (base32
- "03r5cr11dc031qa3694bpgm3lajrhiiln67kvl7vjj4q0scf7w7x"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (native-inputs
- `(("glib" ,glib "bin") ; glib-compile-resources
- ("pkg-config" ,pkg-config)
- ;; For tests.
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+" ,gtk+)
- ("vala" ,vala)))
- (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
- (synopsis "Companion library to GObject and Gtk+")
- (description "The libdazzle library is a companion library to GObject and
- Gtk+. It provides various features that the authors wish were in the
- underlying library but cannot for various reasons. In most cases, they are
- wildly out of scope for those libraries. In other cases, they are not quite
- generic enough to work for everyone.")
- (license license:gpl3+)))
- (define-public evolution
- (package
- (name "evolution")
- (version "3.34.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/evolution/"
- (version-major+minor version) "/"
- "evolution-" version ".tar.xz"))
- (sha256
- (base32
- "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))
- (patches (search-patches "evolution-CVE-2020-11879.patch"
- "evolution-printableoptions.patch"))))
- (build-system cmake-build-system)
- (arguments
- `(#:imported-modules (,@%cmake-build-system-modules
- (guix build glib-or-gtk-build-system))
- #:modules ((guix build cmake-build-system)
- ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
- (guix build utils))
- #:configure-flags
- (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
- "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
- ; in four years and cannot be built.
- #:phases
- (modify-phases %standard-phases
- ;; The build system attempts to install user interface modules to the
- ;; output directory of the "evolution-data-server" package. This
- ;; change redirects that change.
- (add-after 'unpack 'patch-ui-module-dir
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "src/modules/alarm-notify/CMakeLists.txt"
- (("\\$\\{edsuimoduledir\\}")
- (string-append (assoc-ref outputs "out")
- "/lib/evolution-data-server/ui-modules")))
- #t))
- (add-after 'install 'glib-or-gtk-compile-schemas
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
- (add-after 'install 'glib-or-gtk-wrap
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
- (native-inputs
- `(("glib" ,glib "bin") ; glib-mkenums
- ("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("itstool" ,itstool)))
- (inputs
- `(("enchant" ,enchant)
- ("evolution-data-server" ,evolution-data-server) ; must be the same version
- ("gcr" ,gcr)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gnome-autoar" ,gnome-autoar)
- ("gnome-desktop" ,gnome-desktop)
- ("gspell" ,gspell)
- ("highlight" ,highlight)
- ("libcanberra" ,libcanberra)
- ("libgweather" ,libgweather)
- ("libnotify" ,libnotify)
- ("libsoup" ,libsoup)
- ("nss" ,nss)
- ("openldap" ,openldap)
- ("webkitgtk" ,webkitgtk)
- ("ytnef" ,ytnef)))
- (home-page "https://gitlab.gnome.org/GNOME/evolution")
- (synopsis "Manage your email, contacts and schedule")
- (description "Evolution is a personal information management application
- that provides integrated mail, calendaring and address book
- functionality.")
- ;; See COPYING for details.
- (license (list license:lgpl2.1 license:lgpl3 ; either one of these
- license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
- license:lgpl2.1+)))) ; smime/lib/*
- (define-public gthumb
- (package
- (name "gthumb")
- (version "3.10.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gthumb/"
- (version-major+minor version) "/"
- "gthumb-" version ".tar.xz"))
- (sha256
- (base32
- "04n2sgasc03kiczyzkq362pjilj12hq2r5qj07lynqr9rivkzdys"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- ;; Ensure the RUNPATH contains all installed library locations.
- (list (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gthumb/extensions")
- (string-append "-Dcpp_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gthumb/extensions"))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
- ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("intltool" ,intltool)
- ("itstool" ,itstool)))
- (inputs
- `(("exiv2" ,exiv2)
- ("gtk" ,gtk+)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gstreamer" ,gstreamer)
- ("clutter" ,clutter)
- ("clutter-gst" ,clutter-gst)
- ("clutter-gtk" ,clutter-gtk)
- ("libjpeg" ,libjpeg-turbo)
- ("libtiff" ,libtiff)
- ("libraw" ,libraw)))
- (home-page "https://wiki.gnome.org/Apps/Gthumb")
- (synopsis "GNOME image viewer and browser")
- (description "GThumb is an image viewer, browser, organizer, editor and
- advanced image management tool")
- (license license:gpl2+)))
- (define-public terminator
- (package
- (name "terminator")
- (version "2.1.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/gnome-terminator/terminator/"
- "releases/download/v" version "/"
- name "-" version ".tar.gz"))
- (sha256
- (base32 "0xdgmam7ghnxw6g38a4gjw3kk3rhga8c66lns18k928jlr9fmddw"))))
- (build-system python-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("python-psutil" ,python-psutil)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-pytest" ,python-pytest)))
- (inputs
- `(("cairo" ,cairo)
- ("dbus-glib" ,dbus-glib)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("python" ,python-wrapper)
- ("python-dbus" ,python-dbus)
- ("python-notify2" ,python-notify2)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)
- ("vte" ,vte)))
- (propagated-inputs
- `(("python-configobj" ,python-configobj)))
- (arguments
- ;; One test out of 28 fails due to dbus-python and python-notify; skip
- ;; tests.
- `(#:tests? #f
- #:imported-modules ((guix build glib-or-gtk-build-system)
- ,@%python-build-system-modules)
- #:modules ((guix build python-build-system)
- ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
- (guix build utils))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'handle-dbus-python
- (lambda _
- ;; python-dbus cannot be found but it's really there. See
- ;; https://github.com/SpotlightKid/jack-select/issues/2
- (substitute* "setup.py"
- (("'dbus-python',") ""))
- #t))
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/terminator"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t)))
- (add-after 'wrap-program 'glib-or-gtk-wrap
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
- (home-page "https://gnome-terminator.org/")
- (synopsis "Store and run multiple GNOME terminals in one window")
- (description
- "Terminator allows you to run multiple GNOME terminals in a grid and
- tabs, and it supports drag and drop re-ordering of terminals.")
- (license license:gpl2)))
- (define-public libhandy
- (package
- (name "libhandy")
- (version "1.2.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/libhandy")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1ng2607cp4dfl169rj7zi8q5p6fzxy3a4l0glm7mj75yd1a603rz"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags
- '("-Dglade_catalog=enabled"
- ;; XXX: Generating the documentation fails because the
- ;; libhandy.devhelp2 document cannot be created. This seems to be
- ;; caused by a problem during the XSL transformation.
- "-Dgtk_doc=false")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-docbook-xml
- (lambda* (#:key inputs #:allow-other-keys)
- (for-each
- (lambda (file)
- (substitute* file
- (("http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd")
- (search-input-file inputs
- "/xml/dtd/docbook/docbookx.dtd"))))
- (find-files "doc" "\\.xml"))))
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (inputs
- `(("gtk+" ,gtk+)
- ("glade" ,glade3)))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
- ("vala" ,vala)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("docbook-xsl" ,docbook-xsl)
- ("docbook-xml" ,docbook-xml-4.3)
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ;; Test suite dependencies.
- ("xorg-server" ,xorg-server-for-tests)
- ("hicolor-icon-theme" ,hicolor-icon-theme)))
- (home-page "https://gitlab.gnome.org/GNOME/libhandy/")
- (synopsis "Library full of GTK+ widgets for mobile phones")
- (description "The aim of the handy library is to help with developing user
- interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
- for usage on small and big screens.")
- (license license:lgpl2.1+)))
- (define-public libhandy-0.0
- (package
- (inherit libhandy)
- (version "0.0.13")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/libhandy")
- (commit (string-append "v" version))))
- (file-name (git-file-name "libhandy" version))
- (sha256
- (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5"))))
- (arguments
- (substitute-keyword-arguments (package-arguments libhandy)
- ((#:configure-flags flags)
- '(list "-Dglade_catalog=disabled" "-Dgtk_doc=true"))))))
- (define-public libgit2-glib
- (package
- (name "libgit2-glib")
- (version "0.99.0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin") ;; For glib-mkenums
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("python-pygobject" ,python-pygobject)
- ("python-wrapper" ,python-wrapper)
- ("vala" ,vala)))
- (inputs
- `(("glib" ,glib)
- ("libssh2" ,libssh2)))
- (propagated-inputs
- `(;; In Requires of libgit2-glib.pc.
- ("libgit2" ,libgit2)))
- (synopsis "GLib wrapper around the libgit2 Git access library")
- (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
- access library. It only implements the core plumbing functions, not really the
- higher level porcelain stuff.")
- (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
- (license license:gpl2+)))
- (define-public gitg
- (package
- (name "gitg")
- (version "3.32.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-post-install-partially
- (lambda _
- (substitute* "meson_post_install.py"
- (("'python'") ; there are no python sources to compile
- (string-append "'" (which "true") "'"))
- (("gtk-update-icon-cache") (which "true")))
- #t))
- (add-after 'unpack 'fix-test-sources
- (lambda _
- (substitute* "tests/libgitg/test-commit.vala"
- (("/bin/bash") (which "bash")))
- #t))
- (add-after 'glib-or-gtk-wrap 'wrap-typelib
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/gitg")))
- (wrap-program prog
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (inputs
- `(("glib" ,glib)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ("gtkspell3" ,gtkspell3)
- ("gtksourceview" ,gtksourceview-3)
- ("json-glib" ,json-glib)
- ("libdazzle" ,libdazzle)
- ("libgee" ,libgee)
- ("libgit2-glib" ,libgit2-glib)
- ("libpeas" ,libpeas)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
- ("libxml2" ,libxml2)))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gtk+:bin" ,gtk+ "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (synopsis "Graphical user interface for git")
- (description
- "gitg is a graphical user interface for git. It aims at being a small,
- fast and convenient tool to visualize the history of git repositories.
- Besides visualization, gitg also provides several utilities to manage your
- repository and commit your work.")
- (home-page "https://wiki.gnome.org/Apps/Gitg")
- (license license:gpl2+)))
- (define-public gamin
- (package
- (name "gamin")
- (version "0.1.10")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; The 'config.sub' is too old to recognise aarch64.
- ,@(if (and=> (%current-target-system) target-aarch64?)
- `((add-after 'unpack 'replace-config.sub
- (lambda _
- (delete-file "config.sub")
- (symlink (which "config.sub") "config.sub"))))
- '())
- (add-after 'unpack 'remove-deprecated-macro
- (lambda _
- (substitute* '("server/gam_node.c"
- "server/gam_subscription.h"
- "server/gam_node.h"
- "server/gam_subscription.c")
- (("G_CONST_RETURN") "const"))
- #t))
- ;; The configure script runs a test program unconditionally,
- ;; without an option to manually set the test result.
- ;; Override this test anyway.
- ,@(if (%current-target-system)
- `((add-after 'bootstrap 'set-have-abstract-sockets
- (lambda _
- (define in-abstract-sockets-test? #f)
- (substitute* "configure"
- (("^#### Abstract sockets\n$")
- (set! in-abstract-sockets-test? #t)
- "#### Abstract sockets\n")
- (("^have_abstract_sockets=no\n$")
- (set! in-abstract-sockets-test? #f)
- ;; ‘Abstract sockets’ appear to be Linux-only.
- (string-append "have_abstract_sockets="
- ,(if (target-linux?)
- "yes"
- "no")
- "\nif false; then\nif false; then :\n"))
- (("^(.*\n)$" line)
- (if in-abstract-sockets-test?
- "" ; delete
- line))))))
- '()))))
- (inputs
- `(("glib" ,glib)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ,@(if (and=> (%current-target-system) target-aarch64?)
- `(("config" ,config))
- '())))
- (home-page "https://people.gnome.org/~veillard/gamin/")
- (synopsis "File alteration monitor")
- (description
- "Gamin is a file and directory monitoring system defined to be a subset
- of the FAM (File Alteration Monitor) system. This is a service provided by a
- library which detects when a file or a directory has been modified.")
- (license license:gpl2+)))
- (define-public gnome-mahjongg
- (package
- (name "gnome-mahjongg")
- (version "3.35.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t))
- (native-inputs
- `(("appstream-glib" ,appstream-glib)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin") ;; For glib-compile-resources
- ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (propagated-inputs
- `(("dconf" ,dconf)))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("librsvg" ,librsvg)))
- (synopsis "Mahjongg tile-matching game")
- (description "GNOME Mahjongg is a game based on the classic Chinese
- tile-matching game Mahjong. It features multiple board layouts, tile themes,
- and a high score table.")
- (home-page "https://wiki.gnome.org/Apps/Mahjongg")
- (license license:gpl2+)))
- (define-public gnome-themes-extra
- (package
- (name "gnome-themes-extra")
- (version "3.28")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/" name "-"
- version ".tar.xz"))
- (sha256
- (base32
- "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags
- ;; Don't create 'icon-theme.cache'.
- (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
- (true (string-append coreutils "/bin/true")))
- (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("gtk+-2" ,gtk+-2)
- ("librsvg" ,librsvg)
- ("libxml2" ,libxml2)))
- (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
- (synopsis "GNOME Extra Themes")
- (description "This package provides themes and related elements that don't
- really fit in other upstream packages. It offers legacy support for GTK+ 2
- versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
- index files needed for Adwaita to be used outside of GNOME.")
- (license license:lgpl2.1+)))
- (define-public gnote
- (package
- (name "gnote")
- (version "40.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major version) "/"
- "gnote-" version ".tar.xz"))
- (sha256
- (base32 "01fqdfgcl32cf40jw9q0h7f5bghl1lvf89vln1lh41ncrk0iw6vy"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("unittest-cpp" ,unittest-cpp))) ;FIXME: not found by pkg-config
- (inputs
- `(("glibmm" ,glibmm)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("gtkmm" ,gtkmm-3)
- ("libsecret" ,libsecret)
- ("libuuid" ,util-linux "lib")
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)))
- (synopsis "Note-taking application for the GNOME desktop")
- (description
- "Gnote is a note-taking application written for the GNOME desktop
- environment.")
- (home-page "https://wiki.gnome.org/Apps/Gnote")
- (license license:gpl3+)))
- (define-public polari
- (package
- (name "polari")
- (version "3.36.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/polari/"
- (version-major+minor version)
- "/polari-" version ".tar.xz"))
- (sha256
- (base32
- "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "meson/meson-postinstall.sh"
- (("gtk-update-icon-cache") (which "true")))
- #t))
- (add-after 'glib-or-gtk-wrap 'wrap-typelib
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/polari")))
- (wrap-program prog
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (inputs
- `(("glib" ,glib)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("gjs" ,gjs)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
- ("telepathy-glib" ,telepathy-glib)
- ("telepathy-logger" ,telepathy-logger)))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("yelp-tools" ,yelp-tools)))
- (propagated-inputs
- `(("telepathy-idle" ,telepathy-idle)
- ("telepathy-mission-control" ,telepathy-mission-control)))
- (synopsis "Simple IRC Client")
- (description
- "Polari is a simple Internet Relay Chat (IRC) client that is designed to
- integrate seamlessly with the GNOME desktop.")
- (home-page "https://wiki.gnome.org/Apps/Polari")
- (license license:gpl2+)))
- (define-public gnome-boxes
- (package
- (name "gnome-boxes")
- (version "40.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/gnome-boxes/"
- (version-major version) "/"
- "gnome-boxes-" version ".tar.xz"))
- (sha256
- (base32 "0n20yzxsc7mv73a905djvsas76vknfn67ad1n0rnvgm48n7qxw7z"))))
- (build-system meson-build-system)
- (arguments
- '(#:glib-or-gtk? #t
- #:configure-flags (list "-Drdp=false"
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gnome-boxes"))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
- ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("itstool" ,itstool)
- ("intltool" ,intltool)
- ("vala" ,vala)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("libarchive" ,libarchive)
- ("glib-networking" ,glib-networking) ;for TLS support
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk" ,gtk+)
- ("gtk-vnc" ,gtk-vnc)
- ("gtksourceview" ,gtksourceview)
- ("json-glib" ,json-glib)
- ("libosinfo" ,libosinfo)
- ("libsecret" ,libsecret)
- ("libsoup" ,libsoup)
- ("libusb" ,libusb)
- ("libvirt" ,libvirt)
- ("libvirt-glib" ,libvirt-glib)
- ("libxml" ,libxml2)
- ("spice-gtk" ,spice-gtk)
- ("sparql-query" ,sparql-query)
- ("vte" ,vte)
- ("webkitgtk" ,webkitgtk)
- ("tracker" ,tracker)
- ("libgudev" ,libgudev)))
- (home-page "https://wiki.gnome.org/Apps/Boxes")
- (synopsis "View, access, and manage remote and virtual systems")
- (description "GNOME Boxes is a simple application to view, access, and
- manage remote and virtual systems. Note that this application requires the
- @code{libvirt} and @code{virtlog} daemons to run. Use the command
- @command{info '(guix) Virtualization Services'} to learn how to configure
- these services on the Guix System.")
- (license (list
- ;; For data/icons/empty-boxes.png.
- license:cc-by2.0
- ;; For all others.
- license:lgpl2.0+))))
- (define-public geary
- (package
- (name "geary")
- (version "3.34.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/geary")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))
- (patches (search-patches "geary-CVE-2020-24661.patch"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- (substitute* "test/meson.build"
- (("test\\('client-tests', geary_test_client_bin\\)")
- ""))
- #t))
- (add-after 'unpack 'disable-postinstall-script
- (lambda _
- (substitute* "meson.build"
- (("meson.add_install_script\\(\
- join_paths\\('build-aux', 'post_install.py'\\)\\)")
- ""))
- #t))
- (add-before 'check 'setup-xvfb
- (lambda _
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (inputs
- `(("enchant" ,enchant)
- ("folks" ,folks)
- ("gcr" ,gcr)
- ("glib" ,glib)
- ("gmime" ,gmime-2.6)
- ("gnome-online-accounts:lib"
- ,gnome-online-accounts "lib")
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("iso-codes" ,iso-codes)
- ("json-glib" ,json-glib)
- ("libcanberra" ,libcanberra)
- ("libgee" ,libgee)
- ("libhandy" ,libhandy-0.0)
- ("libpeas" ,libpeas)
- ("libsecret" ,libsecret)
- ("libunwind" ,libunwind)
- ("sqlite" ,sqlite)
- ("webkitgtk" ,webkitgtk)
- ("ytnef" ,ytnef)))
- (native-inputs
- `(("appstream-glib" ,appstream-glib)
- ("cmake-minimal" ,cmake-minimal)
- ("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("itstool" ,itstool)
- ("libarchive" ,libarchive)
- ("libxml2" ,libxml2)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xvfb" ,xorg-server-for-tests)))
- (synopsis "GNOME email application built around conversations")
- (description
- "Geary collects related messages together into conversations,
- making it easy to find and follow your discussions. Full-text and keyword
- search makes it easy to find the email you are looking for. Geary's
- full-featured composer lets you send rich, styled text with images, links, and
- lists, but also send lightweight, easy to read text messages. Geary
- automatically picks up your existing GNOME Online Accounts, and adding more is
- easy. Geary has a clean, fast, modern interface that works like you want it
- to.")
- (home-page "https://wiki.gnome.org/Apps/Geary")
- (license (list
- ;; geary
- license:lgpl2.1+
- ;; icons
- license:cc-by3.0
- license:cc-by-sa3.0
- license:public-domain
- ;; snowball
- license:bsd-2))))
- (define-public glabels
- (package
- (name "glabels")
- (version "3.4.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- "glabels-" version ".tar.xz"))
- (sha256
- (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("gtk+" ,gtk+)
- ("librsvg" ,librsvg)
- ("libxml2" ,libxml2)))
- (arguments
- `(#:configure-flags '("CFLAGS=-fcommon")))
- (home-page "https://glabels.org/")
- (synopsis "Program for creating labels and business cards")
- (description
- "gLabels is a program for creating labels and business cards. It is
- designed to work with various laser/ink-jet peel-off label and business
- card sheets that you’ll find at most office supply stores.")
- (license license:gpl3+)))
- (define-public gnome-latex
- (package
- (name "gnome-latex")
- (version "3.38.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- "gnome-latex-" version ".tar.xz"))
- (sha256
- (base32 "0xqd49pgi82dygqnxj08i1v22b0vwwhx3zvdinhrx4jny339yam8"))))
- (build-system glib-or-gtk-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("amtk" ,amtk)
- ("dconf" ,dconf)
- ("glib" ,glib)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("gtksourceview" ,gtksourceview)
- ("libgee" ,libgee)
- ("tepl" ,tepl-5)
- ("uchardet" ,uchardet)))
- (home-page "https://wiki.gnome.org/Apps/GNOME-LaTeX")
- (synopsis "LaTeX editor for the GNOME desktop")
- (description
- "GNOME LaTeX is a LaTeX editor for the GNOME desktop. It has features
- such as build tools, completion of LaTeX commands, structure navigation,
- symbol tables, document templates, project management, spell-checking, menus
- and toolbars.")
- (license license:gpl3+)))
- (define-public setzer
- (package
- (name "setzer")
- (version "0.4.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cvfosammmm/Setzer")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1rcx2c07jg1ij81pnvg3px49hfbjmkagn68d3gp79z3gcajbp2av"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/setzer"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin")))
- (inputs
- `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("gtksourceview" ,gtksourceview)
- ("pango" ,pango)
- ("poppler" ,poppler)
- ("python-pdfminer" ,python-pdfminer-six)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)
- ("python-pyxdg" ,python-pyxdg)
- ("webkitgtk" ,webkitgtk)
- ("xdg-utils" ,xdg-utils)))
- (home-page "https://www.cvfosammmm.org/setzer/")
- (synopsis "LaTeX editor written in Python with GTK+")
- (description
- "Setzer is a simple yet full-featured LaTeX editor written in Python with
- GTK+. It integrates well with the GNOME desktop environment.")
- (license license:gpl3+)))
- (define-public apostrophe
- (package
- (name "apostrophe")
- (version "2.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/somas/apostrophe")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1qzy3zhi18wf42m034s8kcmx9gl05j620x3hf6rnycq2fvy7g4gz"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-meson
- (lambda _
- (substitute* "build-aux/meson_post_install.py"
- (("gtk-update-icon-cache") "true"))
- #t))
- (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/apostrophe"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
- `("PATH" prefix (,(dirname
- (search-input-file inputs
- "/bin/pandoc")))))))))))
- (inputs
- `(("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("libhandy" ,libhandy)
- ("pandoc" ,pandoc)
- ("python-chardet" ,python-chardet)
- ("python-levenshtein" ,python-levenshtein)
- ("python-regex" ,python-regex)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)
- ("python-pyenchant" ,python-pyenchant)
- ("python-pypandoc" ,python-pypandoc)
- ("webkitgtk" ,webkitgtk)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("pkg-config" ,pkg-config)))
- (home-page "https://gitlab.gnome.org/somas/apostrophe")
- (synopsis "Markdown editor written in Python with GTK+")
- (description "Apostrophe is a GTK+ based distraction free Markdown editor.
- It uses pandoc as back-end for parsing Markdown.")
- (license license:gpl3)))
- (define-public libratbag
- (package
- (name "libratbag")
- (version "0.14")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libratbag/libratbag")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1fpwp2sj8mf98bqasq2h8qwgprxi7k3iw33gcfid3d1lbyiacw0x"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags
- (list "-Dsystemd=false"
- "-Dlogind-provider=elogind")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (site (string-append
- "/lib/python"
- ,(version-major+minor (package-version python))
- "/site-packages"))
- (evdev (string-append
- (assoc-ref inputs "python-evdev") site))
- (pygo (string-append
- (assoc-ref inputs "python-pygobject") site))
- (python-wrap
- `("GUIX_PYTHONPATH" = (,evdev ,pygo))))
- (wrap-program (string-append out "/bin/" "ratbagctl")
- python-wrap)
- #t))))))
- (native-inputs
- `(("check" ,check)
- ("pkg-config" ,pkg-config)
- ("swig" ,swig)
- ("valgrind" ,valgrind)))
- (inputs
- `(("glib" ,glib)
- ("json-glib" ,json-glib)
- ("libevdev" ,libevdev)
- ("libsystemd" ,elogind)
- ("libunistring" ,libunistring)
- ("python-evdev" ,python-evdev)
- ("python-pygobject" ,python-pygobject)
- ("udev" ,eudev)))
- (home-page "https://github.com/libratbag/libratbag")
- (synopsis "DBus daemon and utility for configuring gaming mice")
- (description "libratbag provides @command{ratbagd}, a DBus daemon to
- configure input devices, mainly gaming mice. The daemon provides a generic
- way to access the various features exposed by these mice and abstracts away
- hardware-specific and kernel-specific quirks. There is also the
- @command{ratbagctl} command line interface for configuring devices.
- libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
- Steelseries.
- The ratbagd DBus service can be enabled by adding the following service to
- your operating-system definition:
- (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
- (license license:expat)))
- (define-public piper
- (package
- (name "piper")
- (version "0.5.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libratbag/piper")
- (commit version)))
- (sha256
- (base32 "1nfjnsiwg2rs6gkjsxzhr2708i6di149dgwq3cf6l12rxqpb8arj"))
- (file-name (git-file-name name version))))
- (build-system meson-build-system)
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("python-flake8" ,python-flake8)))
- (inputs
- `(("adwaita-icon-theme" ,adwaita-icon-theme)
- ("gtk" ,gtk+)
- ("gtk:bin" ,gtk+ "bin")
- ("librsvg" ,librsvg)
- ("python-evdev" ,python-evdev)
- ("python-lxml" ,python-lxml)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)))
- (arguments
- `(#:imported-modules ((guix build python-build-system)
- ,@%meson-build-system-modules)
- #:modules (((guix build python-build-system) #:prefix python:)
- (guix build meson-build-system)
- (guix build utils))
- #:tests? #f ;; The flake8 test fails trying to validate piper.in as code.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'dont-update-gtk-icon-cache
- (lambda _
- (substitute* "meson.build"
- (("meson.add_install_script('meson_install.sh')") ""))
- #t))
- ;; TODO: Switch to wrap-script when it is fixed.
- (add-after 'install 'wrap-python
- (assoc-ref python:%standard-phases 'wrap))
- (add-after 'wrap-python 'wrap
- (lambda* (#:key outputs #:allow-other-keys)
- (wrap-program
- (string-append (assoc-ref outputs "out" )"/bin/piper")
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t)))))
- (home-page "https://github.com/libratbag/piper/")
- (synopsis "Configure bindings and LEDs on gaming mice")
- (description "Piper is a GTK+ application for configuring gaming mice with
- onboard configuration for key bindings via libratbag. Piper requires
- a @command{ratbagd} daemon running with root privileges. It can be run
- manually as root, but is preferably configured as a DBus service that can
- launch on demand. This can be configured by enabling the following service,
- provided there is a DBus service present:
- (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
- (license license:gpl2)))
- (define-public parlatype
- (package
- (name "parlatype")
- (version "2.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gkarsay/parlatype")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1c15ja0rwz3jj8bnqdq0nmqka39iwrhy8krdv2a2x8nl4shfpmv0"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:tests? #f ;require internet access
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-parlatype
- ;; Add gstreamer plugin provided in this package to system's
- ;; plugins.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (gst-plugin-path (string-append
- out "/lib/gstreamer-1.0/"
- ":"
- (getenv "GST_PLUGIN_SYSTEM_PATH"))))
- (wrap-program (string-append out "/bin/parlatype")
- `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
- #t)))))
- (native-inputs
- `(("appstream-glib" ,appstream-glib)
- ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin") ;for glib-compile-resources
- ("pkg-config" ,pkg-config)
- ("yelp-tools" ,yelp-tools)))
- (inputs
- `(("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gstreamer" ,gstreamer)
- ("gtk+" ,gtk+)
- ("pocketsphinx" ,pocketsphinx)
- ("pulseaudio" ,pulseaudio)
- ("sphinxbase" ,sphinxbase)))
- (home-page "http://gkarsay.github.io/parlatype/")
- (synopsis "GNOME audio player for transcription")
- (description "Parlatype is an audio player for the GNOME desktop
- environment. Its main purpose is the manual transcription of spoken
- audio files.")
- (license license:gpl3+)))
- (define-public jsonrpc-glib
- (package
- (name "jsonrpc-glib")
- (version "3.34.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
- (build-system meson-build-system)
- (inputs
- `(("json-glib" ,json-glib)
- ("glib" ,glib)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
- ("gobject-introspection" ,gobject-introspection)
- ("vala" ,vala)))
- (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
- (synopsis "JSON-RPC library for GLib")
- (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
- peers in either a synchronous or asynchronous fashion. It also allows
- communicating using the GVariant serialization format instead of JSON when
- both peers support it. You might want that when communicating on a single
- host to avoid parser overhead and memory-allocator fragmentation.")
- (license license:lgpl2.1+)))
- (define-public feedbackd
- (package
- (name "feedbackd")
- (version "0.0.0+git20200527")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://source.puri.sm/Librem5/feedbackd.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
- (build-system meson-build-system)
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
- (inputs
- `(("dbus" ,dbus)
- ("gsound" ,gsound)
- ("json-glib" ,json-glib)
- ("libgudev" ,libgudev)))
- (propagated-inputs
- `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
- (synopsis "Haptic/visual/audio feedback via DBus")
- (description "Feedbackd provides a DBus daemon to act on events to provide
- haptic, visual and audio feedback. It offers the libfeedbackd library and
- GObject introspection bindings.")
- (home-page "https://source.puri.sm/Librem5/feedbackd")
- (license (list license:lgpl2.1+ ; libfeedbackd
- license:lgpl3+)))) ; the rest
- (define-public sysprof
- (package
- (name "sysprof")
- (version "3.36.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/sysprof/"
- (version-major+minor version) "/"
- "sysprof-" version ".tar.xz"))
- (sha256
- (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags
- (list (string-append "-Dsystemdunitdir="
- %output
- "/share/systemd"))
- #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-install-script
- (lambda _
- (substitute* "build-aux/meson/post_install.sh"
- (("gtk-update-icon-cache") "true")
- (("update-desktop-database") "true"))
- #t)))))
- (inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("libdazzle" ,libdazzle)
- ("polkit" ,polkit)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- ;; This home page is so woefully out of date as to be essentially useless.
- ;; (home-page "http://www.sysprof.com")
- (home-page "https://wiki.gnome.org/Apps/Sysprof")
- (synopsis "System-wide performance profiler for GNU/Linux")
- (description
- "Sysprof performs detailed, accurate, and fast CPU profiling of an entire
- GNU/Linux system including the kernel and all user-space applications. This
- helps find the function(s) in which a program spends most of its time.
- It uses the kernel's built-in @code{ptrace} feature and handles shared
- libraries. Applications do not need to be recompiled--or even restarted.")
- (license license:gpl3+)))
- (define-public gnome-builder
- (package
- (name "gnome-builder")
- (version "3.36.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
- (build-system meson-build-system)
- (arguments
- `(#:configure-flags (list "-Dnetwork_tests=false"
- ;; TODO: Enable all plugins...
- "-Dplugin_clang=false"
- "-Dplugin_flatpak=false"
- "-Dplugin_glade=false"
- ;; XXX: This one has been shown not to work in
- ;; <https://issues.guix.gnu.org/45272>
- "-Dplugin_jedi=false"
- ;; ... except this one.
- "-Dplugin_update_manager=false")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-meson
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "build-aux/meson/post_install.py"
- (("gtk-update-icon-cache") "true")
- (("update-desktop-database") "true"))
- (substitute* "src/libide/meson.build"
- (("/usr/lib")
- (string-append (assoc-ref inputs "python-pygobject")
- "/lib")))
- #t))
- (add-after 'configure 'fix-ninja
- (lambda _
- ;; #43296: meson(?) incorrectly assumes we want to link
- ;; this PIE against a static libselinux.
- (substitute* "build.ninja"
- (("libselinux\\.a") "libselinux.so"))
- #t))
- (add-before 'check 'pre-check
- (lambda _
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (inputs
- `(("devhelp" ,devhelp)
- ("gspell" ,gspell)
- ("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("jsonrpc-glib" ,jsonrpc-glib)
- ("libdazzle" ,libdazzle)
- ("libgit2-glib" ,libgit2-glib)
- ("libpeas" ,libpeas)
- ("python-pygobject" ,python-pygobject)
- ("sysprof" ,sysprof)
- ("template-glib" ,template-glib)
- ("vte" ,vte)
- ("webkitgtk" ,webkitgtk)))
- (propagated-inputs
- `(("gtksourceview" ,gtksourceview))) ;needed for settings
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
- ("glib:bin" ,glib "bin")
- ("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xorg-server" ,xorg-server-for-tests)))
- (home-page "https://wiki.gnome.org/Apps/Builder")
- (synopsis "Toolsmith for GNOME-based applications")
- (description "Builder aims to be an integrated development
- environment (IDE) for writing GNOME-based software. It features fuzzy search,
- auto-completion, a mini code map, documentation browsing, Git integration, an
- integrated profiler via Sysprof, debugging support, and more.")
- (license license:gpl3+)))
- (define-public komikku
- (package
- (name "komikku")
- (version "0.31.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/valos/Komikku/")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0vldcjq24y4xxg8dzlyhfpqxbqn5g160lz1lmmkp7g9im2zrxh52"))))
- (build-system meson-build-system)
- (arguments
- `(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-sources
- (lambda _
- (substitute* "komikku/utils.py"
- (("from komikku\\.servers import get_servers_list")
- ;; code following that line should migrate old databases
- ;; but the line itself results in an import error
- "return data_dir_path"))))
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "meson_post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t))
- (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/komikku")))
- (wrap-program prog
- `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (inputs
- `(("gtk+" ,gtk+)
- ("libhandy" ,libhandy)
- ("libnotify" ,libnotify)
- ("libsecret" ,libsecret)
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-brotli" ,python-brotli)
- ("python-cloudscraper" ,python-cloudscraper)
- ("python-dateparser" ,python-dateparser)
- ("python-keyring" ,python-keyring)
- ("python-lxml" ,python-lxml)
- ("python-magic" ,python-magic)
- ("python-natsort" ,python-natsort)
- ("python-pillow" ,python-pillow)
- ("python-pure-protobuf" ,python-pure-protobuf)
- ("python-pycairo" ,python-pycairo)
- ("python-pygobject" ,python-pygobject)
- ("python-requests" ,python-requests)
- ("python-unidecode" ,python-unidecode)
- ("webkitgtk" ,webkitgtk)))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils)
- ("gettext" ,gettext-minimal)
- ("glib:bin" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("pkg-config" ,pkg-config)))
- (home-page "https://gitlab.com/valos/Komikku")
- (synopsis "Manga reader for GNOME")
- (description "Komikku is an online/offline manga reader for GNOME,
- developed with the aim of being used with the Librem 5 phone.")
- (license license:gpl3+)))
- (define-public libgda
- (package
- (name "libgda")
- (version "5.2.10")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/libgda.git/")
- (commit (string-append "LIBGDA_" (string-replace-substring
- version "." "_")))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "18rg773gq9v3cdywpmrp12c5xyp97ir9yqjinccpi22sksb1kl8a"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags '("--enable-vala")
- ;; There's a race between check_cnc_lock and check_threaded_cnc
- ;; in tests/multi-threading.
- #:parallel-tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-glade-install
- (lambda _
- (substitute* "configure.ac"
- (("`\\$PKG_CONFIG --variable=catalogdir gladeui-2\\.0`")
- "${datadir}/glade/catalogs")
- (("`\\$PKG_CONFIG --variable=pixmapdir gladeui-2\\.0`")
- "${datadir}/glade/pixmaps"))
- #t))
- (add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- #t))
- (add-after 'install 'symlink-glade-module
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((shlib "libgda-ui-5.0.so")
- (out (assoc-ref outputs "out"))
- (out/lib (string-append out "/lib"))
- (moduledir (string-append out/lib "/glade/modules")))
- (mkdir-p moduledir)
- (symlink (string-append out/lib "/" shlib)
- (string-append moduledir "/" shlib))
- #t))))))
- (propagated-inputs
- `(("libxml2" ,libxml2))) ; required by libgda-5.0.pc
- (inputs
- `(("glib" ,glib)
- ("glade" ,glade3)
- ("gtk+" ,gtk+)
- ("libsecret" ,libsecret)
- ("libxslt" ,libxslt)
- ("openssl" ,openssl)
- ("vala" ,vala)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("autoconf-archive" ,autoconf-archive)
- ("automake" ,automake)
- ("glib:bin" ,glib "bin")
- ("gnome-common" ,gnome-common)
- ("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc/stable)
- ("intltool" ,intltool)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("which" ,which)
- ("xorg-server" ,xorg-server-for-tests)
- ("yelp-tools" ,yelp-tools)))
- (home-page "https://gitlab.gnome.org/GNOME/libgda")
- (synopsis "Uniform data access")
- (description
- "GNU Data Access (GDA) is an attempt to provide uniform access to
- different kinds of data sources (databases, information servers, mail spools,
- etc). It is a complete architecture that provides all you need to access
- your data.")
- (license license:lgpl2.1+)))
- (define-public gtranslator
- (package
- (name "gtranslator")
- (version "3.36.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1lxd2nkji4jk8g2xmyc1a1r3ww710ddk91zh9psmx8xlb4xivaid"))))
- (build-system meson-build-system)
- (inputs
- `(("json-glib" ,json-glib)
- ("jsonrpc-glib" ,jsonrpc-glib)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib)
- ("gtk+" ,gtk+)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gspell" ,gspell)
- ("libdazzle" ,libdazzle)
- ("libgda" ,libgda)
- ("libsoup" ,libsoup)))
- (native-inputs
- `(("glib:bin" ,glib "bin")
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("gtksourceview" ,gtksourceview))) ; required for source view
- (arguments
- `(#:build-type "release"
- #:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true")))
- #t)))))
- (home-page "https://wiki.gnome.org/Apps/Gtranslator")
- (synopsis "Translation making program")
- (description
- "gtranslator is a quite comfortable gettext po/po.gz/(g)mo files editor
- for the GNOME 3.x platform with many features. It aims to be a very complete
- editing environment for translation issues within the GNU gettext/GNOME desktop
- world.")
- (license license:gpl3+)))
- (define-public ocrfeeder
- (package
- (name "ocrfeeder")
- (version "0.8.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/ocrfeeder/"
- (version-major+minor version) "/"
- "ocrfeeder-" version ".tar.xz"))
- (sha256
- (base32
- "12f5gnq92ffnd5zaj04df7jrnsdz1zn4zcgpbf5p9qnd21i2y529"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after
- 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/" "ocrfeeder"))
- (pylib (string-append (assoc-ref outputs "out")
- "/lib/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))
- (wrap-program prog
- `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
- `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
- #t))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("xmllint" ,libxml2)))
- (inputs
- `(("enchant" ,enchant)
- ("glib" ,glib)
- ("goocanvas" ,goocanvas)
- ("gtk" ,gtk+)
- ("gtkspell3" ,gtkspell3)
- ("libjpeg" ,libjpeg-turbo)
- ("libtiff" ,libtiff)
- ("libraw" ,libraw)
- ("ocrad" ,ocrad)
- ("python" ,python-wrapper)
- ("python-pygobject" ,python-pygobject)
- ("python-odfpy" ,python-odfpy)
- ("python-pillow" ,python-pillow)
- ("python-pyenchant" ,python-pyenchant)
- ("python-reportlab" ,python-reportlab)
- ("python-sane" ,python-sane)
- ("sane-backends" ,sane-backends)
- ("tesseract-ocr" ,tesseract-ocr)))
- (home-page "https://wiki.gnome.org/Apps/OCRFeeder")
- (synopsis "Complete OCR Suite")
- (description "OCRFeeder is a complete Optical Character Recognition and
- Document Analysis and Recognition program.")
- (license license:gpl3+)))
- (define-public libadwaita
- (let ((commit "8d66b987a19979d9d7b85dacc6bad5ce0c8743fe")
- (revision "1"))
- (package
- (name "libadwaita")
- (version (git-version "0.0.1" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.gnome.org/GNOME/libadwaita.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0i3wav6jsyi4w4i2r1rad769m5y5s9djj4zqb7dfyh0bad24ba3q"))))
- (build-system meson-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1"))))))
- (native-inputs
- `(("sassc" ,sassc)
- ("glib:bin" ,glib "bin")
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)
- ("xvfb" ,xorg-server-for-tests)))
- (inputs
- `(("gtk" ,gtk)
- ("gobject-introspection" ,gobject-introspection)
- ("libportal" ,libportal)))
- (home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/")
- (synopsis "Building blocks for GNOME applications")
- (description
- "@code(libadwaita) offers widgets and objects to build GNOME
- applications scaling from desktop workstations to mobile phones. It is the
- successor of @code{libhandy} for GTK4.")
- (license license:lgpl2.1+))))
|